gnu: Add emacs-ebdb.
[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 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@autitici.org>
53 ;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
54 ;;; Copyright © 2019 Amin Bandali <bandali@gnu.org>
55 ;;;
56 ;;; This file is part of GNU Guix.
57 ;;;
58 ;;; GNU Guix is free software; you can redistribute it and/or modify it
59 ;;; under the terms of the GNU General Public License as published by
60 ;;; the Free Software Foundation; either version 3 of the License, or (at
61 ;;; your option) any later version.
62 ;;;
63 ;;; GNU Guix is distributed in the hope that it will be useful, but
64 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
65 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
66 ;;; GNU General Public License for more details.
67 ;;;
68 ;;; You should have received a copy of the GNU General Public License
69 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
70
71 (define-module (gnu packages emacs-xyz)
72 #:use-module ((guix licenses) #:prefix license:)
73 #:use-module (guix packages)
74 #:use-module (guix cvs-download)
75 #:use-module (guix download)
76 #:use-module (guix git-download)
77 #:use-module (guix build-system gnu)
78 #:use-module (guix build-system cmake)
79 #:use-module (guix build-system emacs)
80 #:use-module (guix build-system glib-or-gtk)
81 #:use-module (guix build-system perl)
82 #:use-module (guix build-system trivial)
83 #:use-module (gnu packages)
84 #:use-module (gnu packages admin)
85 #:use-module (gnu packages audio)
86 #:use-module (gnu packages bash)
87 #:use-module (gnu packages cmake)
88 #:use-module (gnu packages code)
89 #:use-module (gnu packages databases)
90 #:use-module (gnu packages emacs)
91 #:use-module (gnu packages guile)
92 #:use-module (gnu packages gtk)
93 #:use-module (gnu packages gnome)
94 #:use-module (gnu packages ncurses)
95 #:use-module (gnu packages python)
96 #:use-module (gnu packages python-xyz)
97 #:use-module (gnu packages tex)
98 #:use-module (gnu packages texinfo)
99 #:use-module (gnu packages tcl)
100 #:use-module (gnu packages tls)
101 #:use-module (gnu packages pkg-config)
102 #:use-module (gnu packages xorg)
103 #:use-module (gnu packages lesstif)
104 #:use-module (gnu packages llvm)
105 #:use-module (gnu packages image)
106 #:use-module (gnu packages linux)
107 #:use-module (gnu packages libevent)
108 #:use-module (gnu packages music)
109 #:use-module (gnu packages version-control)
110 #:use-module (gnu packages imagemagick)
111 #:use-module (gnu packages w3m)
112 #:use-module (gnu packages wget)
113 #:use-module (gnu packages autotools)
114 #:use-module (gnu packages base)
115 #:use-module (gnu packages compression)
116 #:use-module (gnu packages xml)
117 #:use-module (gnu packages glib)
118 #:use-module (gnu packages acl)
119 #:use-module (gnu packages mail)
120 #:use-module (gnu packages package-management)
121 #:use-module (gnu packages perl)
122 #:use-module (gnu packages pdf)
123 #:use-module (gnu packages scheme)
124 #:use-module (gnu packages speech)
125 #:use-module (gnu packages xiph)
126 #:use-module (gnu packages mp3)
127 #:use-module (gnu packages gettext)
128 #:use-module (gnu packages fribidi)
129 #:use-module (gnu packages gd)
130 #:use-module (gnu packages fontutils)
131 #:use-module (gnu packages password-utils)
132 #:use-module (gnu packages pulseaudio)
133 #:use-module (gnu packages sphinx)
134 #:use-module (gnu packages xdisorg)
135 #:use-module (gnu packages shells)
136 #:use-module (gnu packages sqlite)
137 #:use-module (gnu packages gnupg)
138 #:use-module (gnu packages video)
139 #:use-module (gnu packages haskell)
140 #:use-module (gnu packages wordnet)
141 #:use-module (guix utils)
142 #:use-module (srfi srfi-1)
143 #:use-module (ice-9 match))
144
145 ;;;
146 ;;; Emacs hacking.
147 ;;;
148
149 (define-public emacs-geiser
150 (package
151 (name "emacs-geiser")
152 (version "0.10")
153 (source (origin
154 (method url-fetch)
155 (uri (string-append "mirror://savannah/geiser/" version
156 "/geiser-" version ".tar.gz"))
157 (sha256
158 (base32
159 "0pj3l7p8d60c9b4vfprnv6g5l61d74pls4b5dvd84cn4ky9mzwjv"))))
160 (build-system gnu-build-system)
161 (arguments
162 '(#:phases
163 (modify-phases %standard-phases
164 (add-after 'install 'post-install
165 (lambda* (#:key outputs #:allow-other-keys)
166 (symlink "geiser-install.el"
167 (string-append (assoc-ref outputs "out")
168 "/share/emacs/site-lisp/"
169 "geiser-autoloads.el"))
170 #t)))))
171 (inputs `(("guile" ,guile-2.2)))
172 (native-inputs `(("emacs" ,emacs-minimal)))
173 (home-page "https://nongnu.org/geiser/")
174 (synopsis "Collection of Emacs modes for Guile and Racket hacking")
175 (description
176 "Geiser is a collection of Emacs major and minor modes that conspire with
177 one or more Scheme implementations to keep the Lisp Machine Spirit alive. The
178 continuously running Scheme interpreter takes the center of the stage in
179 Geiser. A bundle of Elisp shims orchestrates the dialog between the Scheme
180 implementation, Emacs and, ultimately, the schemer, giving them access to live
181 metadata.")
182 (license license:bsd-3)))
183
184 (define-public geiser
185 (deprecated-package "geiser" emacs-geiser))
186
187 (define-public emacs-paredit
188 (package
189 (name "emacs-paredit")
190 (version "24")
191 (source (origin
192 (method url-fetch)
193 (uri (string-append "http://mumble.net/~campbell/emacs/paredit-"
194 version ".el"))
195 (sha256
196 (base32
197 "0pp3n8q6kc70blqsaw0zlzp6bc327dpgdrjr0cnh7hqg1lras7ka"))))
198 (build-system emacs-build-system)
199 (home-page "http://mumble.net/~campbell/emacs/paredit/")
200 (synopsis "Emacs minor mode for editing parentheses")
201 (description
202 "ParEdit (paredit.el) is a minor mode for performing structured editing
203 of S-expression data. The typical example of this would be Lisp or Scheme
204 source code.
205
206 ParEdit helps **keep parentheses balanced** and adds many keys for moving
207 S-expressions and moving around in S-expressions. Its behavior can be jarring
208 for those who may want transient periods of unbalanced parentheses, such as
209 when typing parentheses directly or commenting out code line by line.")
210 (license license:gpl3+)))
211
212 (define-public paredit
213 (deprecated-package "paredit" emacs-paredit))
214
215 (define-public git-modes
216 (package
217 (name "emacs-git-modes")
218 (version "1.2.8")
219 (source (origin
220 (method git-fetch)
221 (uri (git-reference
222 (url "https://github.com/magit/git-modes")
223 (commit version)))
224 (file-name (git-file-name name version))
225 (sha256
226 (base32
227 "08hy7rbfazs6grkpk54i82bz0i0c74zcjk96cip8970h6jn3mj72"))))
228 (build-system emacs-build-system)
229 (home-page "https://github.com/magit/git-modes")
230 (synopsis "Emacs major modes for Git configuration files")
231 (description
232 "This package provides Emacs major modes for editing various Git
233 configuration files, such as .gitattributes, .gitignore, and .git/config.")
234 (license license:gpl3+)))
235
236 (define-public git-modes/old-name
237 (deprecated-package "git-modes" git-modes))
238
239 (define-public emacs-with-editor
240 (package
241 (name "emacs-with-editor")
242 (version "2.8.3")
243 (source (origin
244 (method git-fetch)
245 (uri (git-reference
246 (url "https://github.com/magit/with-editor.git")
247 (commit (string-append "v" version))))
248 (file-name (git-file-name name version))
249 (sha256
250 (base32
251 "1z2h9casyw1b93ikq2mf9xixyvbl90zddf0s66lqfiyj2y376pq3"))))
252 (build-system emacs-build-system)
253 (propagated-inputs
254 `(("emacs-dash" ,emacs-dash)))
255 (home-page "https://github.com/magit/with-editor")
256 (synopsis "Emacs library for using Emacsclient as EDITOR")
257 (description
258 "This package provides an Emacs library to use the Emacsclient as
259 @code{$EDITOR} of child processes, making sure they know how to call home.
260 For remote processes a substitute is provided, which communicates with Emacs
261 on stdout instead of using a socket as the Emacsclient does.")
262 (license license:gpl3+)))
263
264 (define-public emacs-magit
265 ;; Version 2.90.1 has trouble loading the transient library,
266 ;; so we use a more recent commit that fixes it.
267 (let ((commit "b4aec016b5577afa8d889f258b499814d1bb1d94"))
268 (package
269 (name "emacs-magit")
270 (version (git-version "2.90.1" "1" commit))
271 (source (origin
272 (method git-fetch)
273 (uri (git-reference
274 (url "https://github.com/magit/magit")
275 (commit commit)))
276 (file-name (git-file-name name version))
277 (sha256
278 (base32
279 "0zl7v6z0y50pcgqsf2r8c1k3r5nwjad9ba7r6sgrnf4rc62br7jv"))))
280 (build-system gnu-build-system)
281 (native-inputs `(("texinfo" ,texinfo)
282 ("emacs" ,emacs-minimal)))
283 (inputs
284 `(("git" ,git)
285 ("perl" ,perl)))
286 (propagated-inputs
287 `(("dash" ,emacs-dash)
288 ("with-editor" ,emacs-with-editor)
289 ("transient" ,emacs-transient)))
290 (arguments
291 `(#:modules ((guix build gnu-build-system)
292 (guix build utils)
293 (guix build emacs-utils))
294 #:imported-modules (,@%gnu-build-system-modules
295 (guix build emacs-utils))
296 #:test-target "test"
297 #:tests? #f ; tests are not included in the release
298
299 #:make-flags
300 (list (string-append "PREFIX=" %output)
301 ;; Don't put .el files in a sub-directory.
302 (string-append "lispdir=" %output "/share/emacs/site-lisp")
303 (string-append "DASH_DIR="
304 (assoc-ref %build-inputs "dash")
305 "/share/emacs/site-lisp/guix.d/dash-"
306 ,(package-version emacs-dash))
307 (string-append "WITH_EDITOR_DIR="
308 (assoc-ref %build-inputs "with-editor")
309 "/share/emacs/site-lisp/guix.d/with-editor-"
310 ,(package-version emacs-with-editor))
311 (string-append "TRANSIENT_DIR="
312 (assoc-ref %build-inputs "transient")
313 "/share/emacs/site-lisp/guix.d/transient-"
314 ,(package-version emacs-transient)))
315
316 #:phases
317 (modify-phases %standard-phases
318 (delete 'configure)
319 (add-before
320 'build 'patch-exec-paths
321 (lambda* (#:key inputs #:allow-other-keys)
322 (let ((perl (assoc-ref inputs "perl")))
323 (make-file-writable "lisp/magit-sequence.el")
324 (emacs-substitute-variables "lisp/magit-sequence.el"
325 ("magit-perl-executable" (string-append perl "/bin/perl")))
326 #t))))))
327 (home-page "https://magit.vc/")
328 (synopsis "Emacs interface for the Git version control system")
329 (description
330 "With Magit, you can inspect and modify your Git repositories with Emacs.
331 You can review and commit the changes you have made to the tracked files, for
332 example, and you can browse the history of past changes. There is support for
333 cherry picking, reverting, merging, rebasing, and other common Git
334 operations.")
335 (license license:gpl3+))))
336
337 (define-public magit
338 (deprecated-package "magit" emacs-magit))
339
340 (define-public emacs-magit-svn
341 (let ((commit "9e33ceee32f665db59909e1c00a667ccdd04178f"))
342 (package
343 (name "emacs-magit-svn")
344 (version (git-version "2.2.1" "1" commit))
345 (source (origin
346 (method git-fetch)
347 (uri (git-reference
348 (url "https://github.com/magit/magit-svn")
349 (commit commit)))
350 (file-name (git-file-name name version))
351 (sha256
352 (base32
353 "1mlqz8dh6jy5rv72lgkxv253dgh73fmbaidskicypapvbl3lr6xy"))))
354 (build-system trivial-build-system)
355 (native-inputs `(("emacs" ,emacs-minimal)))
356 (propagated-inputs `(("dash" ,emacs-dash)
357 ("with-editor" ,emacs-with-editor)
358 ("magit" ,emacs-magit)
359 ("transient" ,emacs-transient)))
360 (arguments
361 `(#:modules ((guix build utils)
362 (guix build emacs-utils))
363
364 #:builder
365 (begin
366 (use-modules (guix build utils)
367 (guix build emacs-utils))
368
369 (let ((emacs (string-append (assoc-ref %build-inputs "emacs")
370 "/bin/emacs"))
371 (magit (string-append (assoc-ref %build-inputs "magit")
372 "/share/emacs/site-lisp"))
373 (transient (string-append (assoc-ref %build-inputs "transient")
374 "/share/emacs/site-lisp/guix.d/transient-"
375 ,(package-version emacs-transient)))
376 (dash (string-append (assoc-ref %build-inputs "dash")
377 "/share/emacs/site-lisp/guix.d/dash-"
378 ,(package-version emacs-dash)))
379 (with-editor (string-append (assoc-ref %build-inputs "with-editor")
380 "/share/emacs/site-lisp/guix.d/with-editor-"
381 ,(package-version emacs-with-editor)))
382 (source (assoc-ref %build-inputs "source"))
383 (lisp-dir (string-append %output "/share/emacs/site-lisp")))
384
385 (install-file (string-append source "/magit-svn.el")
386 lisp-dir)
387
388 (with-directory-excursion lisp-dir
389 (parameterize ((%emacs emacs))
390 (emacs-generate-autoloads ,name lisp-dir)
391 (setenv "EMACSLOADPATH"
392 (string-append ":" magit ":" transient
393 ":" dash ":" with-editor))
394 (emacs-batch-eval '(byte-compile-file "magit-svn.el"))))
395 #t))))
396 (home-page "https://github.com/magit/magit-svn")
397 (synopsis "Git-SVN extension to Magit")
398 (description
399 "This package is an extension to Magit, the Git Emacs mode, providing
400 support for Git-SVN.")
401 (license license:gpl3+))))
402
403 (define-public magit-svn
404 (deprecated-package "magit-svn" emacs-magit-svn))
405
406 (define-public emacs-magit-popup
407 (package
408 (name "emacs-magit-popup")
409 (version "2.12.5")
410 (source (origin
411 (method git-fetch)
412 (uri (git-reference
413 (url "https://github.com/magit/magit-popup.git")
414 (commit (string-append "v" version))))
415 (file-name (git-file-name name version))
416 (sha256
417 (base32
418 "13riknyqr6vxqll80sfhvz165flvdz367rbd0pr5slb01bnfsi2i"))))
419 (build-system emacs-build-system)
420 (arguments
421 `(#:phases
422 (modify-phases %standard-phases
423 (add-before 'install 'make-info
424 (lambda _
425 (invoke "make" "info"))))))
426 (native-inputs
427 `(("texinfo" ,texinfo)))
428 (propagated-inputs
429 `(("emacs-dash" ,emacs-dash)))
430 (home-page "https://github.com/magit/magit-popup")
431 (synopsis "Define prefix-infix-suffix command combos")
432 (description
433 "This library implements a generic interface for toggling switches and
434 setting options and then invoking an Emacs command which does something with
435 these arguments. The prototypical use is for the command to call an external
436 process, passing on the arguments as command line arguments.")
437 (license license:gpl3+)))
438
439 (define-public emacs-minions
440 (package
441 (name "emacs-minions")
442 (version "0.3.1")
443 (source (origin
444 (method git-fetch)
445 (uri (git-reference
446 (url "https://github.com/tarsius/minions.git")
447 (commit (string-append "v" version))))
448 (file-name (git-file-name name version))
449 (sha256
450 (base32
451 "0q2y37zfxlbfvgdn70ikg3abp8vljna4ir9nyqlz1awmz5i1c43s"))))
452 (build-system emacs-build-system)
453 (propagated-inputs
454 `(("emacs-dash" ,emacs-dash)))
455 (home-page "https://github.com/tarsius/minions")
456 (synopsis "Minor-mode menu for the mode line")
457 (description
458 "This package implements a menu that lists enabled minor-modes, as well
459 as commonly but not currently enabled minor-modes. It can be used to toggle
460 local and global minor-modes, to access mode-specific menus, and to get help
461 about modes.
462
463 This menu is intended as a replacement for the incomplete yet wide list of
464 enabled minor-modes that is displayed in the mode line by default. To use the
465 menu like this, enable Minions mode.
466
467 Alternatively the menu can be bound globally, for example:
468 @code{(global-set-key [S-down-mouse-3] 'minions-minor-modes-menu)}.")
469 (license license:gpl3+)))
470
471 (define-public emacs-treepy
472 (package
473 (name "emacs-treepy")
474 (version "0.1.1")
475 (source (origin
476 (method git-fetch)
477 (uri (git-reference
478 (url "https://github.com/volrath/treepy.el.git")
479 (commit version)))
480 (file-name (git-file-name name version))
481 (sha256
482 (base32
483 "04zwm6gx9pxfvgfkizx6pvb1ql8pqxjyzqp8flz0432x0gq5nlxk"))))
484 (build-system emacs-build-system)
485 (home-page
486 "https://github.com/volrath/treepy.el")
487 (synopsis "Tree traversal tools")
488 (description
489 "Generic tools for recursive and iterative tree traversal based on
490 clojure.walk and clojure.zip respectively.")
491 (license license:gpl3+)))
492
493 (define-public emacs-graphql
494 (package
495 (name "emacs-graphql")
496 (version "0.1.1")
497 (source (origin
498 (modules '((guix build utils)))
499 ;; Remove examples file with references to external packages as
500 ;; they do not exist at compilation time.
501 (snippet
502 '(begin (delete-file "examples.el")
503 #t))
504 (method git-fetch)
505 (uri (git-reference
506 (url "https://github.com/vermiculus/graphql.el.git")
507 (commit version)))
508 (file-name (git-file-name name version))
509 (sha256
510 (base32
511 "0sp0skc1rnhi39szfbq1i99pdgd3bhn4c15cff05iqhjy2d4hniw"))))
512 (build-system emacs-build-system)
513 (home-page
514 "https://github.com/vermiculus/graphql.el")
515 (synopsis "GraphQL utilities")
516 (description
517 "GraphQL.el provides a generally-applicable domain-specific language for
518 creating and executing GraphQL queries against your favorite web services.
519 GraphQL is a data query language and runtime designed and used to request and
520 deliver data to mobile and web apps.")
521 (license license:gpl3+)))
522
523 (define-public emacs-ghub
524 (package
525 (name "emacs-ghub")
526 (version "3.2.0")
527 (source (origin
528 (method git-fetch)
529 (uri (git-reference
530 (url "https://github.com/magit/ghub")
531 (commit (string-append "v" version))))
532 (file-name (git-file-name name version))
533 (sha256
534 (base32
535 "0lp52qygyavddl1lrgsyb6mq7hcf9h89dy2pzya3mb2va49f0vvl"))))
536 (build-system emacs-build-system)
537 (arguments
538 `(#:phases
539 (modify-phases %standard-phases
540 (add-before 'install 'make-info
541 (lambda _
542 (invoke "make" "info"))))))
543 (native-inputs
544 `(("texinfo" ,texinfo)))
545 (propagated-inputs
546 `(("dash" ,emacs-dash)
547 ("graphql" ,emacs-graphql)
548 ("treepy" ,emacs-treepy)))
549 (home-page "https://github.com/magit/ghub")
550 (synopsis "Emacs client libraries for the APIs of various Git forges")
551 (description
552 "Ghub provides basic support for using the APIs of various Git forges from
553 Emacs packages. It supports the REST APIs of Github, Github GraphQL, Gitlab,
554 Gitea, Gogs and Bitbucket. It abstracts access to API resources using only a
555 handful of functions that are not resource-specific.")
556 (license license:gpl3+)))
557
558 (define-public emacs-scribble-mode
559 (let ((commit "34e9e5edb921813b6483e0fefa848efb6ee4b314")
560 (version "0.0")
561 (revision 0))
562 (package
563 (name "emacs-scribble-mode")
564 (version (if (zero? revision)
565 version
566 (string-append version "-"
567 (number->string revision)
568 "." (string-take commit 7))))
569 (source (origin
570 (method git-fetch)
571 (uri (git-reference
572 (url "https://github.com/emacs-pe/scribble-mode.git")
573 (commit commit)))
574 (sha256
575 (base32
576 "0598byqpz2q6yi2q4dwd77jj9z3n99z34d3an51s9m2za0nh1qvp"))))
577 (build-system emacs-build-system)
578 (home-page "https://github.com/emacs-pe/scribble-mode")
579 (synopsis "Emacs mode for editing the Scribble documentation syntax.")
580 (description
581 "This package provides basic syntax highlighting and editing support
582 for editing Racket's Scribble documentation syntax in Emacs.")
583 (license license:gpl3+))))
584
585 (define-public emacs-shroud
586 (package
587 (name "emacs-shroud")
588 (version "1.83.4")
589 (source
590 (origin
591 (method git-fetch)
592 (uri (git-reference
593 (url "https://github.com/o-nly/emacs-shroud.git")
594 (commit version)))
595 (file-name (git-file-name name version))
596 (sha256
597 (base32 "1yvdjx0kp4y8w5yz2cbqq9n6xl5splvmsyyx8ld1xv0q1c9872nf"))))
598 (build-system emacs-build-system)
599 (propagated-inputs
600 `(("emacs-bui" ,emacs-bui)
601 ("emacs-dash" ,emacs-dash)
602 ("emacs-f" ,emacs-f)
603 ("emacs-s" ,emacs-s)
604 ("gnupg" ,gnupg)
605 ("shroud" ,shroud)))
606 (home-page "https://github.com/o-nly/emacs-shroud")
607 (synopsis "Emacs interface to the Shroud password manager")
608 (description
609 "This package provides an Emacs interface to the Shroud password manager,
610 using the Buffers User Interface library. You can view, copy, and edit secrets
611 from within Emacs.")
612 (license license:gpl3+)))
613
614 (define-public emacs-unpackaged-el
615 (let ((commit "f4df7f8dfea715e893b2223adda32545803f5cce")
616 (revision "1"))
617 (package
618 (name "emacs-unpackaged-el")
619 (version (git-version "0" revision commit))
620 (source
621 (origin
622 (method git-fetch)
623 (uri (git-reference
624 (url "https://github.com/alphapapa/unpackaged.el")
625 (commit commit)))
626 (file-name (git-file-name name version))
627 (sha256
628 (base32
629 "1yf3zrgqfhnr0az8gn1kqqwnhfi3nc0vbjkcagwcqwk3sp1jda86"))
630 (patches
631 (search-patches "emacs-unpackaged-req.patch"))))
632 (build-system emacs-build-system)
633 (propagated-inputs
634 `(("emacs-dash" ,emacs-dash)
635 ("emacs-org" ,emacs-org)
636 ("emacs-s" ,emacs-s)
637 ("emacs-hydra" ,emacs-hydra)
638 ("emacs-use-package" ,emacs-use-package)))
639 (home-page "https://github.com/alphapapa/unpackaged.el")
640 (synopsis "Useful snippets of Emacs Lisp code")
641 (description "This package provides Emacs Lisp utilities for a variety
642 of tasks, including version control, task management, and regex-based
643 replacement.")
644 (license license:gpl3+))))
645
646 (define-public emacs-haskell-mode
647 (package
648 (name "emacs-haskell-mode")
649 (version "16.1")
650 (source (origin
651 (method git-fetch)
652 (uri (git-reference
653 (url "https://github.com/haskell/haskell-mode")
654 (commit (string-append "v" version))))
655 (file-name (git-file-name name version))
656 (sha256
657 (base32 "1qk36y0v9fzass6785il65c6wb5cfj4ihhwkvgnzmbafpa8p4dvq"))
658 (patches
659 (search-patches ; backport test failure fixes
660 "haskell-mode-unused-variables.patch"
661 "haskell-mode-make-check.patch"))))
662 (inputs
663 `(("emacs-el-search" ,emacs-el-search) ; for tests
664 ("emacs-stream" ,emacs-stream))) ; for tests
665 (propagated-inputs
666 `(("emacs-dash" ,emacs-dash)))
667 (native-inputs
668 `(("emacs" ,emacs-minimal)
669 ("texinfo" ,texinfo)))
670 (build-system gnu-build-system)
671 (arguments
672 `(#:make-flags (list (string-append "EMACS="
673 (assoc-ref %build-inputs "emacs")
674 "/bin/emacs"))
675 #:modules ((ice-9 match)
676 (srfi srfi-26)
677 ,@%gnu-build-system-modules)
678 #:phases
679 (modify-phases %standard-phases
680 (delete 'configure)
681 (add-before
682 'build 'pre-build
683 (lambda* (#:key inputs #:allow-other-keys)
684 (define (el-dir store-dir)
685 (match (find-files store-dir "\\.el$")
686 ((f1 f2 ...) (dirname f1))
687 (_ "")))
688
689 (let ((sh (string-append (assoc-ref inputs "bash") "/bin/sh")))
690 (define emacs-prefix? (cut string-prefix? "emacs-" <>))
691
692 (setenv "SHELL" "sh")
693 (setenv "EMACSLOADPATH"
694 (string-concatenate
695 (map (match-lambda
696 (((? emacs-prefix? name) . dir)
697 (string-append (el-dir dir) ":"))
698 (_ ""))
699 inputs)))
700 (substitute* (find-files "." "\\.el") (("/bin/sh") sh))
701 ;; embed filename to fix test failure
702 (let ((file "tests/haskell-cabal-tests.el"))
703 (substitute* file
704 (("\\(buffer-file-name\\)")
705 (format #f "(or (buffer-file-name) ~s)" file))))
706 #t)))
707 (replace
708 'install
709 (lambda* (#:key outputs #:allow-other-keys)
710 (let* ((out (assoc-ref outputs "out"))
711 (el-dir (string-append out "/share/emacs/site-lisp"))
712 (doc (string-append
713 out "/share/doc/haskell-mode-" ,version))
714 (info (string-append out "/share/info")))
715 (define (copy-to-dir dir files)
716 (for-each (lambda (f)
717 (install-file f dir))
718 files))
719
720 (with-directory-excursion "doc"
721 (invoke "makeinfo" "haskell-mode.texi")
722 (install-file "haskell-mode.info" info))
723 (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
724 (copy-to-dir el-dir (find-files "." "\\.elc?"))
725 ;; These are part of other packages.
726 (with-directory-excursion el-dir
727 (for-each delete-file '("dash.el" "ert.el")))
728 #t))))))
729 (home-page "https://github.com/haskell/haskell-mode")
730 (synopsis "Haskell mode for Emacs")
731 (description
732 "This is an Emacs mode for editing, debugging and developing Haskell
733 programs.")
734 (license license:gpl3+)))
735
736 (define-public haskell-mode
737 (deprecated-package "haskell-mode" emacs-haskell-mode))
738
739 (define-public emacs-dante
740 (let ((commit "149dded24ca9cdff09a3d859e4b62638db4aadda")
741 (revision "1"))
742 (package
743 (name "emacs-dante")
744 (version (git-version "1.5" revision commit))
745 (source (origin
746 (method git-fetch)
747 (uri (git-reference
748 (url "https://github.com/jyp/dante")
749 (commit commit)))
750 (sha256
751 (base32
752 "0i7kj3d6pfys6si9va5f36qzifyac9mahdl0qh40rya9m0syrkla"))
753 (file-name (git-file-name name version))))
754 (build-system emacs-build-system)
755 (propagated-inputs
756 `(("emacs-dash" ,emacs-dash)
757 ("emacs-f" ,emacs-f)
758 ("emacs-flycheck" ,emacs-flycheck)
759 ("emacs-haskell-mode" ,emacs-haskell-mode)
760 ("emacs-s" ,emacs-s)
761 ("emacs-company" ,emacs-company)
762 ("emacs-lcr" ,emacs-lcr)))
763 (home-page "https://github.com/jyp/dante")
764 (synopsis "Minor mode for interactive Haskell")
765 (description
766 "This package provides a minor mode for Haskell development that
767 supports type hints, definition-jumping, completion, and more.")
768 (license license:gpl3+))))
769
770 (define-public emacs-flycheck
771 (package
772 (name "emacs-flycheck")
773 (version "31")
774 (source (origin
775 (method url-fetch)
776 (uri (string-append
777 "https://github.com/flycheck/flycheck/releases/download/"
778 version "/flycheck-" version ".tar"))
779 (sha256
780 (base32
781 "01rnwan16m7cyyrfca3c5c60mbj2r3knkpzbhji2fczsf0wns240"))
782 (modules '((guix build utils)))
783 (snippet `(begin
784 ;; Change 'flycheck-version' so that it does not
785 ;; attempt to get its version from pkg-info.el.
786 (substitute* "flycheck.el"
787 (("\\(pkg-info-version-info 'flycheck\\)")
788 (string-append "\"" ,version "\"")))
789 #t))))
790 (build-system emacs-build-system)
791 (propagated-inputs
792 `(("emacs-dash" ,emacs-dash)))
793 (home-page "https://www.flycheck.org")
794 (synopsis "On-the-fly syntax checking")
795 (description
796 "This package provides on-the-fly syntax checking for GNU Emacs. It is a
797 replacement for the older Flymake extension which is part of GNU Emacs, with
798 many improvements and additional features.
799
800 Flycheck provides fully-automatic, fail-safe, on-the-fly background syntax
801 checking for over 30 programming and markup languages with more than 70
802 different tools. It highlights errors and warnings inline in the buffer, and
803 provides an optional IDE-like error list.")
804 (license license:gpl3+))) ;+GFDLv1.3+ for the manual
805
806 (define-public emacs-a
807 (package
808 (name "emacs-a")
809 (version "0.1.1")
810 (source (origin
811 (method git-fetch)
812 (uri (git-reference
813 (url "https://github.com/plexus/a.el.git")
814 (commit (string-append "v" version))))
815 (file-name (git-file-name name version))
816 (sha256
817 (base32
818 "00v9w6qg3bkwdhypq0ssf0phdh0f4bcq59c20lngd6vhk0204dqi"))))
819 (build-system emacs-build-system)
820 (home-page "https://github.com/plexus/a.el/")
821 (synopsis
822 "Emacs library for dealing with association lists and hash tables")
823 (description "@code{emacs-a} provides Emacs Lisp functions for dealing
824 with associative structures in a uniform and functional way. These functions
825 can take association lists, hash tables, and in some cases vectors (where the
826 index is considered the key).")
827 (license license:gpl3+)))
828
829 (define-public emacs-ace-jump-mode
830 (package
831 (name "emacs-ace-jump-mode")
832 (version "2.0")
833 (home-page "https://github.com/winterTTr/ace-jump-mode")
834 (source (origin
835 (method git-fetch)
836 (uri (git-reference
837 (url home-page)
838 (commit (string-append "v" version))))
839 (sha256
840 (base32
841 "1bwvzh056ls2v7y26a0s4j5mj582dmds04lx4x6iqihs04ss74bb"))
842 (file-name (git-file-name name version))))
843 (build-system emacs-build-system)
844 (synopsis "Cursor location minor mode for fast navigation")
845 (description "Ace-jump-mode is a fast/direct cursor location minor
846 mode. It creates an N-Branch search tree internally and marks all
847 the possible position with predefined keys in within the whole Emacs
848 view. This allows you to move to the character, word, or line almost
849 directly.")
850 (license license:gpl3+)))
851
852 (define-public emacs-anaphora
853 (package
854 (name "emacs-anaphora")
855 (version "1.0.4")
856 (source
857 (origin
858 (method git-fetch)
859 (uri (git-reference
860 (url "https://github.com/rolandwalker/anaphora.git")
861 (commit (string-append "v" version))))
862 (file-name (git-file-name name version))
863 (sha256
864 (base32
865 "11fgiy029sqz7nvdm7dcal95lacryz9zql0x5h05z48nrrcl4bib"))))
866 (build-system emacs-build-system)
867 (home-page "https://github.com/rolandwalker/anaphora/")
868 (synopsis "Anaphoric expressions for Emacs Lisp")
869 (description "@code{emacs-anaphora} implements anaphoric expressions for
870 Emacs Lisp.
871
872 Anaphoric expressions implicitly create one or more temporary variables which
873 can be referred to during the expression. This technique can improve clarity
874 in certain cases. It also enables recursion for anonymous functions.")
875 (license license:public-domain)))
876
877 (define-public emacs-xr
878 (package
879 (name "emacs-xr")
880 (version "1.13")
881 (source
882 (origin
883 (method url-fetch)
884 (uri (string-append
885 "https://elpa.gnu.org/packages/xr-" version ".tar"))
886 (sha256
887 (base32
888 "1km4x92pii8c4bcimks4xzhmwpypdf183z0zh7raj062jz4jb74r"))))
889 (build-system emacs-build-system)
890 (home-page "http://elpa.gnu.org/packages/xr.html")
891 (synopsis "Convert string regexp to rx notation")
892 (description
893 "This is an inverse companion to the @code{rx} package for translating
894 regexps in string form to the @code{rx} notation. Its chief uses are:
895
896 @itemize
897 @item Migrating existing code to @code{rx} form, for better readability and
898 maintainability
899 @item Understanding complex regexp strings and finding errors in them
900 @end itemize
901
902 In addition to Emacs regexps, this package can also parse and troubleshoot
903 skip set strings, which are arguments to @code{skip-chars-forward} and
904 @code{skip-chars-backward}.")
905 (license license:gpl3+)))
906
907 (define-public emacs-reformatter
908 (package
909 (name "emacs-reformatter")
910 (version "0.4")
911 (source
912 (origin
913 (method git-fetch)
914 (uri (git-reference
915 (url "https://github.com/purcell/reformatter.el.git")
916 (commit version)))
917 (file-name (git-file-name name version))
918 (sha256
919 (base32
920 "0hhy6x1bkwlhdlarsgm06g3am4yh02yqv8qs34szpzgy53x84qah"))))
921 (build-system emacs-build-system)
922 (home-page "https://github.com/purcell/reformatter.el")
923 (synopsis "Define commands which run reformatters on the current buffer")
924 (description
925 "This library lets elisp authors easily define an idiomatic command to
926 reformat the current buffer using a command-line program, together with an
927 optional minor mode which can apply this command automatically on save.")
928 (license license:gpl3+)))
929
930 (define-public emacs-relint
931 (package
932 (name "emacs-relint")
933 (version "1.8")
934 (source
935 (origin
936 (method url-fetch)
937 (uri (string-append
938 "https://elpa.gnu.org/packages/relint-" version ".el"))
939 (sha256
940 (base32
941 "1bl6m2h7131acbmr0kqfnjjpv2syiv2mxfnm61g874ynnvkmmkm3"))))
942 (build-system emacs-build-system)
943 (propagated-inputs `(("emacs-xr" ,emacs-xr)))
944 (home-page "https://github.com/mattiase/relint")
945 (synopsis "Elisp regexp mistake finder")
946 (description
947 "Relint (regular expression lint) scans Elisp files for mistakes in
948 regexps, including deprecated syntax and bad practice. It also checks the
949 regexp-like arguments to @code{skip-chars-forward} and
950 @code{skip-chars-backward}.")
951 (license license:gpl3+)))
952
953 (define-public emacs-bug-hunter
954 (let ((commit "b88d981afa9154b236c5a3a83b50d5889d46c6a7")
955 (revision "1"))
956 (package
957 (name "emacs-bug-hunter")
958 (version (git-version "1.3.1" revision commit))
959 (source
960 (origin
961 (method git-fetch)
962 (uri (git-reference
963 (url "https://github.com/Malabarba/elisp-bug-hunter.git")
964 (commit commit)))
965 (file-name (git-file-name name commit))
966 (sha256
967 (base32
968 "134fj493sdn93pyyac8rpz1fzahzmayvphsrmqp3wvgysmfqm38l"))))
969 (build-system emacs-build-system)
970 (propagated-inputs
971 `(("emacs-seq" ,emacs-seq)))
972 (home-page "https://github.com/Malabarba/elisp-bug-hunter")
973 (synopsis "Hunt down errors by bisecting elisp files")
974 (description
975 "The Bug Hunter is an Emacs library that finds the source of an error
976 or unexpected behavior inside an elisp configuration file (typically
977 @file{init.el} or @file{.emacs}).")
978 (license license:gpl3+))))
979
980 \f
981 ;;;
982 ;;; Web browsing.
983 ;;;
984
985 (define-public emacs-w3m
986 ;; Emacs-w3m follows a "rolling release" model.
987 (package
988 (name "emacs-w3m")
989 (version "2018-11-11")
990 (source (origin
991 (method cvs-fetch)
992 (uri (cvs-reference
993 (root-directory
994 ":pserver:anonymous@cvs.namazu.org:/storage/cvsroot")
995 (module "emacs-w3m")
996 (revision version)))
997 (file-name (string-append name "-" version "-checkout"))
998 (sha256
999 (base32
1000 "0nvahdbjs12zg7zsk4gql02mvnv56cf1rwj2f5p42lwp3xvswiwp"))))
1001 (build-system gnu-build-system)
1002 (native-inputs `(("autoconf" ,autoconf)
1003 ("texinfo" ,texinfo)
1004 ("emacs" ,emacs-minimal)))
1005 (inputs `(("w3m" ,w3m)
1006 ("imagemagick" ,imagemagick)))
1007 (arguments
1008 `(#:modules ((guix build gnu-build-system)
1009 (guix build utils)
1010 (guix build emacs-utils))
1011 #:imported-modules (,@%gnu-build-system-modules
1012 (guix build emacs-utils))
1013 #:configure-flags
1014 (let ((out (assoc-ref %outputs "out")))
1015 (list (string-append "--with-lispdir="
1016 out "/share/emacs/site-lisp")
1017 (string-append "--with-icondir="
1018 out "/share/images/emacs-w3m")
1019 ;; Leave .el files uncompressed, otherwise GC can't
1020 ;; identify run-time dependencies. See
1021 ;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
1022 "--without-compress-install"))
1023 #:tests? #f ; no check target
1024 #:phases
1025 (modify-phases %standard-phases
1026 (add-after 'unpack 'autoconf
1027 (lambda _
1028 (invoke "autoconf")))
1029 (add-before 'configure 'support-emacs!
1030 (lambda _
1031 ;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
1032 ;; unsupported.
1033 (substitute* "configure"
1034 (("EMACS_FLAVOR=unsupported")
1035 "EMACS_FLAVOR=emacs"))
1036 #t))
1037 (add-before 'build 'patch-exec-paths
1038 (lambda* (#:key inputs outputs #:allow-other-keys)
1039 (let ((out (assoc-ref outputs "out"))
1040 (w3m (assoc-ref inputs "w3m"))
1041 (imagemagick (assoc-ref inputs "imagemagick"))
1042 (coreutils (assoc-ref inputs "coreutils")))
1043 (make-file-writable "w3m.el")
1044 (emacs-substitute-variables "w3m.el"
1045 ("w3m-command" (string-append w3m "/bin/w3m"))
1046 ("w3m-touch-command"
1047 (string-append coreutils "/bin/touch"))
1048 ("w3m-icon-directory"
1049 (string-append out "/share/images/emacs-w3m")))
1050 (make-file-writable "w3m-image.el")
1051 (emacs-substitute-variables "w3m-image.el"
1052 ("w3m-imagick-convert-program"
1053 (string-append imagemagick "/bin/convert"))
1054 ("w3m-imagick-identify-program"
1055 (string-append imagemagick "/bin/identify")))
1056 #t)))
1057 (replace 'install
1058 (lambda* (#:key outputs #:allow-other-keys)
1059 (invoke "make" "install" "install-icons")
1060 (with-directory-excursion
1061 (string-append (assoc-ref outputs "out")
1062 "/share/emacs/site-lisp")
1063 (for-each delete-file '("ChangeLog" "ChangeLog.1"))
1064 (symlink "w3m-load.el" "w3m-autoloads.el")
1065 #t))))))
1066 (home-page "http://emacs-w3m.namazu.org/")
1067 (synopsis "Simple Web browser for Emacs based on w3m")
1068 (description
1069 "Emacs-w3m is an emacs interface for the w3m web browser.")
1070 (license license:gpl2+)))
1071
1072 (define-public emacs-wget
1073 (package
1074 (name "emacs-wget")
1075 (version "0.5.0")
1076 (source (origin
1077 (method url-fetch)
1078 (uri (string-append "mirror://debian/pool/main/w/wget-el/wget-el_"
1079 version ".orig.tar.gz"))
1080 (sha256
1081 (base32 "10byvyv9dk0ib55gfqm7bcpxmx2qbih1jd03gmihrppr2mn52nff"))))
1082 (build-system gnu-build-system)
1083 (inputs `(("wget" ,wget)))
1084 (native-inputs `(("emacs" ,emacs-minimal)))
1085 (arguments
1086 `(#:modules ((guix build gnu-build-system)
1087 (guix build utils)
1088 (guix build emacs-utils))
1089 #:imported-modules (,@%gnu-build-system-modules
1090 (guix build emacs-utils))
1091 #:tests? #f ; no check target
1092 #:phases
1093 (modify-phases %standard-phases
1094 (replace 'configure
1095 (lambda* (#:key outputs #:allow-other-keys)
1096 (substitute* "Makefile"
1097 (("/usr/local") (assoc-ref outputs "out"))
1098 (("/site-lisp/emacs-wget") "/site-lisp"))
1099 #t))
1100 (add-before 'build 'patch-exec-paths
1101 (lambda* (#:key inputs outputs #:allow-other-keys)
1102 (let ((wget (assoc-ref inputs "wget")))
1103 (emacs-substitute-variables "wget.el"
1104 ("wget-command" (string-append wget "/bin/wget"))))
1105 #t))
1106 (add-after 'install 'post-install
1107 (lambda* (#:key outputs #:allow-other-keys)
1108 (emacs-generate-autoloads
1109 "wget" (string-append (assoc-ref outputs "out")
1110 "/share/emacs/site-lisp/"))
1111 #t)))))
1112 (home-page "http://www.emacswiki.org/emacs/EmacsWget")
1113 (synopsis "Simple file downloader for Emacs based on wget")
1114 (description
1115 "Emacs-wget is an emacs interface for the wget file downloader.")
1116 (license license:gpl2+)))
1117
1118 \f
1119 ;;;
1120 ;;; Multimedia.
1121 ;;;
1122
1123 (define-public emacs-emms
1124 (package
1125 (name "emacs-emms")
1126 (version "5.2")
1127 (source (origin
1128 (method url-fetch)
1129 (uri (string-append "mirror://gnu/emms/emms-"
1130 version ".tar.gz"))
1131 (sha256
1132 (base32
1133 "0cvpfdkagkpi8g02w8f7wzrpdk2ihas0mn5m9fr882xjdfshl21z"))
1134 (modules '((guix build utils)))
1135 (snippet
1136 '(begin
1137 (substitute* "Makefile"
1138 (("/usr/bin/install-info")
1139 ;; No need to use 'install-info' since it would create a
1140 ;; useless 'dir' file.
1141 "true")
1142 (("^INFODIR=.*")
1143 ;; Install Info files to $out/share/info, not $out/info.
1144 "INFODIR := $(PREFIX)/share/info\n")
1145 (("/site-lisp/emms")
1146 ;; Install directly in share/emacs/site-lisp, not in a
1147 ;; sub-directory.
1148 "/site-lisp")
1149 (("^all: (.*)\n" _ rest)
1150 ;; Build 'emms-print-metadata'.
1151 (string-append "all: " rest " emms-print-metadata\n")))
1152 #t))))
1153 (build-system gnu-build-system)
1154 (arguments
1155 `(#:modules ((guix build gnu-build-system)
1156 (guix build utils)
1157 (guix build emacs-utils)
1158 (ice-9 ftw))
1159 #:imported-modules (,@%gnu-build-system-modules
1160 (guix build emacs-utils))
1161
1162 #:phases
1163 (modify-phases %standard-phases
1164 (replace 'configure
1165 (lambda* (#:key inputs outputs #:allow-other-keys)
1166 (let ((out (assoc-ref outputs "out"))
1167 (flac (assoc-ref inputs "flac"))
1168 (vorbis (assoc-ref inputs "vorbis-tools"))
1169 (alsa (assoc-ref inputs "alsa-utils"))
1170 (mpg321 (assoc-ref inputs "mpg321"))
1171 (mp3info (assoc-ref inputs "mp3info"))
1172 (mutagen (assoc-ref inputs "mutagen"))
1173 (opus (assoc-ref inputs "opus-tools")))
1174 ;; Specify the installation directory.
1175 (substitute* "Makefile"
1176 (("PREFIX=.*$")
1177 (string-append "PREFIX := " out "\n")))
1178
1179 (setenv "SHELL" (which "sh"))
1180 (setenv "CC" "gcc")
1181
1182 ;; Specify the absolute file names of the various
1183 ;; programs so that everything works out-of-the-box.
1184 (with-directory-excursion "lisp"
1185 (emacs-substitute-variables
1186 "emms-player-mpg321-remote.el"
1187 ("emms-player-mpg321-remote-command"
1188 (string-append mpg321 "/bin/mpg321")))
1189 (substitute* "emms-player-simple.el"
1190 (("\"ogg123\"")
1191 (string-append "\"" vorbis "/bin/ogg123\"")))
1192 (substitute* "emms-player-simple.el"
1193 (("\"mpg321\"")
1194 (string-append "\"" mpg321 "/bin/mpg321\"")))
1195 (emacs-substitute-variables "emms-info-ogginfo.el"
1196 ("emms-info-ogginfo-program-name"
1197 (string-append vorbis "/bin/ogginfo")))
1198 (emacs-substitute-variables "emms-info-opusinfo.el"
1199 ("emms-info-opusinfo-program-name"
1200 (string-append opus "/bin/opusinfo")))
1201 (emacs-substitute-variables "emms-info-libtag.el"
1202 ("emms-info-libtag-program-name"
1203 (string-append out "/bin/emms-print-metadata")))
1204 (emacs-substitute-variables "emms-info-mp3info.el"
1205 ("emms-info-mp3info-program-name"
1206 (string-append mp3info "/bin/mp3info")))
1207 (emacs-substitute-variables "emms-info-metaflac.el"
1208 ("emms-info-metaflac-program-name"
1209 (string-append flac "/bin/metaflac")))
1210 (emacs-substitute-variables "emms-source-file.el"
1211 ("emms-source-file-gnu-find" (which "find")))
1212 (substitute* "emms-volume-amixer.el"
1213 (("\"amixer\"")
1214 (string-append "\"" alsa "/bin/amixer\"")))
1215 (substitute* "emms-tag-editor.el"
1216 (("\"mid3v2\"")
1217 (string-append "\"" mutagen "/bin/mid3v2\"")))
1218 #t))))
1219 (add-before 'install 'pre-install
1220 (lambda* (#:key outputs #:allow-other-keys)
1221 ;; The 'install' rule expects the target directories to exist.
1222 (let* ((out (assoc-ref outputs "out"))
1223 (bin (string-append out "/bin"))
1224 (man1 (string-append out "/share/man/man1")))
1225 (mkdir-p bin)
1226 (mkdir-p man1)
1227
1228 ;; Ensure that files are not rejected by gzip
1229 (let ((early-1980 315619200)) ; 1980-01-02 UTC
1230 (ftw "." (lambda (file stat flag)
1231 (unless (<= early-1980 (stat:mtime stat))
1232 (utime file early-1980 early-1980))
1233 #t)))
1234 #t)))
1235 (add-after 'install 'post-install
1236 (lambda* (#:key outputs #:allow-other-keys)
1237 (let ((out (assoc-ref outputs "out")))
1238 (symlink "emms-auto.el"
1239 (string-append out "/share/emacs/site-lisp/"
1240 "emms-autoloads.el")))
1241 #t)))
1242 #:tests? #f))
1243 (native-inputs `(("emacs" ,emacs-minimal) ;for (guix build emacs-utils)
1244 ("texinfo" ,texinfo)))
1245 (inputs `(("alsa-utils" ,alsa-utils)
1246 ("flac" ,flac) ;for metaflac
1247 ("vorbis-tools" ,vorbis-tools)
1248 ("mpg321" ,mpg321)
1249 ("taglib" ,taglib)
1250 ("mp3info" ,mp3info)
1251 ("mutagen" ,python-mutagen)
1252 ("opus-tools" ,opus-tools)))
1253 (properties '((upstream-name . "emms")))
1254 (synopsis "Emacs Multimedia System")
1255 (description
1256 "EMMS is the Emacs Multimedia System. It is a small front-end which
1257 can control one of the supported external players. Thus, it supports
1258 whatever formats are supported by your music player. It also
1259 supports tagging and playlist management, all behind a clean and
1260 light user interface.")
1261 (home-page "https://www.gnu.org/software/emms/")
1262 (license license:gpl3+)))
1263
1264 (define-public emacs-emms-player-mpv
1265 ;; A new mpv backend is included in Emms from 5.0.
1266 (deprecated-package "emacs-emms-player-mpv" emacs-emms))
1267
1268 (define-public emacs-emms-mode-line-cycle
1269 (package
1270 (name "emacs-emms-mode-line-cycle")
1271 (version "0.2.5")
1272 (source
1273 (origin
1274 (method git-fetch)
1275 (uri (git-reference
1276 (url "https://github.com/momomo5717/emms-mode-line-cycle")
1277 (commit version)))
1278 (file-name (git-file-name name version))
1279 (sha256
1280 (base32
1281 "0q80f0plch6k4lhs8c9qm3mfycfbp3kn5sjrk9zxgxwnn901y9mp"))))
1282 (build-system emacs-build-system)
1283 (propagated-inputs
1284 `(("emms" ,emacs-emms)))
1285 (home-page "https://github.com/momomo5717/emms-mode-line-cycle")
1286 (synopsis "Display the EMMS mode line as a ticker")
1287 (description
1288 "This is a minor mode for updating the EMMS mode-line string cyclically
1289 within a specified width. It is useful for displaying long track titles.")
1290 (license license:gpl3+)))
1291
1292 \f
1293 ;;;
1294 ;;; Miscellaneous.
1295 ;;;
1296
1297 (define-public emacs-ace-link
1298 (package
1299 (name "emacs-ace-link")
1300 (version "0.5.0")
1301 (source
1302 (origin
1303 (method git-fetch)
1304 (uri (git-reference
1305 (url "https://github.com/abo-abo/ace-link.git")
1306 (commit version)))
1307 (file-name (git-file-name name version))
1308 (sha256
1309 (base32
1310 "147dz79vg4ym5wg3d544bw2khdb2j3hr73rw4qfm64wf0q2dj0vk"))))
1311 (build-system emacs-build-system)
1312 (propagated-inputs
1313 `(("emacs-avy" ,emacs-avy)))
1314 (home-page "https://github.com/abo-abo/ace-link")
1315 (synopsis "Quickly follow links in Emacs")
1316 (description
1317 "Currently, to jump to a link in a @code{Info-mode}, @code{help-mode},
1318 @code{woman-mode}, @code{org-mode}, @code{eww-mode}, @code{compilation-mode},
1319 @code{goto-address-mode} buffer, you can tab through the links to select the
1320 one you want. This is an O(N) operation, where the N is the amount of links.
1321 This package turns this into an O(1) operation. It does so by assigning a
1322 letter to each link using avy.")
1323 (license license:gpl3+)))
1324
1325 (define-public emacs-bbdb
1326 (package
1327 (name "emacs-bbdb")
1328 (version "3.1.2")
1329 (source (origin
1330 (method url-fetch)
1331 (uri (string-append "mirror://savannah/bbdb/bbdb-"
1332 version ".tar.gz"))
1333 (sha256
1334 (base32
1335 "1gs16bbpiiy01w9pyg12868r57kx1v3hnw04gmqsmpc40l1hyy05"))
1336 (modules '((guix build utils)))
1337 (snippet
1338 ;; We don't want to build and install the PDF.
1339 '(begin
1340 (substitute* "doc/Makefile.in"
1341 (("^doc_DATA = .*$")
1342 "doc_DATA =\n"))
1343 #t))))
1344 (build-system gnu-build-system)
1345 (arguments
1346 '(#:phases
1347 (modify-phases %standard-phases
1348 (add-after 'install 'post-install
1349 (lambda* (#:key outputs #:allow-other-keys)
1350 ;; Add an autoloads file with the right name for guix.el.
1351 (let* ((out (assoc-ref outputs "out"))
1352 (site (string-append out "/share/emacs/site-lisp")))
1353 (with-directory-excursion site
1354 (symlink "bbdb-loaddefs.el" "bbdb-autoloads.el")))
1355 #t)))))
1356 (native-inputs `(("emacs" ,emacs-minimal)))
1357 (home-page "https://savannah.nongnu.org/projects/bbdb/")
1358 (synopsis "Contact management utility for Emacs")
1359 (description
1360 "BBDB is the Insidious Big Brother Database for GNU Emacs. It provides
1361 an address book for email and snail mail addresses, phone numbers and the
1362 like. It can be linked with various Emacs mail clients (Message and Mail
1363 mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
1364 (license license:gpl3+)))
1365
1366 (define-public bbdb
1367 (deprecated-package "bbdb" emacs-bbdb))
1368
1369 (define-public emacs-aggressive-indent
1370 (package
1371 (name "emacs-aggressive-indent")
1372 (version "1.8.3")
1373 (source (origin
1374 (method url-fetch)
1375 (uri (string-append "https://elpa.gnu.org/packages/"
1376 "aggressive-indent-" version ".el"))
1377 (sha256
1378 (base32
1379 "0jnzccl50x0wapprgwxinp99pwwa6j43q6msn4gv437j7swy8wnj"))))
1380 (build-system emacs-build-system)
1381 (home-page "https://elpa.gnu.org/packages/aggressive-indent.html")
1382 (synopsis "Minor mode to aggressively keep your code always indented")
1383 (description
1384 "@code{aggressive-indent-mode} is a minor mode that keeps your code
1385 always indented. It reindents after every change, making it more reliable
1386 than @code{electric-indent-mode}.")
1387 (license license:gpl2+)))
1388
1389 (define-public emacs-link-hint
1390 ;; Last release was in 2015.
1391 (let ((commit "d74a483652486260c052941fedeadddb1ea71f88")
1392 (revision "1"))
1393 (package
1394 (name "emacs-link-hint")
1395 (version (git-version "0.1" revision commit))
1396 (source
1397 (origin
1398 (method git-fetch)
1399 (uri (git-reference
1400 (url "https://github.com/noctuid/link-hint.el")
1401 (commit commit)))
1402 (file-name (git-file-name name version))
1403 (sha256
1404 (base32
1405 "0dghxd165fbds6czy9bfwpid3i4irgp3q08n9mg57sfifi0cmij0"))))
1406 (build-system emacs-build-system)
1407 (propagated-inputs
1408 `(("emacs-avy" ,emacs-avy)))
1409 (home-page "https://github.com/noctuid/link-hint.el")
1410 (synopsis "Vimperator-style link-hinting in Emacs")
1411 (description "This package provides commands for visiting and acting on
1412 links.")
1413 (license license:gpl3+))))
1414
1415 (define-public emacs-ag
1416 (package
1417 (name "emacs-ag")
1418 (version "0.47")
1419 (source (origin
1420 (method git-fetch)
1421 (uri (git-reference
1422 (url "https://github.com/Wilfred/ag.el.git")
1423 (commit version)))
1424 (file-name (git-file-name name version))
1425 (sha256
1426 (base32
1427 "15kp99vwyi7hb1jkq3lwvqzw3v62ycixsq6y4pd1x0nn2v5p5m5r"))))
1428 (build-system emacs-build-system)
1429 (arguments
1430 `(#:phases
1431 (modify-phases %standard-phases
1432 (add-before 'install 'make-info
1433 (lambda _
1434 (with-directory-excursion "docs"
1435 (invoke "make" "info"))))
1436 (add-after 'install 'install-info
1437 (lambda* (#:key outputs #:allow-other-keys)
1438 (let* ((out (assoc-ref outputs "out"))
1439 (info (string-append out "/share/info")))
1440 (install-file "docs/_build/texinfo/agel.info" info)
1441 #t))))))
1442 (native-inputs
1443 `(("python-sphinx" ,python-sphinx)
1444 ("texinfo" ,texinfo)))
1445 (propagated-inputs
1446 `(("dash" ,emacs-dash)
1447 ("s" ,emacs-s)
1448 ;; We need to use 'ag' as the executable on remote systems.
1449 ("the-silver-searcher" ,the-silver-searcher)))
1450 (home-page "https://github.com/Wilfred/ag.el")
1451 (synopsis "Front-end for ag (the-silver-searcher) for Emacs")
1452 (description "This package provides the ability to use the silver
1453 searcher, a code searching tool, sometimes abbreviated to @code{ag}. Features
1454 include version control system awareness, use of Perl compatible regular
1455 expressions, editing the search results directly and searching file names
1456 rather than the contents of files.")
1457 (license license:gpl3+)))
1458
1459 (define-public emacs-async
1460 (package
1461 (name "emacs-async")
1462 (home-page "https://github.com/jwiegley/emacs-async")
1463 (version "1.9.3")
1464 (source (origin
1465 (method git-fetch)
1466 (uri (git-reference
1467 (url home-page)
1468 (commit (string-append "v" version))))
1469 (file-name (git-file-name name version))
1470 (sha256
1471 (base32
1472 "1zsnb6dy8p6y68xgidv3dfxaga4biramfw8fq7wac0sc50vc98vq"))))
1473 (build-system emacs-build-system)
1474 (synopsis "Asynchronous processing in Emacs")
1475 (description
1476 "This package provides the ability to call asynchronous functions and
1477 processes. For example, it can be used to run dired commands (for copying,
1478 moving, etc.) asynchronously using @code{dired-async-mode}. Also it is used
1479 as a library for other Emacs packages.")
1480 (license license:gpl3+)))
1481
1482 (define-public emacs-auctex
1483 (package
1484 (name "emacs-auctex")
1485 (version "12.1.2")
1486 (source
1487 (origin
1488 (method url-fetch)
1489 (uri (string-append
1490 "https://elpa.gnu.org/packages/auctex-"
1491 version
1492 ".tar"))
1493 (sha256
1494 (base32
1495 "1yibg2anpmyr2a27wm4xqjsvsi9km2jzb56bf7cwyj8dnjfsd11n"))))
1496 (build-system emacs-build-system)
1497 ;; We use 'emacs' because AUCTeX requires dbus at compile time
1498 ;; ('emacs-minimal' does not provide dbus).
1499 (arguments
1500 `(#:emacs ,emacs
1501 #:include '("\\.el$" "^images/" "^latex/" "\\.info$")
1502 #:exclude '("^tests/" "^latex/README")))
1503 (native-inputs
1504 `(("perl" ,perl)))
1505 (home-page "https://www.gnu.org/software/auctex/")
1506 (synopsis "Integrated environment for TeX")
1507 (description
1508 "AUCTeX is a comprehensive customizable integrated environment for
1509 writing input files for TeX, LaTeX, ConTeXt, Texinfo, and docTeX using Emacs
1510 or XEmacs.")
1511 (license license:gpl3+)))
1512
1513 (define-public emacs-autothemer
1514 (package
1515 (name "emacs-autothemer")
1516 (version "0.2.2")
1517 (source
1518 (origin
1519 (method git-fetch)
1520 (uri (git-reference
1521 (url "https://github.com/sebastiansturm/autothemer.git")
1522 (commit version)))
1523 (file-name (git-file-name name version))
1524 (sha256
1525 (base32
1526 "0cd2pqh6k32sjidkcd8682y4l6mx52xw4a05f38kk8nsrk28m74k"))))
1527 (build-system emacs-build-system)
1528 (propagated-inputs
1529 `(("emacs-dash" ,emacs-dash)))
1530 (home-page "https://github.com/sebastiansturm/autothemer")
1531 (synopsis "Conveniently create Emacs themes")
1532 (description
1533 "Autothemer provides a thin layer on top of @code{deftheme} and
1534 @code{custom-theme-set-faces} that creates a new custom color theme, based on
1535 a set of simplified face specifications and a user-supplied color palette")
1536 (license license:gpl3+)))
1537
1538 (define-public emacs-howm
1539 (package
1540 (name "emacs-howm")
1541 (version "1.4.4")
1542 (source
1543 (origin
1544 (method url-fetch)
1545 (uri (string-append "http://howm.sourceforge.jp/a/howm-"
1546 version ".tar.gz"))
1547 (sha256
1548 (base32
1549 "0ddm91l6z58j7x59fa966j6q1rg4cinyza4r8ibg80hprn5h31qk"))))
1550 (build-system gnu-build-system)
1551 (native-inputs
1552 `(("emacs" ,emacs-minimal)))
1553 (arguments
1554 `(#:configure-flags
1555 (list (string-append "--with-howmdir=" %output
1556 "/share/emacs/site-lisp/guix.d/howm-" ,version))
1557 #:modules ((guix build gnu-build-system)
1558 ((guix build emacs-build-system) #:prefix emacs:)
1559 (guix build utils))
1560 #:imported-modules (,@%gnu-build-system-modules
1561 (guix build emacs-build-system)
1562 (guix build emacs-utils))
1563 #:phases
1564 (modify-phases %standard-phases
1565 (add-after 'install 'make-autoloads
1566 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1567 (home-page "http://howm.osdn.jp/")
1568 (synopsis "Note-taking tool for Emacs")
1569 (description "Howm is a note-taking tool for Emacs. Like
1570 code@{emacs-wiki.el}, it facilitates using hyperlinks and doing full-text
1571 searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
1572 (license license:gpl1+)))
1573
1574 (define-public emacs-calfw
1575 (package
1576 (name "emacs-calfw")
1577 (version "1.6")
1578 (source
1579 (origin
1580 (method git-fetch)
1581 (uri (git-reference
1582 (url "https://github.com/kiwanami/emacs-calfw.git")
1583 (commit (string-append "v" version))))
1584 (file-name (git-file-name name version))
1585 (sha256
1586 (base32
1587 "0r42cagvmvvib76kd15nd9ix55ys6i549vxnls4z16s864695zpa"))))
1588 (build-system emacs-build-system)
1589 (propagated-inputs
1590 `(("emacs-howm" ,emacs-howm)))
1591 (home-page "https://github.com/kiwanami/emacs-calfw/")
1592 (synopsis "Calendar framework for Emacs")
1593 (description
1594 "This package displays a calendar view with various schedule data in the
1595 Emacs buffer.")
1596 (license license:gpl3+)))
1597
1598 (define-public emacs-direnv
1599 (package
1600 (name "emacs-direnv")
1601 (version "1.5.0")
1602 (source
1603 (origin
1604 (method git-fetch)
1605 (uri (git-reference
1606 (url "https://github.com/wbolster/emacs-direnv.git")
1607 (commit version)))
1608 (file-name (git-file-name name version))
1609 (sha256
1610 (base32
1611 "02blhinkkfh3iai6j1k5swplf5mkwijy3p7wy38rnd1gnyj2z4la"))))
1612 (build-system emacs-build-system)
1613 (propagated-inputs
1614 `(("dash" ,emacs-dash)
1615 ("with-editor" ,emacs-with-editor)))
1616 (home-page "https://github.com/wbolster/emacs-direnv")
1617 (synopsis "Direnv integration for Emacs")
1618 (description
1619 "This package provides support for invoking direnv to get the environment
1620 for the current file and updating the environment within Emacs to match.
1621
1622 Direnv can be invoked manually, and a global minor mode is included that will
1623 update the environment when the active buffer changes.
1624
1625 Using emacs-direnv means that programs started from Emacs will use the
1626 environment set through Direnv.")
1627 (license license:gpl3+)))
1628
1629 (define-public emacs-ggtags
1630 (package
1631 (name "emacs-ggtags")
1632 (version "0.8.13")
1633 (source
1634 (origin
1635 (method url-fetch)
1636 (uri (string-append "http://elpa.gnu.org/packages/ggtags-"
1637 version ".el"))
1638 (sha256
1639 (base32
1640 "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"))))
1641 (build-system emacs-build-system)
1642 (inputs
1643 `(("global" ,global)))
1644 (arguments
1645 `(#:phases
1646 (modify-phases %standard-phases
1647 (add-after 'unpack 'configure
1648 (lambda* (#:key inputs #:allow-other-keys)
1649 (chmod "ggtags.el" #o644)
1650 (emacs-substitute-variables "ggtags.el"
1651 ("ggtags-executable-directory"
1652 (string-append (assoc-ref inputs "global") "/bin")))
1653 #t)))))
1654 (home-page "https://github.com/leoliu/ggtags")
1655 (synopsis "Frontend to the GNU Global source code tagging system")
1656 (description "@code{ggtags} provides a frontend to the GNU Global source
1657 code tagging system.
1658
1659 Features:
1660
1661 @itemize
1662 @item Build on @code{compile.el} for asynchronicity and its large feature-set.
1663 @item Automatically update Global's tag files when needed with tuning for
1664 large source trees.
1665 @item Intuitive navigation among multiple matches with mode-line display of
1666 current match, total matches and exit status.
1667 @item Read tag with completion.
1668 @item Show definition at point.
1669 @item Jump to #include files.
1670 @item Support search history and saving a search to register/bookmark.
1671 @item Query replace.
1672 @item Manage Global's environment variables on a per-project basis.
1673 @item Highlight (definition) tag at point.
1674 @item Abbreviated display of file names.
1675 @item Support all Global search backends: @code{grep}, @code{idutils}, etc.
1676 @item Support exuberant ctags @url{http://ctags.sourceforge.net/} and
1677 @code{pygments} backend.
1678 @item Support all Global's output formats: @code{grep}, @code{ctags-x},
1679 @code{cscope} etc.
1680 @item Support projects on remote hosts (e.g. via @code{tramp}).
1681 @item Support eldoc.
1682 @item Search @code{GTAGSLIBPATH} for references and symbols.
1683 @end itemize\n")
1684 (license license:gpl3+)))
1685
1686 (define-public emacs-go-mode
1687 (package
1688 (name "emacs-go-mode")
1689 (version "1.5.0")
1690 (source (origin
1691 (method git-fetch)
1692 (uri (git-reference
1693 (url "https://github.com/dominikh/go-mode.el.git")
1694 (commit (string-append "v" version))))
1695 (file-name (git-file-name name version))
1696 (sha256
1697 (base32
1698 "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf"))))
1699 (build-system emacs-build-system)
1700 (arguments
1701 `(#:phases
1702 (modify-phases %standard-phases
1703 (add-after 'unpack 'make-writable
1704 (lambda _
1705 (for-each make-file-writable (find-files "." "\\.el$"))
1706 #t)))))
1707 (home-page "https://github.com/dominikh/go-mode.el")
1708 (synopsis "Go mode for Emacs")
1709 (description
1710 "This package provides go-mode, an Emacs mode for working with software
1711 written in the Go programming language.")
1712 (license license:bsd-3)))
1713
1714 (define-public emacs-google-maps
1715 (package
1716 (name "emacs-google-maps")
1717 (version "1.0.0")
1718 (source (origin
1719 (method git-fetch)
1720 (uri (git-reference
1721 (url "https://github.com/jd/google-maps.el.git")
1722 (commit version)))
1723 (file-name (git-file-name name version))
1724 (sha256
1725 (base32
1726 "183igr5lp20zcqi7rc01fk76sfxdhksd74i11v16gdsifdkjimd0"))))
1727 (build-system emacs-build-system)
1728 (home-page "https://github.com/jd/google-maps.el")
1729 (synopsis "Access Google Maps from Emacs")
1730 (description "The @code{google-maps} package allows to display Google
1731 Maps directly inside Emacs.")
1732 (license license:gpl3+)))
1733
1734 (define-public emacs-graphviz-dot-mode
1735 (let ((commit "c456a2b65c734089e6c44e87209a5a432a741b1a")
1736 (revision "1"))
1737 (package
1738 (name "emacs-graphviz-dot-mode")
1739 (version (string-append "0.3.11-" revision "."
1740 (string-take commit 7)))
1741 (source (origin
1742 (method git-fetch)
1743 (uri (git-reference
1744 (url "https://github.com/ppareit/graphviz-dot-mode.git")
1745 (commit commit)))
1746 (file-name (git-file-name name version))
1747 (sha256
1748 (base32
1749 "0j1r2rspaakw37b0mx7pwpvdsvixq9sw3xjbww5piihzpdxz58z1"))))
1750 (build-system emacs-build-system)
1751 (arguments
1752 `(#:phases
1753 (modify-phases %standard-phases
1754 (add-before 'install 'make-info
1755 (lambda* (#:key inputs #:allow-other-keys)
1756 (with-directory-excursion "texinfo"
1757 (substitute* "Makefile"
1758 (("\\/usr\\/bin\\/gzip")
1759 (string-append (assoc-ref inputs "gzip") "/bin/gzip")))
1760 (invoke "make"
1761 "clean"
1762 "info"
1763 (string-append "TEXINFODIR="
1764 (assoc-ref inputs "texinfo")
1765 "/bin")))))
1766 (add-after 'install 'install-info
1767 (lambda* (#:key outputs #:allow-other-keys)
1768 (let* ((out (assoc-ref outputs "out"))
1769 (info (string-append out "/share/info")))
1770 (install-file "texinfo/graphviz-dot-mode.info.gz" info)
1771 #t))))))
1772 (native-inputs
1773 `(("texinfo" ,texinfo)
1774 ("gzip" ,gzip)))
1775 (home-page "http://ppareit.github.com/graphviz-dot-mode")
1776 (synopsis "Major mode for editing Graphviz Dot files")
1777 (description
1778 "This Emacs packages helps you to create @file{.dot} or @file{.gv}
1779 files using the dot syntax, and use Graphviz to convert these files to
1780 diagrams.")
1781 (license license:gpl2+))))
1782
1783 (define-public emacs-mmm-mode
1784 (package
1785 (name "emacs-mmm-mode")
1786 (version "0.5.7")
1787 (source
1788 (origin
1789 (method git-fetch)
1790 (uri (git-reference
1791 (url "https://github.com/purcell/mmm-mode.git")
1792 (commit version)))
1793 (file-name (git-file-name name version))
1794 (sha256
1795 (base32
1796 "0lxd55yhz0ag7v1ydff55bg4h8snq5lbk8cjwxqpyq6gh4v7md1h"))))
1797 (build-system gnu-build-system)
1798 (native-inputs
1799 `(("autoconf" ,autoconf)
1800 ("automake" ,automake)
1801 ("emacs" ,emacs-minimal)
1802 ("texinfo" ,texinfo)))
1803 (home-page "https://github.com/purcell/mmm-mode")
1804 (synopsis "Allow multiple major modes in an Emacs buffer")
1805 (description
1806 "MMM Mode is a minor mode that allows multiple major modes to coexist in a
1807 single buffer.")
1808 (license license:gpl3+)))
1809
1810 (define-public emacs-tablist
1811 (package
1812 (name "emacs-tablist")
1813 (version "0.70")
1814 (source (origin
1815 (method git-fetch)
1816 (uri (git-reference
1817 (url "https://github.com/politza/tablist.git")
1818 (commit (string-append "v" version))))
1819 (file-name (git-file-name name version))
1820 (sha256
1821 (base32
1822 "0gy9hxm7bca0l1hfy2pzn86avpifrz3bs8xzpicj4kxw5wi4ygns"))))
1823 (build-system emacs-build-system)
1824 (home-page "https://github.com/politza/tablist")
1825 (synopsis "Extension for @code{tabulated-list-mode}")
1826 (description "Tablist is the Emacs package that provides several
1827 additional features to @code{tabulated-list-mode}: it adds marks,
1828 filters, new key bindings and faces. It can be enabled by
1829 @code{tablist-mode} or @code{tablist-minor-mode} commands.")
1830 (license license:gpl3+)))
1831
1832 (define-public emacs-pdf-tools
1833 (package
1834 (name "emacs-pdf-tools")
1835 (version "0.90")
1836 (home-page "https://github.com/politza/pdf-tools")
1837 (source (origin
1838 (method git-fetch)
1839 (uri (git-reference (url home-page)
1840 (commit (string-append "v" version))))
1841 (file-name (git-file-name name version))
1842 (sha256
1843 (base32
1844 "0iv2g5kd14zk3r5dzdw7b7hk4b5w7qpbilcqkja46jgxbb6xnpl9"))))
1845 (build-system gnu-build-system)
1846 (arguments
1847 `(#:tests? #f ; there are no tests
1848 #:modules ((guix build gnu-build-system)
1849 ((guix build emacs-build-system) #:prefix emacs:)
1850 (guix build utils)
1851 (guix build emacs-utils))
1852 #:imported-modules (,@%gnu-build-system-modules
1853 (guix build emacs-build-system)
1854 (guix build emacs-utils))
1855 #:phases
1856 (modify-phases %standard-phases
1857 ;; Build server side using 'gnu-build-system'.
1858 (add-after 'unpack 'enter-server-dir
1859 (lambda _ (chdir "server") #t))
1860 (add-after 'enter-server-dir 'autogen
1861 (lambda _
1862 (invoke "bash" "autogen.sh")))
1863
1864 ;; Build emacs side using 'emacs-build-system'.
1865 (add-after 'compress-documentation 'enter-lisp-dir
1866 (lambda _ (chdir "../lisp") #t))
1867 (add-after 'enter-lisp-dir 'emacs-patch-variables
1868 (lambda* (#:key outputs #:allow-other-keys)
1869 (for-each make-file-writable (find-files "."))
1870
1871 ;; Set path to epdfinfo program.
1872 (emacs-substitute-variables "pdf-info.el"
1873 ("pdf-info-epdfinfo-program"
1874 (string-append (assoc-ref outputs "out")
1875 "/bin/epdfinfo")))
1876 ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto
1877 ;; upgrading" that pdf-tools tries to perform.
1878 (emacs-substitute-variables "pdf-tools.el"
1879 ("pdf-tools-handle-upgrades" '()))))
1880 (add-after 'emacs-patch-variables 'emacs-set-emacs-load-path
1881 (assoc-ref emacs:%standard-phases 'set-emacs-load-path))
1882 (add-after 'emacs-set-emacs-load-path 'emacs-install
1883 (assoc-ref emacs:%standard-phases 'install))
1884 (add-after 'emacs-install 'emacs-build
1885 (assoc-ref emacs:%standard-phases 'build))
1886 (add-after 'emacs-install 'emacs-make-autoloads
1887 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1888 (native-inputs `(("autoconf" ,autoconf)
1889 ("automake" ,automake)
1890 ("pkg-config" ,pkg-config)
1891 ("emacs" ,emacs-minimal)))
1892 (inputs `(("poppler" ,poppler)
1893 ("cairo" ,cairo)
1894 ("glib" ,glib)
1895 ("libpng" ,libpng)
1896 ("zlib" ,zlib)))
1897 (propagated-inputs `(("tablist" ,emacs-tablist)))
1898 (synopsis "Emacs support library for PDF files")
1899 (description
1900 "PDF Tools is, among other things, a replacement of DocView for PDF
1901 files. The key difference is that pages are not pre-rendered by
1902 e.g. ghostscript and stored in the file-system, but rather created on-demand
1903 and stored in memory.")
1904 (license license:gpl3+)))
1905
1906 (define-public emacs-dash
1907 (package
1908 (name "emacs-dash")
1909 (version "2.16.0")
1910 (source (origin
1911 (method git-fetch)
1912 (uri (git-reference
1913 (url "https://github.com/magnars/dash.el.git")
1914 (commit version)))
1915 (file-name (git-file-name name version))
1916 (sha256
1917 (base32
1918 "150k48llqz2mb66vbznpyj47r6g16amfl7hbg8q46djq8mp7zc2v"))))
1919 (build-system emacs-build-system)
1920 (arguments
1921 `(#:tests? #t
1922 #:test-command '("./run-tests.sh")))
1923 (home-page "https://github.com/magnars/dash.el")
1924 (synopsis "Modern list library for Emacs")
1925 (description "This package provides a modern list API library for Emacs.")
1926 (license license:gpl3+)))
1927
1928 (define-public emacs-bui
1929 (package
1930 (name "emacs-bui")
1931 (version "1.2.1")
1932 (source (origin
1933 (method git-fetch)
1934 (uri (git-reference
1935 (url "https://notabug.org/alezost/emacs-bui.git")
1936 (commit (string-append "v" version))))
1937 (file-name (git-file-name name version))
1938 (sha256
1939 (base32
1940 "0sszdl4kvqbihdh8d7mybpp0d8yw2p3gyiipjcxz9xhvvmw3ww4x"))))
1941 (build-system emacs-build-system)
1942 (propagated-inputs
1943 `(("dash" ,emacs-dash)))
1944 (home-page "https://notabug.org/alezost/emacs-bui")
1945 (synopsis "Buffer interface library for Emacs")
1946 (description
1947 "BUI (Buffer User Interface) is a library for making @code{list} and
1948 @code{info} interfaces to display an arbitrary data of the same
1949 type, for example: packages, buffers, files, etc.")
1950 (license license:gpl3+)))
1951
1952 (define-public emacs-guix
1953 (package
1954 (name "emacs-guix")
1955 (version "0.5.1.1")
1956 (source (origin
1957 (method url-fetch)
1958 (uri (string-append "https://emacs-guix.gitlab.io/website/"
1959 "releases/emacs-guix-" version ".tar.gz"))
1960 (sha256
1961 (base32
1962 "1gxg7lan3njc2yg2d02b2zij0d2cm2pv2q08nqz86s85jk3b6m03"))))
1963 (build-system gnu-build-system)
1964 (arguments
1965 `(#:configure-flags
1966 (let ((guix (assoc-ref %build-inputs "guix"))
1967 (gcrypt (assoc-ref %build-inputs "guile-gcrypt"))
1968 (geiser (assoc-ref %build-inputs "geiser"))
1969 (dash (assoc-ref %build-inputs "dash"))
1970 (bui (assoc-ref %build-inputs "bui"))
1971 (magit-popup (assoc-ref %build-inputs "magit-popup"))
1972 (edit-indirect (assoc-ref %build-inputs "edit-indirect"))
1973 (site-lisp "/share/emacs/site-lisp")
1974 (site-scm "/share/guile/site")
1975 (site-go "/lib/guile")
1976 (guile-dir (lambda (dir)
1977 (car (find-files dir
1978 (lambda (file stat)
1979 (string-prefix?
1980 "2." (basename file)))
1981 #:directories? #t)))))
1982 (list (string-append "--with-guix-site-dir="
1983 (guile-dir (string-append guix site-scm)))
1984 (string-append "--with-guix-site-ccache-dir="
1985 (guile-dir (string-append guix site-go))
1986 "/site-ccache")
1987 (string-append "--with-guile-gcrypt-site-dir="
1988 (guile-dir (string-append gcrypt site-scm)))
1989 (string-append "--with-guile-gcrypt-site-ccache-dir="
1990 (guile-dir (string-append gcrypt site-go))
1991 "/site-ccache")
1992 (string-append "--with-geiser-lispdir=" geiser site-lisp)
1993 (string-append "--with-dash-lispdir="
1994 dash site-lisp "/guix.d/dash-"
1995 ,(package-version emacs-dash))
1996 (string-append "--with-bui-lispdir="
1997 bui site-lisp "/guix.d/bui-"
1998 ,(package-version emacs-bui))
1999 (string-append "--with-editindirect-lispdir="
2000 edit-indirect site-lisp "/guix.d/edit-indirect-"
2001 ,(package-version emacs-edit-indirect))
2002 (string-append "--with-popup-lispdir="
2003 magit-popup site-lisp "/guix.d/magit-popup-"
2004 ,(package-version emacs-magit-popup))))))
2005 (native-inputs
2006 `(("pkg-config" ,pkg-config)
2007 ("emacs" ,emacs-minimal)))
2008 (inputs
2009 `(("guile" ,guile-2.2)
2010 ("guix" ,guix)))
2011 (propagated-inputs
2012 `(("geiser" ,emacs-geiser)
2013 ("guile-gcrypt" ,guile-gcrypt)
2014 ("dash" ,emacs-dash)
2015 ("bui" ,emacs-bui)
2016 ("edit-indirect" ,emacs-edit-indirect)
2017 ("magit-popup" ,emacs-magit-popup)))
2018 (home-page "https://emacs-guix.gitlab.io/website/")
2019 (synopsis "Emacs interface for GNU Guix")
2020 (description
2021 "Emacs-Guix provides a visual interface, tools and features for the GNU
2022 Guix package manager. Particularly, it allows you to do various package
2023 management tasks from Emacs. To begin with, run @code{M-x guix-about} or
2024 @code{M-x guix-help} command.")
2025 (license license:gpl3+)))
2026
2027 (define-public emacs-build-farm
2028 (package
2029 (name "emacs-build-farm")
2030 (version "0.2.2")
2031 (source (origin
2032 (method git-fetch)
2033 (uri (git-reference
2034 (url "https://notabug.org/alezost/emacs-build-farm.git")
2035 (commit (string-append "v" version))))
2036 (file-name (git-file-name name version))
2037 (sha256
2038 (base32
2039 "0i0bwbav5861j2y15j9nd5m9rdqg9q97zgcbld8pivr9nyxy63lz"))))
2040 (build-system emacs-build-system)
2041 (propagated-inputs
2042 `(("bui" ,emacs-bui)
2043 ("magit-popup" ,emacs-magit-popup)))
2044 (home-page "https://notabug.org/alezost/emacs-build-farm")
2045 (synopsis "Emacs interface for Hydra and Cuirass build farms")
2046 (description
2047 "This Emacs package provides an interface for Hydra and
2048 Cuirass (build farms used by Nix and Guix). It allows you to look at
2049 various data related to the build farm projects, jobsets, builds and
2050 evaluations. The entry point is @code{M-x build-farm} command.")
2051 (license license:gpl3+)))
2052
2053 (define-public emacs-d-mode
2054 (package
2055 (name "emacs-d-mode")
2056 (version "2.0.9")
2057 (source
2058 (origin
2059 (method git-fetch)
2060 (uri (git-reference
2061 (url "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode.git")
2062 (commit version)))
2063 (file-name (git-file-name name version))
2064 (sha256
2065 (base32 "0fzplvi1sm8k2sabfdvrd7j2xypwqh0g9v1mxa75dajdmcd85zpj"))))
2066 (build-system emacs-build-system)
2067 (propagated-inputs
2068 `(("emacs-undercover" ,emacs-undercover)))
2069 (home-page "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode")
2070 (synopsis "Emacs major mode for editing D code")
2071 (description "This package provides an Emacs major mode for highlighting
2072 code written in the D programming language. This mode is currently known to
2073 work with Emacs 24 and 25.")
2074 (license license:gpl2+)))
2075
2076 (define-public emacs-keyfreq
2077 (package
2078 (name "emacs-keyfreq")
2079 (version "20160516.716")
2080 (source
2081 (origin
2082 (method url-fetch)
2083 (uri (string-append "http://melpa.org/packages/keyfreq-"
2084 version ".el"))
2085 (sha256
2086 (base32
2087 "008hd7d06qskc3mx0bbdgpgy2pwxr8185fzlyqf9qjg49y74p6g8"))))
2088 (build-system emacs-build-system)
2089 (home-page "https://github.com/dacap/keyfreq")
2090 (synopsis "Track Emacs command frequencies")
2091 (description "@code{emacs-keyfeq} tracks and shows how many times you used
2092 a command.")
2093 (license license:gpl3+)))
2094
2095 (define-public emacs-olivetti
2096 (package
2097 (name "emacs-olivetti")
2098 (version "1.5.7")
2099 (source (origin
2100 (method url-fetch)
2101 (uri (string-append
2102 "https://stable.melpa.org/packages/olivetti-"
2103 version ".el"))
2104 (sha256
2105 (base32
2106 "1yj2ylg46q0pw1xzlv2b0fv9x8p56x25284s9v2smwjr4vf0nwcj"))))
2107 (build-system emacs-build-system)
2108 (home-page "https://github.com/rnkn/olivetti")
2109 (synopsis "Emacs minor mode for a nice writing environment")
2110 (description "This package provides an Emacs minor mode that puts writing
2111 in the center.")
2112 (license license:gpl3+)))
2113
2114 (define-public emacs-undo-tree
2115 (package
2116 (name "emacs-undo-tree")
2117 (version "0.6.6")
2118 (source (origin
2119 (method git-fetch)
2120 (uri (git-reference
2121 (url "http://dr-qubit.org/git/undo-tree.git")
2122 (commit (string-append "release/" version))))
2123 (file-name (git-file-name name version))
2124 (sha256
2125 (base32
2126 "1hnh2mnmw179gr094r561w6cw1haid0lpvpqvkc24wpj82vphzpa"))))
2127 (build-system emacs-build-system)
2128 (home-page "http://www.dr-qubit.org/emacs.php")
2129 (synopsis "Treat undo history as a tree")
2130 (description "Tree-like interface to Emacs undo system, providing
2131 graphical tree presentation of all previous states of buffer that
2132 allows easily move between them.")
2133 (license license:gpl3+)))
2134
2135 (define-public emacs-s
2136 (package
2137 (name "emacs-s")
2138 (version "1.12.0")
2139 (source
2140 (origin
2141 (method git-fetch)
2142 (uri (git-reference
2143 (url "https://github.com/magnars/s.el.git")
2144 (commit version)))
2145 (file-name (git-file-name name version))
2146 (sha256
2147 (base32 "1g8mqd13llj007al4nlxxx4z2lcsg3wk970mgjn0avwrhjjgdmmv"))))
2148 (build-system emacs-build-system)
2149 (arguments
2150 `(#:tests? #t
2151 #:emacs ,emacs ; FIXME: tests fail with emacs-minimal
2152 #:test-command '("./run-tests.sh")))
2153 (home-page "https://github.com/magnars/s.el")
2154 (synopsis "Emacs string manipulation library")
2155 (description "This package provides an Emacs library for manipulating
2156 strings.")
2157 (license license:gpl3+)))
2158
2159 (define-public emacs-symon
2160 (package
2161 (name "emacs-symon")
2162 (version "20160630")
2163 (source
2164 (origin
2165 (method git-fetch)
2166 (uri (git-reference
2167 (url "https://github.com/zk-phi/symon.git")
2168 (commit version)))
2169 (file-name (git-file-name name version))
2170 (sha256
2171 (base32 "1q7di9s8k710nx98wnqnbkkhdimrn0jf6z4xkm4c78l6s5idjwlz"))))
2172 (build-system emacs-build-system)
2173 (home-page "https://github.com/zk-phi/symon")
2174 (synopsis "Tiny graphical system monitor")
2175 (description
2176 "Tiny graphical system monitor for the Emacs minibuffer when idle.")
2177 (license license:gpl2+)))
2178
2179 (define-public emacs-sx
2180 (let ((version "20180212")
2181 (revision "1")
2182 (commit "833435fbf90d1c9e927d165b155f3b1ef39271de"))
2183 (package
2184 (name "emacs-sx")
2185 (version (git-version version revision commit))
2186 (source
2187 (origin
2188 (method git-fetch)
2189 (uri (git-reference
2190 (url "https://github.com/vermiculus/sx.el")
2191 (commit commit)))
2192 (file-name (git-file-name name version))
2193 (sha256
2194 (base32
2195 "1369xaxq1vy3d9yh862ddnhddikdpg2d0wv1ly00pnvdp9v4cqgd"))))
2196 (build-system emacs-build-system)
2197 (propagated-inputs
2198 `(("emacs-markdown-mode" ,emacs-markdown-mode)))
2199 (home-page "https://github.com/vermiculus/sx.el")
2200 (synopsis "Emacs StackExchange client")
2201 (description
2202 "Emacs StackExchange client. Ask and answer questions on
2203 Stack Overflow, Super User, and other StackExchange sites.")
2204 (license license:gpl3+))))
2205
2206 (define-public emacs-f
2207 (package
2208 (name "emacs-f")
2209 (version "0.20.0")
2210 (source (origin
2211 (method git-fetch)
2212 (uri (git-reference
2213 (url "https://github.com/rejeep/f.el.git")
2214 (commit (string-append "v" version))))
2215 (file-name (git-file-name name version))
2216 (sha256
2217 (base32
2218 "1a47xk3yp1rp17fqg7ldl3d3fb888h0fz3sysqfdz1bfdgs8a9bk"))))
2219 (build-system emacs-build-system)
2220 (propagated-inputs
2221 `(("emacs-s" ,emacs-s)
2222 ("emacs-dash" ,emacs-dash)))
2223 (home-page "https://github.com/rejeep/f.el")
2224 (synopsis "Emacs API for working with files and directories")
2225 (description "This package provides an Emacs library for working with
2226 files and directories.")
2227 (license license:gpl3+)))
2228
2229 (define-public emacs-git-gutter
2230 (package
2231 (name "emacs-git-gutter")
2232 (version "0.90")
2233 (source
2234 (origin
2235 (method git-fetch)
2236 (uri (git-reference
2237 (url "https://github.com/syohex/emacs-git-gutter.git")
2238 (commit version)))
2239 (file-name (git-file-name name version))
2240 (sha256
2241 (base32 "1abagq0psip7cgsqbfjv72qy60ywsny0ibsfcn74ldj6a9v17mz5"))))
2242 (build-system emacs-build-system)
2243 (home-page "https://github.com/syohex/emacs-git-gutter")
2244 (synopsis "See and manage hunks of text in a version control system")
2245 (description
2246 "This package is an Emacs minor mode for displaying and interacting with
2247 hunks of text managed in a version control system. Added modified and deleted
2248 areas can be indicated with symbols on the edge of the buffer, and commands
2249 can be used to move between and perform actions on these hunks.
2250
2251 Git, Mercurial, Subversion and Bazaar are supported, and many parts of the
2252 display and behaviour is easily customisable.")
2253 (license license:gpl3+)))
2254
2255 (define-public emacs-git-timemachine
2256 (package
2257 (name "emacs-git-timemachine")
2258 (version "4.10")
2259 (source
2260 (origin
2261 (method git-fetch)
2262 (uri (git-reference
2263 (url "https://gitlab.com/pidu/git-timemachine.git")
2264 (commit version)))
2265 (file-name (git-file-name name version))
2266 (sha256
2267 (base32
2268 "08zsn3lsnnf01wkv5ls38jga02s5dnf0j3gigy4qd6im3j3d04m1"))))
2269 (build-system emacs-build-system)
2270 (propagated-inputs
2271 `(("emacs-transient" ,emacs-transient)))
2272 (home-page "https://gitlab.com/pidu/git-timemachine")
2273 (synopsis "Step through historic versions of Git-controlled files")
2274 (description "This package enables you to step through historic versions
2275 of files under Git version control from within Emacs.")
2276 (license license:gpl3+)))
2277
2278 (define-public emacs-minitest
2279 (let ((commit "1aadb7865c1dc69c201cecee275751ecec33a182")
2280 (revision "1"))
2281 (package
2282 (name "emacs-minitest")
2283 (version (git-version "0.8.0" revision commit))
2284 (source (origin
2285 (method git-fetch)
2286 (uri (git-reference
2287 (url "https://github.com/arthurnn/minitest-emacs")
2288 (commit commit)))
2289 (file-name (git-file-name name commit))
2290 (sha256
2291 (base32
2292 "1l18zqpdzbnqj2qawq8hj7z7pl8hr8z9d8ihy8jaiqma915hmhj1"))))
2293 (build-system emacs-build-system)
2294 (arguments
2295 '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include)
2296 #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude)))
2297 (propagated-inputs
2298 `(("emacs-dash" ,emacs-dash)
2299 ("emacs-f" ,emacs-f)))
2300 (home-page "https://github.com/arthurnn/minitest-emacs")
2301 (synopsis "Emacs minitest mode")
2302 (description
2303 "The minitest mode provides commands to run the tests for the current
2304 file or line, as well as rerunning the previous tests, or all the tests for a
2305 project.
2306
2307 This package also includes relevant snippets for yasnippet.")
2308 (license license:expat))))
2309
2310 (define-public emacs-el-mock
2311 (package
2312 (name "emacs-el-mock")
2313 (version "1.25.1")
2314 (source
2315 (origin
2316 (method git-fetch)
2317 (uri (git-reference
2318 (url "https://github.com/rejeep/el-mock.el.git")
2319 (commit (string-append "v" version))))
2320 (file-name (git-file-name name version))
2321 (sha256
2322 (base32 "13mv1rhgkwiww2wh5w926jz7idppp492wir1vdl245c5x50dh4f7"))))
2323 (build-system emacs-build-system)
2324 (home-page "https://github.com/rejeep/el-mock.el")
2325 (synopsis "Tiny mock and stub framework in Emacs Lisp")
2326 (description
2327 "Emacs Lisp Mock is a library for mocking and stubbing using readable
2328 syntax. Most commonly Emacs Lisp Mock is used in conjunction with Emacs Lisp
2329 Expectations, but it can be used in other contexts.")
2330 (license license:gpl3+)))
2331
2332 (define-public emacs-espuds
2333 (package
2334 (name "emacs-espuds")
2335 (version "0.3.3")
2336 (source
2337 (origin
2338 (method git-fetch)
2339 (uri (git-reference
2340 (url "https://github.com/ecukes/espuds.git")
2341 (commit (string-append "v" version))))
2342 (file-name (git-file-name name version))
2343 (sha256
2344 (base32 "16r4j27j9yfdiy841w9q5ykkc6n3wrm7hvfacagb32mydk821ijg"))))
2345 (build-system emacs-build-system)
2346 (propagated-inputs
2347 `(("emacs-s" ,emacs-s)
2348 ("emacs-dash" ,emacs-dash)
2349 ("emacs-f" ,emacs-f)))
2350 (home-page "https://github.com/ecukes/espuds")
2351 (synopsis "Common step definitions for Ecukes")
2352 (description "Espuds is a collection of the most commonly used step
2353 definitions for testing with the Ecukes framework.")
2354 (license license:gpl3+)))
2355
2356 (define-public emacs-spark
2357 (let ((version "20160503") ; no proper tag, use date of commit
2358 (commit "0bf148c3ede3b31d56fd75f347cdd0b0eae60025")
2359 (revision "1"))
2360 (package
2361 (name "emacs-spark")
2362 (version (git-version version revision commit))
2363 (source
2364 (origin
2365 (method git-fetch)
2366 (uri (git-reference
2367 (url "https://github.com/alvinfrancis/spark.git")
2368 (commit commit)))
2369 (file-name (git-file-name name version))
2370 (sha256
2371 (base32
2372 "1ykqr86j17mi95s08d9fp02d7ych1331b04dcqxzxnmpkhwngyj1"))))
2373 (build-system emacs-build-system)
2374 (home-page "https://github.com/alvinfrancis/spark")
2375 (synopsis "Sparkline generation library for Emacs Lisp")
2376 (description "@code{emacs-spark} is a sparkline generation library for
2377 Emacs Lisp. It generates a sparkline string given a list of numbers. It is a
2378 port of @code{cl-spark} to Emacs Lisp.")
2379 (license license:expat))))
2380
2381 (define-public emacs-es-mode
2382 (package
2383 (name "emacs-es-mode")
2384 (version "4.3.0")
2385 (source
2386 (origin
2387 (method git-fetch)
2388 (uri (git-reference
2389 (url "https://github.com/dakrone/es-mode.git")
2390 (commit version)))
2391 (file-name (git-file-name name version))
2392 (sha256
2393 (base32 "1qhfnd5anp5qrmravv7ks5ix763xnki2f5jwcyj70qyxwr0l60cg"))))
2394 (build-system emacs-build-system)
2395 (propagated-inputs
2396 ;; The version of org in Emacs 24.5 is not sufficient, and causes tables
2397 ;; to be rendered incorrectly
2398 `(("emacs-dash" ,emacs-dash)
2399 ("emacs-org" ,emacs-org)
2400 ("emacs-spark" ,emacs-spark)))
2401 (home-page "https://github.com/dakrone/es-mode")
2402 (synopsis "Major mode for editing Elasticsearch queries")
2403 (description "@code{es-mode} includes highlighting, completion and
2404 indentation support for Elasticsearch queries. Also supported are
2405 @code{es-mode} blocks in @code{org-mode}, for which the results of queries can
2406 be processed through @code{jq}, or in the case of aggregations, can be
2407 rendered in to a table. In addition, there is an @code{es-command-center}
2408 mode, which displays information about Elasticsearch clusters.")
2409 (license license:gpl3+)))
2410
2411 (define-public emacs-expand-region
2412 (package
2413 (name "emacs-expand-region")
2414 (version "0.11.0")
2415 (source
2416 (origin
2417 (method git-fetch)
2418 (uri (git-reference
2419 (url "https://github.com/magnars/expand-region.el.git")
2420 (commit version)))
2421 (file-name (git-file-name name version))
2422 (sha256
2423 (base32 "0h40dhc3kn8fq86xnwi5lz7ql8my8737y7wkqr897p15y90swr35"))))
2424 (build-system emacs-build-system)
2425 (home-page "https://github.com/magnars/expand-region.el")
2426 (synopsis "Increase selected region by semantic units")
2427 (description
2428 "Expand region increases the selected region by semantic units. Just
2429 keep pressing the key until it selects what you want. There's also
2430 @code{er/contract-region} if you expand too far.")
2431 (license license:gpl3+)))
2432
2433 (define-public emacs-fill-column-indicator
2434 (package
2435 (name "emacs-fill-column-indicator")
2436 (version "1.89")
2437 (source
2438 (origin
2439 (method git-fetch)
2440 (uri (git-reference
2441 (url "https://github.com/alpaker/Fill-Column-Indicator.git")
2442 (commit (string-append "v" version))))
2443 (file-name (git-file-name name version))
2444 (sha256
2445 (base32 "010kf8jsly74y7m6mmkn1h6y205kz23zphs50zgy2nag2p88rz9y"))))
2446 (build-system emacs-build-system)
2447 (home-page "https://www.emacswiki.org/emacs/FillColumnIndicator")
2448 (synopsis "Graphically indicate the fill column")
2449 (description
2450 "Fill-column-indicator graphically indicates the location of the fill
2451 column by drawing a thin line down the length of the editing window.")
2452 (license license:gpl3+)))
2453
2454 (define-public emacs-grep-a-lot
2455 (package
2456 (name "emacs-grep-a-lot")
2457 (version "1.0.7")
2458 (source
2459 (origin
2460 (method git-fetch)
2461 (uri (git-reference
2462 (url "https://github.com/ZungBang/emacs-grep-a-lot.git")
2463 (commit "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad")))
2464 (file-name (git-file-name name version))
2465 (sha256
2466 (base32 "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw"))))
2467 (build-system emacs-build-system)
2468 (home-page "https://github.com/ZungBang/emacs-grep-a-lot")
2469 (synopsis "Enables multiple grep buffers in Emacs")
2470 (description
2471 "This Emacs package allows managing multiple grep buffers.")
2472 (license license:gpl3+)))
2473
2474 (define-public emacs-inf-ruby
2475 (package
2476 (name "emacs-inf-ruby")
2477 (version "2.5.2")
2478 (source
2479 (origin
2480 (method git-fetch)
2481 (uri (git-reference
2482 (url "https://github.com/nonsequitur/inf-ruby.git")
2483 (commit version)))
2484 (file-name (git-file-name name version))
2485 (sha256
2486 (base32 "0a1hhvfbl6mq8rjsi77fg9fh5a91hi5scjrg9rjqc5ffbql67y0v"))))
2487 (build-system emacs-build-system)
2488 (home-page "https://github.com/nonsequitur/inf-ruby")
2489 (synopsis "Provides a REPL buffer connected to a Ruby subprocess in Emacs")
2490 (description
2491 "@code{inf-ruby} provides a Read Eval Print Loop (REPL) buffer, allowing
2492 for easy interaction with a ruby subprocess. Features include support for
2493 detecting specific uses of Ruby, e.g. when using rails, and using a
2494 appropriate console.")
2495 (license license:gpl3+)))
2496
2497 (define-public emacs-znc
2498 (package
2499 (name "emacs-znc")
2500 (version "0.0.2")
2501 (source
2502 (origin
2503 (method url-fetch)
2504 (uri (string-append "https://marmalade-repo.org/packages/znc-"
2505 version ".el"))
2506 (sha256
2507 (base32
2508 "1d8lqvybgyazin5z0g1c4l3rg1vzrrvf0saqs53jr1zcdg0lianh"))))
2509 (build-system emacs-build-system)
2510 (home-page "https://github.com/sshirokov/ZNC.el")
2511 (synopsis "Make ERC and ZNC get along better")
2512 (description
2513 "This is a thin wrapper around @code{erc} that enables one to use the ZNC
2514 IRC bouncer with ERC.")
2515 (license license:expat)))
2516
2517 (define-public emacs-shut-up
2518 (package
2519 (name "emacs-shut-up")
2520 (version "0.3.2")
2521 (source
2522 (origin
2523 (method git-fetch)
2524 (uri (git-reference
2525 (url "https://github.com/cask/shut-up.git")
2526 (commit (string-append "v" version))))
2527 (file-name (git-file-name name version))
2528 (sha256
2529 (base32 "103yvfgkj78i4bnv1fwk76izsa8h4wyj3vwj1vq7xggj607hkxzq"))))
2530 (build-system emacs-build-system)
2531 (home-page "https://github.com/cask/shut-up")
2532 (synopsis "Silence Emacs")
2533 (description "This package silences most output of Emacs when running an
2534 Emacs shell script.")
2535 (license license:expat)))
2536
2537 (define-public emacs-undercover
2538 (package
2539 (name "emacs-undercover")
2540 (version "0.6.0")
2541 (source
2542 (origin
2543 (method git-fetch)
2544 (uri (git-reference
2545 (url "https://github.com/sviridov/undercover.el.git")
2546 (commit (string-append "v" version))))
2547 (file-name (git-file-name name version))
2548 (sha256
2549 (base32 "06qcvbp5rd0kh3ibrxj5p6r578lwsrgd7yj5c6slwmkdmna2fj33"))))
2550 (build-system emacs-build-system)
2551 (propagated-inputs
2552 `(("emacs-dash" ,emacs-dash)
2553 ("emacs-shut-up" ,emacs-shut-up)))
2554 (home-page "https://github.com/sviridov/undercover.el")
2555 (synopsis "Test coverage library for Emacs Lisp")
2556 (description
2557 "Undercover is a test coverage library for software written in Emacs
2558 Lisp.")
2559 (license license:expat)))
2560
2561 (define-public emacs-paren-face
2562 (package
2563 (name "emacs-paren-face")
2564 (version "1.0.0")
2565 (source
2566 (origin
2567 (method git-fetch)
2568 (uri (git-reference
2569 (url "https://github.com/tarsius/paren-face.git")
2570 (commit version)))
2571 (file-name (git-file-name name version))
2572 (sha256
2573 (base32 "0f128gqn170s6hl62n44i9asais75ns1mpvb4l8vzy1sc0v16c0k"))))
2574 (build-system emacs-build-system)
2575 (home-page "https://github.com/tarsius/paren-face")
2576 (synopsis "Face for parentheses in lisp modes")
2577 (description
2578 "This library defines a face named @code{parenthesis} used just for
2579 parentheses. The intended purpose of this face is to make parentheses less
2580 visible in Lisp code by dimming them. Lispers probably don't need to be
2581 constantly made aware of the existence of the parentheses. Dimming them might
2582 be even more useful for people new to lisp who have not yet learned to
2583 subconsciously blend out the parentheses.")
2584 (license license:gpl3+)))
2585
2586 (define-public emacs-page-break-lines
2587 (package
2588 (name "emacs-page-break-lines")
2589 (version "0.11")
2590 (source
2591 (origin
2592 (method git-fetch)
2593 (uri (git-reference
2594 (url "https://github.com/purcell/page-break-lines.git")
2595 (commit version)))
2596 (file-name (git-file-name name version))
2597 (sha256
2598 (base32 "1wp974716ih2cz9kdmdz7xwjy1qnnfzdzlfr9kchknagw8d9nn12"))))
2599 (build-system emacs-build-system)
2600 (home-page "https://github.com/purcell/page-break-lines")
2601 (synopsis "Display page breaks as tidy horizontal lines")
2602 (description
2603 "This library provides a global mode which displays form feed characters
2604 as horizontal rules.")
2605 (license license:gpl3+)))
2606
2607 (define-public emacs-simple-httpd
2608 (package
2609 (name "emacs-simple-httpd")
2610 (version "1.5.1")
2611 (source
2612 (origin
2613 (method git-fetch)
2614 (uri (git-reference
2615 (url "https://github.com/skeeto/emacs-web-server.git")
2616 (commit version)))
2617 (file-name (git-file-name name version))
2618 (sha256
2619 (base32 "0dpn92rg813c4pq7a1vzj3znyxzp2lmvxqz6pzcqi0l2xn5r3wvb"))))
2620 (build-system emacs-build-system)
2621 (home-page "https://github.com/skeeto/emacs-web-server")
2622 (synopsis "HTTP server in pure Emacs Lisp")
2623 (description
2624 "This package provides a simple HTTP server written in Emacs Lisp to
2625 serve files and directory listings.")
2626 (license license:unlicense)))
2627
2628 (define-public emacs-skewer-mode
2629 (package
2630 (name "emacs-skewer-mode")
2631 (version "1.8.0")
2632 (source
2633 (origin
2634 (method git-fetch)
2635 (uri (git-reference
2636 (url "https://github.com/skeeto/skewer-mode.git")
2637 (commit version)))
2638 (file-name (git-file-name name version))
2639 (sha256
2640 (base32 "1ha7jl7776pk1bki5zj2q0jy66450mn8xr3aqjc0m9kj3gc9qxgw"))))
2641 (build-system emacs-build-system)
2642 (propagated-inputs
2643 `(("emacs-simple-httpd" ,emacs-simple-httpd)
2644 ("emacs-js2-mode" ,emacs-js2-mode)))
2645 (arguments '(#:include '("\\.el$" "\\.js$" "\\.html$")))
2646 (home-page "https://github.com/skeeto/skewer-mode")
2647 (synopsis "Live web development in Emacs")
2648 (description
2649 "Skewer-mode provides live interaction with JavaScript, CSS, and HTML in
2650 a web browser. Expressions are sent on-the-fly from an editing buffer to be
2651 evaluated in the browser, just like Emacs does with an inferior Lisp process
2652 in Lisp modes.")
2653 (license license:unlicense)))
2654
2655 (define-public emacs-litable
2656 (let ((commit "b0278f3f8dcff424bfbdfdefb545b1fbff33206f"))
2657 (package
2658 (name "emacs-litable")
2659 (version (git-version "0.1" "0" commit))
2660 (source (origin
2661 (method git-fetch)
2662 (uri (git-reference
2663 (url "https://github.com/Fuco1/litable.git")
2664 (commit commit)))
2665 (file-name (git-file-name name version))
2666 (sha256
2667 (base32
2668 "0bny40hv9a024n01clxns351cs4j4ifhgcc7m4743xncqf612p7g"))))
2669 (build-system emacs-build-system)
2670 (propagated-inputs
2671 `(("emacs-dash" ,emacs-dash)))
2672 (home-page "https://github.com/Fuco1/litable/")
2673 (synopsis "Dynamic evaluation replacement with Emacs")
2674 (description "This packages provides dynamic evaluation in Emacs.")
2675 (license license:gpl3+))))
2676
2677 (define-public emacs-string-inflection
2678 (package
2679 (name "emacs-string-inflection")
2680 (version "1.0.6")
2681 (source (origin
2682 (method git-fetch)
2683 (uri (git-reference
2684 (url "https://github.com/akicho8/string-inflection")
2685 (commit "a150e7bdda60b7824d3a936750ce23f73b0e4edd")))
2686 (file-name (git-file-name name version))
2687 (sha256
2688 (base32
2689 "1k0sm552iawi49v4zis6dbb81d1rzgky9v0dpv7nj31gnb7bmy7k"))))
2690 (build-system emacs-build-system)
2691 (native-inputs
2692 `(("ert-runner" ,emacs-ert-runner)))
2693 (arguments
2694 `(#:tests? #t
2695 #:test-command '("ert-runner")))
2696 (home-page "https://github.com/akicho8/string-inflection")
2697 (synopsis "Convert symbol names between different naming conventions")
2698 (description
2699 "This Emacs package provides convenient methods for manipulating the
2700 naming style of a symbol. It supports different naming conventions such as:
2701
2702 @enumerate
2703 @item camel case
2704 @item Pascal case
2705 @item all upper case
2706 @item lower case separated by underscore
2707 @item etc...
2708 @end enumerate\n")
2709 (license license:gpl2+)))
2710
2711 (define-public emacs-stripe-buffer
2712 (package
2713 (name "emacs-stripe-buffer")
2714 (version "0.2.5")
2715 (source
2716 (origin
2717 (method git-fetch)
2718 (uri (git-reference
2719 (url "https://github.com/sabof/stripe-buffer.git")
2720 (commit version)))
2721 (file-name (git-file-name name version))
2722 (sha256
2723 (base32 "035ym1c1vzg6hjsnd258z4dkrfc11lj4c0y4gpgybhk54dq3w9dk"))))
2724 (build-system emacs-build-system)
2725 (home-page "https://github.com/sabof/stripe-buffer/")
2726 (synopsis "Add stripes to list buffers")
2727 (description
2728 "This Emacs package adds faces to add stripes to list buffers and org
2729 tables.")
2730 (license license:gpl2+)))
2731
2732 (define-public emacs-rich-minority
2733 (package
2734 (name "emacs-rich-minority")
2735 (version "1.0.1")
2736 (source
2737 (origin
2738 (method git-fetch)
2739 (uri (git-reference
2740 (url "https://github.com/Malabarba/rich-minority.git")
2741 (commit version)))
2742 (file-name (git-file-name name version))
2743 (sha256
2744 (base32 "11hwf9y5ax207w6rwrsmi3pmn7pn7ap6iys0z8hni2f5zzxjrmx3"))))
2745 (build-system emacs-build-system)
2746 (home-page "https://github.com/Malabarba/rich-minority")
2747 (synopsis "Clean-up and beautify the list of minor modes")
2748 (description
2749 "This Emacs package hides and/or highlights minor modes in the
2750 mode-line.")
2751 (license license:gpl2+)))
2752
2753 (define-public emacs-robe
2754 (package
2755 (name "emacs-robe")
2756 (version "0.8.1")
2757 (source
2758 (origin
2759 (method git-fetch)
2760 (uri (git-reference
2761 (url "https://github.com/dgutov/robe.git")
2762 (commit version)))
2763 (file-name (git-file-name name version))
2764 (sha256
2765 (base32 "0ll7ivxqnglfb0i70ly6qq2yfw9cyi3vq3lmj4s6h6c1c7rm3gcq"))))
2766 (build-system emacs-build-system)
2767 (arguments
2768 '(#:include (cons "^lib\\/" %default-include)))
2769 (propagated-inputs
2770 `(("emacs-inf-ruby" ,emacs-inf-ruby)))
2771 (home-page "https://github.com/dgutov/robe")
2772 (synopsis "Ruby code assistance tool for Emacs")
2773 (description
2774 "Robe can provide information on loaded classes and modules in Ruby code,
2775 as well as where methods are defined. This allows the user to jump to method
2776 definitions, modules and classes, display method documentation and provide
2777 method and constant name completion.")
2778 (license license:gpl3+)))
2779
2780 (define-public emacs-robot-mode
2781 (let ((commit "32846e7e80ae3471b7c07f9709dcaa4f9b9ed4a0")
2782 (revision "1"))
2783 (package
2784 (name "emacs-robot-mode")
2785 (version (git-version "0.0.0" revision commit))
2786 (source (origin
2787 (method git-fetch)
2788 (uri (git-reference
2789 ;; A better maintained fork of robot-mode.
2790 (url "https://github.com/jvalkeejarvi/robot-mode.git")
2791 (commit commit)))
2792 (file-name (git-file-name name version))
2793 (sha256
2794 (base32
2795 "1i8wf7m0gml8zvvmlgppjzv78b432686p1qdbzgclc7qfcvzag0d"))))
2796 (build-system emacs-build-system)
2797 (propagated-inputs `(("emacs-s" ,emacs-s)))
2798 (home-page "https://github.com/jvalkeejarvi/robot-mode")
2799 (synopsis "Emacs mode for Robot Framework")
2800 (description "This major mode facilitates editing Robot Framework source
2801 files with features such as syntax highlighting, comments, finding keywords,
2802 completing keywords and smart indentation.")
2803 (license license:gpl3+))))
2804
2805 (define-public emacs-rspec
2806 (package
2807 (name "emacs-rspec")
2808 (version "1.11")
2809 (source
2810 (origin
2811 (method git-fetch)
2812 (uri (git-reference
2813 (url "https://github.com/pezra/rspec-mode.git")
2814 (commit (string-append "v" version))))
2815 (file-name (git-file-name name version))
2816 (sha256
2817 (base32 "0hrn5n7aaymwimk511kjij44vqaxbmhly1gwmlmsrnbvvma7f2mp"))))
2818 (build-system emacs-build-system)
2819 (home-page "https://github.com/pezra/rspec-mode")
2820 (synopsis "Provides a rspec mode for working with RSpec")
2821 (description
2822 "The Emacs RSpec mode provides keybindings for Ruby source files, e.g. to
2823 verify the spec associated with the current buffer, or entire project, as well
2824 as moving between the spec files, and corresponding code files.
2825
2826 Also included are keybindings for spec files and Dired buffers, as well as
2827 snippets for yasnippet.")
2828 (license license:gpl3+)))
2829
2830 (define-public emacs-smart-mode-line
2831 (package
2832 (name "emacs-smart-mode-line")
2833 (version "2.12.0")
2834 (source
2835 (origin
2836 (method git-fetch)
2837 (uri (git-reference
2838 (url "https://github.com/Malabarba/smart-mode-line.git")
2839 (commit version)))
2840 (file-name (git-file-name name version))
2841 (sha256
2842 (base32 "1gs4ay9hdg8gmia4ir74qawk80pqwv99hp4yhy108kpfry5mrq6z"))))
2843 (build-system emacs-build-system)
2844 (propagated-inputs
2845 `(("emacs-rich-minority" ,emacs-rich-minority)))
2846 (home-page "https://github.com/Malabarba/smart-mode-line")
2847 (synopsis "Color-coded smart mode-line")
2848 (description
2849 "Smart Mode Line is a mode-line theme for Emacs. It aims to be easy to
2850 read from small to large monitors by using colors, a prefix feature, and smart
2851 truncation.")
2852 (license license:gpl2+)))
2853
2854 (define-public emacs-sr-speedbar
2855 (let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
2856 (revision "0"))
2857 (package
2858 (name "emacs-sr-speedbar")
2859 (version (git-version "20161025" revision commit))
2860 (source
2861 (origin
2862 (method git-fetch)
2863 (uri (git-reference
2864 (url "https://github.com/emacsorphanage/sr-speedbar.git")
2865 (commit commit)))
2866 (file-name (git-file-name name version))
2867 (sha256
2868 (base32
2869 "0sd12555hk7z721y00kv3crdybvcn1i08wmd148z5imayzibj153"))))
2870 (build-system emacs-build-system)
2871 (home-page "https://www.emacswiki.org/emacs/SrSpeedbar")
2872 (synopsis "Same frame Emacs @code{speedbar}")
2873 (description
2874 "This Emacs package allows you to show @code{M-x speedbar} in the
2875 same frame (in an extra window). You can customize the initial width of
2876 the speedbar window.")
2877 (license license:gpl3+))))
2878
2879 (define-public emacs-shell-switcher
2880 (package
2881 (name "emacs-shell-switcher")
2882 (version "1.0.1")
2883 (source
2884 (origin
2885 (method git-fetch)
2886 (uri (git-reference
2887 (url "https://github.com/DamienCassou/shell-switcher.git")
2888 (commit (string-append "v" version))))
2889 (file-name (git-file-name name version))
2890 (sha256
2891 (base32 "0ia7sdip4hl27avckv3qpqgm3k4ynvp3xxq1cy53bqfzzx0gcria"))))
2892 (build-system emacs-build-system)
2893 (home-page "https://github.com/DamienCassou/shell-switcher")
2894 (synopsis "Provide fast switching between shell buffers")
2895 (description
2896 "This package provides commands to quickly switch between shell buffers.")
2897 (license license:gpl3+)))
2898
2899 (define-public emacs-names
2900 (let ((commit "d8baba5360e5253938a25d3e005455b6d2d86971")
2901 (version "20151201.0")
2902 (revision "8"))
2903 (package
2904 (name "emacs-names")
2905 (version (git-version version revision commit))
2906 (source
2907 (origin
2908 (method git-fetch)
2909 (uri (git-reference
2910 (url "https://github.com/Malabarba/names")
2911 (commit commit)))
2912 (file-name (git-file-name name version))
2913 (sha256
2914 (base32
2915 "11wyha2q8y7bzqq3jrzix8n97ywvsibvddrahqcps1a1yqk4hzfz"))))
2916 (build-system emacs-build-system)
2917 (home-page "https://github.com/Malabarba/names/")
2918 (synopsis "Namespace implementation for Emacs Lisp")
2919 (description
2920 "This package provides a macro that writes your namespaces for you.")
2921 (license license:gpl3+))))
2922
2923 (define-public emacs-evil-textobj-syntax
2924 (let ((commit "2d9ba8c75c754b409aea7469f46a5cfa52a872f3")
2925 (version "0")
2926 (revision "1"))
2927 (package
2928 (name "emacs-evil-textobj-syntax")
2929 (version (git-version version revision commit))
2930 (source
2931 (origin
2932 (method git-fetch)
2933 (uri (git-reference
2934 (url "https://github.com/laishulu/evil-textobj-syntax/")
2935 (commit commit)))
2936 (file-name (git-file-name name version))
2937 (sha256
2938 (base32
2939 "031p5i3274dazp7rz6m5y38shfgszm1clmkcf58qfqlvy978ammc"))))
2940 (build-system emacs-build-system)
2941 (propagated-inputs `(("emacs-evil" ,emacs-evil)
2942 ("emacs-names" ,emacs-names)))
2943 (home-page "https://github.com/laishulu/evil-textobj-syntax/")
2944 (synopsis "Text objects based on syntax highlighting")
2945 (description
2946 "This package provides text objects for @code{evil-mode} with
2947 boundaries defined by syntax highlighting.")
2948 (license license:gpl3+))))
2949
2950 (define-public emacs-flycheck-flow
2951 (let ((commit "9e8e52cfc98af6a23fd906f9cb5d5d470d8cf82d")
2952 (version "1.1")
2953 (revision "1"))
2954 (package
2955 (name "emacs-flycheck-flow")
2956 (version (git-version version revision commit))
2957 (source
2958 (origin
2959 (method git-fetch)
2960 (uri (git-reference
2961 (url "https://github.com/lbolla/emacs-flycheck-flow")
2962 (commit commit)))
2963 (file-name (git-file-name name version))
2964 (sha256
2965 (base32
2966 "14qldlisbmxzammr500gyha2hiv2xgyzfc6mysqii06kbcqn1ik1"))))
2967 (build-system emacs-build-system)
2968 (propagated-inputs
2969 `(("emacs-flycheck" ,emacs-flycheck)))
2970 (home-page "https://github.com/lbolla/emacs-flycheck-flow")
2971 (synopsis "Flow support for @code{flycheck-mode}")
2972 (description
2973 "This package allows @code{flycheck-mode} to provide syntax-checking
2974 for Flow files.")
2975 (license license:gpl3+))))
2976
2977 (define-public emacs-elisp-demos
2978 (let ((commit "4c1fbc392668662890b685ab297e950259227e06")
2979 (version "0.1")
2980 (revision "1"))
2981 (package
2982 (name "emacs-elisp-demos")
2983 (version (git-version version revision commit))
2984 (source
2985 (origin
2986 (method git-fetch)
2987 (uri (git-reference
2988 (url "https://github.com/xuchunyang/elisp-demos")
2989 (commit commit)))
2990 (file-name (git-file-name name version))
2991 (sha256
2992 (base32
2993 "01cbkmjgmzxdf02w9xgbf4bhnx1mh53vvpkri13yxfksym5zizp4"))))
2994 (build-system emacs-build-system)
2995 (arguments '(#:include '("\\.el$" "\\.org$")))
2996 (home-page "https://github.com/xuchunyang/elisp-demos/")
2997 (synopsis "Enhance @code{*Help*} buffers with additional examples")
2998 (description
2999 "This package injects example uses of Elisp functions into their
3000 respective @code{*Help*} buffers.")
3001 (license license:gpl3+))))
3002
3003 (define-public emacs-docker-compose-mode
3004 (package
3005 (name "emacs-docker-compose-mode")
3006 (version "1.1.0")
3007 (source
3008 (origin
3009 (method git-fetch)
3010 (uri (git-reference
3011 (url "https://github.com/meqif/docker-compose-mode")
3012 (commit version)))
3013 (file-name (git-file-name name version))
3014 (sha256
3015 (base32
3016 "1fbcxwfvm33xcdj3cs26d9i1zyrryyjjkv7sc3mfxd45nq8d3ivj"))))
3017 (build-system emacs-build-system)
3018 (propagated-inputs
3019 `(("emacs-dash" ,emacs-dash)
3020 ("emacs-f" ,emacs-f)))
3021 (home-page "https://github.com/meqif/docker-compose-mode/")
3022 (synopsis "Major mode for editing @file{docker-compose} files")
3023 (description
3024 "This is a major mode for @file{docker-compose} files that provides
3025 completion of relevant keywords.")
3026 (license license:expat)))
3027
3028 (define-public emacs-sudo-edit
3029 (let ((commit "cc3d478937b1accd38742bfceba92af02ee9357d")
3030 (version "0.1.0")
3031 (revision "6"))
3032 (package
3033 (name "emacs-sudo-edit")
3034 (version (git-version version revision commit))
3035 (source
3036 (origin
3037 (method git-fetch)
3038 (uri (git-reference
3039 (url "https://github.com/nflath/sudo-edit")
3040 (commit commit)))
3041 (file-name (git-file-name name version))
3042 (sha256
3043 (base32
3044 "1qv58x5j5a3v1s2ylhck1ykbfclq0mbi0gsvaql3nyv8cxazqlwl"))))
3045 (build-system emacs-build-system)
3046 (home-page "https://github.com/nflath/sudo-edit/")
3047 (synopsis "Open files as another user")
3048 (description
3049 "This package allows editing files as another user, including the root
3050 user.")
3051 (license license:gpl3+))))
3052
3053 (define-public emacs-miniedit
3054 (package
3055 (name "emacs-miniedit")
3056 (version "2.0")
3057 (source
3058 (origin
3059 (method git-fetch)
3060 (uri (git-reference
3061 (url "https://github.com/emacsmirror/miniedit")
3062 (commit version)))
3063 (file-name (git-file-name name version))
3064 (sha256
3065 (base32
3066 "1850z96gly0jnr50472idqz1drzqarr0n23bbasslrc501xkg0bq"))))
3067 (build-system emacs-build-system)
3068 (home-page "https://github.com/emacsmirror/miniedit/")
3069 (synopsis "Enhanced editing for minibuffer fields")
3070 (description
3071 "This package provides a function that can be called from the
3072 minibuffer to enable editing the minibuffer input in another buffer with
3073 @code{text-mode} enabled.")
3074 (license license:gpl2+)))
3075
3076 (define-public emacs-ob-ipython
3077 (package
3078 (name "emacs-ob-ipython")
3079 (version "20150704.8807064693")
3080 (source (origin
3081 (method git-fetch)
3082 (uri (git-reference
3083 (commit "880706469338ab59b5bb7dbe8460016f89755364")
3084 (url "https://github.com/gregsexton/ob-ipython.git")))
3085 (file-name (git-file-name name version))
3086 (sha256
3087 (base32
3088 "1scf25snbds9ymagpny30ijbsg479r3nm0ih01dy4m9d0g7qryb7"))))
3089 (build-system emacs-build-system)
3090 (propagated-inputs
3091 `(("emacs-f" ,emacs-f)))
3092 (home-page "http://www.gregsexton.org")
3093 (synopsis "Org-Babel functions for IPython evaluation")
3094 (description "This package adds support to Org-Babel for evaluating Python
3095 source code using IPython.")
3096 (license license:gpl3+)))
3097
3098 (define-public emacs-debbugs
3099 (package
3100 (name "emacs-debbugs")
3101 (version "0.18")
3102 (source (origin
3103 (method url-fetch)
3104 (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
3105 version ".tar"))
3106 (sha256
3107 (base32
3108 "00kich80zdg7v3v613f9prqddkpwpm1nf9sj10f0n6wh15rzwv07"))))
3109 (build-system emacs-build-system)
3110 (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
3111 (propagated-inputs
3112 `(("emacs-async" ,emacs-async)))
3113 (home-page "https://elpa.gnu.org/packages/debbugs.html")
3114 (synopsis "Access the Debbugs bug tracker in Emacs")
3115 (description
3116 "This package lets you access the @uref{http://bugs.gnu.org,GNU Bug
3117 Tracker} from within Emacs.
3118
3119 For instance, it defines the command @code{M-x debbugs-gnu} for listing bugs,
3120 and the command @code{M-x debbugs-gnu-search} for bug searching. If you
3121 prefer the listing of bugs as TODO items of @code{org-mode}, you could use
3122 @code{M-x debbugs-org} and related commands.
3123
3124 A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
3125 Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
3126 (license license:gpl3+)))
3127
3128 (define-public emacs-ert-expectations
3129 (package
3130 (name "emacs-ert-expectations")
3131 (version "0.2")
3132 (source
3133 (origin
3134 (method url-fetch)
3135 (uri "https://www.emacswiki.org/emacs/download/ert-expectations.el")
3136 (sha256
3137 (base32
3138 "0cwy3ilsid90abzzjb7ha2blq9kmv3gfp3icwwfcz6qczgirq6g7"))))
3139 (build-system emacs-build-system)
3140 (home-page "https://www.emacswiki.org/emacs/ert-expectations.el")
3141 (synopsis "Simple unit test framework for Emacs Lisp")
3142 (description "@code{emacs-ert-expectations} is a simple unit test
3143 framework for Emacs Lisp to be used with @code{ert}.")
3144 (license license:gpl3+)))
3145
3146 (define-public emacs-deferred
3147 (package
3148 (name "emacs-deferred")
3149 (version "0.5.1")
3150 (home-page "https://github.com/kiwanami/emacs-deferred")
3151 (source (origin
3152 (method git-fetch)
3153 (uri (git-reference
3154 (url home-page)
3155 (commit (string-append "v" version))))
3156 (file-name (git-file-name name version))
3157 (sha256
3158 (base32
3159 "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h"))))
3160 (build-system emacs-build-system)
3161 (arguments
3162 `(#:phases
3163 (modify-phases %standard-phases
3164 (add-after 'unpack 'set-shell
3165 ;; Setting the SHELL environment variable is required for the tests
3166 ;; to find sh.
3167 (lambda _
3168 (setenv "SHELL" (which "sh"))
3169 #t))
3170 (add-before 'check 'fix-makefile
3171 (lambda _
3172 (substitute* "Makefile"
3173 (("\\$\\(CASK\\) exec ") ""))
3174 #t)))
3175 #:tests? #t
3176 #:test-command '("make" "test")))
3177 (native-inputs
3178 `(("emacs-ert-expectations" ,emacs-ert-expectations)
3179 ("emacs-undercover" ,emacs-undercover)
3180 ("ert-runner" ,emacs-ert-runner)))
3181 (synopsis "Simple asynchronous functions for Emacs Lisp")
3182 (description
3183 "The @code{deferred.el} library provides support for asynchronous tasks.
3184 The API is almost the same as that of
3185 @uref{https://github.com/cho45/jsdeferred, JSDeferred}, a JavaScript library
3186 for asynchronous tasks.")
3187 (license license:gpl3+)))
3188
3189 (define-public emacs-butler
3190 (package
3191 (name "emacs-butler")
3192 (version "0.2.4")
3193 (home-page "https://github.com/AshtonKem/Butler")
3194 (source (origin
3195 (method git-fetch)
3196 (uri (git-reference
3197 (url home-page)
3198 (commit version)))
3199 (file-name (git-file-name name version))
3200 (sha256
3201 (base32
3202 "1pii9dw4skq7nr4na6qxqasl36av8cwjp71bf1fgppqpcd9z8skj"))))
3203 (build-system emacs-build-system)
3204 (propagated-inputs
3205 `(("emacs-deferred" ,emacs-deferred)))
3206 (synopsis "Emacs client for Jenkins")
3207 (description
3208 "Butler provides an interface to connect to Jenkins continuous
3209 integration servers. Users can specify a list of server in the
3210 @code{butler-server-list} variable and then use @code{M-x butler-status} to
3211 view the build status of those servers' build jobs, and possibly to trigger
3212 build jobs.")
3213 (license license:gpl3+)))
3214
3215 (define-public emacs-company
3216 (package
3217 (name "emacs-company")
3218 (version "0.9.10")
3219 (source
3220 (origin
3221 (method git-fetch)
3222 (uri (git-reference
3223 (url "https://github.com/company-mode/company-mode.git")
3224 (commit version)))
3225 (file-name (git-file-name name version))
3226 (sha256
3227 (base32 "0shmv48bq9l5xm60dwx9lqyq6b39y3d7qjxdlah7dpipv5vhra42"))))
3228 (build-system emacs-build-system)
3229 (arguments
3230 `(#:phases
3231 (modify-phases %standard-phases
3232 (add-before 'check 'fix-bin-dir
3233 (lambda _
3234 ;; The company-files-candidates-normal-root test looks
3235 ;; for the /bin directory, but the build environment has
3236 ;; no /bin directory. Modify the test to look for the
3237 ;; /tmp directory.
3238 (substitute* "test/files-tests.el"
3239 (("/bin/") "/tmp/"))
3240 #t)))
3241 #:tests? #t
3242 #:test-command '("make" "test-batch")))
3243 (home-page "http://company-mode.github.io/")
3244 (synopsis "Modular text completion framework")
3245 (description
3246 "Company is a modular completion mechanism. Modules for retrieving
3247 completion candidates are called back-ends, modules for displaying them are
3248 front-ends. Company comes with many back-ends, e.g. @code{company-elisp}.
3249 These are distributed in separate files and can be used individually.")
3250 (license license:gpl3+)))
3251
3252 (define-public emacs-irony-mode
3253 (package
3254 (name "emacs-irony-mode")
3255 (version "1.2.0")
3256 (home-page "https://github.com/Sarcasm/irony-mode")
3257 (source (origin
3258 (method git-fetch)
3259 (uri (git-reference
3260 (url (string-append home-page ".git"))
3261 (commit (string-append "v" version))))
3262 (file-name (git-file-name name version))
3263 (sha256
3264 (base32
3265 "0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8"))))
3266 (build-system emacs-build-system)
3267 (inputs `(("server" ,emacs-irony-mode-server)))
3268 (arguments `(#:phases
3269 (modify-phases %standard-phases
3270 (add-after 'unpack 'configure
3271 (lambda* (#:key inputs #:allow-other-keys)
3272 (chmod "irony.el" #o644)
3273 (emacs-substitute-variables "irony.el"
3274 ("irony-server-install-prefix"
3275 (assoc-ref inputs "server")))
3276 #t)))))
3277 (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
3278 (description "Irony-mode provides Clang-assisted syntax checking and
3279 completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can
3280 provide syntax checking and autocompletion on compiler level which is very
3281 resistant against false positives. It also integrates well with other
3282 packages like @code{eldoc-mode} and especially @code{company-mode} as
3283 described on the homepage.")
3284 (license license:gpl3+)))
3285
3286 (define-public emacs-irony-mode-server
3287 (package (inherit emacs-irony-mode)
3288 (name "emacs-irony-mode-server")
3289 (inputs
3290 `(("clang" ,clang)))
3291 (arguments
3292 `(#:phases
3293 (modify-phases %standard-phases
3294 (replace 'configure
3295 (lambda* (#:key outputs #:allow-other-keys)
3296 (let ((out (assoc-ref outputs "out")))
3297 (invoke "cmake"
3298 "server"
3299 (string-append "-DCMAKE_INSTALL_PREFIX=" out)) #t))))))
3300 (build-system cmake-build-system)
3301 (synopsis "Server for the Emacs @dfn{irony mode}")))
3302
3303 (define-public emacs-company-irony
3304 (package
3305 (name "emacs-company-irony")
3306 (version "1.1.0")
3307 (source (origin
3308 (method git-fetch)
3309 (uri (git-reference
3310 (url "https://github.com/Sarcasm/company-irony.git")
3311 (commit (string-append "v" version))))
3312 (sha256 (base32
3313 "1qgyam2vyjw90kpxns5cd6bq3qiqjhzpwrlvmi18vyb69qcgqd8a"))
3314 (file-name (git-file-name name version))))
3315 (build-system emacs-build-system)
3316 (inputs
3317 `(("emacs-irony-mode" ,emacs-irony-mode)
3318 ("emacs-company" ,emacs-company)))
3319 (synopsis "C++ completion backend for Company using irony-mode")
3320 (description "This backend for company-mode allows for C++ code completion
3321 with irony-mode using clang-tooling.")
3322 (home-page "https://github.com/Sarcasm/company-irony")
3323 (license license:gpl3+)))
3324
3325 (define-public emacs-flycheck-irony
3326 (package
3327 (name "emacs-flycheck-irony")
3328 (version "0.1.0")
3329 (source (origin
3330 (method git-fetch)
3331 (uri (git-reference
3332 (url "https://github.com/Sarcasm/flycheck-irony.git")
3333 (commit (string-append "v" version))))
3334 (file-name (git-file-name name version))
3335 (sha256
3336 (base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996"))))
3337 (build-system emacs-build-system)
3338 (inputs
3339 `(("irony-mode" ,emacs-irony-mode)
3340 ("flycheck-mode" ,emacs-flycheck)
3341 ("emacs-company" ,emacs-company)))
3342 (synopsis "Live syntax checking frontend for Flycheck using irony-mode")
3343 (description "This package provides a frontend for Flycheck that lets
3344 irony-mode do the syntax checking.")
3345 (home-page "https://github.com/Sarcasm/flycheck-irony")
3346 (license license:gpl3+)))
3347
3348 (define-public emacs-irony-eldoc
3349 (package
3350 (name "emacs-irony-eldoc")
3351 (version (package-version emacs-irony-mode))
3352 (source
3353 (origin
3354 (method git-fetch)
3355 (uri (git-reference
3356 (url "https://github.com/ikirill/irony-eldoc.git")
3357 (commit "0df5831eaae264a25422b061eb2792aadde8b3f2")))
3358 (file-name (git-file-name name version))
3359 (sha256
3360 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd"))))
3361 (build-system emacs-build-system)
3362 (inputs
3363 `(("irony-mode" ,emacs-irony-mode)))
3364 (synopsis "Eldoc integration for irony-mode")
3365 (description "Irony-eldoc is an eldoc extension that shows documentation
3366 for the current function or variable in the minibuffer.")
3367 (home-page "https://github.com/ikirill/irony-eldoc")
3368 (license license:gpl3+)))
3369
3370 (define-public emacs-company-quickhelp
3371 (package
3372 (name "emacs-company-quickhelp")
3373 (version "2.3.0")
3374 (source
3375 (origin
3376 (method git-fetch)
3377 (uri (git-reference
3378 (url "https://github.com/expez/company-quickhelp.git")
3379 (commit version)))
3380 (file-name (git-file-name name version))
3381 (sha256
3382 (base32 "08ccsfvwdpzpj0gai3xrdb2bv1nl6myjkxsc5774pbvlq9nkfdvr"))))
3383 (build-system emacs-build-system)
3384 (propagated-inputs
3385 `(("emacs-pos-tip" ,emacs-pos-tip)
3386 ("emacs-company" ,emacs-company)))
3387 (home-page "https://github.com/expez/company-quickhelp")
3388 (synopsis "Popup documentation for completion candidates")
3389 (description "@code{company-quickhelp} shows documentation for the
3390 completion candidate when using the Company text completion framework.")
3391 (license license:gpl3+)))
3392
3393 (define-public emacs-math-symbol-lists
3394 (let ((commit "dc7531cff0c845d5470a50c24d5d7309b2ced7eb")
3395 (revision "1"))
3396 (package
3397 (name "emacs-math-symbol-lists")
3398 (version (git-version "1.2.1" revision commit))
3399 (source
3400 (origin
3401 (method git-fetch)
3402 (uri (git-reference
3403 (url "https://github.com/vspinu/math-symbol-lists.git")
3404 (commit commit)))
3405 (file-name (git-file-name name version))
3406 (sha256
3407 (base32 "094m21i9rns6m59cmhxcivxxafbg52w8f8na4y3v47aq67zmhhqm"))))
3408 (build-system emacs-build-system)
3409 (home-page "https://github.com/vspinu/math-symbol-lists")
3410 (synopsis "Lists of Unicode math symbols and @code{LaTeX} commands")
3411 (description "This is a storage package used by completion engines like
3412 @code{company-math}.")
3413 (license license:gpl3+))))
3414
3415 (define-public emacs-company-math
3416 (let ((commit "600e49449644f6835f9dc3501bc58461999e8ab9")
3417 (revision "1"))
3418 (package
3419 (name "emacs-company-math")
3420 (version (git-version "1.3" revision commit))
3421 (source
3422 (origin
3423 (method git-fetch)
3424 (uri (git-reference
3425 (url "https://github.com/vspinu/company-math.git")
3426 (commit commit)))
3427 (file-name (git-file-name name version))
3428 (sha256
3429 (base32
3430 "1ps2lpkzn8mjbpcbvvy1qz3xbgrh6951x8y9bsd1fm32drdph9lh"))))
3431 (build-system emacs-build-system)
3432 (propagated-inputs
3433 `(("emacs-math-symbol-lists" ,emacs-math-symbol-lists)
3434 ("emacs-company" ,emacs-company)))
3435 (home-page "https://github.com/vspinu/company-math")
3436 (synopsis "Completion backends for Unicode math symbols and @code{LaTeX} tags")
3437 (description "This package provides a backend for use with
3438 @code{company-mode} allowing for completion of common math symbols.")
3439 (license license:gpl3+))))
3440
3441 (define-public emacs-nswbuff
3442 (let ((commit "362da7f3687e2eb5bb11667347de85f4a9d002bc")
3443 (revision "1"))
3444 (package
3445 (name "emacs-nswbuff")
3446 (version (git-version "1.0" revision commit))
3447 (source
3448 (origin
3449 (method git-fetch)
3450 (uri (git-reference
3451 (url "https://github.com/joostkremers/nswbuff.git")
3452 (commit commit)))
3453 (file-name (git-file-name name version))
3454 (sha256
3455 (base32 "0l2xfz8z5qd4hz3kv6zn7h6qq3narkilri8a071y1n8j31jps4ma"))))
3456 (build-system emacs-build-system)
3457 (home-page "https://github.com/joostkremers/nswbuff")
3458 (synopsis "Quickly switch between buffers")
3459 (description "This package allows for navigating between buffers within
3460 a customizable list.")
3461 (license license:gpl3+))))
3462
3463 (define-public emacs-multiple-cursors
3464 (package
3465 (name "emacs-multiple-cursors")
3466 (version "1.4.0")
3467 (source
3468 (origin
3469 (method git-fetch)
3470 (uri (git-reference
3471 (url "https://github.com/magnars/multiple-cursors.el.git")
3472 (commit version)))
3473 (file-name (git-file-name name version))
3474 (sha256
3475 (base32 "1ijgvzv5r44xqvz751fd5drbvrspapw6xwv47582w255j363r6ss"))))
3476 (build-system emacs-build-system)
3477 (home-page "https://github.com/magnars/multiple-cursors.el")
3478 (synopsis "Multiple cursors for Emacs")
3479 (description
3480 "This package adds support to Emacs for editing text with multiple
3481 simultaneous cursors.")
3482 (license license:gpl3+)))
3483
3484 (define-public emacs-mc-extras
3485 (let ((commit "053abc52181b8718559d7361a587bbb795faf164")
3486 (revision "1"))
3487 (package
3488 (name "emacs-mc-extras")
3489 (version (git-version "1.2.4" revision commit))
3490 (source
3491 (origin
3492 (method git-fetch)
3493 (uri (git-reference
3494 (url "https://github.com/knu/mc-extras.el.git")
3495 (commit commit)))
3496 (file-name (git-file-name name version))
3497 (sha256
3498 (base32 "16y48qrd20m20vypvys5jp4v4gc1qrqlkm75s1pk1r68i9zrw481"))))
3499 (build-system emacs-build-system)
3500 (propagated-inputs
3501 `(("emacs-multiple-cursors" ,emacs-multiple-cursors)))
3502 (home-page "https://github.com/knu/mc-extras.el")
3503 (synopsis "Extra functions for manipulating multiple cursors")
3504 (description
3505 "This package provides additional functions for
3506 @code{multiple-cursors}, including functions for marking s-expressions,
3507 comparing characters, removing cursors, and more.")
3508 (license license:bsd-2))))
3509
3510 (define-public emacs-typo
3511 (package
3512 (name "emacs-typo")
3513 (version "1.1")
3514 (home-page "https://github.com/jorgenschaefer/typoel")
3515 (source (origin
3516 (method git-fetch)
3517 (uri (git-reference
3518 (url home-page)
3519 (commit (string-append "v" version))))
3520 (file-name (git-file-name name version))
3521 (sha256
3522 (base32
3523 "1jhd4grch5iz12gyxwfbsgh4dmz5hj4bg4gnvphccg8dsnni05k2"))))
3524 (build-system emacs-build-system)
3525 (synopsis "Minor mode for typographic editing")
3526 (description
3527 "This package provides two Emacs modes, @code{typo-mode} and
3528 @code{typo-global-mode}. These modes automatically insert Unicode characters
3529 for quotation marks, dashes, and ellipses. For example, typing @kbd{\"}
3530 automatically inserts a Unicode opening or closing quotation mark, depending
3531 on context.")
3532 (license license:gpl3+)))
3533
3534 (define-public emacs-company-lsp
3535 (package
3536 (name "emacs-company-lsp")
3537 (version "2.1.0")
3538 (source (origin
3539 (method git-fetch)
3540 (uri (git-reference
3541 (url "https://github.com/tigersoldier/company-lsp.git")
3542 (commit version)))
3543 (file-name (git-file-name name version))
3544 (sha256
3545 (base32
3546 "1hy1x2w0yp5brm7714d1hziz3rpkywb5jp3yj78ibmi9ifny9vri"))))
3547 (build-system emacs-build-system)
3548 (propagated-inputs
3549 `(("emacs-dash" ,emacs-dash)
3550 ("emacs-lsp-mode" ,emacs-lsp-mode)
3551 ("emacs-company" ,emacs-company)
3552 ("emacs-s" ,emacs-s)
3553 ("emacs-dash" ,emacs-dash)))
3554 (home-page "https://github.com/tigersoldier/company-lsp")
3555 (synopsis "Completion for @code{lsp-mode}")
3556 (description
3557 "This package provides completion features that are not possible with
3558 @code{lsp-mode} and @code{company-capf} alone, including support for trigger
3559 characters and asynchronous fetching of completion candidates.")
3560 (license license:gpl3+)))
3561
3562 (define-public emacs-scheme-complete
3563 (let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5"))
3564 (package
3565 (name "emacs-scheme-complete")
3566 (version (string-append "20151223." (string-take commit 8)))
3567 (source
3568 (origin
3569 (method git-fetch)
3570 (uri (git-reference
3571 (url "https://github.com/ashinn/scheme-complete.git")
3572 (commit commit)))
3573 (file-name (git-file-name name version))
3574 (sha256
3575 (base32
3576 "141wn9l0m33w0g3dqmx8nxbfdny1r5xbr6ak61rsz21bk0qafs7x"))
3577 (patches
3578 (search-patches "emacs-scheme-complete-scheme-r5rs-info.patch"))))
3579 (build-system emacs-build-system)
3580 (home-page "https://github.com/ashinn/scheme-complete")
3581 (synopsis "Smart tab completion for Scheme in Emacs")
3582 (description
3583 "This file provides a single function, @code{scheme-smart-complete},
3584 which you can use for intelligent, context-sensitive completion for any Scheme
3585 implementation in Emacs. To use it just load this file and bind that function
3586 to a key in your preferred mode.")
3587 (license license:public-domain))))
3588
3589 (define-public emacs-scel
3590 (let ((version "20170629")
3591 (revision "1")
3592 (commit "aeea3ad4be9306d14c3a734a4ff54fee10ac135b"))
3593 (package
3594 (name "emacs-scel")
3595 (version (git-version version revision commit))
3596 (source
3597 (origin
3598 (method git-fetch)
3599 (uri (git-reference
3600 (url "https://github.com/supercollider/scel.git")
3601 (commit commit)))
3602 (file-name (git-file-name name version))
3603 (sha256
3604 (base32
3605 "0jvmzs1lsjyndqshhii2y4mnr3wghai26i3p75453zrpxpg0zvvw"))))
3606 (build-system emacs-build-system)
3607 (arguments
3608 `(#:modules ((guix build emacs-build-system)
3609 ((guix build cmake-build-system) #:prefix cmake:)
3610 (guix build utils))
3611 #:imported-modules (,@%emacs-build-system-modules
3612 (guix build cmake-build-system))
3613 #:phases
3614 (modify-phases %standard-phases
3615 (add-after 'unpack 'configure
3616 (lambda* (#:key outputs #:allow-other-keys)
3617 (substitute* "el/CMakeLists.txt"
3618 (("share/emacs/site-lisp/SuperCollider")
3619 (string-append
3620 "share/emacs/site-lisp/guix.d/scel-" ,version)))
3621 ((assoc-ref cmake:%standard-phases 'configure)
3622 #:outputs outputs
3623 #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF"))))
3624 (add-after 'set-emacs-load-path 'add-el-dir-to-emacs-load-path
3625 (lambda _
3626 (setenv "EMACSLOADPATH"
3627 (string-append (getcwd) "/el:" (getenv "EMACSLOADPATH")))
3628 #t))
3629 (replace 'install (assoc-ref cmake:%standard-phases 'install)))))
3630 (inputs
3631 `(("supercollider" ,supercollider)))
3632 (native-inputs
3633 `(("cmake" ,cmake)))
3634 (home-page "https://github.com/supercollider/scel")
3635 (synopsis "SuperCollider Emacs interface")
3636 (description "@code{emacs-scel} is an Emacs interface to SuperCollider.
3637 SuperCollider is a platform for audio synthesis and algorithmic composition.")
3638 (license license:gpl2+))))
3639
3640 (define-public emacs-company-auctex
3641 (let ((commit "48c42c58ce2f0e693301b0cb2d085055410c1b25")
3642 (revision "1"))
3643 (package
3644 (name "emacs-company-auctex")
3645 (version (git-version "0" revision commit))
3646 (source (origin
3647 (method git-fetch)
3648 (uri (git-reference
3649 (url "https://github.com/alexeyr/company-auctex")
3650 (commit commit)))
3651 (file-name (git-file-name name version))
3652 (sha256
3653 (base32
3654 "10qn7frn5wcmrlci3v6iliqzj7r9dls87h9zp3xkgrgn4bqprfp8"))))
3655 (build-system emacs-build-system)
3656 (propagated-inputs
3657 `(("emacs-yasnippet" ,emacs-yasnippet)
3658 ("emacs-auctex" ,emacs-auctex)
3659 ("emacs-company" ,emacs-company)))
3660 (home-page "https://github.com/alexeyr/company-auctex/")
3661 (synopsis "Completion for @code{AUCTeX}")
3662 (description
3663 "This package provides a group of backends permitting auto-completion
3664 for @code{AUCTeX}.")
3665 (license license:gpl3+))))
3666
3667 (define-public emacs-mit-scheme-doc
3668 (package
3669 (name "emacs-mit-scheme-doc")
3670 (version "20140203")
3671 (source
3672 (origin
3673 (modules '((guix build utils)))
3674 (snippet
3675 ;; keep only file of interest
3676 '(begin
3677 (for-each delete-file '("dot-emacs.el" "Makefile"))
3678 (install-file "6.945-config/mit-scheme-doc.el" ".")
3679 (delete-file-recursively "6.945-config")
3680 #t))
3681 (file-name (string-append name "-" version ".tar.bz2"))
3682 (method url-fetch)
3683 (uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/"
3684 "6.945/dont-panic/emacs-basic-config.tar.bz2"))
3685 (sha256
3686 (base32
3687 "0dqidg2bd66pawqfarvwca93w5gqf9mikn1k2a2rmd9ymfjpziq1"))))
3688 (build-system emacs-build-system)
3689 (inputs `(("mit-scheme" ,mit-scheme)))
3690 (arguments
3691 `(#:phases
3692 (modify-phases %standard-phases
3693 (add-after 'unpack 'configure-doc
3694 (lambda* (#:key inputs #:allow-other-keys)
3695 (let* ((mit-scheme-dir (assoc-ref inputs "mit-scheme"))
3696 (doc-dir (string-append mit-scheme-dir "/share/doc/"
3697 "mit-scheme-"
3698 ,(package-version mit-scheme))))
3699 (substitute* "mit-scheme-doc.el"
3700 (("http://www\\.gnu\\.org/software/mit-scheme/documentation/mit-scheme-ref/")
3701 (string-append "file:" doc-dir "/mit-scheme-ref/")))))))))
3702 (home-page "http://groups.csail.mit.edu/mac/users/gjs/6.945/dont-panic/")
3703 (synopsis "MIT-Scheme documentation lookup for Emacs")
3704 (description
3705 "This package provides a set of Emacs functions to search definitions of
3706 identifiers in the MIT-Scheme documentation.")
3707 (license license:gpl2+)))
3708
3709 (define-public emacs-constants
3710 (package
3711 (name "emacs-constants")
3712 (version "2.6")
3713 (home-page "https://staff.fnwi.uva.nl/c.dominik/Tools/constants")
3714 (source
3715 (origin
3716 (method git-fetch)
3717 (uri (git-reference
3718 (url "https://github.com/fedeinthemix/emacs-constants.git")
3719 (commit (string-append "v" version))))
3720 (file-name (git-file-name name version))
3721 (sha256
3722 (base32 "0f5sh6b45a8p9kancjp9jk44ws8ww6x50a0i6zgyyvr7dbvii1a0"))))
3723 (build-system emacs-build-system)
3724 (synopsis "Enter definition of constants into an Emacs buffer")
3725 (description
3726 "This package provides functions for inserting the definition of natural
3727 constants and units into an Emacs buffer.")
3728 (license license:gpl2+)))
3729
3730 (define-public emacs-tagedit
3731 (package
3732 (name "emacs-tagedit")
3733 (version "1.4.0")
3734 (source
3735 (origin
3736 (method git-fetch)
3737 (uri (git-reference
3738 (url "https://github.com/magnars/tagedit.git")
3739 (commit version)))
3740 (file-name (git-file-name name version))
3741 (sha256
3742 (base32 "0kq40g46s8kgiafrhdq99h79rz9h5fvgz59k7ralmf86bl4sdmdb"))))
3743 (build-system emacs-build-system)
3744 (propagated-inputs
3745 `(("emacs-s" ,emacs-s)
3746 ("emacs-dash" ,emacs-dash)))
3747 (home-page "https://github.com/magnars/tagedit")
3748 (synopsis "Some paredit-like features for html-mode")
3749 (description
3750 "This package provides a collection of paredit-like functions for editing
3751 in @code{html-mode}.")
3752 (license license:gpl3+)))
3753
3754 (define-public emacs-slime
3755 (package
3756 (name "emacs-slime")
3757 (version "2.23")
3758 (source
3759 (origin
3760 (method git-fetch)
3761 (uri (git-reference
3762 (url "https://github.com/slime/slime.git")
3763 (commit (string-append "v" version))))
3764 (file-name (git-file-name name version))
3765 (sha256
3766 (base32 "0i637n0ragpbj39hqx65nx5k99xf0464c4w6w1qpzykm6z42grky"))))
3767 (build-system emacs-build-system)
3768 (native-inputs
3769 `(("texinfo" ,texinfo)))
3770 (arguments
3771 `(#:include '("\\.el$" "\\.lisp$" "\\.asd$" "contrib")
3772 #:exclude '("^slime-tests.el" "^contrib/test/"
3773 "^contrib/Makefile$" "^contrib/README.md$")
3774 #:phases
3775 (modify-phases %standard-phases
3776 (add-after 'unpack 'make-git-checkout-writable
3777 (lambda _
3778 (for-each make-file-writable (find-files "."))
3779 #t))
3780 (add-before 'install 'configure
3781 (lambda* _
3782 (emacs-substitute-variables "slime.el"
3783 ("inferior-lisp-program" "sbcl"))
3784 #t))
3785 (add-before 'install 'install-doc
3786 (lambda* (#:key outputs #:allow-other-keys)
3787 (let* ((out (assoc-ref outputs "out"))
3788 (info-dir (string-append out "/share/info"))
3789 (doc-dir (string-append out "/share/doc/"
3790 ,name "-" ,version))
3791 (doc-files '("doc/slime-refcard.pdf"
3792 "README.md" "NEWS" "PROBLEMS"
3793 "CONTRIBUTING.md")))
3794 (with-directory-excursion "doc"
3795 (substitute* "Makefile"
3796 (("infodir=/usr/local/info")
3797 (string-append "infodir=" info-dir)))
3798 (invoke "make" "html/index.html")
3799 (invoke "make" "slime.info")
3800 (install-file "slime.info" info-dir)
3801 (copy-recursively "html" (string-append doc-dir "/html")))
3802 (for-each (lambda (f)
3803 (install-file f doc-dir)
3804 (delete-file f))
3805 doc-files)
3806 (delete-file-recursively "doc")
3807 #t))))))
3808 (home-page "https://github.com/slime/slime")
3809 (synopsis "Superior Lisp Interaction Mode for Emacs")
3810 (description
3811 "SLIME extends Emacs with support for interactive programming in
3812 Common Lisp. The features are centered around @command{slime-mode},
3813 an Emacs minor mode that complements the standard @command{lisp-mode}.
3814 While lisp-mode supports editing Lisp source files, @command{slime-mode}
3815 adds support for interacting with a running Common Lisp process
3816 for compilation, debugging, documentation lookup, and so on.")
3817 (license (list license:gpl2+ license:public-domain))))
3818
3819 (define-public emacs-popup
3820 (package
3821 (name "emacs-popup")
3822 (version "0.5.3")
3823 (source
3824 (origin
3825 (method git-fetch)
3826 (uri (git-reference
3827 (url "https://github.com/auto-complete/popup-el.git")
3828 (commit (string-append "v" version))))
3829 (file-name (git-file-name name version))
3830 (sha256
3831 (base32 "1y538siabcf1n00wr4iz5gbxfndw661kx2mn9w1g4lg7yi4n0h0h"))))
3832 (build-system emacs-build-system)
3833 (home-page "https://github.com/auto-complete/popup-el")
3834 (synopsis "Visual Popup User Interface for Emacs")
3835 (description
3836 "Popup.el is a visual popup user interface library for Emacs.
3837 This provides a basic API and common UI widgets such as popup tooltips
3838 and popup menus.")
3839 (license license:gpl3+)))
3840
3841 (define-public emacs-python-environment
3842 (package
3843 (name "emacs-python-environment")
3844 (version "0.0.2")
3845 (source
3846 (origin
3847 (method git-fetch)
3848 (uri (git-reference
3849 (url "https://github.com/tkf/emacs-python-environment/")
3850 (commit version)))
3851 (file-name (git-file-name name version))
3852 (sha256
3853 (base32 "0q6bib9nr6xiq6npzbngyfcjk87yyvwzq1zirr3z1h5wadm34lsk"))))
3854 (build-system emacs-build-system)
3855 (propagated-inputs
3856 `(("emacs-deferred" ,emacs-deferred)))
3857 (home-page "https://github.com/tkf/emacs-python-environment")
3858 (synopsis "Provides a @code{virtualenv} API in Emacs Lisp")
3859 (description
3860 "This package permits automated installation of tools written in Python.")
3861 (license license:gpl3+)))
3862
3863 (define-public emacs-jedi
3864 (package
3865 (name "emacs-jedi")
3866 (version "0.2.7")
3867 (source (origin
3868 (method git-fetch)
3869 (uri (git-reference
3870 (url "https://github.com/tkf/emacs-jedi/")
3871 (commit (string-append "v" version))))
3872 (file-name (git-file-name name version))
3873 (sha256
3874 (base32
3875 "0xbp9fcxgbf298w05hvf52z41kk7r52975ailgdn8sg60xc98fa7"))))
3876 (build-system emacs-build-system)
3877 (native-inputs
3878 `(("emacs-mocker" ,emacs-mocker)))
3879 (propagated-inputs
3880 `(("emacs-auto-complete" ,emacs-auto-complete)
3881 ("emacs-python-environment" ,emacs-python-environment)
3882 ("emacs-epc" ,emacs-epc)))
3883 (home-page "https://github.com/tkf/emacs-jedi")
3884 (synopsis "Provides Python completion in Emacs")
3885 (description
3886 "This package provides completion in Python buffers and also helps find
3887 the locations of docstrings, arguments, and functions.")
3888 (license license:gpl3+)))
3889
3890 (define-public emacs-company-jedi
3891 (package
3892 (name "emacs-company-jedi")
3893 (version "0.04")
3894 (source (origin
3895 (method git-fetch)
3896 (uri (git-reference
3897 (url "https://github.com/syohex/emacs-company-jedi")
3898 (commit version)))
3899 (file-name (git-file-name name version))
3900 (sha256
3901 (base32
3902 "1ihqapp4dv92794rsgyq0rmhwika60cmradqd4bn9b72ss6plxs1"))))
3903 (build-system emacs-build-system)
3904 (propagated-inputs
3905 `(("emacs-jedi" ,emacs-jedi)
3906 ("emacs-company" ,emacs-company)))
3907 (home-page "https://github.com/syohex/emacs-company-jedi")
3908 (synopsis "Provides Python completion in @code{company-mode}")
3909 (description
3910 "This package provides a Company backend for Python.")
3911 (license license:gpl3+)))
3912
3913 (define-public emacs-puppet-mode
3914 (let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2")
3915 (revision "1"))
3916 (package
3917 (name "emacs-puppet-mode")
3918 ;; The last release, 0.3 was several years ago, and there have been many
3919 ;; commits since
3920 (version (git-version "0.3" revision commit))
3921 (source
3922 (origin
3923 (method url-fetch)
3924 (uri (string-append
3925 "https://raw.githubusercontent.com/voxpupuli/puppet-mode/"
3926 commit "/puppet-mode.el"))
3927 (sha256
3928 (base32
3929 "1indycxawsl0p2aqqg754f6735q3cmah9vd886rpn0ncc3ipi1xm"))))
3930 (build-system emacs-build-system)
3931 (home-page "https://github.com/voxpupuli/puppet-mode")
3932 (synopsis "Emacs major mode for the Puppet configuration language")
3933 (description
3934 "This package provides support for the Puppet configuration language,
3935 including syntax highlighting, indentation of expressions and statements,
3936 linting of manifests and integration with Puppet Debugger.")
3937 ;; Also incorporates work covered by the Apache License, Version 2.0
3938 (license license:gpl3+))))
3939
3940 (define-public emacs-god-mode
3941 (let ((commit "6cf0807b6555eb6fcf8387a4e3b667071ef38964")
3942 (revision "1"))
3943 (package
3944 (name "emacs-god-mode")
3945 (version (string-append "20151005.925."
3946 revision "-" (string-take commit 9)))
3947 (source
3948 (origin
3949 (method git-fetch)
3950 (uri (git-reference
3951 (url "https://github.com/chrisdone/god-mode.git")
3952 (commit commit)))
3953 (file-name (git-file-name name version))
3954 (sha256
3955 (base32
3956 "1am415k4xxcva6y3vbvyvknzc6bma49pq3p85zmpjsdmsp18qdix"))))
3957 (build-system emacs-build-system)
3958 (home-page "https://github.com/chrisdone/god-mode")
3959 (synopsis "Minor mode for entering commands without modifier keys")
3960 (description
3961 "This package provides a global minor mode for entering Emacs commands
3962 without modifier keys. It's similar to Vim's separation of commands and
3963 insertion mode. When enabled all keys are implicitly prefixed with
3964 @samp{C-} (among other helpful shortcuts).")
3965 (license license:gpl3+))))
3966
3967 (define-public emacs-jinja2-mode
3968 (package
3969 (name "emacs-jinja2-mode")
3970 (version "0.2")
3971 (source
3972 (origin
3973 (method git-fetch)
3974 (uri (git-reference
3975 (url "https://github.com/paradoxxxzero/jinja2-mode.git")
3976 (commit (string-append "v" version))))
3977 (file-name (git-file-name name version))
3978 (sha256
3979 (base32 "0l26wcy496k6xk7q5sf905xir0p73ziy6c44is77854lv3y0z381"))))
3980 (build-system emacs-build-system)
3981 (home-page "https://github.com/paradoxxxzero/jinja2-mode")
3982 (synopsis "Major mode for jinja2")
3983 (description
3984 "Emacs major mode for jinja2 with: syntax highlighting,
3985 sgml/html integration, and indentation (working with sgml).")
3986 (license license:gpl3+)))
3987
3988 (define-public emacs-company-cabal
3989 ;; The latest version is 0.3.0, but no release has been provided after 0.2.1.
3990 (let ((commit "62112a7259e24bd6c08885629a185afe512b7d3d")
3991 (revision "1"))
3992 (package
3993 (name "emacs-company-cabal")
3994 (version (git-version "0.3.0" revision commit))
3995 (source (origin
3996 (method git-fetch)
3997 (uri (git-reference
3998 (url "https://github.com/iquiw/company-cabal/")
3999 (commit commit)))
4000 (file-name (git-file-name name version))
4001 (sha256
4002 (base32
4003 "1gf45xwjzdm8i4q6c6khk4dbg1mmp2r0awz2sjr4dcr2dbd1n7mg"))))
4004 (build-system emacs-build-system)
4005 (propagated-inputs
4006 `(("emacs-company" ,emacs-company)))
4007 (home-page "https://github.com/iquiw/company-cabal/")
4008 (synopsis "Company completion for Haskell Cabal files")
4009 (description
4010 "This package allows for completion of field names, section names,
4011 field values, and more within @code{haskell-cabal-mode}.")
4012 (license license:gpl3+))))
4013
4014 (define-public emacs-rfcview
4015 (package
4016 (name "emacs-rfcview")
4017 (version "0.13")
4018 (home-page "http://www.loveshack.ukfsn.org/emacs")
4019 (source (origin
4020 (method url-fetch)
4021 (uri "http://www.loveshack.ukfsn.org/emacs/rfcview.el")
4022 (sha256
4023 (base32
4024 "0ympj5rxig383zl2jf0pzdsa80nnq0dpvjiriq0ivfi98fj7kxbz"))))
4025 (build-system emacs-build-system)
4026 (synopsis "Prettify Request for Comments (RFC) documents")
4027 (description "The Internet Engineering Task Force (IETF) and the Internet
4028 Society (ISOC) publish various Internet-related protocols and specifications
4029 as \"Request for Comments\" (RFC) documents and Internet Standard (STD)
4030 documents. RFCs and STDs are published in a simple text form. This package
4031 provides an Emacs major mode, rfcview-mode, which makes it more pleasant to
4032 read these documents in Emacs. It prettifies the text and adds
4033 hyperlinks/menus for easier navigation. It also provides functions for
4034 browsing the index of RFC documents and fetching them from remote servers or
4035 local directories.")
4036 (license license:gpl3+)))
4037
4038 (define-public emacs-ffap-rfc-space
4039 (package
4040 (name "emacs-ffap-rfc-space")
4041 (version "12")
4042 (home-page "http://user42.tuxfamily.org/ffap-rfc-space/index.html")
4043 (source (origin
4044 (method url-fetch)
4045 (uri "http://download.tuxfamily.org/user42/ffap-rfc-space.el")
4046 (sha256
4047 (base32
4048 "1iv61dv57a73mdps7rn6zmgz7nqh14v0ninidyrasy45b1nv6gck"))))
4049 (build-system emacs-build-system)
4050 (synopsis "Make ffap recognize an RFC with a space before its number")
4051 (description "The Internet Engineering Task Force (IETF) and the
4052 Internet Society (ISOC) publish various Internet-related protocols and
4053 specifications as \"Request for Comments\" (RFC) documents. The
4054 built-in Emacs module \"ffap\" (Find File at Point) has the ability to
4055 recognize names at point which look like \"RFC1234\" and \"RFC-1234\"
4056 and load the appropriate RFC from a remote server. However, it fails
4057 to recognize a name like \"RFC 1234\". This package enhances ffap so
4058 that it correctly finds RFCs even when a space appears before the
4059 number.")
4060 (license license:gpl3+)))
4061
4062 (define-public emacs-org-bullets
4063 (package
4064 (name "emacs-org-bullets")
4065 (version "0.2.4")
4066 (source
4067 (origin
4068 (method git-fetch)
4069 (uri (git-reference
4070 (url "https://github.com/sabof/org-bullets.git")
4071 (commit version)))
4072 (file-name (git-file-name name version))
4073 (sha256
4074 (base32 "10nr4sjffnqbllv6gmak6pviyynrb7pi5nvrq331h5alm3xcpq0w"))))
4075 (build-system emacs-build-system)
4076 (home-page "https://github.com/sabof/org-bullets")
4077 (synopsis "Show bullets in org-mode as UTF-8 characters")
4078 (description
4079 "This package provides an Emacs minor mode causing bullets in
4080 @code{org-mode} to be rendered as UTF-8 characters.")
4081 (license license:gpl3+)))
4082
4083 (define-public emacs-org-pomodoro
4084 (package
4085 (name "emacs-org-pomodoro")
4086 (version "2.1.0")
4087 (source
4088 (origin
4089 (method git-fetch)
4090 (uri (git-reference
4091 (url "https://github.com/lolownia/org-pomodoro.git")
4092 (commit version)))
4093 (file-name (git-file-name name version))
4094 (sha256
4095 (base32 "0r5shgikm34d66i2hblyknbblpg92lb2zc9x4bcb28xkh7m9d0xv"))))
4096 (build-system emacs-build-system)
4097 (propagated-inputs
4098 `(("emacs-alert" ,emacs-alert)))
4099 (home-page "https://github.com/lolownia/org-pomodoro")
4100 (synopsis "Pomodoro technique for org-mode")
4101 (description "@code{emacs-org-pomodoro} adds very basic support for
4102 Pomodoro technique in Emacs org-mode.
4103
4104 Run @code{M-x org-pomodoro} for the task at point or select one of the
4105 last tasks that you clocked time for. Each clocked-in pomodoro starts
4106 a timer of 25 minutes and after each pomodoro a break timer of 5
4107 minutes is started automatically. Every 4 breaks a long break is
4108 started with 20 minutes. All values are customizable.")
4109 (license license:gpl3+)))
4110
4111 (define-public emacs-org-sidebar
4112 (let ((commit "74ca98b9920f3de3f13d49866581435e1ec63ec5")
4113 (revision "1"))
4114 (package
4115 (name "emacs-org-sidebar")
4116 (version (git-version "0.1" revision commit))
4117 (source
4118 (origin
4119 (method git-fetch)
4120 (uri (git-reference
4121 (url "https://github.com/alphapapa/org-sidebar.git")
4122 (commit commit)))
4123 (file-name (git-file-name name version))
4124 (sha256
4125 (base32 "03p1ndyw2qp2skib5hszc4xyh84w7p2mhkd4a9dy6qv8q47xpsqn"))))
4126 (build-system emacs-build-system)
4127 (propagated-inputs
4128 `(("emacs-dash" ,emacs-dash)
4129 ("emacs-org-super-agenda" ,emacs-org-super-agenda)
4130 ("emacs-org" ,emacs-org)
4131 ("emacs-org-ql" ,emacs-org-ql)
4132 ("emacs-s" ,emacs-s)))
4133 (home-page "https://github.com/alphapapa/org-sidebar")
4134 (synopsis "Helpful sidebar for Org buffers")
4135 (description "This package provides a sidebar for Org buffers. At the
4136 top is a chronological list of scheduled and deadlined tasks in the current
4137 buffer (similar to the Org agenda ,but without all its features), and below
4138 that is a list of all other non-done to-do items. If the buffer is narrowed,
4139 the sidebar only shows items in the narrowed portion; this allows seeing an
4140 overview of tasks in a subtree.")
4141 (license license:gpl3+))))
4142
4143 (define-public emacs-org-trello
4144 (package
4145 (name "emacs-org-trello")
4146 (version "0.8.0")
4147 (source
4148 (origin
4149 (method git-fetch)
4150 (uri (git-reference
4151 (url "https://github.com/org-trello/org-trello.git")
4152 (commit version)))
4153 (file-name (git-file-name name version))
4154 (sha256
4155 (base32 "0m5hyhb6211hdmyp1bq6f3fklfgw3957knd96bfdafj727vdnlzm"))))
4156 (build-system emacs-build-system)
4157 (propagated-inputs
4158 `(("emacs-dash" ,emacs-dash)
4159 ("emacs-deferred" ,emacs-deferred)
4160 ("emacs-f" ,emacs-f)
4161 ("emacs-helm" ,emacs-helm)
4162 ("emacs-request" ,emacs-request)
4163 ("emacs-s" ,emacs-s)))
4164 (home-page "https://org-trello.github.io")
4165 (synopsis "Emacs minor mode for interacting with Trello")
4166 (description "This package provides an Emacs minor mode to extend
4167 @code{org-mode} with Trello abilities. Trello is an online project
4168 organizer.")
4169 (license license:gpl3+)))
4170
4171 (define-public emacs-company-flow
4172 (let ((commit "76ef585c70d2a3206c2eadf24ba61e59124c3a16")
4173 (revision "1"))
4174 (package
4175 (name "emacs-company-flow")
4176 (version (git-version "0.1.0" revision commit))
4177 (source (origin
4178 (method git-fetch)
4179 (uri (git-reference
4180 (url "https://github.com/aaronjensen/company-flow/")
4181 (commit commit)))
4182 (file-name (git-file-name name version))
4183 (sha256
4184 (base32
4185 "0zs9cblnbkxa0dxw4lyllmybqizxcdx96gv8jlhx20nrjpi78piw"))))
4186 (build-system emacs-build-system)
4187 (propagated-inputs
4188 `(("emacs-company" ,emacs-company)
4189 ("emacs-dash" ,emacs-dash)))
4190 (home-page "https://github.com/aaronjensen/company-flow/")
4191 (synopsis "Flow backend for @code{company-mode}")
4192 (description
4193 "This package provides completion for JavaScript files utilizing Flow.")
4194 (license license:gpl3+))))
4195
4196 (define-public emacs-atom-one-dark-theme
4197 (let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
4198 (revision "0"))
4199 (package
4200 (name "emacs-atom-one-dark-theme")
4201 (version (git-version "0.4.0" revision commit))
4202 (source (origin
4203 (method git-fetch)
4204 (uri (git-reference
4205 (url "https://github.com/jonathanchu/atom-one-dark-theme.git")
4206 (commit commit)))
4207 (sha256
4208 (base32
4209 "1alma16hg3mfjly8a9s3mrswkjjx4lrpdnf43869hn2ibkn7zx9z"))
4210 (file-name (git-file-name name version))))
4211 (build-system emacs-build-system)
4212 (home-page "https://github.com/jonathanchu/atom-one-dark-theme")
4213 (synopsis "Atom One Dark color theme for Emacs")
4214 (description "An Emacs port of the Atom One Dark theme from Atom.io.")
4215 (license license:gpl3+))))
4216
4217 (define-public emacs-zenburn-theme
4218 (package
4219 (name "emacs-zenburn-theme")
4220 (version "2.6")
4221 (source
4222 (origin
4223 (method git-fetch)
4224 (uri (git-reference
4225 (url "https://github.com/bbatsov/zenburn-emacs.git")
4226 (commit (string-append "v" version))))
4227 (file-name (git-file-name name version))
4228 (sha256
4229 (base32 "1n87r5hs7h5r8dgfid66skpzcypl9hssr9m3npp916g6jfsi782f"))))
4230 (build-system emacs-build-system)
4231 (home-page "https://github.com/bbatsov/zenburn-emacs")
4232 (synopsis "Low contrast color theme for Emacs")
4233 (description
4234 "Zenburn theme is a port of the popular Vim Zenburn theme for Emacs.
4235 It is built on top of the custom theme support in Emacs 24 or later.")
4236 (license license:gpl3+)))
4237
4238 (define-public emacs-moe-theme-el
4239 (let ((commit "6e086d855d6bb446bbd1090742815589a81a915f")
4240 (version "1.0")
4241 (revision "1"))
4242 (package
4243 (name "emacs-moe-theme-el")
4244 (version (git-version version revision commit))
4245 (source
4246 (origin
4247 (method git-fetch)
4248 (uri (git-reference
4249 (url "https://github.com/kuanyui/moe-theme.el")
4250 (commit commit)))
4251 (file-name (git-file-name name version))
4252 (sha256
4253 (base32 "0xj4wfd7h4jqnr193pizm9frf6lmwjr0dsdv2l9mqh9k691z1dnc"))))
4254 (build-system emacs-build-system)
4255 (home-page "https://github.com/kuanyui/moe-theme.el")
4256 (synopsis "Anime-inspired color themes")
4257 (description
4258 "This package provides vibrant color schemes with light and dark
4259 variants.")
4260 (license license:gpl3+))))
4261
4262 (define-public emacs-solarized-theme
4263 (package
4264 (name "emacs-solarized-theme")
4265 (version "1.2.2")
4266 (source (origin
4267 (method url-fetch)
4268 (uri (string-append "https://github.com/bbatsov/solarized-emacs/"
4269 "archive/v" version ".tar.gz"))
4270 (file-name (string-append name "-" version ".tar.gz"))
4271 (sha256
4272 (base32
4273 "1ha3slc6d9wi9ilkhmwrzkvf308n6ph7b0k69pk369s9304awxzx"))))
4274 (build-system emacs-build-system)
4275 (propagated-inputs
4276 `(("emacs-dash" ,emacs-dash)))
4277 (home-page "https://github.com/bbatsov/solarized-emacs")
4278 (synopsis "Port of the Solarized theme for Emacs")
4279 (description
4280 "Solarized for Emacs is a port of the Solarized theme for Vim. This
4281 package provides a light and a dark variant.")
4282 (license license:gpl3+)))
4283
4284 (define-public emacs-ahungry-theme
4285 (package
4286 (name "emacs-ahungry-theme")
4287 (version "1.10.0")
4288 (source
4289 (origin (method url-fetch)
4290 (uri (string-append "https://elpa.gnu.org/packages/ahungry-theme-"
4291 version ".tar"))
4292 (sha256
4293 (base32
4294 "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm"))))
4295 (build-system emacs-build-system)
4296 (home-page "https://github.com/ahungry/color-theme-ahungry")
4297 (synopsis "Ahungry color theme for Emacs")
4298 (description "Ahungry theme for Emacs provides bright and bold colors.
4299 If you load it from a terminal, you will be able to make use of the
4300 transparent background. If you load it from a GUI, it will default to a
4301 dark background.")
4302 (license license:gpl3+)))
4303
4304 (define-public emacs-gruvbox-theme
4305 (package
4306 (name "emacs-gruvbox-theme")
4307 (version "1.28.0")
4308 (source (origin
4309 (method git-fetch)
4310 (uri (git-reference
4311 (url "https://github.com/greduan/emacs-theme-gruvbox.git")
4312 (commit version)))
4313 (file-name (git-file-name name version))
4314 (sha256
4315 (base32
4316 "00qq92gp1g55pzm97rh7k0dgxy44pxziridl8kqm4rbpi31r7k9p"))))
4317 (build-system emacs-build-system)
4318 (propagated-inputs
4319 `(("emacs-autothemer" ,emacs-autothemer)))
4320 (home-page "https://github.com/greduan/emacs-theme-gruvbox")
4321 (synopsis "Gruvbox is a retro groove color scheme ported from Vim")
4322 (description
4323 "Gruvbox is heavily inspired by badwolf, jellybeans and solarized.
4324
4325 Designed as a bright theme with pastel 'retro groove' colors and light/dark
4326 mode switching in the way of solarized. The main focus when developing gruvbox
4327 is to keep colors easily distinguishable, contrast enough and still pleasant
4328 for the eyes.")
4329 (license license:expat))) ; MIT license
4330
4331 (define-public emacs-2048-game
4332 (package
4333 (name "emacs-2048-game")
4334 (version "20151026.1233")
4335 (source
4336 (origin
4337 (method url-fetch)
4338 (uri (string-append "https://melpa.org/packages/2048-game-"
4339 version ".el"))
4340 (sha256
4341 (base32
4342 "0gy2pvz79whpavp4jmz8h9krzn7brmvv3diixi1d4w51pcdvaldd"))))
4343 (build-system emacs-build-system)
4344 (home-page "https://bitbucket.org/zck/2048.el")
4345 (synopsis "Implementation of the game 2048 in Emacs Lisp")
4346 (description
4347 "This program is an implementation of 2048 for Emacs.
4348 The goal of this game is to create a tile with value 2048. The size of the
4349 board and goal value can be customized.")
4350 (license license:gpl3+)))
4351
4352 (define-public emacs-base16-theme
4353 (package
4354 (name "emacs-base16-theme")
4355 (version "2.1")
4356 (source
4357 (origin
4358 (method url-fetch)
4359 (uri (string-append "https://stable.melpa.org/packages/base16-theme-"
4360 version ".tar"))
4361 (sha256
4362 (base32
4363 "0z6hrwz2jlz6jbr381rcqcqvx6hss5cad352klx07rark7zccacj"))))
4364 (build-system emacs-build-system)
4365 (home-page "https://github.com/belak/base16-emacs")
4366 (synopsis "Base16 color themes for Emacs")
4367 (description
4368 "Base16 provides carefully chosen syntax highlighting and a default set
4369 of sixteen colors suitable for a wide range of applications. Base16 is not a
4370 single theme but a set of guidelines with numerous implementations.")
4371 (license license:expat)))
4372
4373 (define-public emacs-solaire-mode
4374 (package
4375 (name "emacs-solaire-mode")
4376 (version "1.0.9")
4377 (source
4378 (origin
4379 (method git-fetch)
4380 (uri (git-reference
4381 (url "https://github.com/hlissner/emacs-solaire-mode.git")
4382 (commit (string-append "v" version))))
4383 (file-name (git-file-name name version))
4384 (sha256
4385 (base32 "011m4r7s6i9lgjymh7jgq5jwwrpz4vmpvp3c8d4ix96v5hi04kzg"))))
4386 (build-system emacs-build-system)
4387 (home-page "https://github.com/hlissner/emacs-solaire-mode")
4388 (synopsis "Change background of file-visiting buffers in Emacs")
4389 (description
4390 "@code{solaire-mode} is inspired by editors which visually distinguish
4391 code-editing windows from sidebars, popups, terminals, ecetera. It changes the
4392 background of file-visiting buffers (and certain aspects of the UI) to make
4393 them easier to distinguish from other, less important buffers.")
4394 (license license:expat)))
4395
4396 (define-public emacs-prescient
4397 (package
4398 (name "emacs-prescient")
4399 (version "3.2")
4400 (source (origin
4401 (method git-fetch)
4402 (uri (git-reference
4403 (url "https://github.com/raxod502/prescient.el/")
4404 (commit (string-append "v" version))))
4405 (file-name (git-file-name name version))
4406 (sha256
4407 (base32
4408 "0d60h4rfm5jcf8cf11z91wjqp0xcrviskqzyqhfliqvy2i2yl6ks"))))
4409 (build-system emacs-build-system)
4410 (propagated-inputs
4411 `(("emacs-company" ,emacs-company)
4412 ("emacs-ivy" ,emacs-ivy)))
4413 (home-page "https://github.com/raxod502/prescient.el/")
4414 (synopsis "Library that sorts and filters lists of candidates")
4415 (description
4416 "This package provides a library for sorting and filtering, as well as
4417 extensions for @code{ivy-mode} and @code{company-mode} that make use of the
4418 library.")
4419 (license license:gpl3+)))
4420
4421 (define-public emacs-smartparens
4422 (package
4423 (name "emacs-smartparens")
4424 (version "1.11.0")
4425 (source
4426 (origin
4427 (method git-fetch)
4428 (uri (git-reference
4429 (url "https://github.com/Fuco1/smartparens.git")
4430 (commit version)))
4431 (file-name (git-file-name name version))
4432 (sha256
4433 (base32 "0zij2f2rjjym98w68jkp10n1ckpfprlkk217c3fg16hz5nq4vnm6"))))
4434 (build-system emacs-build-system)
4435 (propagated-inputs
4436 `(("emacs-dash" ,emacs-dash)
4437 ("emacs-markdown-mode" ,emacs-markdown-mode)))
4438 (home-page "https://github.com/Fuco1/smartparens")
4439 (synopsis "Paredit-like insertion, wrapping and navigation with user
4440 defined pairs")
4441 (description
4442 "Smartparens is a minor mode for Emacs that deals with parens pairs
4443 and tries to be smart about it. It started as a unification effort to
4444 combine functionality of several existing packages in a single,
4445 compatible and extensible way to deal with parentheses, delimiters, tags
4446 and the like. Some of these packages include autopair, textmate,
4447 wrap-region, electric-pair-mode, paredit and others. With the basic
4448 features found in other packages it also brings many improvements as
4449 well as completely new features.")
4450 (license license:gpl3+)))
4451
4452 (define-public emacs-highlight-symbol
4453 ;; We prefer a more recent commit that provides an option to squelch
4454 ;; echo-area alerts that can drown out useful information like eldoc
4455 ;; messages.
4456 (let ((commit "7a789c779648c55b16e43278e51be5898c121b3a")
4457 (version "1.3")
4458 (revision "1"))
4459 (package
4460 (name "emacs-highlight-symbol")
4461 (version (git-version version revision commit))
4462 (source
4463 (origin
4464 (method git-fetch)
4465 (uri (git-reference
4466 (url "https://github.com/nschum/highlight-symbol.el.git")
4467 (commit commit)))
4468 (file-name (git-file-name name version))
4469 (sha256
4470 (base32 "19cgyk0sh8nsmf3jbi92i8qsdx4l4yilfq5jj9zfdbj9p5gvwx96"))))
4471 (build-system emacs-build-system)
4472 (home-page "https://nschum.de/src/emacs/highlight-symbol/")
4473 (synopsis "Automatic and manual symbol highlighting for Emacs")
4474 (description
4475 "Use @code{highlight-symbol} to toggle highlighting of the symbol at
4476 point throughout the current buffer. Use @code{highlight-symbol-mode} to keep
4477 the symbol at point highlighted.
4478
4479 The functions @code{highlight-symbol-next}, @code{highlight-symbol-prev},
4480 @code{highlight-symbol-next-in-defun} and
4481 @code{highlight-symbol-prev-in-defun} allow for cycling through the locations
4482 of any symbol at point. Use @code{highlight-symbol-nav-mode} to enable key
4483 bindings @code{M-p} and @code{M-p} for navigation. When
4484 @code{highlight-symbol-on-navigation-p} is set, highlighting is triggered
4485 regardless of @code{highlight-symbol-idle-delay}.
4486
4487 @code{highlight-symbol-query-replace} can be used to replace the symbol. ")
4488 (license license:gpl2+))))
4489
4490 (define-public emacs-hl-todo
4491 (package
4492 (name "emacs-hl-todo")
4493 (version "3.0.0")
4494 (source (origin
4495 (method git-fetch)
4496 (uri (git-reference
4497 (url "https://github.com/tarsius/hl-todo")
4498 (commit (string-append "v" version))))
4499 (file-name (git-file-name name version))
4500 (sha256
4501 (base32
4502 "07xcc04ivpl5sbgb55qz84mz6wa500h0awzw1zq1ba5mfjjq8hls"))))
4503 (build-system emacs-build-system)
4504 (home-page "https://github.com/tarsius/hl-todo")
4505 (synopsis "Emacs mode to highlight TODO and similar keywords")
4506 (description
4507 "This package provides an Emacs mode to highlight TODO and similar
4508 keywords in comments and strings. This package also provides commands for
4509 moving to the next or previous keyword and to invoke @code{occur} with a
4510 regexp that matches all known keywords.")
4511 (license license:gpl3+)))
4512
4513 (define-public emacs-perspective
4514 (package
4515 (name "emacs-perspective")
4516 (version "2.2")
4517 (source
4518 (origin
4519 (method git-fetch)
4520 (uri (git-reference
4521 (url "https://github.com/nex3/perspective-el.git")
4522 (commit version)))
4523 (file-name (git-file-name name version))
4524 (sha256
4525 (base32
4526 "0pd5sqrrz6y3md20yh6ffy32jdcgb1gc9b4j14pm6r54bqxik68h"))))
4527 (build-system emacs-build-system)
4528 (home-page "https://github.com/nex3/perspective-el")
4529 (synopsis "Switch between named \"perspectives\"")
4530 (description
4531 "This package provides tagged workspaces in Emacs, similar to workspaces in
4532 windows managers such as Awesome and XMonad. @code{perspective.el} provides
4533 multiple workspaces (or \"perspectives\") for each Emacs frame. Each
4534 perspective is composed of a window configuration and a set of buffers.
4535 Switching to a perspective activates its window configuration, and when in a
4536 perspective only its buffers are available by default.")
4537 ;; This package is released under the same license as Emacs (GPLv3+) or
4538 ;; the Expat license.
4539 (license license:gpl3+)))
4540
4541 (define-public emacs-test-simple
4542 (package
4543 (name "emacs-test-simple")
4544 (version "1.3.0")
4545 (source
4546 (origin
4547 (method url-fetch)
4548 (uri (string-append "https://elpa.gnu.org/packages/test-simple-"
4549 version ".el"))
4550 (sha256
4551 (base32
4552 "1yd61jc9ds95a5n09052kwc5gasy57g4lxr0jsff040brlyi9czz"))))
4553 (build-system emacs-build-system)
4554 (home-page "https://github.com/rocky/emacs-test-simple")
4555 (synopsis "Simple unit test framework for Emacs Lisp")
4556 (description
4557 "Test Simple is a simple unit test framework for Emacs Lisp. It
4558 alleviates the need for context macros, enclosing specifications or required
4559 test tags. It supports both interactive and non-interactive use.")
4560 (license license:gpl3+)))
4561
4562 (define-public emacs-load-relative
4563 (package
4564 (name "emacs-load-relative")
4565 (version "1.3")
4566 (source
4567 (origin
4568 (method url-fetch)
4569 (uri (string-append "https://elpa.gnu.org/packages/load-relative-"
4570 version ".el"))
4571 (sha256
4572 (base32
4573 "1hfxb2436jdsi9wfmsv47lkkpa5galjf5q81bqabbsv79rv59dps"))))
4574 (build-system emacs-build-system)
4575 (home-page "http://github.com/rocky/emacs-load-relative")
4576 (synopsis "Emacs Lisp relative file loading related functions")
4577 (description
4578 "Provides functions which facilitate writing multi-file Emacs packages
4579 and running from the source tree without having to \"install\" code or fiddle
4580 with @{load-path}.
4581
4582 The main function, @code{load-relative}, loads an Emacs Lisp file relative to
4583 another (presumably currently running) Emacs Lisp file.")
4584 (license license:gpl3+)))
4585
4586 (define-public emacs-loc-changes
4587 (package
4588 (name "emacs-loc-changes")
4589 (version "1.2")
4590 (source
4591 (origin
4592 (method url-fetch)
4593 (uri (string-append "https://elpa.gnu.org/packages/loc-changes-"
4594 version ".el"))
4595 (sha256
4596 (base32
4597 "1x8fn8vqasayf1rb8a6nma9n6nbvkx60krmiahyb05vl5rrsw6r3"))))
4598 (build-system emacs-build-system)
4599 (home-page "https://github.com/rocky/emacs-loc-changes")
4600 (synopsis "Keeps track of positions even after buffer changes")
4601 (description
4602 "This Emacs package provides a mean to track important buffer positions
4603 after buffer changes.")
4604 (license license:gpl3+)))
4605
4606 (define-public emacs-realgud
4607 (package
4608 (name "emacs-realgud")
4609 (version "1.5.0")
4610 (source
4611 (origin
4612 (method git-fetch)
4613 (uri (git-reference
4614 (url "https://github.com/realgud/realgud/")
4615 (commit version)))
4616 (sha256
4617 (base32
4618 "0xnick9016wxrgi8v0lycvxhyz8l2k4nfvdpjc5yq476vwrjfzbz"))
4619 (file-name (git-file-name name version))))
4620 (build-system emacs-build-system)
4621 (arguments
4622 `(#:tests? #t
4623 #:phases
4624 (modify-phases %standard-phases
4625 (add-after 'set-emacs-load-path 'fix-autogen-script
4626 (lambda _
4627 (substitute* "autogen.sh"
4628 (("./configure") "sh configure"))))
4629 (add-after 'fix-autogen-script 'autogen
4630 (lambda _
4631 (setenv "CONFIG_SHELL" "sh")
4632 (invoke "sh" "autogen.sh")))
4633 (add-after 'fix-autogen-script 'set-home
4634 (lambda _
4635 (setenv "HOME" (getenv "TMPDIR"))))
4636 (add-before 'patch-el-files 'remove-realgud-pkg.el
4637 (lambda _
4638 ;; FIXME: `patch-el-files' crashes on this file with error:
4639 ;; unable to locate "bashdb".
4640 (delete-file "./test/test-regexp-bashdb.el"))))
4641 #:include (cons* ".*\\.el$" %default-include)))
4642 (native-inputs
4643 `(("autoconf" ,autoconf)
4644 ("automake" ,automake)
4645 ("emacs-test-simple" ,emacs-test-simple)))
4646 (propagated-inputs
4647 `(("emacs-load-relative" ,emacs-load-relative)
4648 ("emacs-loc-changes" ,emacs-loc-changes)))
4649 (home-page "https://github.com/realgud/realgud/")
4650 (synopsis
4651 "Modular front-end for interacting with external debuggers")
4652 (description
4653 "RealGUD is a modular, extensible GNU Emacs front-end for interacting
4654 with external debuggers. It integrates various debuggers such as gdb, pdb,
4655 ipdb, jdb, lldb, bashdb, zshdb, etc. and allows to visually step code in the
4656 sources. Unlike GUD, it also supports running multiple debug sessions in
4657 parallel.")
4658 (license license:gpl3+)))
4659
4660 (define-public emacs-request
4661 (package
4662 (name "emacs-request")
4663 (version "0.3.1")
4664 (source (origin
4665 (method git-fetch)
4666 (uri (git-reference
4667 (url "https://github.com/tkf/emacs-request.git")
4668 (commit (string-append "v" version))))
4669 (file-name (git-file-name name version))
4670 (sha256
4671 (base32
4672 "0fhhd349l4iqkrjxqzpckfk2w45x2g4cccpm1dqzv9m49md1wphx"))))
4673 (build-system emacs-build-system)
4674 (propagated-inputs
4675 `(("emacs-deferred" ,emacs-deferred)))
4676 (home-page "https://github.com/tkf/emacs-request")
4677 (synopsis "Package for speaking HTTP in Emacs Lisp")
4678 (description "This package provides a HTTP request library with multiple
4679 backends. It supports url.el which is shipped with Emacs and the curl command
4680 line program.")
4681 (license license:gpl3+)))
4682
4683 (define-public emacs-rudel
4684 (package
4685 (name "emacs-rudel")
4686 (version "0.3.1")
4687 (source
4688 (origin
4689 (method url-fetch)
4690 (uri (string-append "http://elpa.gnu.org/packages/rudel-"
4691 version ".tar"))
4692 (sha256
4693 (base32
4694 "0glqa68g509p0s2vcc0i8kzlddnc9brd9jqhnm5rzxz4i050cvnz"))))
4695 (build-system emacs-build-system)
4696 (home-page "http://rudel.sourceforge.net/")
4697 (synopsis "Collaborative editing framework")
4698 (description
4699 "Rudel is a collaborative editing environment for GNU Emacs. Its purpose
4700 is to share buffers with other users in order to edit the contents of those
4701 buffers collaboratively. Rudel supports multiple backends to enable
4702 communication with other collaborative editors using different protocols,
4703 though currently Obby (for use with the Gobby editor) is the only
4704 fully-functional one.")
4705 (license license:gpl3+)))
4706
4707 (define-public emacs-hydra
4708 (package
4709 (name "emacs-hydra")
4710 (version "0.15.0")
4711 (source
4712 (origin
4713 (method git-fetch)
4714 (uri (git-reference
4715 (url "https://github.com/abo-abo/hydra")
4716 (commit version)))
4717 (file-name (git-file-name name version))
4718 (sha256
4719 (base32
4720 "0fapvhmhgc9kppf3bvkgry0cd7gyilg7sfvlscfrfjxpx4xvwsfy"))))
4721 (build-system emacs-build-system)
4722 (home-page "https://github.com/abo-abo/hydra")
4723 (synopsis "Make Emacs bindings that stick around")
4724 (description
4725 "This package can be used to tie related commands into a family of short
4726 bindings with a common prefix---a Hydra. Once you summon the Hydra (through
4727 the prefixed binding), all the heads can be called in succession with only a
4728 short extension. Any binding that isn't the Hydra's head vanquishes the
4729 Hydra. Note that the final binding, besides vanquishing the Hydra, will still
4730 serve its original purpose, calling the command assigned to it. This makes
4731 the Hydra very seamless; it's like a minor mode that disables itself
4732 automatically.")
4733 (license license:gpl3+)))
4734
4735 (define-public emacs-ivy
4736 ;; The latest release version introduced a new feature, swiper-isearch, that
4737 ;; generally works well but had some noticeable bugs; this later commit
4738 ;; includes fixes for several of them.
4739 (let ((commit "d3e4514fd72f217c704ae18afdf711bb9036a04d")
4740 (revision "1"))
4741 (package
4742 (name "emacs-ivy")
4743 (version (git-version "0.12.0" revision commit))
4744 (source
4745 (origin
4746 (method git-fetch)
4747 (uri (git-reference
4748 (url "https://github.com/abo-abo/swiper.git")
4749 (commit commit)))
4750 (file-name (git-file-name name version))
4751 (sha256
4752 (base32
4753 "142axxc6vsl14cfyvzj9csiykxdn7vhw88fy955hzx7av4qfqg4x"))))
4754 (build-system emacs-build-system)
4755 (arguments
4756 `(#:phases
4757 (modify-phases %standard-phases
4758 (add-after 'install 'install-doc
4759 (lambda* (#:key outputs #:allow-other-keys)
4760 (let* ((out (assoc-ref outputs "out"))
4761 (info (string-append out "/share/info")))
4762 (with-directory-excursion "doc"
4763 (invoke "makeinfo" "ivy.texi")
4764 (install-file "ivy.info" info)
4765 #t)))))))
4766 (propagated-inputs
4767 `(("emacs-hydra" ,emacs-hydra)))
4768 (native-inputs
4769 `(("texinfo" ,texinfo)))
4770 (home-page "http://oremacs.com/swiper/")
4771 (synopsis "Incremental vertical completion for Emacs")
4772 (description
4773 "This package provides @code{ivy-read} as an alternative to
4774 @code{completing-read} and similar functions. No attempt is made to determine
4775 the best candidate. Instead, the user can navigate candidates with
4776 @code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
4777 splitting the input text by spaces and re-building it into a regular
4778 expression.")
4779 (license license:gpl3+))))
4780
4781 (define-public emacs-ivy-pass
4782 (let ((commit "5b523de1151f2109fdd6a8114d0af12eef83d3c5")
4783 (revision "1"))
4784 (package
4785 (name "emacs-ivy-pass")
4786 (version (git-version "0.1" revision commit))
4787 (source
4788 (origin
4789 (method git-fetch)
4790 (uri (git-reference
4791 (url "https://github.com/ecraven/ivy-pass.git")
4792 (commit commit)))
4793 (file-name (git-file-name name version))
4794 (sha256
4795 (base32
4796 "18crb4zh2pjf0cmv3b913m9vfng27girjwfqc3mk7vqd1r5a49yk"))))
4797 (build-system emacs-build-system)
4798 (propagated-inputs
4799 `(("emacs-ivy" ,emacs-ivy)
4800 ("emacs-password-store" ,emacs-password-store)
4801 ("password-store" ,password-store)))
4802 (home-page "https://github.com/ecraven/ivy-pass")
4803 (synopsis "Ivy interface for password store (pass)")
4804 (description "This package provides an Ivy interface for working with
4805 the password store @code{pass}.")
4806 (license license:gpl3))))
4807
4808 (define-public emacs-ivy-yasnippet
4809 (let ((commit "32580b4fd23ebf9ca7dde96704f7d53df6e253cd")
4810 (revision "2"))
4811 (package
4812 (name "emacs-ivy-yasnippet")
4813 (version (git-version "0.1" revision commit))
4814 (source
4815 (origin
4816 (method git-fetch)
4817 (uri (git-reference
4818 (url "https://github.com/mkcms/ivy-yasnippet.git")
4819 (commit commit)))
4820 (file-name (git-file-name name version))
4821 (sha256
4822 (base32
4823 "1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"))))
4824 (build-system emacs-build-system)
4825 (propagated-inputs
4826 `(("emacs-ivy" ,emacs-ivy)
4827 ("emacs-yasnippet" ,emacs-yasnippet)
4828 ("emacs-dash" ,emacs-dash)))
4829 (home-page "https://github.com/mkcms/ivy-yasnippet")
4830 (synopsis "Preview @code{yasnippets} with @code{ivy}")
4831 (description "This package allows you to select @code{yasnippet}
4832 snippets using @code{ivy} completion. When current selection changes in the
4833 minibuffer, the snippet contents are temporarily expanded in the buffer. To
4834 use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
4835 @code{yas-minor-mode} first).")
4836 (license license:gpl3+))))
4837
4838 (define-public emacs-ivy-rich
4839 ;; The latest release version has a small mistake that has since been fixed,
4840 ;; so we use a more recent commit.
4841 (let ((commit "f6bfa293c6df0b43cc411876b665816ec3f03d08")
4842 (version "0.1.4")
4843 (revision "1"))
4844 (package
4845 (name "emacs-ivy-rich")
4846 (version (git-version version revision commit))
4847 (source
4848 (origin
4849 (method git-fetch)
4850 (uri (git-reference
4851 (url "https://github.com/Yevgnen/ivy-rich.git")
4852 (commit commit)))
4853 (file-name (git-file-name name version))
4854 (sha256
4855 (base32 "1s8nwwb1z6lkc58g02pi8w99qms948k8d02lw8k8cq47dw87i219"))))
4856 (build-system emacs-build-system)
4857 (propagated-inputs
4858 `(("emacs-ivy" ,emacs-ivy)))
4859 (home-page "https://github.com/Yevgnen/ivy-rich")
4860 (synopsis "More friendly interface for @code{ivy}")
4861 (description
4862 "This package extends @code{ivy} by showing more information in the
4863 minibuffer for each candidate. It adds columns showing buffer modes, file
4864 sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can
4865 show icons as well.")
4866 (license license:gpl3+))))
4867
4868 (define-public emacs-avy
4869 (package
4870 (name "emacs-avy")
4871 (version "0.5.0")
4872 (source
4873 (origin
4874 (method git-fetch)
4875 (uri (git-reference
4876 (url "https://github.com/abo-abo/avy.git")
4877 (commit version)))
4878 (file-name (git-file-name name version))
4879 (sha256
4880 (base32 "09qdni1s74i5pv8741szl5g4ynj8fxn0x65qmwa9rmfkbimnc0fs"))))
4881 (build-system emacs-build-system)
4882 (home-page "https://github.com/abo-abo/avy")
4883 (synopsis "Tree-based completion for Emacs")
4884 (description
4885 "This package provides a generic completion method based on building a
4886 balanced decision tree with each candidate being a leaf. To traverse the tree
4887 from the root to a desired leaf, typically a sequence of @code{read-key} can
4888 be used.
4889
4890 In order for @code{read-key} to make sense, the tree needs to be visualized
4891 appropriately, with a character at each branch node. So this completion
4892 method works only for things that you can see on your screen, all at once,
4893 such as the positions of characters, words, line beginnings, links, or
4894 windows.")
4895 (license license:gpl3+)))
4896
4897 (define-public emacs-ace-window
4898 (package
4899 (name "emacs-ace-window")
4900 (version "0.9.0")
4901 (source
4902 (origin
4903 (method git-fetch)
4904 (uri (git-reference
4905 (url "https://github.com/abo-abo/ace-window.git")
4906 (commit version)))
4907 (file-name (git-file-name name version))
4908 (sha256
4909 (base32 "07mcdzjmgrqdvjs94f2n5bkrf5vrq2fwzz256wbm3wzqxqkfy1q6"))))
4910 (build-system emacs-build-system)
4911 (propagated-inputs
4912 `(("emacs-avy" ,emacs-avy)))
4913 (home-page "https://github.com/abo-abo/ace-window")
4914 (synopsis "Quickly switch windows in Emacs")
4915 (description
4916 "@code{ace-window} is meant to replace @code{other-window}.
4917 In fact, when there are only two windows present, @code{other-window} is
4918 called. If there are more, each window will have its first character
4919 highlighted. Pressing that character will switch to that window.")
4920 (license license:gpl3+)))
4921
4922 (define-public emacs-iedit
4923 (package
4924 (name "emacs-iedit")
4925 (version "0.9.9.9")
4926 (source
4927 (origin
4928 (method git-fetch)
4929 (uri (git-reference
4930 (url "https://github.com/victorhge/iedit.git")
4931 (commit (string-append "v" version))))
4932 (file-name (git-file-name name version))
4933 (sha256
4934 (base32 "1pwkrm98vlpzsy5iwwfksdaz3zzyi7bvdf5fglhsn4ssf47p787g"))))
4935 (build-system emacs-build-system)
4936 (home-page "http://www.emacswiki.org/emacs/Iedit")
4937 (synopsis "Edit multiple regions in the same way simultaneously")
4938 (description
4939 "This package is an Emacs minor mode and allows you to edit one
4940 occurrence of some text in a buffer (possibly narrowed) or region, and
4941 simultaneously have other occurrences edited in the same way.
4942
4943 You can also use Iedit mode as a quick way to temporarily show only the buffer
4944 lines that match the current text being edited. This gives you the effect of
4945 a temporary @code{keep-lines} or @code{occur}.")
4946 (license license:gpl3+)))
4947
4948 (define-public emacs-zoutline
4949 (package
4950 (name "emacs-zoutline")
4951 (version "0.2.0")
4952 (source
4953 (origin
4954 (method git-fetch)
4955 (uri (git-reference
4956 (url "https://github.com/abo-abo/zoutline")
4957 (commit version)))
4958 (sha256
4959 (base32
4960 "1w0zh6vs7klgivq5r030a82mcfg1zwic4x3fimyiqyg5n8p67hyx"))
4961 (file-name (git-file-name name version))))
4962 (build-system emacs-build-system)
4963 (home-page "https://github.com/abo-abo/zoutline")
4964 (synopsis "Simple outline library")
4965 (description
4966 "This library provides helpers for outlines. Outlines allow users to
4967 navigate code in a tree-like fashion.")
4968 (license license:gpl3+)))
4969
4970 (define-public emacs-lispy
4971 (package
4972 (name "emacs-lispy")
4973 (version "0.27.0")
4974 (home-page "https://github.com/abo-abo/lispy")
4975 (source (origin
4976 (method git-fetch)
4977 (uri (git-reference
4978 (url "https://github.com/abo-abo/lispy")
4979 (commit version)))
4980 (sha256
4981 (base32
4982 "1cm7f4pyl73f3vhkb7ah6bbbrj2sa7n0p31g09k7dy4zgx04bgw6"))
4983 (file-name (git-file-name name version))))
4984 (build-system emacs-build-system)
4985 (propagated-inputs
4986 `(("emacs-ace-window" ,emacs-ace-window)
4987 ("emacs-iedit" ,emacs-iedit)
4988 ("emacs-ivy" ,emacs-ivy)
4989 ("emacs-hydra" ,emacs-hydra)
4990 ("emacs-zoutline" ,emacs-zoutline)))
4991 (synopsis "Modal S-expression editing")
4992 (description
4993 "Due to the structure of Lisp syntax it's very rare for the programmer
4994 to want to insert characters right before \"(\" or right after \")\". Thus
4995 unprefixed printable characters can be used to call commands when the point is
4996 at one of these special locations. Lispy provides unprefixed keybindings for
4997 S-expression editing when point is at the beginning or end of an
4998 S-expression.")
4999 (license license:gpl3+)))
5000
5001 (define-public emacs-lispyville
5002 (let ((commit "d28b937f0cabd8ce61e2020fe9a733ca80d82c74")
5003 (revision "1"))
5004 (package
5005 (name "emacs-lispyville")
5006 (version (git-version "0.1" revision commit))
5007 (home-page "https://github.com/noctuid/lispyville")
5008 (source (origin
5009 (method git-fetch)
5010 (uri (git-reference (url home-page) (commit commit)))
5011 (sha256
5012 (base32
5013 "0f6srwj1qqkfkbmp5n5pjvi6gm7b7xav05p5hrs2i83rjrakzzqx"))
5014 (file-name (git-file-name name version))))
5015 (propagated-inputs
5016 `(("emacs-evil" ,emacs-evil)
5017 ("emacs-lispy" ,emacs-lispy)))
5018 (build-system emacs-build-system)
5019 (synopsis "Minor mode for integrating Evil with lispy")
5020 (description
5021 "LispyVille's main purpose is to provide a Lisp editing environment
5022 suited towards Evil users. It can serve as a minimal layer on top of lispy
5023 for better integration with Evil, but it does not require the use of lispy’s
5024 keybinding style. The provided commands allow for editing Lisp in normal
5025 state and will work even without lispy being enabled.")
5026 (license license:gpl3+))))
5027
5028 (define-public emacs-lpy
5029 (let ((commit "553d28f7b6523ae5d44d34852ab770b871b0b0ad")
5030 (version "0.1.0")
5031 (revision "1"))
5032 (package
5033 (name "emacs-lpy")
5034 (version (git-version version revision commit))
5035 (source
5036 (origin
5037 (method git-fetch)
5038 (uri (git-reference
5039 (url "https://github.com/abo-abo/lpy")
5040 (commit commit)))
5041 (sha256
5042 (base32
5043 "0kl9b3gga18cwv5cq4db8i6b7waj6mp3h2l7qjnp7wq6dpvwhn0i"))
5044 (file-name (git-file-name name version))))
5045 (propagated-inputs
5046 `(("emacs-zoutline" ,emacs-zoutline)
5047 ("emacs-lispy" ,emacs-lispy)))
5048 (build-system emacs-build-system)
5049 (home-page "https://github.com/abo-abo/lpy")
5050 (synopsis "Modal editing for Python")
5051 (description
5052 "This package provides a minor mode for Python that binds useful
5053 commands to unprefixed keys, such as @code{j} or @code{e}, under certain
5054 circumstances, and leaves the keys untouched outside of those situations,
5055 allowing unprefixed keys to insert their respective characters as expected.")
5056 (license license:gpl3+))))
5057
5058 (define-public emacs-clojure-mode
5059 (package
5060 (name "emacs-clojure-mode")
5061 (version "5.6.1")
5062 (source
5063 (origin
5064 (method git-fetch)
5065 (uri (git-reference
5066 (url "https://github.com/clojure-emacs/clojure-mode.git")
5067 (commit version)))
5068 (file-name (git-file-name name version))
5069 (sha256
5070 (base32 "1qadymqzs5fn1sb347xzfw8lqq6s85vvkh4kzm35m61g5i2lm86y"))))
5071 (build-system emacs-build-system)
5072 (native-inputs
5073 `(("emacs-dash" ,emacs-dash)
5074 ("emacs-s" ,emacs-s)
5075 ("ert-runner" ,emacs-ert-runner)))
5076 (arguments
5077 `(#:tests? #t
5078 #:test-command '("ert-runner")))
5079 (home-page "https://github.com/clojure-emacs/clojure-mode")
5080 (synopsis "Major mode for Clojure code")
5081 (description
5082 "This Emacs package provides font-lock, indentation, navigation and basic
5083 refactoring for the @uref{http://clojure.org, Clojure programming language}.
5084 It is recommended to use @code{clojure-mode} with paredit or smartparens.")
5085 (license license:gpl3+)))
5086
5087 (define-public emacs-epl
5088 (package
5089 (name "emacs-epl")
5090 (version "0.8")
5091 (source
5092 (origin
5093 (method git-fetch)
5094 (uri (git-reference
5095 (url "https://github.com/cask/epl.git")
5096 (commit version)))
5097 (file-name (git-file-name name version))
5098 (sha256
5099 (base32 "0sjxd5y5hxhrbgfkpwx6m724r3841b53hgc61a0g5zwispw5pmrr"))))
5100 (build-system emacs-build-system)
5101 (home-page "https://github.com/cask/epl")
5102 (synopsis "Emacs Package Library")
5103 (description
5104 "A package management library for Emacs, based on @code{package.el}.
5105
5106 The purpose of this library is to wrap all the quirks and hassle of
5107 @code{package.el} into a sane API.")
5108 (license license:gpl3+)))
5109
5110 (define-public emacs-counsel-projectile
5111 (package
5112 (name "emacs-counsel-projectile")
5113 (version "0.3.0")
5114 (source (origin
5115 (method git-fetch)
5116 (uri (git-reference
5117 (url "https://github.com/ericdanan/counsel-projectile")
5118 (commit version)))
5119 (file-name (git-file-name name version))
5120 (sha256
5121 (base32
5122 "1inc4ndl0ysfwvxk4avbgpj4qi9rc93da6476a5c81xmwpsv8wmq"))))
5123 (build-system emacs-build-system)
5124 (propagated-inputs
5125 `(("emacs-ivy" ,emacs-ivy)
5126 ("emacs-projectile" ,emacs-projectile)))
5127 (home-page "https://github.com/ericdanan/counsel-projectile")
5128 (synopsis "Enhance Projectile with Ivy")
5129 (description
5130 "This package uses Ivy to provide additional actions for Projectile
5131 commands and replacements for existing functions.")
5132 (license license:gpl3+)))
5133
5134 (define-public emacs-queue
5135 (package
5136 (name "emacs-queue")
5137 (version "0.2")
5138 (source (origin
5139 (method url-fetch)
5140 (uri (string-append "https://elpa.gnu.org/packages/queue-"
5141 version ".el"))
5142 (sha256
5143 (base32
5144 "0cx2848sqnnkkr4zisvqadzxngjyhmb36mh0q3if7q19yjjhmrkb"))))
5145 (build-system emacs-build-system)
5146 (home-page "http://www.dr-qubit.org/tags/computing-code-emacs.html")
5147 (synopsis "Queue data structure for Emacs")
5148 (description
5149 "This Emacs library provides queue data structure. These queues can be
5150 used both as a first-in last-out (FILO) and as a first-in first-out (FIFO)
5151 stack, i.e. elements can be added to the front or back of the queue, and can
5152 be removed from the front. This type of data structure is sometimes called an
5153 \"output-restricted deque\".")
5154 (license license:gpl3+)))
5155
5156 (define-public emacs-pkg-info
5157 (package
5158 (name "emacs-pkg-info")
5159 (version "0.6")
5160 (source
5161 (origin
5162 (method git-fetch)
5163 (uri (git-reference
5164 (url "https://github.com/lunaryorn/pkg-info.el.git")
5165 (commit version)))
5166 (file-name (git-file-name name version))
5167 (sha256
5168 (base32 "0nk12dcppdyhav6m6yf7abpywyd7amxd4237zsfd32w4zxsx39k1"))))
5169 (build-system emacs-build-system)
5170 (propagated-inputs `(("emacs-epl" ,emacs-epl)))
5171 (home-page "https://github.com/lunaryorn/pkg-info.el")
5172 (synopsis "Information about Emacs packages")
5173 (description
5174 "This library extracts information from the installed Emacs packages.")
5175 (license license:gpl3+)))
5176
5177 (define-public emacs-spinner
5178 (package
5179 (name "emacs-spinner")
5180 (version "1.7.3")
5181 (source (origin
5182 (method url-fetch)
5183 (uri (string-append "https://elpa.gnu.org/packages/spinner-"
5184 version ".el"))
5185 (sha256
5186 (base32
5187 "19kp1mmndbmw11sgvv2ggfjl4pyf5zrsbh3871f0965pw9z8vahd"))))
5188 (build-system emacs-build-system)
5189 (home-page "https://github.com/Malabarba/spinner.el")
5190 (synopsis "Emacs mode-line spinner for operations in progress")
5191 (description
5192 "This Emacs package adds spinners and progress-bars to the mode-line for
5193 ongoing operations.")
5194 (license license:gpl3+)))
5195
5196 (define-public emacs-sparql-mode
5197 (package
5198 (name "emacs-sparql-mode")
5199 (version "2.0.1")
5200 (source
5201 (origin
5202 (method git-fetch)
5203 (uri (git-reference
5204 (url "https://github.com/ljos/sparql-mode.git")
5205 (commit (string-append "v" version))))
5206 (file-name (git-file-name name version))
5207 (sha256
5208 (base32 "0ywhqk6n5k0l85zjwbnrivnvxjzqipqrggv06lify6yv18qmyl6s"))))
5209 (build-system emacs-build-system)
5210 (home-page "https://github.com/ljos/sparql-mode")
5211 (synopsis "SPARQL mode for Emacs")
5212 (description "This package provides a major mode for Emacs that provides
5213 syntax highlighting for SPARQL. It also provides a way to execute queries
5214 against a SPARQL HTTP endpoint, such as is provided by Fuseki. It is also
5215 possible to query other endpoints like DBPedia.")
5216 (license license:gpl3+)))
5217
5218 (define-public emacs-better-defaults
5219 (package
5220 (name "emacs-better-defaults")
5221 (version "0.1.3")
5222 (source
5223 (origin
5224 (method url-fetch)
5225 (uri (string-append "https://github.com/technomancy/better-defaults"
5226 "/archive/" version ".tar.gz"))
5227 (file-name (string-append name "-" version ".tar.gz"))
5228 (sha256
5229 (base32
5230 "08fg4zslzlxbvyil5g4gwvwd22fh4zsgqprs5wh9hv1rgc6757m2"))))
5231 (build-system emacs-build-system)
5232 (home-page "https://github.com/technomancy/better-defaults")
5233 (synopsis "Better defaults for Emacs")
5234 (description
5235 "Better defaults attempts to address the most obvious deficiencies of the
5236 Emacs default configuration in uncontroversial ways that nearly everyone can
5237 agree upon.")
5238 (license license:gpl3+)))
5239
5240 (define-public emacs-undohist-el
5241 (let ((commit "d2239a5f736724ceb9e3b6bcaa86f4064805cda0")
5242 (revision "1"))
5243 (package
5244 (name "emacs-undohist-el")
5245 (version (git-version "0" revision commit))
5246 (source
5247 (origin
5248 (method git-fetch)
5249 (uri (git-reference
5250 (url "https://github.com/m2ym/undohist-el")
5251 (commit commit)))
5252 (file-name (git-file-name name version))
5253 (sha256
5254 (base32
5255 "1c0daw246ky7b1x5b8h55x79pl1pjqk1k348l487bdd8zdj4w9wx"))
5256 (patches
5257 (search-patches "emacs-undohist-ignored.patch"))))
5258 (build-system emacs-build-system)
5259 (home-page "https://github.com/m2ym/undohist-el")
5260 (synopsis "Save undo history between sessions")
5261 (description "This package allows persistent use of undo history for
5262 individual file buffers.")
5263 (license license:gpl3+))))
5264
5265 (define-public emacs-eprime
5266 (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f"))
5267 (package
5268 (name "emacs-eprime")
5269 (version (string-append "20140513-" (string-take commit 7)))
5270 (source (origin
5271 (method url-fetch)
5272 (uri (string-append "https://raw.githubusercontent.com"
5273 "/AndrewHynes/eprime-mode/"
5274 commit "/eprime-mode.el"))
5275 (file-name (string-append "eprime-" version ".el"))
5276 (sha256
5277 (base32
5278 "0v68lggkyq7kbcr9zyi573m2g2x251xy3jadlaw8kx02l8krwq8d"))))
5279 (build-system emacs-build-system)
5280 (home-page "https://github.com/AndrewHynes/eprime-mode")
5281 (synopsis "E-prime checking mode for Emacs")
5282 (description "This package provides an E-prime checking mode for Emacs
5283 that highlights non-conforming text. The subset of the English language called
5284 E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
5285 (license license:gpl3+))))
5286
5287 (define-public emacs-julia-mode
5288 ;; XXX: Upstream version remained stuck at 0.3. See
5289 ;; <https://github.com/JuliaEditorSupport/julia-emacs/issues/46>.
5290 (let ((commit "115d4dc8a07445301772da8376b232fa8c7168f4")
5291 (revision "1"))
5292 (package
5293 (name "emacs-julia-mode")
5294 (version (string-append "0.3-" revision "." (string-take commit 8)))
5295 (source
5296 (origin
5297 (method git-fetch)
5298 (uri (git-reference
5299 (url "https://github.com/JuliaEditorSupport/julia-emacs.git")
5300 (commit commit)))
5301 (file-name (git-file-name name version))
5302 (sha256
5303 (base32
5304 "1is4dcv6blslpzbjcg8l2jpxi8xj96q4cm0nxjxsyswpm8bw8ki0"))))
5305 (build-system emacs-build-system)
5306 (arguments
5307 `(#:tests? #t
5308 #:test-command '("emacs" "--batch"
5309 "-l" "julia-mode-tests.el"
5310 "-f" "ert-run-tests-batch-and-exit")))
5311 (home-page "https://github.com/JuliaEditorSupport/julia-emacs")
5312 (synopsis "Major mode for Julia")
5313 (description "This Emacs package provides a mode for the Julia
5314 programming language.")
5315 (license license:expat))))
5316
5317 (define-public emacs-smex
5318 (package
5319 (name "emacs-smex")
5320 (version "3.0")
5321 (source (origin
5322 (method url-fetch)
5323 (uri (string-append "https://raw.githubusercontent.com"
5324 "/nonsequitur/smex/" version "/smex.el"))
5325 (file-name (string-append "smex-" version ".el"))
5326 (sha256
5327 (base32
5328 "0ar310zx9k5y4i1vl2rawvi712xj9gx77160860jbs691p77cxqp"))))
5329 (build-system emacs-build-system)
5330 (home-page "https://github.com/nonsequitur/smex/")
5331 (synopsis "M-x interface with Ido-style fuzzy matching")
5332 (description
5333 "Smex is a M-x enhancement for Emacs. Built on top of Ido, it provides a
5334 convenient interface to your recently and most frequently used commands. And
5335 to all the other commands, too.")
5336 (license license:gpl3+)))
5337
5338 (define-public emacs-js2-mode
5339 (package
5340 (name "emacs-js2-mode")
5341 (version "20190219")
5342 (source
5343 (origin
5344 (method git-fetch)
5345 (uri (git-reference
5346 (url "https://github.com/mooz/js2-mode.git")
5347 (commit version)))
5348 (file-name (git-file-name name version))
5349 (sha256
5350 (base32 "0766bbr4piia9vfr4ivd2gwi8dxah654adv6h28ylz4q8xmfzm1b"))))
5351 (build-system emacs-build-system)
5352 (home-page "https://github.com/mooz/js2-mode/")
5353 (synopsis "Improved JavaScript editing mode for Emacs")
5354 (description
5355 "Js2-mode provides a JavaScript major mode for Emacs that is more
5356 advanced than the built-in javascript-mode. Features include accurate syntax
5357 highlighting using a recursive-descent parser, on-the-fly reporting of syntax
5358 errors and strict-mode warnings, smart line-wrapping within comments and
5359 strings, and code folding.")
5360 (license license:gpl3+)))
5361
5362 (define-public emacs-nodejs-repl
5363 (package
5364 (name "emacs-nodejs-repl")
5365 (version "0.2.2")
5366 (source (origin
5367 (method git-fetch)
5368 (uri (git-reference
5369 (url "https://github.com/abicky/nodejs-repl.el")
5370 (commit version)))
5371 (file-name (git-file-name name version))
5372 (sha256
5373 (base32
5374 "1kkj888k9x5n0i7xkia177gzsa84my3g8n0n7v65281cc4f1yhk5"))))
5375 (build-system emacs-build-system)
5376 (home-page "https://github.com/abicky/nodejs-repl.el")
5377 (synopsis "Node.js REPL inside Emacs")
5378 (description
5379 "This program is derived from comint-mode and provides the following
5380 features:
5381
5382 @itemize
5383 @item TAB completion same as Node.js REPL
5384 @item file name completion in string
5385 @item incremental history search
5386 @end itemize")
5387 (license license:gpl3+)))
5388
5389 (define-public emacs-typescript-mode
5390 (package
5391 (name "emacs-typescript-mode")
5392 (version "0.3")
5393 (source (origin
5394 (method git-fetch)
5395 (uri (git-reference
5396 (url "https://github.com/ananthakumaran/typescript.el")
5397 (commit (string-append "v" version))))
5398 (file-name (git-file-name name version))
5399 (sha256
5400 (base32
5401 "002f1xfhq43fjaqliwrgxspryfahpa82va5dw3p8kwil2xwvc6mh"))))
5402 (build-system emacs-build-system)
5403 (home-page "https://github.com/ananthakumaran/typescript.el")
5404 (synopsis "Emacs major mode for editing Typescript code")
5405 (description
5406 "This is based on Karl Landstrom's barebones @code{typescript-mode}.
5407 This is much more robust and works with @code{cc-mode}'s comment
5408 filling (mostly). The modifications to the original @code{javascript.el} mode
5409 mainly consisted in replacing \"javascript\" with \"typescript\"
5410
5411 The main features of this Typescript mode are syntactic highlighting (enabled
5412 with @code{font-lock-mode} or @code{global-font-lock-mode}), automatic
5413 indentation and filling of comments and C preprocessor fontification.")
5414 (license license:gpl3+)))
5415
5416 (define-public emacs-tide
5417 (package
5418 (name "emacs-tide")
5419 (version "3.2.3")
5420 (source (origin
5421 (method git-fetch)
5422 (uri (git-reference
5423 (url "https://github.com/ananthakumaran/tide")
5424 (commit (string-append "v" version))))
5425 (file-name (git-file-name name version))
5426 (sha256
5427 (base32
5428 "19kjq4kr2j853p5qp1s79zxmrfprli82lsnphbrlp9vbnib28xyd"))))
5429 (build-system emacs-build-system)
5430 (propagated-inputs
5431 `(("emacs-dash" ,emacs-dash)
5432 ("emacs-s" ,emacs-s)
5433 ("emacs-flycheck" ,emacs-flycheck)
5434 ("emacs-typescript-mode" ,emacs-typescript-mode)))
5435 (home-page "https://github.com/ananthakumaran/tide")
5436 (synopsis "Typescript IDE for Emacs")
5437 (description
5438 "Tide is an Interactive Development Environment (IDE) for Emacs which
5439 provides the following features:
5440
5441 @itemize
5442 @item ElDoc
5443 @item Auto complete
5444 @item Flycheck
5445 @item Jump to definition, Jump to type definition
5446 @item Find occurrences
5447 @item Rename symbol
5448 @item Imenu
5449 @item Compile On Save
5450 @item Highlight Identifiers
5451 @item Code Fixes
5452 @item Code Refactor
5453 @item Organize Imports
5454 @end itemize")
5455 (license license:gpl3+)))
5456
5457 (define-public emacs-markdown-mode
5458 (package
5459 (name "emacs-markdown-mode")
5460 (version "2.3")
5461 (source (origin
5462 (method url-fetch)
5463 (uri (string-append "https://raw.githubusercontent.com/jrblevin"
5464 "/markdown-mode/v" version
5465 "/markdown-mode.el"))
5466 (file-name (string-append "markdown-mode-" version ".el"))
5467 (sha256
5468 (base32
5469 "152whyrq3dqlqy5wv4mdd94kmal19hs5kwaxjcp2gp2r97lsmdmi"))))
5470 (build-system emacs-build-system)
5471 (home-page "http://jblevins.org/projects/markdown-mode/")
5472 (synopsis "Emacs Major mode for Markdown files")
5473 (description
5474 "Markdown-mode is a major mode for editing Markdown-formatted text files
5475 in Emacs.")
5476 (license license:gpl3+)))
5477
5478 (define-public emacs-edit-indirect
5479 (package
5480 (name "emacs-edit-indirect")
5481 (version "0.1.5")
5482 (source
5483 (origin
5484 (method git-fetch)
5485 (uri (git-reference
5486 (url "https://github.com/Fanael/edit-indirect")
5487 (commit version)))
5488 (file-name (git-file-name name version))
5489 (sha256
5490 (base32
5491 "0by1x53pji39fjrj5bd446kz831nv0vdgw2jqasbym4pc1p2947r"))))
5492 (build-system emacs-build-system)
5493 (home-page "https://github.com/Fanael/edit-indirect")
5494 (synopsis "Edit regions in separate buffers")
5495 (description "This package allows you to edit regions in separate buffers,
5496 like @code{org-edit-src-code} but for arbitrary regions.")
5497 (license license:gpl3+)))
5498
5499 (define-public emacs-projectile
5500 (package
5501 (name "emacs-projectile")
5502 (version "2.0.0")
5503 (source (origin
5504 (method url-fetch)
5505 (uri (string-append "https://raw.githubusercontent.com/bbatsov"
5506 "/projectile/v" version "/projectile.el"))
5507 (file-name (string-append "projectile-" version ".el"))
5508 (sha256
5509 (base32
5510 "149hablms6n9b4wp78dz4pjz1rzyylfw9ayghq5p9d7k661mvyby"))))
5511 (build-system emacs-build-system)
5512 (propagated-inputs
5513 `(("emacs-dash" ,emacs-dash)
5514 ("emacs-pkg-info" ,emacs-pkg-info)))
5515 (home-page "https://github.com/bbatsov/projectile")
5516 (synopsis "Manage and navigate projects in Emacs easily")
5517 (description
5518 "This library provides easy project management and navigation. The
5519 concept of a project is pretty basic - just a folder containing special file.
5520 Currently git, mercurial and bazaar repos are considered projects by default.
5521 If you want to mark a folder manually as a project just create an empty
5522 .projectile file in it.")
5523 (license license:gpl3+)))
5524
5525 (define-public emacs-elfeed
5526 (package
5527 (name "emacs-elfeed")
5528 (version "3.1.0")
5529 (source
5530 (origin
5531 (method git-fetch)
5532 (uri (git-reference
5533 (url "https://github.com/skeeto/elfeed.git")
5534 (commit version)))
5535 (file-name (git-file-name name version))
5536 (sha256
5537 (base32 "1bzpl6lc7kq9bph4bfz1fn19207blrnhjr2g7yinhn0nnnjmxi8i"))))
5538 (build-system emacs-build-system)
5539 (arguments
5540 `(#:tests? #t
5541 #:test-command '("make" "test")))
5542 (home-page "https://github.com/skeeto/elfeed")
5543 (synopsis "Atom/RSS feed reader for Emacs")
5544 (description
5545 "Elfeed is an extensible web feed reader for Emacs, supporting both Atom
5546 and RSS, with a user interface inspired by notmuch.")
5547 (license license:gpl3+)))
5548
5549 (define-public emacs-elfeed-org
5550 (let ((commit "77b6bbf222487809813de260447d31c4c59902c9"))
5551 (package
5552 (name "emacs-elfeed-org")
5553 (version (git-version "0.1" "1" commit))
5554 (source
5555 (origin
5556 (method git-fetch)
5557 (uri (git-reference
5558 (url "https://github.com/remyhonig/elfeed-org.git")
5559 (commit commit)))
5560 (file-name (git-file-name name version))
5561 (sha256
5562 (base32 "0a2ibka82xq1dhy2z7rd2y9zhcj8rna8357881yz49wf55ccgm53"))))
5563 (build-system emacs-build-system)
5564 (propagated-inputs
5565 `(("emacs-elfeed" ,emacs-elfeed)
5566 ("emacs-org" ,emacs-org)
5567 ("emacs-dash" ,emacs-dash)
5568 ("emacs-s" ,emacs-s)))
5569 (native-inputs
5570 `(("ert-runner" ,emacs-ert-runner)
5571 ("emacs-xtest" ,emacs-xtest)))
5572 (arguments
5573 `(#:tests? #t
5574 #:test-command '("ert-runner" "-L" "org-mode/lisp")
5575 #:phases
5576 (modify-phases %standard-phases
5577 (add-before 'check 'chmod
5578 (lambda _
5579 (chmod "test/fixture-mark-feed-ignore.org" #o644)
5580 #t)))))
5581 (home-page "https://github.com/remyhonig/elfeed-org")
5582 (synopsis "Configure Elfeed with an Org-mode file")
5583 (description
5584 "@code{elfeed-org} lets you manage your Elfeed subscriptions
5585 in Org-mode. Maintaining tags for all RSS feeds is cumbersome using
5586 the regular flat list, where there is no hierarchy and tag names are
5587 duplicated a lot. Org-mode makes the book keeping of tags and feeds
5588 much easier.")
5589 (license license:gpl3+))))
5590
5591 (define-public emacs-el-x
5592 (package
5593 (name "emacs-el-x")
5594 (version "0.3.1")
5595 (source (origin
5596 (method git-fetch)
5597 (uri (git-reference
5598 (url "https://github.com/sigma/el-x.git")
5599 (commit (string-append "v" version))))
5600 (file-name (git-file-name name version))
5601 (sha256
5602 (base32
5603 "1i6j44ssxm1xdg0mf91nh1lnprwsaxsx8vsrf720nan7mfr283h5"))))
5604 (build-system emacs-build-system)
5605 (arguments
5606 `(#:phases
5607 (modify-phases %standard-phases
5608 ;; Move the source files to the top level, which is included in
5609 ;; the EMACSLOADPATH.
5610 (add-after 'unpack 'move-source-files
5611 (lambda _
5612 (let ((el-files (find-files "./lisp" ".*\\.el$")))
5613 (for-each (lambda (f)
5614 (rename-file f (basename f)))
5615 el-files))
5616 #t)))))
5617 (home-page "https://github.com/sigma/el-x")
5618 (synopsis "Emacs Lisp extensions")
5619 (description "command@{emacs-el-x} defines the @code{dflet} macro to
5620 provide the historic behavior of @code{flet}, as well as
5621 @code{declare-function} stub for older Emacs.")
5622 (license license:gpl2+)))
5623
5624 (define-public emacs-mocker
5625 (package
5626 (name "emacs-mocker")
5627 (version "0.3.1")
5628 (source (origin
5629 (method git-fetch)
5630 (uri (git-reference
5631 (url "https://github.com/sigma/mocker.el.git")
5632 (commit (string-append "v" version))))
5633 (file-name (git-file-name name version))
5634 (sha256
5635 (base32
5636 "1lav7am41v63xgavq8pr88y828jmd1cxd4prjq7jlbxm6nvrwxh2"))))
5637 (build-system emacs-build-system)
5638 (arguments
5639 `(#:tests? #t
5640 #:test-command '("ert-runner")))
5641 (native-inputs
5642 `(("ert-runner" ,emacs-ert-runner)))
5643 (propagated-inputs
5644 `(("emacs-el-x" ,emacs-el-x)))
5645 (home-page "https://github.com/sigma/mocker.el")
5646 (synopsis "Mocking framework for Emacs Lisp")
5647 (description "Mocker.el is a framework for writing tests in Emacs Lisp.
5648 It uses regular Lisp rather than a domain specific language (DSL), which
5649 maximizes flexibility (at the expense of conciseness).")
5650 (license license:gpl2+)))
5651
5652 (define-public emacs-find-file-in-project
5653 (package
5654 (name "emacs-find-file-in-project")
5655 (version "5.4.7")
5656 (source (origin
5657 (method git-fetch)
5658 (uri (git-reference
5659 (url "https://github.com/technomancy/find-file-in-project.git")
5660 (commit version)))
5661 (file-name (git-file-name name version))
5662 (sha256
5663 (base32
5664 "1sdnyqv69mipbgs9yax88m9b6crsa59rjhwrih197pifl4089awr"))))
5665 (build-system emacs-build-system)
5666 (arguments
5667 `(#:phases
5668 (modify-phases %standard-phases
5669 (add-before 'check 'set-shell
5670 ;; Otherwise Emacs shell-file-name is set to "/bin/sh", which doesn't
5671 ;; work.
5672 (lambda _
5673 (setenv "SHELL" (which "sh"))
5674 #t)))
5675 #:tests? #t
5676 #:test-command '("./tests/test.sh")))
5677 (home-page "https://github.com/technomancy/find-file-in-project")
5678 (synopsis "File/directory finder for Emacs")
5679 (description "@code{find-file-in-project} allows to find files or
5680 directories quickly in the current project. The project root is detected
5681 automatically when Git, Subversion or Mercurial are used. It also provides
5682 functions to assist in reviewing changes on files.")
5683 (license license:gpl3+)))
5684
5685 (define-public emacs-pyvenv
5686 (package
5687 (name "emacs-pyvenv")
5688 (version "1.20")
5689 (source (origin
5690 (method git-fetch)
5691 (uri (git-reference
5692 (url "https://github.com/jorgenschaefer/pyvenv.git")
5693 (commit (string-append "v" version))))
5694 (file-name (git-file-name name version))
5695 (sha256
5696 (base32
5697 "1x052fsavb94x3scpqd6n9spqgzaahzbdxhg4qa5sy6hqsabn6zh"))))
5698 (build-system emacs-build-system)
5699 (arguments
5700 `(#:phases
5701 (modify-phases %standard-phases
5702 ;; This phase incorrectly attempts to substitute "activate" and fails
5703 ;; doing so.
5704 (delete 'patch-el-files))
5705 #:tests? #t
5706 #:test-command '("ert-runner")))
5707 (native-inputs
5708 `(("ert-runner" ,emacs-ert-runner)
5709 ("emacs-mocker" ,emacs-mocker)))
5710 (home-page "https://github.com/jorgenschaefer/pyvenv")
5711 (synopsis "Python virtual environment interface for Emacs")
5712 (description "pyvenv.el is a minor mode to support using Python virtual
5713 environments (virtualenv) inside Emacs.")
5714 (license license:gpl3+)))
5715
5716 (define-public emacs-highlight-indentation
5717 ;; Last release version is from 2015.
5718 (let ((commit "d03803f2c06749c430443a3d24e039cbafc9c58f")
5719 (revision "1"))
5720 (package
5721 (name "emacs-highlight-indentation")
5722 (version (git-version "0.7.0" revision commit))
5723 (source
5724 (origin
5725 (method git-fetch)
5726 (uri (git-reference
5727 (url "https://github.com/antonj/Highlight-Indentation-for-Emacs.git")
5728 (commit commit)))
5729 (file-name (git-file-name name version))
5730 (sha256
5731 (base32
5732 "1jq0gf4kcx9hvrw40rnw5c2qynjpjw1vsjbi2i4lqjbsnfnxn4wz"))))
5733 (build-system emacs-build-system)
5734 (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/")
5735 (synopsis "Highlighting indentation for Emacs")
5736 (description "This package provides two minor modes to highlight
5737 indentation guides in Emacs:
5738
5739 @enumerate
5740 @item @code{highlight-indentation-mode}, which displays guidelines
5741 indentation (space indentation only).
5742 @item @code{highlight-indentation-current-column-mode}, which displays
5743 guidelines for the current-point indentation (space indentation only).
5744 @end enumerate")
5745 (license license:gpl2+))))
5746
5747 (define-public emacs-elpy
5748 (package
5749 (name "emacs-elpy")
5750 (version "1.28.0")
5751 (source (origin
5752 (method git-fetch)
5753 (uri (git-reference
5754 (url "https://github.com/jorgenschaefer/elpy.git")
5755 (commit version)))
5756 (file-name (git-file-name name version))
5757 (sha256
5758 (base32
5759 "073bwxwjzcbmvpcz9q2xjwzx9x7hkvjni6fwvikh6yawzjp56jis"))))
5760 (build-system emacs-build-system)
5761 (arguments
5762 `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
5763 #:phases
5764 ;; TODO: Make `elpy-config' display Guix commands :)
5765 (modify-phases %standard-phases
5766 ;; One elpy test depends on being run inside a Python virtual
5767 ;; environment to pass. We have nothing to gain from doing so here,
5768 ;; so we just trick Elpy into thinking we are (see:
5769 ;; https://github.com/jorgenschaefer/elpy/pull/1293).
5770 (add-before 'check 'fake-virtualenv
5771 (lambda _
5772 (setenv "VIRTUAL_ENV" "/tmp")
5773 #t))
5774 (add-before 'check 'build-doc
5775 (lambda _
5776 (with-directory-excursion "docs"
5777 (invoke "make" "info" "man"))
5778 ;; Move .info file at the root so that it can installed by the
5779 ;; 'move-doc phase.
5780 (rename-file "docs/_build/texinfo/Elpy.info" "Elpy.info")
5781 #t))
5782 (add-after 'build-doc 'install-manpage
5783 (lambda* (#:key outputs #:allow-other-keys)
5784 (let* ((out (assoc-ref outputs "out"))
5785 (man1 (string-append out "/share/man/man1")))
5786 (mkdir-p man1)
5787 (copy-file "docs/_build/man/elpy.1"
5788 (string-append man1 "/elpy.1")))
5789 #t)))
5790 #:tests? #t
5791 #:test-command '("ert-runner")))
5792 (propagated-inputs
5793 `(("emacs-company" ,emacs-company)
5794 ("emacs-find-file-in-project" ,emacs-find-file-in-project)
5795 ("emacs-highlight-indentation" ,emacs-highlight-indentation)
5796 ("emacs-yasnippet" ,emacs-yasnippet)
5797 ("pyvenv" ,emacs-pyvenv)
5798 ("s" ,emacs-s)))
5799 (native-inputs
5800 `(("ert-runner" ,emacs-ert-runner)
5801 ("emacs-f" ,emacs-f)
5802 ("python" ,python-wrapper)
5803 ("python-autopep8" ,python-autopep8)
5804 ("python-black" ,python-black)
5805 ("python-flake8" ,python-flake8)
5806 ("python-jedi" ,python-jedi)
5807 ("python-yapf" ,python-yapf)
5808 ;; For documentation.
5809 ("python-sphinx" ,python-sphinx)
5810 ("texinfo" ,texinfo)))
5811 (home-page "https://github.com/jorgenschaefer/elpy")
5812 (synopsis "Python development environment for Emacs")
5813 (description "Elpy brings powerful Python editing to Emacs. It combines
5814 and configures a number of other packages written in Emacs Lisp as well as
5815 Python, together offering features such as navigation, documentation,
5816 completion, interactive development and more.")
5817 (license license:gpl3+)))
5818
5819 (define-public emacs-rainbow-delimiters
5820 (package
5821 (name "emacs-rainbow-delimiters")
5822 (version "2.1.3")
5823 (source (origin
5824 (method url-fetch)
5825 (uri (string-append "https://raw.githubusercontent.com/Fanael"
5826 "/rainbow-delimiters/" version
5827 "/rainbow-delimiters.el"))
5828 (file-name (string-append "rainbow-delimiters-" version ".el"))
5829 (sha256
5830 (base32
5831 "1b3kampwsjabhcqdp0khgff13wc5jqhy3rbvaa12vnv7qy22l9ck"))))
5832 (build-system emacs-build-system)
5833 (home-page "https://github.com/Fanael/rainbow-delimiters")
5834 (synopsis "Highlight brackets according to their depth")
5835 (description
5836 "Rainbow-delimiters is a \"rainbow parentheses\"-like mode for Emacs which
5837 highlights parentheses, brackets, and braces according to their depth. Each
5838 successive level is highlighted in a different color, making it easy to spot
5839 matching delimiters, orient yourself in the code, and tell which statements
5840 are at a given level.")
5841 (license license:gpl3+)))
5842
5843 (define-public emacs-rainbow-identifiers
5844 (package
5845 (name "emacs-rainbow-identifiers")
5846 (version "0.2.2")
5847 (source (origin
5848 (method url-fetch)
5849 (uri (string-append "https://raw.githubusercontent.com/Fanael"
5850 "/rainbow-identifiers/" version
5851 "/rainbow-identifiers.el"))
5852 (file-name (string-append "rainbow-identifiers-" version ".el"))
5853 (sha256
5854 (base32
5855 "0325abxj47k0g1i8nqrq70w2wr6060ckhhf92krv1s072b3jzm31"))))
5856 (build-system emacs-build-system)
5857 (home-page "https://github.com/Fanael/rainbow-identifiers")
5858 (synopsis "Highlight identifiers in source code")
5859 (description
5860 "Rainbow identifiers mode is an Emacs minor mode providing highlighting of
5861 identifiers based on their names. Each identifier gets a color based on a hash
5862 of its name.")
5863 (license license:bsd-2)))
5864
5865 (define-public emacs-rainbow-mode
5866 (package
5867 (name "emacs-rainbow-mode")
5868 (version "1.0.1")
5869 (source (origin
5870 (method url-fetch)
5871 (uri (string-append
5872 "http://elpa.gnu.org/packages/rainbow-mode-" version ".el"))
5873 (sha256
5874 (base32
5875 "0cpga4ax635rfpj7y2vmh7ank0yw00dcy20gjg1mj74r97by8csf"))))
5876 (build-system emacs-build-system)
5877 (home-page "http://elpa.gnu.org/packages/rainbow-mode.html")
5878 (synopsis "Colorize color names in buffers")
5879 (description
5880 "This minor mode sets background color to strings that match color
5881 names, e.g. #0000ff is displayed in white with a blue background.")
5882 (license license:gpl3+)))
5883
5884 (define-public emacs-visual-fill-column
5885 (package
5886 (name "emacs-visual-fill-column")
5887 (version "1.11")
5888 (source (origin
5889 (method url-fetch)
5890 (uri (string-append "https://codeload.github.com/joostkremers/"
5891 "visual-fill-column/tar.gz/" version))
5892 (file-name (string-append name "-" version ".tar.gz"))
5893 (sha256
5894 (base32
5895 "13jnviakp607zcms7f8ams56mr8wffnq1pghlc6fvqs39663pgwh"))))
5896 (build-system emacs-build-system)
5897 (home-page "https://github.com/joostkremers/visual-fill-column")
5898 (synopsis "Fill-column for visual-line-mode")
5899 (description
5900 "@code{visual-fill-column-mode} is a small Emacs minor mode that mimics
5901 the effect of @code{fill-column} in @code{visual-line-mode}. Instead of
5902 wrapping lines at the window edge, which is the standard behaviour of
5903 @code{visual-line-mode}, it wraps lines at @code{fill-column}. If
5904 @code{fill-column} is too large for the window, the text is wrapped at the
5905 window edge.")
5906 (license license:gpl3+)))
5907
5908 (define-public emacs-writeroom
5909 (package
5910 (name "emacs-writeroom")
5911 (version "3.7")
5912 (source
5913 (origin
5914 (method git-fetch)
5915 (uri (git-reference
5916 (url "https://github.com/joostkremers/writeroom-mode.git")
5917 (commit version)))
5918 (file-name (git-file-name name version))
5919 (sha256
5920 (base32 "13nbls5qxz5z8firjxaip8m9vzfbbpxmwrmr01njbk4axpwrpj0z"))))
5921 (build-system emacs-build-system)
5922 (propagated-inputs
5923 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)))
5924 (home-page "https://github.com/joostkremers/writeroom-mode")
5925 (synopsis "Distraction-free writing for Emacs")
5926 (description
5927 "This package defines a minor mode for distraction-free writing. Some of
5928 the default effects include entering fullscreen, deleting other windows of the
5929 current frame, disabling the mode line, and adding margins to the buffer that
5930 restrict the text width to 80 characters.")
5931 (license license:bsd-3)))
5932
5933 (define-public emacs-ido-completing-read+
5934 (package
5935 (name "emacs-ido-completing-read+")
5936 (version "3.12")
5937 (source (origin
5938 (method url-fetch)
5939 (uri (string-append "https://raw.githubusercontent.com"
5940 "/DarwinAwardWinner/ido-ubiquitous/v"
5941 version "/ido-completing-read+.el"))
5942 (file-name (string-append "ido-completing-read+-" version ".el"))
5943 (sha256
5944 (base32
5945 "1cyalb0p7nfsm4n6n9q6rjmvn6adqc0fq8ybnlj3n41n289dkfjf"))))
5946 (build-system emacs-build-system)
5947 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
5948 (synopsis "Replacement for completing-read using ido")
5949 (description
5950 "The ido-completing-read+ function is a wrapper for ido-completing-read.
5951 Importantly, it detects edge cases that ordinary ido cannot handle and either
5952 adjusts them so ido can handle them, or else simply falls back to the standard
5953 Emacs completion function instead.")
5954 (license license:gpl3+)))
5955
5956 (define-public emacs-ido-ubiquitous
5957 (package
5958 (name "emacs-ido-ubiquitous")
5959 (version "3.12")
5960 (source (origin
5961 (method url-fetch)
5962 (uri (string-append "https://raw.githubusercontent.com"
5963 "/DarwinAwardWinner/ido-ubiquitous/v"
5964 version "/ido-ubiquitous.el"))
5965 (file-name (string-append "ido-ubiquitous-" version ".el"))
5966 (sha256
5967 (base32
5968 "197ypji0fb6jsdcq40rpnknwlh3imas6s6jbsvkfm0pz9988c3q2"))))
5969 (build-system emacs-build-system)
5970 (propagated-inputs
5971 `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
5972 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
5973 (synopsis "Use ido (nearly) everywhere")
5974 (description
5975 "Ido-ubiquitous enables ido-style completion for almost every function
5976 that uses the standard completion function completing-read.")
5977 (license license:gpl3+)))
5978
5979 (define-public emacs-yaml-mode
5980 (package
5981 (name "emacs-yaml-mode")
5982 (version "0.0.13")
5983 (source (origin
5984 (method url-fetch)
5985 (uri (string-append "https://raw.githubusercontent.com/yoshiki"
5986 "/yaml-mode/v" version "/yaml-mode.el"))
5987 (file-name (string-append "yaml-mode-" version ".el"))
5988 (sha256
5989 (base32
5990 "0im88sk9dqw03x6d6zaspgvg9i0pfpgb8f2zygrmbifh2w4pwmvj"))))
5991 (build-system emacs-build-system)
5992 (home-page "https://github.com/yoshiki/yaml-mode")
5993 (synopsis "Major mode for editing YAML files")
5994 (description
5995 "Yaml-mode is an Emacs major mode for editing files in the YAML data
5996 serialization format. It was initially developed by Yoshiki Kurihara and many
5997 features were added by Marshall Vandegrift. As YAML and Python share the fact
5998 that indentation determines structure, this mode provides indentation and
5999 indentation command behavior very similar to that of python-mode.")
6000 (license license:gpl3+)))
6001
6002 (define-public emacs-gitlab-ci-mode
6003 (package
6004 (name "emacs-gitlab-ci-mode")
6005 (version "20190425.11.10")
6006 (source (origin
6007 (method git-fetch)
6008 (uri (git-reference
6009 (url "https://gitlab.com/joewreschnig/gitlab-ci-mode.git")
6010 (commit (string-append "v" version))))
6011 (file-name (git-file-name name version))
6012 (sha256
6013 (base32
6014 "1jkp9mnbiccqnha9zs646znqyqvy5jjb81kah7ghbkzdqqk2avm0"))))
6015 (build-system emacs-build-system)
6016 (propagated-inputs
6017 `(("emacs-yaml-mode" ,emacs-yaml-mode)))
6018 (home-page "https://gitlab.com/joewreschnig/gitlab-ci-mode/")
6019 (synopsis "Emacs mode for editing GitLab CI files")
6020 (description
6021 "@code{gitlab-ci-mode} is an Emacs major mode for editing GitLab CI
6022 files. It provides syntax highlighting and completion for keywords and
6023 special variables. An interface to GitLab’s CI file linter is also provided
6024 via @code{gitlab-ci-lint}.")
6025 (license license:gpl3+)))
6026
6027 (define-public emacs-web-mode
6028 (package
6029 (name "emacs-web-mode")
6030 (version "16")
6031 (source (origin
6032 (method url-fetch)
6033 (uri (string-append "https://raw.githubusercontent.com/fxbois"
6034 "/web-mode/v" version "/web-mode.el"))
6035 (file-name (string-append "web-mode-" version ".el"))
6036 (sha256
6037 (base32
6038 "1hs5w7kdvcyn4ihyw1kfjg48djn5p7lz4rlbhzzdqv1g56xqx3gw"))))
6039 (build-system emacs-build-system)
6040 (synopsis "Major mode for editing web templates")
6041 (description "Web-mode is an Emacs major mode for editing web templates
6042 aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by
6043 client/server side engines). Web-mode is compatible with many template
6044 engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker,
6045 Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template,
6046 Dust.js, React/JSX, Angularjs, ejs, etc.")
6047 (home-page "http://web-mode.org/")
6048 (license license:gpl3+)))
6049
6050 (define-public emacs-wgrep
6051 (package
6052 (name "emacs-wgrep")
6053 (version "2.3.0")
6054 (source (origin
6055 (method git-fetch)
6056 (uri (git-reference
6057 (url "https://github.com/mhayashi1120/Emacs-wgrep")
6058 (commit version)))
6059 (file-name (git-file-name name version))
6060 (sha256
6061 (base32
6062 "0pgyf9vfcahb495q01hi1mvkmv846w4rj6zyf52is8x7sjj7x44s"))))
6063 (build-system emacs-build-system)
6064 (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
6065 (synopsis "Edit a grep buffer and apply those changes to the files")
6066 (description
6067 "Emacs wgrep allows you to edit a grep buffer and apply those changes
6068 to the file buffer. Several backends are supported beside the classic grep:
6069 ack, ag, helm and pt.")
6070 (license license:gpl3+)))
6071
6072 (define-public emacs-helm
6073 (package
6074 (name "emacs-helm")
6075 (version "3.3")
6076 (source
6077 (origin
6078 (method git-fetch)
6079 (uri (git-reference
6080 (url "https://github.com/emacs-helm/helm.git")
6081 (commit (string-append "v" version))))
6082 (file-name (git-file-name name version))
6083 (sha256
6084 (base32 "0fqhw7r9fcsja5d3pgbipw7pkw9nj534faav6hi45413hc3gyv92"))))
6085 (build-system emacs-build-system)
6086 (propagated-inputs
6087 `(("emacs-async" ,emacs-async)
6088 ("emacs-popup" ,emacs-popup)))
6089 (home-page "https://emacs-helm.github.io/helm/")
6090 (synopsis "Incremental completion and selection narrowing
6091 framework for Emacs")
6092 (description "Helm is incremental completion and selection narrowing
6093 framework for Emacs. It will help steer you in the right direction when
6094 you're looking for stuff in Emacs (like buffers, files, etc). Helm is a fork
6095 of @code{anything.el} originally written by Tamas Patrovic and can be
6096 considered to be its successor. Helm sets out to clean up the legacy code in
6097 @code{anything.el} and provide a cleaner, leaner and more modular tool, that's
6098 not tied in the trap of backward compatibility.")
6099 (license license:gpl3+)))
6100
6101 (define-public emacs-helm-swoop
6102 (package
6103 (name "emacs-helm-swoop")
6104 (version "1.7.4")
6105 (source
6106 (origin
6107 (method git-fetch)
6108 (uri (git-reference
6109 (url "https://github.com/ShingoFukuyama/helm-swoop.git")
6110 (commit version)))
6111 (file-name (git-file-name name version))
6112 (sha256
6113 (base32 "0b23j1bkpg4pm310hqdhgnl4mxsj05gpl08b6kb2ja4fzrg6adsk"))))
6114 (build-system emacs-build-system)
6115 (propagated-inputs
6116 `(("emacs-helm" ,emacs-helm)))
6117 (home-page "https://github.com/ShingoFukuyama/helm-swoop")
6118 (synopsis "Filter and jump to lines in an Emacs buffer using Helm")
6119 (description
6120 "This package builds on the Helm interface to provide several commands
6121 for search-based navigation of buffers.")
6122 (license license:gpl2+)))
6123
6124 (define-public emacs-helm-projectile
6125 (package
6126 (name "emacs-helm-projectile")
6127 (version "0.14.0")
6128 (source
6129 (origin
6130 (method git-fetch)
6131 (uri (git-reference
6132 (url "https://github.com/bbatsov/helm-projectile.git")
6133 (commit (string-append "v" version))))
6134 (file-name (git-file-name name version))
6135 (sha256
6136 (base32 "0lph38p112fridighqcizpsyzjbv7qr3d8prbfj6w6q6gfl6cna4"))))
6137 (build-system emacs-build-system)
6138 (propagated-inputs
6139 `(("emacs-dash" ,emacs-dash)
6140 ("emacs-helm" ,emacs-helm)
6141 ("emacs-projectile" ,emacs-projectile)))
6142 (home-page "https://github.com/bbatsov/helm-projectile")
6143 (synopsis "Helm integration for Projectile")
6144 (description
6145 "This Emacs library provides a Helm interface for Projectile.")
6146 (license license:gpl3+)))
6147
6148 (define-public emacs-helm-make
6149 (let ((commit "feae8df22bc4b20705ea08ac9adfc2b43bb348d0")
6150 (revision "1"))
6151 (package
6152 (name "emacs-helm-make")
6153 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
6154 (source
6155 (origin
6156 (method git-fetch)
6157 (uri (git-reference
6158 (url "https://github.com/abo-abo/helm-make.git")
6159 (commit commit)))
6160 (file-name (git-file-name name version))
6161 (sha256
6162 (base32
6163 "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam"))))
6164 (build-system emacs-build-system)
6165 (propagated-inputs
6166 `(("emacs-helm" ,emacs-helm)
6167 ("emacs-projectile" ,emacs-projectile)))
6168 (home-page "https://github.com/abo-abo/helm-make")
6169 (synopsis "Select a Makefile target with helm")
6170 (description "@code{helm-make} or @code{helm-make-projectile} will give
6171 you a @code{helm} selection of directory Makefile's targets. Selecting a
6172 target will call @code{compile} on it.")
6173 (license license:gpl3+))))
6174
6175 (define-public emacs-cider
6176 (package
6177 (name "emacs-cider")
6178 (version "0.21.0")
6179 (source
6180 (origin
6181 (method git-fetch)
6182 (uri (git-reference
6183 (url "https://github.com/clojure-emacs/cider.git")
6184 (commit (string-append "v" version))))
6185 (file-name (git-file-name name version))
6186 (sha256
6187 (base32
6188 "0lbrwj67fnvynkdkzvnzp3p8vqlz0ldrcs317vg60bqfhx7hvqkj"))))
6189 (build-system emacs-build-system)
6190 (arguments
6191 '(#:exclude ; Don't exclude 'cider-test.el'.
6192 '("^\\.dir-locals\\.el$" "^test/")))
6193 (propagated-inputs
6194 `(("emacs-clojure-mode" ,emacs-clojure-mode)
6195 ("emacs-sesman" ,emacs-sesman)
6196 ("emacs-spinner" ,emacs-spinner)
6197 ("emacs-pkg-info" ,emacs-pkg-info)
6198 ("emacs-queue" ,emacs-queue)))
6199 (home-page "https://cider.readthedocs.io/")
6200 (synopsis "Clojure development environment for Emacs")
6201 (description
6202 "CIDER (Clojure Interactive Development Environment that Rocks) aims to
6203 provide an interactive development experience similar to the one you'd get
6204 when programming in Emacs Lisp, Common Lisp (with SLIME or Sly), Scheme (with
6205 Geiser) and Smalltalk.
6206
6207 CIDER is the successor to the now deprecated combination of using SLIME +
6208 swank-clojure for Clojure development.
6209
6210 There are plenty of differences between CIDER and SLIME, but the core ideas
6211 are pretty much the same (and SLIME served as the principle inspiration for
6212 CIDER).")
6213 (license license:gpl3+)))
6214
6215 ;; There hasn't been a tag or release since 2015, so we take the latest
6216 ;; commit.
6217 (define-public emacs-sly
6218 (let ((commit "486bfbe95612bcdc0960c490207970a188e0fbb9")
6219 (revision "1"))
6220 (package
6221 (name "emacs-sly")
6222 (version (string-append "1.0.0-" revision "." (string-take commit 9)))
6223 (source
6224 (origin
6225 (method git-fetch)
6226 (uri (git-reference
6227 (url "https://github.com/joaotavora/sly.git")
6228 (commit commit)))
6229 (file-name (git-file-name name version))
6230 (sha256
6231 (base32
6232 "0ib4q4k3h3qn88pymyjjmlmnpizdn1mfg5gpk5a715nqsgxlg09l"))))
6233 (build-system emacs-build-system)
6234 (arguments
6235 `(#:include (cons "^lib\\/" %default-include)
6236 #:phases
6237 ;; The package provides autoloads.
6238 (modify-phases %standard-phases
6239 (delete 'make-autoloads))))
6240 (home-page "https://github.com/joaotavora/sly")
6241 (synopsis "Sylvester the Cat's Common Lisp IDE")
6242 (description
6243 "SLY is Sylvester the Cat's Common Lisp IDE. SLY is a fork of SLIME, and
6244 contains the following improvements over it:
6245
6246 @enumerate
6247 @item Completely redesigned REPL based on Emacs's own full-featured
6248 @code{comint.el}
6249 @item Live code annotations via a new @code{sly-stickers} contrib
6250 @item Consistent interactive button interface. Everything can be copied to
6251 the REPL.
6252 @item Multiple inspectors with independent history
6253 @item Regexp-capable @code{M-x sly-apropos}
6254 @item Contribs are first class SLY citizens and enabled by default
6255 @item Use ASDF to loads contribs on demand.
6256 @end enumerate
6257
6258 SLY tracks SLIME's bugfixes and all its familiar features (debugger, inspector,
6259 xref, etc...) are still available, but with better integration.")
6260 (license license:gpl3+))))
6261
6262 (define-public emacs-lua-mode
6263 (let ((commit "95c64bb5634035630e8c59d10d4a1d1003265743")
6264 (revision "2"))
6265 (package
6266 (name "emacs-lua-mode")
6267 (version (git-version "20151025" revision commit))
6268 (home-page "https://github.com/immerrr/lua-mode/")
6269 (source (origin
6270 (method git-fetch)
6271 (uri (git-reference
6272 (url home-page)
6273 (commit commit)))
6274 (file-name (git-file-name name version))
6275 (sha256
6276 (base32
6277 "1mra4db25ds64526dsj8m5yv0kfq3lgggjh1x6xmqypdaryddbcp"))))
6278 (build-system emacs-build-system)
6279 (synopsis "Major mode for lua")
6280 (description
6281 "This Emacs package provides a mode for @uref{https://www.lua.org/,
6282 Lua programming language}.")
6283 (license license:gpl2+))))
6284
6285 (define-public emacs-ebuild-mode
6286 (package
6287 (name "emacs-ebuild-mode")
6288 (version "1.37")
6289 (source (origin
6290 (method url-fetch)
6291 (uri (string-append
6292 "https://dev.gentoo.org/~ulm/emacs/ebuild-mode"
6293 "-" version ".tar.xz"))
6294 (file-name (string-append name "-" version ".tar.xz"))
6295 (sha256
6296 (base32
6297 "07dzrdjjczkxdfdgi60h4jjkvzi4p0k9rij2wpfp8s03ay3qldpp"))))
6298 (build-system emacs-build-system)
6299 (home-page "https://devmanual.gentoo.org")
6300 (synopsis "Major modes for Gentoo package files")
6301 (description
6302 "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
6303 news items, openrc and runscripts.")
6304 (license license:gpl2+)))
6305
6306 (define-public emacs-evil
6307 (package
6308 (name "emacs-evil")
6309 (version "1.2.14")
6310 (source
6311 (origin
6312 (method git-fetch)
6313 (uri (git-reference
6314 (url "https://github.com/emacs-evil/evil")
6315 (commit version)))
6316 (file-name (git-file-name name version))
6317 (sha256
6318 (base32
6319 "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"))))
6320 (build-system emacs-build-system)
6321 (propagated-inputs
6322 `(("emacs-undo-tree" ,emacs-undo-tree)
6323 ("emacs-goto-chg" ,emacs-goto-chg)))
6324 (home-page "https://github.com/emacs-evil/evil")
6325 (synopsis "Extensible Vi layer for Emacs")
6326 (description
6327 "Evil is an extensible vi layer for Emacs. It emulates the
6328 main features of Vim, and provides facilities for writing custom
6329 extensions.")
6330 (license license:gpl3+)))
6331
6332 (define-public emacs-evil-collection
6333 (let ((commit "0748c695dfa89b79eb316da5060360de8c0f04da")
6334 (revision "9"))
6335 (package
6336 (name "emacs-evil-collection")
6337 (version (git-version "0.0.1" revision commit))
6338 (source (origin
6339 (method git-fetch)
6340 (uri (git-reference
6341 (url "https://github.com/emacs-evil/evil-collection")
6342 (commit commit)))
6343 (file-name (git-file-name name version))
6344 (sha256
6345 (base32
6346 "17w8nh3q7ffc7776f3qzixk0c0g6vys3xybgw16ky1f416585kvb"))))
6347 (build-system emacs-build-system)
6348 (propagated-inputs
6349 `(("emacs-evil" ,emacs-evil)))
6350 (home-page "https://github.com/emacs-evil/evil-collection")
6351 (synopsis "Collection of Evil bindings for many major and minor modes")
6352 (description "This is a collection of Evil bindings for the parts of
6353 Emacs that Evil does not cover properly by default, such as @code{help-mode},
6354 @code{M-x calendar}, Eshell and more.")
6355 (license license:gpl3+))))
6356
6357 (define-public emacs-goto-chg
6358 (let ((commit "1829a13026c597e358f716d2c7793202458120b5")
6359 (version "1.7.3")
6360 (revision "1"))
6361 (package
6362 (name "emacs-goto-chg")
6363 (version (git-version version revision commit))
6364 (source
6365 (origin
6366 (method git-fetch)
6367 (uri (git-reference
6368 (url "https://github.com/emacs-evil/goto-chg")
6369 (commit commit)))
6370 (file-name (git-file-name name version))
6371 (sha256
6372 (base32
6373 "1y603maw9xwdj3qiarmf1bp13461f9f5ackzicsbynl0i9la3qki"))))
6374 (build-system emacs-build-system)
6375 (propagated-inputs
6376 `(("emacs-undo-tree" ,emacs-undo-tree)))
6377 (home-page "https://github.com/emacs-evil/goto-chg")
6378 (synopsis "Go to the last change in the Emacs buffer")
6379 (description
6380 "This package provides @code{M-x goto-last-change} command that goes to
6381 the point of the most recent edit in the current Emacs buffer. When repeated,
6382 go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is
6383 used for reverse direction.")
6384 (license license:gpl2+))))
6385
6386 (define-public emacs-janpath-evil-numbers
6387 (let ((commit "d988041c1fe6e941dc8d591390750b237f71f524")
6388 (version "0.5")
6389 (revision "1"))
6390 (package
6391 (name "emacs-janpath-evil-numbers")
6392 (version (git-version version revision commit))
6393 (source
6394 (origin
6395 (method git-fetch)
6396 (uri (git-reference
6397 (url "https://github.com/janpath/evil-numbers")
6398 (commit commit)))
6399 (file-name (git-file-name name version))
6400 (sha256
6401 (base32
6402 "16zixhxxcb83m82f2cfiardfn99j3w41v6vh1qk6j9pplrlfw70v"))))
6403 (build-system emacs-build-system)
6404 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6405 (home-page "https://github.com/janpath/evil-numbers")
6406 (synopsis "Increment and decrement numeric literals")
6407 (description
6408 "This package provides functionality to search for a number up to the
6409 end of a line and increment or decrement it.")
6410 (license license:gpl3+))))
6411
6412 (define-public emacs-evil-exchange
6413 (let ((commit "47691537815150715e64e6f6ec79be7746c96120")
6414 (version "0.41")
6415 (revision "1"))
6416 (package
6417 (name "emacs-evil-exchange")
6418 (version (git-version version revision commit))
6419 (source
6420 (origin
6421 (method git-fetch)
6422 (uri (git-reference
6423 (url "https://github.com/Dewdrops/evil-exchange")
6424 (commit commit)))
6425 (file-name (git-file-name name version))
6426 (sha256
6427 (base32
6428 "0bjpn4yqig17ddym6wqq5fm1b294q74hzcbj9a6gs97fqiwf88xa"))))
6429 (build-system emacs-build-system)
6430 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6431 (home-page "https://github.com/Dewdrops/evil-exchange")
6432 (synopsis "Exchange text easily within Evil")
6433 (description
6434 "This package, a port of @code{vim-exchange}, provides an Evil operator
6435 for exchanging text.")
6436 (license license:gpl3+))))
6437
6438 (define-public emacs-evil-replace-with-register
6439 (let ((commit "91cc7bf21a94703c441cc9212214075b226b7f67")
6440 (version "0.1")
6441 (revision "1"))
6442 (package
6443 (name "emacs-evil-replace-with-register")
6444 (version (git-version version revision commit))
6445 (source
6446 (origin
6447 (method git-fetch)
6448 (uri (git-reference
6449 (url "https://github.com/Dewdrops/evil-ReplaceWithRegister")
6450 (commit commit)))
6451 (file-name (git-file-name name version))
6452 (sha256
6453 (base32
6454 "14rpn76qrf287s3y2agmddcxi27r226i53ixjvd694ss039g0r11"))))
6455 (build-system emacs-build-system)
6456 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6457 (home-page "https://github.com/Dewdrops/evil-ReplaceWithRegister")
6458 (synopsis "Quickly replace text with the contents of a register")
6459 (description
6460 "This package provides an Evil operator for replacing text with the
6461 contents of a register.")
6462 (license license:gpl3+))))
6463
6464 (define-public emacs-evil-indent-plus
6465 (let ((commit "0c7501e6efed661242c3a20e0a6c79a6455c2c40")
6466 (version "1.0.0")
6467 (revision "1"))
6468 (package
6469 (name "emacs-evil-indent-plus")
6470 (version (git-version version revision commit))
6471 (source
6472 (origin
6473 (method git-fetch)
6474 (uri (git-reference
6475 (url "https://github.com/TheBB/evil-indent-plus")
6476 (commit commit)))
6477 (file-name (git-file-name name version))
6478 (sha256
6479 (base32
6480 "1g6r1ydscwjvmhh1zg4q3nap4avk8lb9msdqrh7dff6pla0r2qs6"))))
6481 (build-system emacs-build-system)
6482 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6483 (home-page "https://github.com/TheBB/evil-indent-plus")
6484 (synopsis "Text objects based on indentation")
6485 (description
6486 "This package adds new text objects for @code{evil-mode} based on
6487 blocks having the same or higher indentation, including or excluding
6488 surrounding lines.")
6489 (license license:gpl2+))))
6490
6491 (define-public emacs-evil-text-object-python
6492 (let ((commit "9a064fe6475429145cbcc3b270fcc963b67adb15")
6493 (version "1.0.1")
6494 (revision "1"))
6495 (package
6496 (name "emacs-evil-text-object-python")
6497 (version (git-version version revision commit))
6498 (source
6499 (origin
6500 (method git-fetch)
6501 (uri (git-reference
6502 (url "https://github.com/wbolster/evil-text-object-python")
6503 (commit commit)))
6504 (file-name (git-file-name name version))
6505 (sha256
6506 (base32
6507 "074zpm6mmr1wfl6d5xdf8jk1fs4ccpbzf4ahhkwga9g71xiplszv"))))
6508 (build-system emacs-build-system)
6509 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6510 (home-page "https://github.com/wbolster/evil-text-object-python")
6511 (synopsis "Text objects for Python")
6512 (description
6513 "This package provides @code{evil-mode} text objects for Python.")
6514 (license license:gpl3+))))
6515
6516 (define-public emacs-evil-lion
6517 (let ((commit "6b03593f5dd6e7c9ca02207f9a73615cf94c93ab")
6518 (version "0.0.2")
6519 (revision "1"))
6520 (package
6521 (name "emacs-evil-lion")
6522 (version (git-version version revision commit))
6523 (source
6524 (origin
6525 (method git-fetch)
6526 (uri (git-reference
6527 (url "https://github.com/edkolev/evil-lion")
6528 (commit commit)))
6529 (file-name (git-file-name name version))
6530 (sha256
6531 (base32
6532 "1a162hynp0jcsn50c1w5a02mrw9w3q05c7lkqzqd25px3d0p772q"))))
6533 (build-system emacs-build-system)
6534 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6535 (home-page "https://github.com/edkolev/evil-lion")
6536 (synopsis "Align operator for @code{evil-mode}")
6537 (description
6538 "This package, a port of @code{vim-lion}, provides an operator for
6539 aligning text objects based on separators.")
6540 (license license:gpl3+))))
6541
6542 (define-public emacs-evil-expat
6543 (let ((commit "f4fcd0aa3edc359adb5c986b5dd9188d220d84e2")
6544 (revision "1"))
6545 (package
6546 (name "emacs-evil-expat")
6547 (version (git-version "0.0.1" revision commit))
6548 (source
6549 (origin
6550 (method git-fetch)
6551 (uri (git-reference
6552 (url "https://github.com/edkolev/evil-expat")
6553 (commit commit)))
6554 (file-name (git-file-name name version))
6555 (sha256
6556 (base32
6557 "0872ix682hkdz0k8pn6sb54rqkx00rz5fxpd5j2snx406yagpaxz"))))
6558 (build-system emacs-build-system)
6559 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6560 (home-page "https://github.com/edkolev/evil-expat")
6561 (synopsis "Extra @code{ex} commands for @code{evil-mode}")
6562 (description
6563 "This package provides additional commands for the @code{ex} command
6564 line, including functions for version control with Git and for copying and
6565 pasting into and from @code{tmux} paste buffers.")
6566 (license license:gpl3+))))
6567
6568 (define-public emacs-evil-nerd-commenter
6569 (package
6570 (name "emacs-evil-nerd-commenter")
6571 (version "3.3.7")
6572 (source
6573 (origin
6574 (method git-fetch)
6575 (uri (git-reference
6576 (url "https://github.com/redguardtoo/evil-nerd-commenter")
6577 (commit version)))
6578 (file-name (git-file-name name version))
6579 (sha256
6580 (base32
6581 "1r8shfdddys9vqvrxf7s6z83ydqx9xhqs9sa7klbsajryqcp50b7"))))
6582 (build-system emacs-build-system)
6583 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6584 (home-page "https://github.com/redguardtoo/evil-nerd-commenter")
6585 (synopsis "Comment and uncomment lines efficiently")
6586 (description
6587 "This package provides text objects and operators for comments within
6588 @code{evil-mode}.")
6589 (license license:gpl3+)))
6590
6591 (define-public emacs-evil-visual-replace
6592 (package
6593 (name "emacs-evil-visual-replace")
6594 (version "0.0.5")
6595 (source
6596 (origin
6597 (method git-fetch)
6598 (uri (git-reference
6599 (url "https://github.com/troyp/evil-visual-replace")
6600 (commit version)))
6601 (file-name (git-file-name name version))
6602 (sha256
6603 (base32
6604 "1gfyrq7xfzmzh3x8k5f08n027dlbwi0pkkxf9c39fkxp4jngibsz"))))
6605 (build-system emacs-build-system)
6606 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6607 (home-page "https://github.com/troyp/evil-visual-replace")
6608 (synopsis "Replacement commands for @code{evil-mode} visual blocks")
6609 (description
6610 "This package provides versions of @code{query-replace} and
6611 @code{replace-regexp} that work for @code{evil-mode} visual blocks.")
6612 (license license:gpl2+)))
6613
6614 (define-public emacs-evil-visualstar
6615 (let ((commit "06c053d8f7381f91c53311b1234872ca96ced752")
6616 (version "0.0.2")
6617 (revision "1"))
6618 (package
6619 (name "emacs-evil-visualstar")
6620 (version (git-version version revision commit))
6621 (source
6622 (origin
6623 (method git-fetch)
6624 (uri (git-reference
6625 (url "https://github.com/bling/evil-visualstar")
6626 (commit commit)))
6627 (file-name (git-file-name name version))
6628 (sha256
6629 (base32
6630 "0mkbzw12fav945icibc2293m5haxqr3hzkyli2cf4ssk6yvn0x4c"))))
6631 (build-system emacs-build-system)
6632 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6633 (home-page "https://github.com/bling/evil-visualstar")
6634 (synopsis "Instantly search using the visual selection")
6635 (description
6636 "This package provides @code{evil-mode} functions for using selected text
6637 to search.")
6638 (license license:gpl3+))))
6639
6640 (define-public emacs-monroe
6641 (package
6642 (name "emacs-monroe")
6643 (version "0.3.1")
6644 (source
6645 (origin
6646 (method git-fetch)
6647 (uri (git-reference
6648 (url "https://github.com/sanel/monroe.git")
6649 (commit version)))
6650 (file-name (git-file-name name version))
6651 (sha256
6652 (base32 "101lfrykdbv37spkbw7zihhx26bc1lhjyxbanrcp9880bxj04jiy"))))
6653 (build-system emacs-build-system)
6654 (home-page "https://github.com/sanel/monroe")
6655 (synopsis "Clojure nREPL client for Emacs")
6656 (description
6657 "Monroe is a nREPL client for Emacs, focused on simplicity and easy
6658 distribution, primarily targeting Clojure users")
6659 (license license:gpl3+)))
6660
6661 (define-public emacs-orgalist
6662 (package
6663 (name "emacs-orgalist")
6664 (version "1.9")
6665 (source
6666 (origin
6667 (method url-fetch)
6668 (uri (string-append "https://elpa.gnu.org/packages/"
6669 "orgalist-" version ".el"))
6670 (sha256
6671 (base32
6672 "1rmmcyiiqkq54hn74nhzxzl4nvd902hv6gq341jwhrm7yiagffi6"))))
6673 (build-system emacs-build-system)
6674 (home-page "http://elpa.gnu.org/packages/orgalist.html")
6675 (synopsis "Manage Org-like lists in non-Org buffers")
6676 (description "Write Org mode's plain lists in non-Org buffers. More
6677 specifically, Orgalist supports the syntax of Org mode for numbered,
6678 unnumbered, description items, checkboxes, and counter cookies.
6679
6680 The library also implements radio lists, i.e., lists written in Org
6681 syntax later translated into the host format, e.g., LaTeX or HTML.")
6682 (license license:gpl3+)))
6683
6684 (define-public emacs-writegood-mode
6685 (package
6686 (name "emacs-writegood-mode")
6687 (version "2.0.2")
6688 (home-page "https://github.com/bnbeckwith/writegood-mode")
6689 (source (origin
6690 (method git-fetch)
6691 (uri (git-reference
6692 (url home-page)
6693 (commit (string-append "v" version))))
6694 (sha256
6695 (base32
6696 "1nnjn1r669hvvzfycllwap4w04m8rfsk4nzcg8057m1f263kj31b"))
6697 (file-name (string-append name "-checkout"))))
6698 (build-system emacs-build-system)
6699 (synopsis "Polish up poor writing on the fly")
6700 (description
6701 "This minor mode tries to find and highlight problems with your writing
6702 in English as you type. It primarily detects \"weasel words\" and abuse of
6703 passive voice.")
6704 (license license:gpl3+)))
6705
6706 (define-public emacs-neotree
6707 (package
6708 (name "emacs-neotree")
6709 (version "0.5.2")
6710 (home-page "https://github.com/jaypei/emacs-neotree")
6711 (source (origin
6712 (method url-fetch)
6713 (uri (string-append
6714 "https://github.com/jaypei/" name
6715 "/archive/" version ".tar.gz"))
6716 (sha256
6717 (base32
6718 "1zd6dchwyijnf7kgchfcp51gs938l204dk9z6mljrfqf2zy0gp12"))
6719 (file-name (string-append name "-" version ".tar.gz"))))
6720 (build-system emacs-build-system)
6721 (synopsis "Folder tree view for Emacs")
6722 (description "This Emacs package provides a folder tree view.")
6723 (license license:gpl3+)))
6724
6725 (define-public emacs-org
6726 (package
6727 (name "emacs-org")
6728 ;; emacs-org-contrib inherits from this package. Please update its sha256
6729 ;; checksum as well.
6730 (version "9.2.5")
6731 (source (origin
6732 (method url-fetch)
6733 (uri (string-append "https://elpa.gnu.org/packages/org-"
6734 version ".tar"))
6735 (sha256
6736 (base32
6737 "1pid1sykgz83i4ry5n8f270finag6sm7ckqxn5lkikyya43wlzx1"))))
6738 (build-system emacs-build-system)
6739 (home-page "https://orgmode.org/")
6740 (synopsis "Outline-based notes management and organizer")
6741 (description "Org is an Emacs mode for keeping notes, maintaining TODO
6742 lists, and project planning with a fast and effective lightweight markup
6743 language. It also is an authoring system with unique support for literate
6744 programming and reproducible research.")
6745 (license license:gpl3+)))
6746
6747 (define-public emacs-org-contrib
6748 (package
6749 (inherit emacs-org)
6750 (name "emacs-org-contrib")
6751 (version "20190805")
6752 (source (origin
6753 (method url-fetch)
6754 (uri (string-append "https://orgmode.org/elpa/org-plus-contrib-"
6755 version ".tar"))
6756 (sha256
6757 (base32
6758 "1mw91hwbqyjq5pyz9hzdhvjlc2bphqpi23yqd3sdk1crpc87s40c"))))
6759 (arguments
6760 `(#:modules ((guix build emacs-build-system)
6761 (guix build utils)
6762 (guix build emacs-utils)
6763 (ice-9 ftw)
6764 (srfi srfi-1))
6765 #:phases
6766 (modify-phases %standard-phases
6767 (add-after 'install 'delete-org-files
6768 (lambda* (#:key inputs outputs #:allow-other-keys)
6769 (let* ((out (assoc-ref outputs "out"))
6770 (org (assoc-ref inputs "org"))
6771 (contrib-files
6772 (map basename (find-files out)))
6773 (org+contrib-files
6774 (map basename (find-files org)))
6775 (duplicates (lset-intersection
6776 string=? contrib-files org+contrib-files)))
6777 (with-directory-excursion
6778 (string-append
6779 out "/share/emacs/site-lisp/guix.d/org-contrib-" ,version)
6780 (for-each delete-file duplicates))
6781 #t))))))
6782 (propagated-inputs
6783 `(("arduino-mode" ,emacs-arduino-mode)
6784 ("cider" ,emacs-cider)
6785 ("org" ,emacs-org)
6786 ("scel" ,emacs-scel)))
6787 (synopsis "Contributed packages to Org mode")
6788 (description "Org is an Emacs mode for keeping notes, maintaining TODO
6789 lists, and project planning with a fast and effective plain-text system.
6790
6791 This package is equivalent to org-plus-contrib, but only includes additional
6792 files that you would find in @file{contrib/} from the git repository.")))
6793
6794 (define-public emacs-flx
6795 (package
6796 (name "emacs-flx")
6797 (version "0.6.1")
6798 (source
6799 (origin
6800 (method url-fetch)
6801 (uri (string-append "https://github.com/lewang/"
6802 "flx/archive/v" version ".tar.gz"))
6803 (sha256
6804 (base32
6805 "0bkcpnf1j4i2fcc2rllwbz62l00sw2mcia6rm5amgwvlkqavmkv6"))
6806 (file-name (string-append name "-" version ".tar.gz"))))
6807 (build-system emacs-build-system)
6808 (home-page "https://github.com/lewang/flx")
6809 (synopsis "Fuzzy matching for Emacs")
6810 (description
6811 "Flx provides fuzzy matching for emacs a la sublime text.
6812 The sorting algorithm is a balance between word beginnings (abbreviation)
6813 and contiguous matches (substring). The longer the substring match,
6814 the higher it scores. This maps well to how we think about matching.
6815 Flx has support for ido (interactively do things) through flx-ido.")
6816 (license license:gpl3+)))
6817
6818 (define-public emacs-cyberpunk-theme
6819 (package
6820 (name "emacs-cyberpunk-theme")
6821 (version "1.19")
6822 (source
6823 (origin
6824 (method url-fetch)
6825 (uri (string-append "https://github.com/n3mo/cyberpunk-theme.el/"
6826 "archive/" version ".tar.gz"))
6827 (sha256
6828 (base32
6829 "05l5fxw1mn5py6mfhxrzyqjq0d8m5m1akfi46vrgh13r414jffvv"))
6830 (file-name (string-append name "-" version ".tar.gz"))))
6831 (build-system emacs-build-system)
6832 (home-page "https://github.com/n3mo/cyberpunk-theme.el")
6833 (synopsis "Cyberpunk theme for emacs built-in color theme support")
6834 (description
6835 "Cyberpunk color theme for the emacs 24+ built-in color theme support
6836 known loosely as deftheme. Many mode-specific customizations are included.")
6837 (license license:gpl3+)))
6838
6839 (define-public emacs-danneskjold-theme
6840 (let* ((commit "8733d2fe8743e8a01826ea6d4430ef376c727e57")
6841 (revision "1"))
6842 (package
6843 (name "emacs-danneskjold-theme")
6844 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
6845 (home-page "https://github.com/rails-to-cosmos/danneskjold-theme")
6846 (source
6847 (origin
6848 (method git-fetch)
6849 (uri (git-reference
6850 (url home-page)
6851 (commit commit)))
6852 (file-name (git-file-name name version))
6853 (sha256
6854 (base32
6855 "0s6rbsb0y8i8m5b9xm4gw1p1cxsxdqnqxqqb638pygz9f76mbir1"))))
6856 (build-system emacs-build-system)
6857 (arguments
6858 `(#:phases
6859 (modify-phases %standard-phases
6860 (add-after 'unpack 'delete-screenshots
6861 (lambda _
6862 (delete-file-recursively "screenshots") #t)))))
6863 (synopsis "High-contrast Emacs theme")
6864 (description
6865 "@code{danneskjold-theme} is a high-contrast theme for Emacs.")
6866 (license license:gpl3+))))
6867
6868 (define-public emacs-dream-theme
6869 (let* ((commit "107a11d74365046f28a1802a2bdb5e69e4a7488b")
6870 (revision "1"))
6871 (package
6872 (name "emacs-dream-theme")
6873 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
6874 (source
6875 (origin
6876 (method git-fetch)
6877 (uri (git-reference
6878 (url "https://github.com/djcb/dream-theme")
6879 (commit commit)))
6880 (file-name (git-file-name name version))
6881 (sha256
6882 (base32
6883 "0za18nfkq4xqm35k6006vsixcbmvmxqgma4iw5sw37h8vmcsdylk"))))
6884 (build-system emacs-build-system)
6885 (home-page "https://github.com/djcb/dream-theme")
6886 (synopsis "High-contrast Emacs theme")
6887 (description
6888 "@code{dream-theme} is a dark, clean theme for Emacs. It is inspired
6889 by zenburn, sinburn and similar themes, but slowly diverging from them.")
6890 (license license:gpl3+))))
6891
6892 (define-public emacs-auto-complete
6893 (package
6894 (name "emacs-auto-complete")
6895 (version "1.5.1")
6896 (source
6897 (origin
6898 (method url-fetch)
6899 (uri (string-append "https://github.com/auto-complete/"
6900 "auto-complete/archive/v" version ".tar.gz"))
6901 (sha256
6902 (base32
6903 "1jvq4lj00hwml75lpmlciazy8f3bbg13gffsfnl835p4qd8l7yqv"))
6904 (file-name (string-append name "-" version ".tar.gz"))))
6905 (build-system emacs-build-system)
6906 (propagated-inputs
6907 `(("emacs-popup" ,emacs-popup)))
6908 (home-page "https://github.com/auto-complete/auto-complete")
6909 (synopsis "Intelligent auto-completion extension for Emacs")
6910 (description
6911 "Auto-Complete is an intelligent auto-completion extension for Emacs.
6912 It extends the standard Emacs completion interface and provides an environment
6913 that allows users to concentrate more on their own work. Its features are:
6914 a visual interface, reduce overhead of completion by using statistic method,
6915 extensibility.")
6916 (license license:gpl3+)))
6917
6918 (define-public emacs-nginx-mode
6919 (package
6920 (name "emacs-nginx-mode")
6921 (version "1.1.9")
6922 (source
6923 (origin
6924 (method git-fetch)
6925 (uri (git-reference
6926 (url "https://github.com/ajc/nginx-mode.git")
6927 (commit (string-append "v" version))))
6928 (file-name (git-file-name name version))
6929 (sha256
6930 (base32 "17dh5pr3gh6adrbqx588gimxbb2fr7iv2qrxv6r48w2727l344xs"))))
6931 (build-system emacs-build-system)
6932 (home-page "https://github.com/ajc/nginx-mode")
6933 (synopsis "Emacs major mode for editing nginx config files")
6934 (description "This package provides an Emacs major mode for
6935 editing nginx config files.")
6936 (license license:gpl2+)))
6937
6938 (define-public emacs-stream
6939 (package
6940 (name "emacs-stream")
6941 (version "2.2.0")
6942 (home-page "https://github.com/NicolasPetton/stream")
6943 (source
6944 (origin
6945 (method url-fetch)
6946 (file-name (string-append name "-" version ".tar.gz"))
6947 (uri (string-append home-page "/archive/"version ".tar.gz"))
6948 (sha256
6949 (base32 "03ql4nqfz5pn55mjly6clhvc3g7x2d28kj7mrlqmigvjbql39xxc"))))
6950 (build-system emacs-build-system)
6951 (synopsis "Implementation of streams for Emacs")
6952 (description "This library provides an implementation of streams for Emacs.
6953 Streams are implemented as delayed evaluation of cons cells.")
6954 (license license:gpl3+)))
6955
6956 (define-public emacs-el-search
6957 (let ((commit "f26277bfbb3fc3fc74beea6592f294c439796bd4")
6958 (revision "1"))
6959 (package
6960 (name "emacs-el-search")
6961 ;; No ufficial release.
6962 (version (string-append "0.0-" revision "." (string-take commit 7)))
6963 (home-page "https://github.com/emacsmirror/el-search")
6964 (source
6965 (origin
6966 (method git-fetch)
6967 (file-name (string-append name "-" version ".tar.gz"))
6968 (uri (git-reference
6969 (commit commit)
6970 (url (string-append home-page ".git"))))
6971 (sha256
6972 (base32 "12xf40h9sb7xxg2r97gsia94q02543mgiiiw46fzh1ac7b7993g6"))))
6973 (build-system emacs-build-system)
6974 (inputs `(("emacs-stream" ,emacs-stream)))
6975 (synopsis "Expression based interactive search for emacs-lisp-mode")
6976 (description "This package provides expression based interactive search
6977 procedures for emacs-lisp-mode.")
6978 (license license:gpl3+))))
6979
6980 (define-public emacs-ht
6981 (package
6982 (name "emacs-ht")
6983 (version "2.2")
6984 (source
6985 (origin
6986 (method git-fetch)
6987 (uri (git-reference
6988 (url "https://github.com/Wilfred/ht.el.git")
6989 (commit version)))
6990 (file-name (git-file-name name version))
6991 (sha256
6992 (base32 "1p3qa7g0wa0wbviv2f8bda39cjys3naayk5xjm3nxxmqsyy8papx"))))
6993 (build-system emacs-build-system)
6994 (propagated-inputs `(("emacs-dash" ,emacs-dash)))
6995 (home-page "https://github.com/Wilfred/ht.el")
6996 (synopsis "Hash table library for Emacs")
6997 (description
6998 "This package simplifies the use of hash tables in elisp. It also
6999 provides functions to convert hash tables from and to alists and plists.")
7000 (license license:gpl3+)))
7001
7002 (define-public emacs-log4e
7003 (package
7004 (name "emacs-log4e")
7005 (version "0.3.0")
7006 (source
7007 (origin
7008 (method git-fetch)
7009 (uri (git-reference
7010 (url "https://github.com/aki2o/log4e.git")
7011 (commit (string-append "v" version))))
7012 (file-name (git-file-name name version))
7013 (sha256
7014 (base32 "1l28n7a0v2zkknc70i1wn6qb5i21dkhfizzk8wcj28v44cgzk022"))))
7015 (build-system emacs-build-system)
7016 (arguments
7017 `(#:phases
7018 (modify-phases %standard-phases
7019 (add-after 'unpack 'remove-tests
7020 ;; Guile builder complains about null characters in some
7021 ;; strings of test files. Remove "test" directory (it is not
7022 ;; needed anyway).
7023 (lambda _
7024 (delete-file-recursively "test"))))))
7025 (home-page "https://github.com/aki2o/log4e")
7026 (synopsis "Logging framework for elisp")
7027 (description
7028 "This package provides a logging framework for elisp. It allows
7029 you to deal with multiple log levels.")
7030 (license license:gpl3+)))
7031
7032 (define-public emacs-gntp
7033 (package
7034 (name "emacs-gntp")
7035 (version "0.1")
7036 (source
7037 (origin
7038 (method git-fetch)
7039 (uri (git-reference
7040 (url "https://github.com/tekai/gntp.el.git")
7041 (commit (string-append "v" version))))
7042 (file-name (git-file-name name version))
7043 (sha256
7044 (base32 "1nvyjjjydrimpxy4cpg90si7sr8lmldbhlcm2mx8npklp9pn5y3a"))))
7045 (build-system emacs-build-system)
7046 (home-page "https://github.com/tekai/gntp.el")
7047 (synopsis "Growl Notification Protocol for Emacs")
7048 (description
7049 "This package implements the Growl Notification Protocol GNTP
7050 described at @uref{http://www.growlforwindows.com/gfw/help/gntp.aspx}.
7051 It is incomplete as it only lets you send but not receive
7052 notifications.")
7053 (license license:bsd-3)))
7054
7055 (define-public emacs-alert
7056 (package
7057 (name "emacs-alert")
7058 (version "1.3")
7059 (source
7060 (origin
7061 (method git-fetch)
7062 (uri (git-reference
7063 (url "https://github.com/jwiegley/alert.git")
7064 (commit (string-append "v" version))))
7065 (file-name (git-file-name name version))
7066 (sha256
7067 (base32 "0lc0p5cl4hfrzw1z2ghb11k1lvljn5m08jw5fmgwgxv667kwh49r"))))
7068 (build-system emacs-build-system)
7069 (propagated-inputs
7070 `(("emacs-gntp" ,emacs-gntp)
7071 ("emacs-log4e" ,emacs-log4e)))
7072 (home-page "https://github.com/jwiegley/alert")
7073 (synopsis "Growl-style notification system for Emacs")
7074 (description
7075 "Alert is a Growl-workalike for Emacs which uses a common notification
7076 interface and multiple, selectable \"styles\", whose use is fully
7077 customizable by the user.")
7078 (license license:gpl2+)))
7079
7080 (define-public emacs-zones
7081 (let ((commit "3169815c323966ff8e252b44e3558d6d045243fe")
7082 (revision "2"))
7083 (package
7084 (name "emacs-zones")
7085 (version (git-version "0" revision commit))
7086 (source
7087 (origin
7088 (method git-fetch)
7089 (uri (git-reference
7090 (url "https://github.com/emacsmirror/zones.git")
7091 (commit commit)))
7092 (file-name (git-file-name name version))
7093 (sha256
7094 (base32
7095 "039msns5596rz0my7fxpanpxwg1lkhpiibm9ppnlzaajx1hszbzl"))
7096 (patches
7097 (search-patches
7098 "emacs-zones-called-interactively.patch"))))
7099 (build-system emacs-build-system)
7100 (home-page "https://www.emacswiki.org/emacs/Zones")
7101 (synopsis "Define and act on multiple zones of buffer text")
7102 (description "Library @file{zones.el} lets you easily define and
7103 subsequently act on multiple zones of buffer text. You can think of this as
7104 enlarging the notion of region. In effect, it can remove the requirement of
7105 target text being a contiguous sequence of characters. A set of buffer zones
7106 is, in effect, a (typically) noncontiguous set of text.")
7107 (license license:gpl3+))))
7108
7109 (define-public emacs-mu4e-alert
7110 (package
7111 (name "emacs-mu4e-alert")
7112 (version "1.0")
7113 (source
7114 (origin
7115 (method git-fetch)
7116 (uri (git-reference
7117 (url "https://github.com/iqbalansari/mu4e-alert.git")
7118 (commit (string-append "v" version))))
7119 (file-name (git-file-name name version))
7120 (sha256
7121 (base32 "1nvsfbfsma59ilf7c3vjngnmx3aapwvvvaafdy5szm5r6lkicqvg"))))
7122 (build-system emacs-build-system)
7123 (propagated-inputs
7124 `(("emacs-alert" ,emacs-alert)
7125 ("emacs-s" ,emacs-s)
7126 ("emacs-ht" ,emacs-ht)
7127 ("mu" ,mu)))
7128 (home-page "https://github.com/iqbalansari/mu4e-alert")
7129 (synopsis "Desktop notification for mu4e")
7130 (description
7131 "This package provides desktop notifications for mu4e.
7132 Additionally it can display the number of unread emails in the
7133 mode-line.")
7134 (license license:gpl3+)))
7135
7136 (define-public emacs-pretty-mode
7137 (package
7138 (name "emacs-pretty-mode")
7139 (version "2.0.3")
7140 (source
7141 (origin
7142 (method url-fetch)
7143 (uri (string-append "https://github.com/akatov/pretty-mode/"
7144 "archive/" version ".tar.gz"))
7145 (file-name (string-append name "-" version ".tar.gz"))
7146 (sha256
7147 (base32
7148 "1fan7m4vnqs8kpg7r54kx3g7faadkpkf9kzarfv8n57kq8w157pl"))))
7149 (build-system emacs-build-system)
7150 (home-page "https://github.com/akatov/pretty-mode")
7151 (synopsis "Redisplay parts of the buffer as Unicode symbols")
7152 (description
7153 "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
7154 (license license:gpl3+)))
7155
7156 (define-public emacs-yasnippet
7157 (package
7158 (name "emacs-yasnippet")
7159 (version "0.13.0")
7160 (source (origin
7161 (method url-fetch)
7162 (uri (string-append "https://github.com/joaotavora/yasnippet/"
7163 "archive/" version ".tar.gz"))
7164 (file-name (string-append name "-" version ".tar.gz"))
7165 (sha256
7166 (base32
7167 "12ls2x17agzbrj1xynjbmfa11igqxia4hj4fv6fpr66yci2r1plc"))
7168 (modules '((guix build utils)))
7169 (snippet
7170 '(begin
7171 ;; YASnippet expects a "snippets" subdirectory in the same
7172 ;; directory as yasnippet.el, but we don't install it
7173 ;; because it's a git submodule pointing to an external
7174 ;; repository. Adjust `yas-snippet-dirs' to prevent
7175 ;; warnings about a missing directory.
7176 (substitute* "yasnippet.el"
7177 (("^ +'yas-installed-snippets-dir\\)\\)\n")
7178 "))\n"))
7179 #t))))
7180 (build-system emacs-build-system)
7181 (home-page "https://github.com/joaotavora/yasnippet")
7182 (synopsis "Yet another snippet extension for Emacs")
7183 (description
7184 "YASnippet is a template system for Emacs. It allows you to type an
7185 abbreviation and automatically expand it into function templates.")
7186 (license license:gpl3+)))
7187
7188 (define-public emacs-yasnippet-snippets
7189 (let ((commit "885050d34737e2fb36a3e7759d60c09347bd4ce0")
7190 (revision "1"))
7191 (package
7192 (name "emacs-yasnippet-snippets")
7193 (version (string-append "1-" revision "." (string-take commit 8)))
7194 (source
7195 (origin
7196 (method git-fetch)
7197 (uri (git-reference
7198 (url "https://github.com/AndreaCrotti/yasnippet-snippets")
7199 (commit commit)))
7200 (file-name (git-file-name name version))
7201 (sha256
7202 (base32
7203 "1m935zgglw0iakzrixld5rcjz3wnj84f8wy2mvc3pggjri9l0qr9"))))
7204 (build-system trivial-build-system)
7205 (arguments
7206 `(#:modules ((ice-9 ftw)
7207 (ice-9 regex)
7208 (guix build utils))
7209 #:builder
7210 (begin
7211 (use-modules (ice-9 ftw)
7212 (ice-9 regex)
7213 (guix build utils))
7214 (with-directory-excursion (assoc-ref %build-inputs "source")
7215 (for-each (lambda (dir)
7216 (copy-recursively
7217 dir
7218 (string-append %output
7219 "/share/emacs/yasnippet-snippets/"
7220 dir)))
7221 (scandir "." (lambda (fname)
7222 (and (string-match "-mode$" fname)
7223 (directory-exists? fname))))))
7224 #t)))
7225 (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
7226 (synopsis "Collection of YASnippet snippets for many languages")
7227 (description
7228 "Provides Andrea Crotti's collection of YASnippet snippets. After installation,
7229 the snippets will be in \"~/.guix-profile/share/emacs/yasnippet-snippets/\".
7230 To make YASnippet aware of these snippets, add the above directory to
7231 @code{yas-snippet-dirs}.")
7232 (license license:expat))))
7233
7234 (define-public emacs-helm-c-yasnippet
7235 (let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")
7236 (revision "1"))
7237 (package
7238 (name "emacs-helm-c-yasnippet")
7239 (version (string-append "0.6.7" "-" revision "."
7240 (string-take commit 7)))
7241 (source (origin
7242 (method git-fetch)
7243 (uri (git-reference
7244 (url "https://github.com/emacs-jp/helm-c-yasnippet")
7245 (commit commit)))
7246 (file-name (git-file-name name version))
7247 (sha256
7248 (base32
7249 "1cbafjqlzxbg19xfdqsinsh7afq58gkf44rsg1qxfgm8g6zhr7f8"))))
7250 (build-system emacs-build-system)
7251 (propagated-inputs
7252 `(("emacs-helm" ,emacs-helm)
7253 ("emacs-yasnippet" ,emacs-yasnippet)))
7254 (home-page "https://github.com/emacs-jp/helm-c-yasnippet")
7255 (synopsis "Helm integration for Yasnippet")
7256 (description "This Emacs library provides Helm interface for
7257 Yasnippet.")
7258 (license license:gpl2+))))
7259
7260 (define-public emacs-helm-system-packages
7261 ;; There won't be a new release after 1.10.1 until
7262 ;; https://github.com/emacs-helm/helm-system-packages/issues/25 is fixed,
7263 ;; and latest commits fix import issues with Guix.
7264 (let ((commit "6572340f41611ef1991e9612d34d59130957ee4a"))
7265 (package
7266 (name "emacs-helm-system-packages")
7267 (version (git-version "1.10.1" "1" commit))
7268 (source (origin
7269 (method git-fetch)
7270 (uri (git-reference
7271 (url "https://github.com/emacs-helm/helm-system-packages")
7272 (commit commit)))
7273 (file-name (git-file-name name version))
7274 (sha256
7275 (base32
7276 "0mcz6vkpk12vsyd37xv1rbg4v442sxc3lj8yxskqg294xbdaclz4"))))
7277 (build-system emacs-build-system)
7278 (inputs
7279 `(("recutils" ,recutils)))
7280 (propagated-inputs
7281 `(("emacs-helm" ,emacs-helm)))
7282 (arguments
7283 `(#:phases
7284 (modify-phases %standard-phases
7285 (add-after 'unpack 'configure
7286 (lambda* (#:key inputs outputs #:allow-other-keys)
7287 (let ((recutils (assoc-ref inputs "recutils")))
7288 ;; Specify the absolute file names of the various
7289 ;; programs so that everything works out-of-the-box.
7290 (substitute* "helm-system-packages-guix.el"
7291 (("recsel") (string-append recutils "/bin/recsel")))))))))
7292 (home-page "https://github.com/emacs-helm/helm-system-packages")
7293 (synopsis "Helm System Packages is an interface to your package manager")
7294 (description "List all available packages in Helm (with installed
7295 packages displayed in their own respective face). Fuzzy-search, mark and
7296 execute the desired action over any selections of packages: Install,
7297 uninstall, display packages details (in Org Mode) or insert details at point,
7298 find files owned by packages... And much more, including performing all the
7299 above over the network.")
7300 (license license:gpl3+))))
7301
7302 (define-public emacs-helm-org-rifle
7303 (package
7304 (name "emacs-helm-org-rifle")
7305 (version "1.6.1")
7306 (source
7307 (origin
7308 (method git-fetch)
7309 (uri (git-reference
7310 (url "https://github.com/alphapapa/helm-org-rifle")
7311 (commit version)))
7312 (file-name (git-file-name name version))
7313 (sha256
7314 (base32
7315 "1r38xhwvgbv6kn5x159phz3xgss7f1rc7icq27rnr4d8aj91wm6k"))))
7316 (build-system emacs-build-system)
7317 (propagated-inputs
7318 `(("emacs-dash" ,emacs-dash)
7319 ("emacs-f" ,emacs-f)
7320 ("emacs-helm" ,emacs-helm)
7321 ("emacs-s" ,emacs-s)))
7322 (home-page "https://github.com/alphapapa/helm-org-rifle")
7323 (synopsis "Rifle through Org files")
7324 (description "This package searches both headings and contents of entries
7325 in Org buffers and displays matching entries.")
7326 (license license:gpl3+)))
7327
7328 (define-public emacs-dired-toggle-sudo
7329 (package
7330 (name "emacs-dired-toggle-sudo")
7331 (version "1.0")
7332 (source
7333 (origin
7334 (method git-fetch)
7335 (uri (git-reference
7336 (url "https://github.com/renard/dired-toggle-sudo")
7337 (commit (string-append "v" version))))
7338 (file-name (git-file-name name version))
7339 (sha256
7340 (base32
7341 "0ajj8d6k5in2hclcrqckinfh80ylddplva0ryfbkzsjkfq167cv2"))
7342 (patches
7343 (search-patches
7344 "emacs-dired-toggle-sudo-emacs-26.patch"))))
7345 (build-system emacs-build-system)
7346 (home-page "https://github.com/renard/dired-toggle-sudo")
7347 (synopsis "Browse directory with @code{sudo} privileges")
7348 (description "This package allows for the use of @code{dired} with
7349 @code{sudo} privileges.")
7350 (license license:wtfpl2)))
7351
7352 (define-public emacs-memoize
7353 (package
7354 (name "emacs-memoize")
7355 (version "1.1")
7356 (source
7357 (origin
7358 (method git-fetch)
7359 (uri (git-reference
7360 (url "https://github.com/skeeto/emacs-memoize.git")
7361 (commit version)))
7362 (file-name (git-file-name name version))
7363 (sha256
7364 (base32 "04qgnlg4x6va7x364dhj1wbjmz8p5iq2vk36mn9198k2vxmijwzk"))))
7365 (build-system emacs-build-system)
7366 (arguments
7367 `(#:tests? #t
7368 #:test-command '("emacs" "--batch"
7369 "-l" "memoize-test.el"
7370 "-f" "ert-run-tests-batch-and-exit")))
7371 (home-page "https://github.com/skeeto/emacs-memoize")
7372 (synopsis "Emacs lisp memoization library")
7373 (description "@code{emacs-memoize} is an Emacs library for
7374 memoizing functions.")
7375 (license license:unlicense)))
7376
7377 (define-public emacs-linum-relative
7378 (package
7379 (name "emacs-linum-relative")
7380 (version "0.5")
7381 (source
7382 (origin
7383 (method git-fetch)
7384 (uri (git-reference
7385 (url "https://github.com/coldnew/linum-relative.git")
7386 (commit version)))
7387 (file-name (git-file-name name version))
7388 (sha256
7389 (base32 "11bjnqqwvr9zrvz5dlm8a0yw4zg9ysh3jdiq5a6iw09d3f0h1v2s"))))
7390 (build-system emacs-build-system)
7391 (home-page "https://github.com/coldnew/linum-relative")
7392 (synopsis "Relative line numbering for Emacs")
7393 (description "@code{emacs-linum-relative} displays the relative line
7394 number on the left margin in Emacs.")
7395 (license license:gpl2+)))
7396
7397 (define-public emacs-idle-highlight
7398 (package
7399 (name "emacs-idle-highlight")
7400 (version "1.1.3")
7401 (source
7402 (origin
7403 (method git-fetch)
7404 (uri (git-reference
7405 (url "https://github.com/nonsequitur/idle-highlight-mode.git")
7406 (commit version)))
7407 (file-name (git-file-name name version))
7408 (sha256
7409 (base32 "0x4w1ksrw7dicl84zpf4d4scg672dyan9g95jkn6zvri0lr8xciv"))))
7410 (build-system emacs-build-system)
7411 (home-page "https://www.emacswiki.org/emacs/IdleHighlight")
7412 (synopsis "Highlights all occurrences of the word the point is on")
7413 (description
7414 "This Emacs package provides @code{idle-highlight-mode} that sets
7415 an idle timer to highlight all occurrences in the buffer of the word under
7416 the point.")
7417 (license license:gpl3+)))
7418
7419 (define-public emacs-ox-twbs
7420 (package
7421 (name "emacs-ox-twbs")
7422 (version "1.1.1")
7423 (source
7424 (origin
7425 (method git-fetch)
7426 (uri (git-reference
7427 (url "https://github.com/marsmining/ox-twbs.git")
7428 (commit (string-append "v" version))))
7429 (file-name (git-file-name name version))
7430 (sha256
7431 (base32 "0kd45p8y7ykadmai4jn1x1pgpafyqggwb1ccbjzalxw4k9wmd45f"))))
7432 (build-system emacs-build-system)
7433 (home-page "https://github.com/marsmining/ox-twbs")
7434 (synopsis "Export org-mode docs as HTML compatible with Twitter Bootstrap")
7435 (description
7436 "This Emacs package outputs your org-mode docs with a simple, clean and
7437 modern look. It implements a new HTML back-end for exporting org-mode docs as
7438 HTML compatible with Twitter Bootstrap. By default, HTML is exported with
7439 jQuery and Bootstrap resources included via osscdn.")
7440 (license license:gpl3+)))
7441
7442 (define-public emacs-highlight-sexp
7443 (package
7444 (name "emacs-highlight-sexp")
7445 (version "1.0")
7446 (source
7447 (origin
7448 (method git-fetch)
7449 (uri (git-reference
7450 (url "https://github.com/daimrod/highlight-sexp.git")
7451 (commit (string-append "v" version))))
7452 (file-name (git-file-name name version))
7453 (sha256
7454 (base32 "12cyk2q5g6p4ac2hykw1cag7dp1prjjnck5f7nalwwaklmy62y79"))))
7455 (build-system emacs-build-system)
7456 (home-page "https://github.com/daimrod/highlight-sexp")
7457 (synopsis "Minor mode that highlights the s-exp at the current position")
7458 (description
7459 "This Emacs package highlights the s-exp at the current position.")
7460 (license license:gpl3+)))
7461
7462 (define-public emacs-highlight-stages
7463 (let ((commit "29cbc5b78261916da042ddb107420083da49b271")
7464 (revision "1"))
7465 (package
7466 (name "emacs-highlight-stages")
7467 (version (string-append "1.1.0" "-" revision "." (string-take commit 7)))
7468 (source
7469 (origin
7470 (method git-fetch)
7471 (uri (git-reference
7472 (url "https://github.com/zk-phi/highlight-stages.git")
7473 (commit commit)))
7474 (file-name (git-file-name name version))
7475 (sha256
7476 (base32
7477 "0r6nbcrr0dqpgm8dir8ahzjy7rw4nrac48byamzrq96r7ajlxlv0"))
7478 (patches
7479 (search-patches "emacs-highlight-stages-add-gexp.patch"))))
7480 (build-system emacs-build-system)
7481 (home-page "https://github.com/wigust/highlight-stages")
7482 (synopsis "Minor mode that highlights (quasi-quoted) expressions")
7483 (description "@code{highlight-stages} provides an Emacs minor mode that
7484 highlights quasi-quoted expressions.")
7485 (license license:gpl3+))))
7486
7487 (define-public emacspeak
7488 (package
7489 (name "emacspeak")
7490 (version "50.0")
7491 (source
7492 (origin
7493 (method url-fetch)
7494 (uri (string-append
7495 "https://github.com/tvraman/emacspeak/releases/download/"
7496 version "/emacspeak-" version ".tar.bz2"))
7497 (sha256
7498 (base32
7499 "0rsj7rzfyqmyidfsjrhjnxi2d43axx6r3gac1fhv5xkkbiiqzqkb"))))
7500 (build-system gnu-build-system)
7501 (arguments
7502 '(#:make-flags (list (string-append "prefix="
7503 (assoc-ref %outputs "out")))
7504 #:phases
7505 (modify-phases %standard-phases
7506 (replace 'configure
7507 (lambda _
7508 (setenv "SHELL" (which "sh"))
7509 ;; Configure Emacspeak according to etc/install.org.
7510 (invoke "make" "config")))
7511 (add-after 'build 'build-espeak
7512 (lambda _
7513 (invoke "make" "espeak")))
7514 (replace 'install
7515 (lambda* (#:key inputs outputs #:allow-other-keys)
7516 (let* ((out (assoc-ref outputs "out"))
7517 (bin (string-append out "/bin"))
7518 (lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
7519 (info (string-append out "/share/info"))
7520 (emacs (string-append (assoc-ref inputs "emacs")
7521 "/bin/emacs")))
7522 ;; According to etc/install.org, the Emacspeak directory should
7523 ;; be copied to its installation destination.
7524 (for-each
7525 (lambda (file)
7526 (copy-recursively file (string-append lisp "/" file)))
7527 '("etc" "info" "js" "lisp" "media" "servers" "sounds"
7528 "stumpwm" "xsl"))
7529 ;; Make sure emacspeak is loaded from the correct directory.
7530 (substitute* "etc/emacspeak.sh"
7531 (("/lisp/emacspeak-setup.el")
7532 (string-append lisp "/lisp/emacspeak-setup.el")))
7533 ;; Install the convenient startup script.
7534 (mkdir-p bin)
7535 (copy-file "etc/emacspeak.sh" (string-append bin "/emacspeak")))
7536 #t))
7537 (add-after 'install 'wrap-program
7538 (lambda* (#:key inputs outputs #:allow-other-keys)
7539 (let* ((out (assoc-ref outputs "out"))
7540 (emacspeak (string-append out "/bin/emacspeak"))
7541 (espeak (string-append (assoc-ref inputs "espeak")
7542 "/bin/espeak")))
7543 ;; The environment variable DTK_PROGRAM tells emacspeak what
7544 ;; program to use for speech.
7545 (wrap-program emacspeak
7546 `("DTK_PROGRAM" ":" prefix (,espeak)))
7547 #t))))
7548 #:tests? #f)) ; no check target
7549 (inputs
7550 `(("emacs" ,emacs)
7551 ("espeak" ,espeak)
7552 ("perl" ,perl)
7553 ("tcl" ,tcl)
7554 ("tclx" ,tclx)))
7555 (home-page "http://emacspeak.sourceforge.net")
7556 (synopsis "Audio desktop interface for Emacs")
7557 (description
7558 "Emacspeak is a speech interface that allows visually impaired users to
7559 interact independently and efficiently with the computer. Audio formatting
7560 --a technique pioneered by AsTeR-- and full support for W3C's Aural CSS (ACSS)
7561 allows Emacspeak to produce rich aural presentations of electronic information.
7562 By seamlessly blending all aspects of the Internet such as Web-surfing and
7563 messaging, Emacspeak speech-enables local and remote information via a
7564 consistent and well-integrated user interface.")
7565 (license license:gpl2+)))
7566
7567 (define-public emacs-adaptive-wrap
7568 (package
7569 (name "emacs-adaptive-wrap")
7570 (version "0.5.1")
7571 (source (origin
7572 (method url-fetch)
7573 (uri (string-append
7574 "http://elpa.gnu.org/packages/adaptive-wrap-"
7575 version ".el"))
7576 (sha256
7577 (base32
7578 "0qi7gjprcpywk2daivnlavwsx53hl5wcqvpxbwinvigg42vxh3ll"))))
7579 (build-system emacs-build-system)
7580 (home-page "http://elpa.gnu.org/packages/adaptive-wrap.html")
7581 (synopsis "Smart line-wrapping with wrap-prefix")
7582 (description
7583 "This Emacs package provides the @code{adaptive-wrap-prefix-mode}
7584 minor mode which sets the wrap-prefix property on the fly so that
7585 single-long-line paragraphs get word-wrapped in a way similar to what
7586 you'd get with @kbd{M-q} using @code{adaptive-fill-mode}, but without
7587 actually changing the buffer's text.")
7588 (license license:gpl3+)))
7589
7590 (define-public emacs-diff-hl
7591 (package
7592 (name "emacs-diff-hl")
7593 (version "1.8.6")
7594 (source
7595 (origin
7596 (method git-fetch)
7597 (uri (git-reference
7598 (url "https://github.com/dgutov/diff-hl")
7599 (commit version)))
7600 (sha256
7601 (base32
7602 "1xlsg728mz3cwhrsqvisa0aidic67nymd9g7h4c1h3q63j39yb2s"))))
7603 (build-system emacs-build-system)
7604 (home-page "https://github.com/dgutov/diff-hl")
7605 (synopsis
7606 "Highlight uncommitted changes using VC")
7607 (description
7608 "@code{diff-hl-mode} highlights uncommitted changes on the side of the
7609 window (using the fringe, by default), allows you to jump between
7610 the hunks and revert them selectively.")
7611 (license license:gpl3+)))
7612
7613 (define-public emacs-diminish
7614 (package
7615 (name "emacs-diminish")
7616 (version "0.45")
7617 (source
7618 (origin
7619 (method git-fetch)
7620 (uri (git-reference
7621 (url "https://github.com/myrjola/diminish.el.git")
7622 (commit (string-append "v" version))))
7623 (file-name (git-file-name name version))
7624 (sha256
7625 (base32 "0qpgfgp8hrzz4vdifxq8h25n0a0jlzgf7aa1fpy6r0080v5rqbb6"))))
7626 (build-system emacs-build-system)
7627 (home-page "https://github.com/myrjola/diminish.el")
7628 (synopsis "Diminish minor modes with no modeline display")
7629 (description "@code{emacs-diminish} implements hiding or
7630 abbreviation of the mode line displays (lighters) of minor modes.")
7631 (license license:gpl2+)))
7632
7633 (define-public emacs-use-package
7634 (package
7635 (name "emacs-use-package")
7636 (version "2.4")
7637 (source (origin
7638 (method git-fetch)
7639 (uri (git-reference
7640 (url "https://github.com/jwiegley/use-package")
7641 (commit version)))
7642 (file-name (git-file-name name version))
7643 (sha256
7644 (base32
7645 "1b7mjjh0d6fmkkd9vyj64vca27xqhga0nvyrrcqxpqjn62zq046y"))))
7646 (build-system emacs-build-system)
7647 (propagated-inputs
7648 `(("emacs-diminish" ,emacs-diminish)))
7649 (arguments
7650 `(#:tests? #t
7651 #:test-command '("emacs" "--batch"
7652 "-l" "use-package-tests.el"
7653 "-f" "ert-run-tests-batch-and-exit")))
7654 (home-page "https://github.com/jwiegley/use-package")
7655 (synopsis "Declaration for simplifying your .emacs")
7656 (description "The use-package macro allows you to isolate package
7657 configuration in your @file{.emacs} file in a way that is both
7658 performance-oriented and tidy.")
7659 (license license:gpl2+)))
7660
7661 (define-public emacs-strace-mode
7662 (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
7663 (revision "1"))
7664 (package
7665 (name "emacs-strace-mode")
7666 (version (string-append "0.0.2-" revision "." (string-take commit 7)))
7667 (source (origin
7668 (method git-fetch)
7669 (uri (git-reference
7670 (url "https://github.com/pkmoore/strace-mode")
7671 (commit commit)))
7672 (file-name (git-file-name name version))
7673 (sha256
7674 (base32
7675 "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f"))))
7676 (build-system emacs-build-system)
7677 (home-page "https://github.com/pkmoore/strace-mode")
7678 (synopsis "Emacs major mode to highlight strace outputs")
7679 (description "@code{emacs-strace-mode} provides an Emacs major mode
7680 highlighting strace outputs.")
7681 (license license:gpl3+))))
7682
7683 (define-public emacs-default-encrypt
7684 (package
7685 (name "emacs-default-encrypt")
7686 (version "4.4")
7687 (source
7688 (origin
7689 (method url-fetch)
7690 (uri (string-append
7691 "https://informationelle-selbstbestimmung-im-internet.de"
7692 "/emacs/jl-encrypt" version "/jl-encrypt.el"))
7693 (file-name (string-append "jl-encrypt-" version ".el"))
7694 (sha256
7695 (base32
7696 "0w9ggz075j1zwg7d0rv9k8238g600p7czfnnsnawswi7yps2xk78"))))
7697 (build-system emacs-build-system)
7698 (home-page
7699 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
7700 (synopsis "Automatically encrypt or sign Gnus messages in Emacs")
7701 (description
7702 "DefaultEncrypt is designed to be used with Gnus in Emacs. It
7703 automatically encrypts messages that you send (e.g., email) when public keys
7704 for all recipients are available, and it protects you from accidentally
7705 sending un-encrypted messages. It can also be configured to automatically
7706 sign messages that you send. For details and instructions on how to use
7707 DefaultEncrypt, please refer to the home page or read the comments in the
7708 source file, @file{jl-encrypt.el}.")
7709 (license license:gpl3+)))
7710
7711 (define-public emacs-extend-smime
7712 (package
7713 (name "emacs-extend-smime")
7714 (version "3.3")
7715 (source
7716 (origin
7717 (method url-fetch)
7718 (uri (string-append
7719 "https://informationelle-selbstbestimmung-im-internet.de"
7720 "/emacs/jl-smime" version "/jl-smime.el"))
7721 (file-name (string-append "jl-smime-" version ".el"))
7722 (sha256
7723 (base32
7724 "1iv8s2wjmv3v5qfwlcy9hvvrmxxvp3f8m1krlr789q7bbh35jynh"))))
7725 (build-system emacs-build-system)
7726 (home-page
7727 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
7728 (synopsis "Improved S/MIME support for Gnus in Emacs")
7729 (propagated-inputs
7730 `(("emacs-default-encrypt" ,emacs-default-encrypt)))
7731 (description
7732 ;; TRANSLATORS: ExtendSMIME, DefaultEncrypt, and emacs-default-encrypt
7733 ;; should not be translated. The name "emacs-default-encrypt" refers to
7734 ;; the Guix package that provides DefaultEncrypt.
7735 "ExtendSMIME is designed to be used with Gnus in Emacs. It enhances
7736 DefaultEncrypt (emacs-default-encrypt) to support S/MIME (Secure/Multipurpose
7737 Internet Mail Extensions) via LDAP (Lightweight Directory Access Protocol).
7738 Before a message (e.g., email) is sent, ExtendSMIME searches for missing
7739 certificates via LDAP and imports them into @code{gpgsm}. When certificates
7740 for all recipients are available, DefaultEncrypt automatically encrypts the
7741 message. For details and instructions on how to use ExtendSMIME, please refer
7742 to the home page or read the comments in the source file,
7743 @file{jl-smime.el}.")
7744 (license license:gpl3+)))
7745
7746 (define-public emacs-htmlize
7747 (package
7748 (name "emacs-htmlize")
7749 (version "1.53")
7750 (source
7751 (origin
7752 (method git-fetch)
7753 (uri (git-reference
7754 (url "https://github.com/hniksic/emacs-htmlize.git")
7755 (commit (string-append "release/" version))))
7756 (file-name (git-file-name name version))
7757 (sha256
7758 (base32 "0dr235c0z8is3pi5xdgqyqljg6px0b2aya6qb79zkyi477bmz4ip"))))
7759 (build-system emacs-build-system)
7760 (home-page "https://github.com/hniksic/emacs-htmlize")
7761 (synopsis "Convert buffer text and decorations to HTML")
7762 (description "@code{emacs-htmlize} converts the buffer text and
7763 the associated decorations to HTML. Output to CSS, inline CSS and
7764 fonts is supported.")
7765 (license license:gpl2+)))
7766
7767 (define-public emacs-xmlgen
7768 (package
7769 (name "emacs-xmlgen")
7770 (version "0.5")
7771 (source
7772 (origin
7773 (method git-fetch)
7774 (uri (git-reference
7775 (url "https://github.com/philjackson/xmlgen.git")
7776 (commit version)))
7777 (file-name (git-file-name name version))
7778 (sha256
7779 (base32 "096i29v0badx0a6339h9ckdz78zj59gbjdp7vj7vhkq9d830392s"))))
7780 (build-system emacs-build-system)
7781 (arguments
7782 `(#:tests? #t
7783 #:test-command '("emacs" "--batch"
7784 "-l" "xmlgen-test.el"
7785 "-f" "ert-run-tests-batch-and-exit")))
7786 (home-page "https://github.com/philjackson/xmlgen")
7787 (synopsis "S-expression to XML domain specific language (DSL) in
7788 Emacs Lisp")
7789 (description "@code{emacs-xmlgen} provides S-expression to XML
7790 conversion for Emacs Lisp.")
7791 (license license:gpl2+)))
7792
7793 (define-public emacs-cdlatex
7794 (package
7795 (name "emacs-cdlatex")
7796 (version "4.7")
7797 (source
7798 (origin
7799 (method git-fetch)
7800 (uri (git-reference
7801 (url "https://github.com/cdominik/cdlatex.git")
7802 (commit version)))
7803 (file-name (git-file-name name version))
7804 (sha256
7805 (base32 "1jj9vmhc4s3ych08bjm1c2xwi81z1p20rj7bvxrgvb5aga2ghi9d"))))
7806 (build-system emacs-build-system)
7807 (propagated-inputs
7808 `(("emacs-auctex" ,emacs-auctex)))
7809 (home-page "https://github.com/cdominik/cdlatex")
7810 (synopsis "Fast Emacs input methods for LaTeX environments and
7811 math")
7812 (description "CDLaTeX is an Emacs minor mode supporting fast
7813 insertion of environment templates and math in LaTeX. Similar
7814 commands are also offered as part of the AUCTeX package, but it is not
7815 the same - CDLaTeX focuses on speediness for inserting LaTeX
7816 constructs.")
7817 (license license:gpl3+)))
7818
7819 (define-public emacs-cnfonts
7820 (package
7821 (name "emacs-cnfonts")
7822 (version "0.9.1")
7823 (source
7824 (origin
7825 (method git-fetch)
7826 (uri (git-reference
7827 (url "https://github.com/tumashu/cnfonts.git")
7828 (commit (string-append "v" version))))
7829 (file-name (git-file-name name version))
7830 (sha256
7831 (base32 "11d44lf0m0kbzq1mvyqkl4aprys0xqaarp08nij57xnynin1rynx"))))
7832 (build-system emacs-build-system)
7833 (home-page "https://github.com/tumashu/cnfonts")
7834 (synopsis "Emacs Chinese fonts setup tool")
7835 (description "cnfonts is a Chinese fonts setup tool, allowing for easy
7836 configuration of Chinese fonts.")
7837 (license license:gpl2+)))
7838
7839 (define-public emacs-php-mode
7840 (package
7841 (name "emacs-php-mode")
7842 (version "20171225.342")
7843 (source (origin
7844 (method url-fetch)
7845 (uri (string-append
7846 "https://melpa.org/packages/php-mode-"
7847 version ".tar"))
7848 (sha256
7849 (base32
7850 "1zz682f34v4wsm2dyj1gnrnvsrqdq1cy7j8p6cvc398w2fziyg3q"))))
7851 (build-system emacs-build-system)
7852 (home-page "https://github.com/ejmr/php-mode")
7853 (synopsis "Major mode for editing PHP code")
7854 (description "@code{php-mode} is a major mode for editing PHP source
7855 code. It's an extension of C mode; thus it inherits all C mode's navigation
7856 functionality. But it colors according to the PHP grammar and indents
7857 according to the PEAR coding guidelines. It also includes a couple handy
7858 IDE-type features such as documentation search and a source and class
7859 browser.")
7860 (license license:gpl3+)))
7861
7862 (define-public emacs-pos-tip
7863 (package
7864 (name "emacs-pos-tip")
7865 (version "0.4.6")
7866 (source
7867 (origin
7868 (method git-fetch)
7869 (uri (git-reference
7870 (url "https://github.com/pitkali/pos-tip.git")
7871 (commit version)))
7872 (file-name (git-file-name name version))
7873 (sha256
7874 (base32 "0w8bnspnk871qndp18hs0wk4x9x31xr9rwbvf5dc8mcbnj29ch33"))))
7875 (build-system emacs-build-system)
7876 ;; The following functions and variables needed by emacs-pos-tip are
7877 ;; not included in emacs-minimal:
7878 ;; x-display-pixel-width, x-display-pixel-height, x-show-tip
7879 (arguments `(#:emacs ,emacs))
7880 (home-page "https://github.com/pitkali/pos-tip")
7881 (synopsis "Show tooltip at point")
7882 (description "The standard library tooltip.el provides a function for
7883 displaying a tooltip at the mouse position. However, locating a tooltip at an
7884 arbitrary buffer position in a window is not easy. Pos-tip provides such a
7885 function to be used by other frontend programs.")
7886 (license license:gpl2+)))
7887
7888 (define-public emacs-pyim-basedict
7889 (package
7890 (name "emacs-pyim-basedict")
7891 (version "0.3.1")
7892 (source
7893 (origin
7894 (method git-fetch)
7895 (uri (git-reference
7896 (url "https://github.com/tumashu/pyim-basedict.git")
7897 (commit (string-append "v" version))))
7898 (file-name (git-file-name name version))
7899 (sha256
7900 (base32 "0576r8ap9gp91ycjf1d47pn13kxp0f9fysn09zlq44hr0s1y2y5d"))))
7901 (build-system emacs-build-system)
7902 (home-page "https://github.com/tumashu/pyim-basedict")
7903 (synopsis "Input method dictionary of pyim")
7904 (description "Pyim-basedict is the default pinyin input method dictionary,
7905 containing words from the rime project.")
7906 (license license:gpl2+)))
7907
7908 (define-public emacs-pyim
7909 (package
7910 (name "emacs-pyim")
7911 (version "1.8")
7912 (source
7913 (origin
7914 (method git-fetch)
7915 (uri (git-reference
7916 (url "https://github.com/tumashu/pyim")
7917 (commit (string-append "v" version))))
7918 (file-name (git-file-name name version))
7919 (sha256
7920 (base32
7921 "16rma4cv7xgky0g3x4an27v30jdi6i1sqw43cl99zhkqvp43l3f9"))))
7922 (build-system emacs-build-system)
7923 (propagated-inputs
7924 `(("emacs-async" ,emacs-async)
7925 ("emacs-pyim-basedict" ,emacs-pyim-basedict)
7926 ("emacs-popup" ,emacs-popup)
7927 ("emacs-posframe" ,emacs-posframe)))
7928 (home-page "https://github.com/tumashu/pyim")
7929 (synopsis "Chinese input method")
7930 (description "Chinese input method which supports quanpin, shuangpin, wubi
7931 and cangjie.")
7932 (license license:gpl2+)))
7933
7934 (define-public emacs-posframe
7935 (package
7936 (name "emacs-posframe")
7937 (version "0.5.0")
7938 (source
7939 (origin
7940 (method git-fetch)
7941 (uri (git-reference
7942 (url "https://github.com/tumashu/posframe")
7943 (commit (string-append "v" version))))
7944 (file-name (git-file-name name version))
7945 (sha256
7946 (base32
7947 "1fhjxj7gi2pj5rdnmf0gddiwd8iifgjgjp01c01npz1gwwixyqh3"))))
7948 (build-system emacs-build-system)
7949 ;; emacs-minimal does not include the function font-info
7950 (arguments `(#:emacs ,emacs))
7951 (home-page "https://github.com/tumashu/posframe")
7952 (synopsis "Pop a posframe (a child frame) at point")
7953 (description "@code{emacs-posframe} can pop a posframe at point. A
7954 posframe is a child frame displayed within its root window's buffer.
7955 @code{emacs-posframe} is fast and works well with CJK languages.")
7956 (license license:gpl3+)))
7957
7958 (define-public emacs-el2org
7959 (package
7960 (name "emacs-el2org")
7961 (version "0.6.0")
7962 (source
7963 (origin
7964 (method git-fetch)
7965 (uri (git-reference
7966 (url "https://github.com/tumashu/el2org.git")
7967 (commit (string-append "v" version))))
7968 (file-name (git-file-name name version))
7969 (sha256
7970 (base32 "0mzddqny6wpg1fv99xrvlv7rxmaifvmy5bvj4in4pldhm4cx4q1b"))))
7971 (build-system emacs-build-system)
7972 (home-page "https://github.com/tumashu/el2org")
7973 (synopsis "Convert Emacs-lisp file to org file")
7974 (description "El2org is a simple tool, which can convert Emacs-lisp file
7975 to org file, you can use this tool to write orgify commentary.")
7976 (license license:gpl2+)))
7977
7978 (define-public emacs-mustache
7979 (package
7980 (name "emacs-mustache")
7981 (version "0.23")
7982 (source
7983 (origin
7984 (method git-fetch)
7985 (uri (git-reference
7986 (url "https://github.com/Wilfred/mustache.el.git")
7987 (commit version)))
7988 (file-name (git-file-name name version))
7989 (sha256
7990 (base32 "1n2ymd92qpvsby6ms0l3kjhdzzc47rri2aiscc6bs07hm4mjpr9q"))))
7991 (build-system emacs-build-system)
7992 (propagated-inputs
7993 `(("emacs-dash" ,emacs-dash)
7994 ("emacs-ht" ,emacs-ht)
7995 ("emacs-s" ,emacs-s)))
7996 (home-page "https://github.com/Wilfred/mustache.el")
7997 (synopsis "Mustache templating library for Emacs")
7998 (description "Mustache templating library for Emacs, mustache is
7999 a simple web template system, which is described as a logic-less system
8000 because it lacks any explicit control flow statements, both looping and
8001 conditional evaluation can be achieved using section tags processing lists
8002 and lambdas.")
8003 (license license:gpl3+)))
8004
8005 (define-public emacs-org2web
8006 (package
8007 (name "emacs-org2web")
8008 (version "0.9.1")
8009 (source
8010 (origin
8011 (method git-fetch)
8012 (uri (git-reference
8013 (url "https://github.com/tumashu/org2web.git")
8014 (commit (string-append "v" version))))
8015 (file-name (git-file-name name version))
8016 (sha256
8017 (base32 "0wsvfn409a2ivbich8b8zqza78sprirg4bl7igx536ydqclmi0n7"))))
8018 (build-system emacs-build-system)
8019 (propagated-inputs
8020 `(("emacs-dash" ,emacs-dash)
8021 ("emacs-el2org" ,emacs-el2org)
8022 ("emacs-ht" ,emacs-ht)
8023 ("emacs-mustache" ,emacs-mustache)
8024 ("emacs-simple-httpd" ,emacs-simple-httpd)))
8025 (home-page "https://github.com/tumashu/org2web")
8026 (synopsis "Static site generator based on org-mode ")
8027 (description "Org2web is a static site generator based on org-mode,
8028 which code derived from Kelvin H's org-page.")
8029 (license license:gpl2+)))
8030
8031 (define-public emacs-xelb
8032 (package
8033 (name "emacs-xelb")
8034 (version "0.17")
8035 (source (origin
8036 (method url-fetch)
8037 (uri (string-append "https://elpa.gnu.org/packages/xelb-"
8038 version ".tar"))
8039 (sha256
8040 (base32
8041 "0k98580vq253fjdgklgqlwl450saninfw39fbq8lv3xsnp3dcgml"))))
8042 (build-system emacs-build-system)
8043 ;; The following functions and variables needed by emacs-xelb are
8044 ;; not included in emacs-minimal:
8045 ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym
8046 ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region
8047 ;; x-display-pixel-width, x-display-pixel-height
8048 (arguments
8049 `(#:emacs ,emacs
8050 #:phases
8051 (modify-phases %standard-phases
8052 (add-after 'unpack 'regenerate-el-files
8053 (lambda* (#:key inputs #:allow-other-keys)
8054 (invoke "make"
8055 (string-append "PROTO_PATH="
8056 (assoc-ref inputs "xcb-proto")
8057 "/share/xcb")
8058 (string-append "EMACS_BIN="
8059 (assoc-ref inputs "emacs")
8060 "/bin/emacs -Q")))))))
8061 (native-inputs `(("xcb-proto" ,xcb-proto)))
8062 (home-page "https://github.com/ch11ng/xelb")
8063 (synopsis "X protocol Emacs Lisp binding")
8064 (description "@code{emacs-xelb} is a pure Emacs Lisp implementation of the
8065 X11 protocol based on the XML description files from the XCB project. It
8066 features an object-oriented API and permits a certain degree of concurrency.
8067 It should enable you to implement low-level X11 applications.")
8068 (license license:gpl3+)))
8069
8070 (define-public emacs-exwm
8071 (package
8072 (name "emacs-exwm")
8073 (version "0.22")
8074 (synopsis "Emacs X window manager")
8075 (source (origin
8076 (method url-fetch)
8077 (uri (string-append "https://elpa.gnu.org/packages/exwm-"
8078 version ".tar"))
8079 (sha256
8080 (base32
8081 "0lppm8ng37i5s4x7xdrxhjbdcnpl6pyvn4g7w52zbckjsn8qnqh0"))))
8082 (build-system emacs-build-system)
8083 (propagated-inputs
8084 `(("emacs-xelb" ,emacs-xelb)))
8085 (inputs
8086 `(("xhost" ,xhost)
8087 ("dbus" ,dbus)))
8088 ;; The following functions and variables needed by emacs-exwm are
8089 ;; not included in emacs-minimal:
8090 ;; scroll-bar-mode, fringe-mode
8091 ;; x-display-pixel-width, x-display-pixel-height
8092 (arguments
8093 `(#:emacs ,emacs
8094 #:phases
8095 (modify-phases %standard-phases
8096 (add-after 'build 'install-xsession
8097 (lambda* (#:key inputs outputs #:allow-other-keys)
8098 (let* ((out (assoc-ref outputs "out"))
8099 (xsessions (string-append out "/share/xsessions"))
8100 (bin (string-append out "/bin"))
8101 (exwm-executable (string-append bin "/exwm")))
8102 ;; Add a .desktop file to xsessions
8103 (mkdir-p xsessions)
8104 (mkdir-p bin)
8105 (with-output-to-file
8106 (string-append xsessions "/exwm.desktop")
8107 (lambda _
8108 (format #t "[Desktop Entry]~@
8109 Name=~a~@
8110 Comment=~a~@
8111 Exec=~a~@
8112 TryExec=~:*~a~@
8113 Type=Application~%" ,name ,synopsis exwm-executable)))
8114 ;; Add a shell wrapper to bin
8115 (with-output-to-file exwm-executable
8116 (lambda _
8117 (format #t "#!~a ~@
8118 ~a +SI:localuser:$USER ~@
8119 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
8120 (string-append (assoc-ref inputs "bash") "/bin/sh")
8121 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
8122 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
8123 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
8124 '(cond
8125 ((file-exists-p "~/.exwm")
8126 (load-file "~/.exwm"))
8127 ((not (featurep 'exwm))
8128 (require 'exwm)
8129 (require 'exwm-config)
8130 (exwm-config-default)
8131 (message (concat "exwm configuration not found. "
8132 "Falling back to default configuration...")))))))
8133 (chmod exwm-executable #o555)
8134 #t))))))
8135 (home-page "https://github.com/ch11ng/exwm")
8136 (description "EXWM is a full-featured tiling X window manager for Emacs
8137 built on top of XELB.")
8138 (license license:gpl3+)))
8139
8140 (define-public emacs-switch-window
8141 (package
8142 (name "emacs-switch-window")
8143 (version "1.6.2")
8144 (source
8145 (origin
8146 (method git-fetch)
8147 (uri (git-reference
8148 (url "https://github.com/dimitri/switch-window")
8149 (commit (string-append "v" version))))
8150 (file-name (git-file-name name version))
8151 (sha256
8152 (base32
8153 "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"))))
8154 (build-system emacs-build-system)
8155 (home-page "https://github.com/dimitri/switch-window")
8156 (synopsis "Emacs window switch tool")
8157 (description "Switch-window is an emacs window switch tool, which
8158 offer a visual way to choose a window to switch to, delete, split or
8159 other operations.")
8160 (license license:wtfpl2)))
8161
8162 (define-public emacs-exwm-x
8163 (package
8164 (name "emacs-exwm-x")
8165 (version "1.9.0")
8166 (synopsis "Derivative window manager based on EXWM")
8167 (source
8168 (origin
8169 (method git-fetch)
8170 (uri (git-reference
8171 (url "https://github.com/tumashu/exwm-x")
8172 (commit (string-append "v" version))))
8173 (file-name (git-file-name name version))
8174 (sha256
8175 (base32
8176 "03l3dl7s1qys1kkh40rm1sfx7axy1b8sf5f6nyksj9ps6d30p5i4"))))
8177 (build-system emacs-build-system)
8178 (propagated-inputs
8179 `(("emacs-exwm" ,emacs-exwm)
8180 ("emacs-switch-window" ,emacs-switch-window)
8181 ("emacs-ivy" ,emacs-ivy)
8182 ("emacs-use-package" ,emacs-use-package)))
8183 (inputs
8184 `(("xhost" ,xhost)
8185 ("dbus" ,dbus)))
8186 ;; Need emacs instead of emacs-minimal,
8187 ;; for emacs's bin path will be inserted into bin/exwm-x file.
8188 (arguments
8189 `(#:emacs ,emacs
8190 #:phases
8191 (modify-phases %standard-phases
8192 (add-after 'build 'install-xsession
8193 (lambda* (#:key inputs outputs #:allow-other-keys)
8194 (let* ((out (assoc-ref outputs "out"))
8195 (xsessions (string-append out "/share/xsessions"))
8196 (bin (string-append out "/bin"))
8197 (exwm-executable (string-append bin "/exwm-x")))
8198 ;; Add a .desktop file to xsessions
8199 (mkdir-p xsessions)
8200 (mkdir-p bin)
8201 (with-output-to-file
8202 (string-append xsessions "/exwm-x.desktop")
8203 (lambda _
8204 (format #t "[Desktop Entry]~@
8205 Name=~a~@
8206 Comment=~a~@
8207 Exec=~a~@
8208 TryExec=~@*~a~@
8209 Type=Application~%" ,name ,synopsis exwm-executable)))
8210 ;; Add a shell wrapper to bin
8211 (with-output-to-file exwm-executable
8212 (lambda _
8213 (format #t "#!~a ~@
8214 ~a +SI:localuser:$USER ~@
8215 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
8216 (string-append (assoc-ref inputs "bash") "/bin/sh")
8217 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
8218 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
8219 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
8220 '(require 'exwmx-loader))))
8221 (chmod exwm-executable #o555)
8222 #t))))))
8223 (home-page "https://github.com/tumashu/exwm-x")
8224 (description "EXWM-X is a derivative window manager based on EXWM, with focus
8225 on mouse-control.")
8226 (license license:gpl3+)))
8227
8228 (define-public emacs-gnugo
8229 (package
8230 (name "emacs-gnugo")
8231 (version "3.1.0")
8232 (source
8233 (origin
8234 (method url-fetch)
8235 (uri (string-append "https://elpa.gnu.org/packages/gnugo-"
8236 version ".tar"))
8237 (sha256
8238 (base32
8239 "0xpjvs250gg71qwapdsb1hlc61gs0gpkjds01srf784fvyxx2gf1"))))
8240 (build-system emacs-build-system)
8241 (arguments
8242 `(#:phases (modify-phases %standard-phases
8243 (add-after 'unpack 'configure-default-gnugo-xpms-variable
8244 (lambda _
8245 (substitute* "gnugo.el"
8246 (("defvar gnugo-xpms nil")
8247 "defvar gnugo-xpms #'gnugo-imgen-create-xpms"))
8248 #t)))))
8249 (propagated-inputs
8250 `(("emacs-ascii-art-to-unicode" ,emacs-ascii-art-to-unicode)
8251 ("emacs-xpm" ,emacs-xpm)))
8252 (home-page "https://elpa.gnu.org/packages/gnugo.html")
8253 (synopsis "Emacs major mode for playing GNU Go")
8254 (description "This package provides an Emacs based interface for GNU Go.
8255 It has a graphical mode where the board and stones are drawn using XPM images
8256 and supports the use of a mouse.")
8257 (license license:gpl3+)))
8258
8259 (define-public emacs-gnuplot
8260 (package
8261 (name "emacs-gnuplot")
8262 (version "0.7.0")
8263 (source
8264 (origin
8265 (method git-fetch)
8266 (uri (git-reference
8267 (url "https://github.com/bruceravel/gnuplot-mode.git")
8268 (commit version)))
8269 (file-name (git-file-name name version))
8270 (sha256
8271 (base32 "0bwri3cvm2vr27kyqkrddm28fs08axnd4nm9amfgp54xp20bn4yn"))))
8272 (build-system gnu-build-system)
8273 (native-inputs `(("emacs" ,emacs-minimal)))
8274 (arguments
8275 (let ((elisp-dir (string-append "/share/emacs/site-lisp/guix.d"
8276 "/gnuplot-" version)))
8277 `(#:modules ((guix build gnu-build-system)
8278 (guix build utils)
8279 (guix build emacs-utils))
8280 #:imported-modules (,@%gnu-build-system-modules
8281 (guix build emacs-utils))
8282 #:configure-flags
8283 (list (string-append "EMACS=" (assoc-ref %build-inputs "emacs")
8284 "/bin/emacs")
8285 (string-append "--with-lispdir=" %output ,elisp-dir))
8286 #:phases
8287 (modify-phases %standard-phases
8288 (add-after 'install 'generate-autoloads
8289 (lambda* (#:key outputs #:allow-other-keys)
8290 (emacs-generate-autoloads
8291 "gnuplot"
8292 (string-append (assoc-ref outputs "out") ,elisp-dir))
8293 #t))))))
8294 (home-page "https://github.com/bruceravel/gnuplot-mode")
8295 (synopsis "Emacs major mode for interacting with gnuplot")
8296 (description "@code{emacs-gnuplot} is an emacs major mode for interacting
8297 with gnuplot.")
8298 (license license:gpl2+)))
8299
8300 (define-public emacs-transpose-frame
8301 (package
8302 (name "emacs-transpose-frame")
8303 (version "0.1.0")
8304 (source
8305 (origin
8306 (method url-fetch)
8307 (uri "http://www.emacswiki.org/emacs/download/transpose-frame.el")
8308 (file-name (string-append "transpose-frame-" version ".el"))
8309 (sha256
8310 (base32
8311 "1f67yksgw9s6j0033hmqzaxx2a93jm11sd5ys7cc3li5gfh680m4"))))
8312 (build-system emacs-build-system)
8313 (home-page "https://www.emacswiki.org/emacs/TransposeFrame")
8314 (synopsis "Transpose window arrangement in current frame")
8315 (description "@code{emacs-transpose-frame} provides some interactive
8316 functions which allows users to transpose windows arrangement in currently
8317 selected frame.")
8318 (license license:bsd-2)))
8319
8320 (define-public emacs-key-chord
8321 (package
8322 (name "emacs-key-chord")
8323 (version "0.6")
8324 (source
8325 (origin
8326 (method url-fetch)
8327 (uri "https://www.emacswiki.org/emacs/download/key-chord.el")
8328 (file-name (string-append "key-chord-" version ".el"))
8329 (sha256
8330 (base32
8331 "03m44pqggfrd53nh9dvpdjgm0rvca34qxmd30hr33hzprzjambxg"))))
8332 (build-system emacs-build-system)
8333 (home-page "https://www.emacswiki.org/emacs/key-chord.el")
8334 (synopsis "Map pairs of simultaneously pressed keys to Emacs commands")
8335 (description "@code{emacs-key-chord} provides @code{key-chord-mode}, a
8336 mode for binding key chords to commands. A key chord is defined as two keys
8337 pressed simultaneously or a single key quickly pressed twice.")
8338 (license license:gpl2+)))
8339
8340 (define-public emacs-evil-surround
8341 (package
8342 (name "emacs-evil-surround")
8343 (version "1.0.4")
8344 (source
8345 (origin
8346 (method git-fetch)
8347 (uri (git-reference
8348 (url "https://github.com/emacs-evil/evil-surround")
8349 (commit version)))
8350 (file-name (git-file-name name version))
8351 (sha256
8352 (base32 "1ajsi6xn8mliwzl24h6pp9rd91z7f20yvkphr9q7k6zpjrd7fb9q"))))
8353 (build-system emacs-build-system)
8354 (propagated-inputs
8355 `(("emacs-evil" ,emacs-evil)))
8356 (home-page "https://github.com/emacs-evil/evil-surround")
8357 (synopsis "Easily modify surrounding parentheses and quotes")
8358 (description "@code{emacs-evil-surround} allows easy deletion, change and
8359 addition of surrounding pairs, such as parentheses and quotes, in evil mode.")
8360 (license license:gpl3+)))
8361
8362 (define-public emacs-evil-commentary
8363 (package
8364 (name "emacs-evil-commentary")
8365 (version "2.1.1")
8366 (source
8367 (origin
8368 (method git-fetch)
8369 (uri (git-reference
8370 (url "https://github.com/linktohack/evil-commentary.git")
8371 (commit (string-append "v" version))))
8372 (file-name (git-file-name name version))
8373 (sha256
8374 (base32 "0zjs9zyqfygnpxapvf0ymmiid40i06cxbhjzd81zw33nafgkf6r4"))))
8375 (build-system emacs-build-system)
8376 (propagated-inputs
8377 `(("emacs-evil" ,emacs-evil)))
8378 (home-page "https://github.com/linktohack/evil-commentary")
8379 (synopsis "Comment out code in evil mode")
8380 (description "@code{emacs-evil-commentary} adds keybindings to easily
8381 comment out lines of code in evil mode. It provides @code{gcc} to comment out
8382 lines, and @code{gc} to comment out the target of a motion.")
8383 (license license:gpl3+)))
8384
8385 ;; Tests for emacs-ansi have a circular dependency with ert-runner, and
8386 ;; therefore cannot be run
8387 (define-public emacs-ansi
8388 (package
8389 (name "emacs-ansi")
8390 (version "0.4.1")
8391 (source
8392 (origin
8393 (method git-fetch)
8394 (uri (git-reference
8395 (url "https://github.com/rejeep/ansi.el.git")
8396 (commit (string-append "v" version))))
8397 (file-name (git-file-name name version))
8398 (sha256
8399 (base32 "1hbddxarr40ygvaw4pwaivq2l4f0brszw73w1r50lkjlggb7bl3g"))))
8400 (build-system emacs-build-system)
8401 (propagated-inputs
8402 `(("emacs-dash" ,emacs-dash)
8403 ("emacs-s" ,emacs-s)))
8404 (home-page "https://github.com/rejeep/ansi.el")
8405 (synopsis "Convert strings to ANSI")
8406 (description "@code{emacs-ansi} defines functions that turns simple
8407 strings to ANSI strings. Turning a string into an ANSI string can be to add
8408 color to a text, add color in the background of a text or adding a style, such
8409 as bold, underscore or italic.")
8410 (license license:gpl3+)))
8411
8412 ;; Tests for emacs-commander have a circular dependency with ert-runner, and
8413 ;; therefore cannot be run
8414 (define-public emacs-commander
8415 (package
8416 (name "emacs-commander")
8417 (version "0.7.0")
8418 (source
8419 (origin
8420 (method git-fetch)
8421 (uri (git-reference
8422 (url "https://github.com/rejeep/commander.el.git")
8423 (commit (string-append "v" version))))
8424 (file-name (git-file-name name version))
8425 (sha256
8426 (base32 "1j6hhyzww7wfwk6bllbb5mk4hw4qs8hsgfbfdifsam9c6i4spm45"))))
8427 (build-system emacs-build-system)
8428 (propagated-inputs
8429 `(("emacs-dash" ,emacs-dash)
8430 ("emacs-f" ,emacs-f)
8431 ("emacs-s" ,emacs-s)))
8432 (home-page "https://github.com/rejeep/commander.el")
8433 (synopsis "Emacs command line parser")
8434 (description "@code{emacs-commander} provides command line parsing for
8435 Emacs.")
8436 (license license:gpl3+)))
8437
8438 ;; Tests for ert-runner have a circular dependency with ecukes, and therefore
8439 ;; cannot be run
8440 (define-public emacs-ert-runner
8441 (let ((version "0.7.0")
8442 (revision "1")
8443 (commit "90b8fdd5970ef76a4649be60003b37f82cdc1a65"))
8444 (package
8445 (name "emacs-ert-runner")
8446 (version (git-version "0.7.0" revision commit))
8447 (source
8448 (origin
8449 (method git-fetch)
8450 (uri (git-reference
8451 (url "https://github.com/rejeep/ert-runner.el.git")
8452 (commit commit)))
8453 (file-name (git-file-name name version))
8454 (sha256
8455 (base32
8456 "04nxmyzncacj2wmzd84vv9wkkr2dk9lcb10dvygqmg3p1gadnwzz"))))
8457 (build-system emacs-build-system)
8458 (inputs
8459 `(("emacs-ansi" ,emacs-ansi)
8460 ("emacs-commander" ,emacs-commander)
8461 ("emacs-dash" ,emacs-dash)
8462 ("emacs-f" ,emacs-f)
8463 ("emacs-s" ,emacs-s)
8464 ("emacs-shut-up" ,emacs-shut-up)))
8465 (arguments
8466 `(#:phases
8467 (modify-phases %standard-phases
8468 (add-after 'install 'install-executable
8469 (lambda* (#:key inputs outputs #:allow-other-keys)
8470 (let ((out (assoc-ref outputs "out"))
8471 (source-directory (string-append
8472 (getenv "TMPDIR") "/source")))
8473 (substitute* "bin/ert-runner"
8474 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
8475 (string-append "ERT_RUNNER=\"" out
8476 "/share/emacs/site-lisp/guix.d/ert-runner-"
8477 ,version)))
8478 (install-file "bin/ert-runner" (string-append out "/bin"))
8479 (wrap-program (string-append out "/bin/ert-runner")
8480 (list "EMACSLOADPATH" ":" 'prefix
8481 ;; Do not capture the transient source directory in
8482 ;; the wrapper.
8483 (delete source-directory
8484 (string-split (getenv "EMACSLOADPATH") #\:))))
8485 #t))))
8486 #:include (cons* "^reporters/.*\\.el$" %default-include)))
8487 (home-page "https://github.com/rejeep/ert-runner.el")
8488 (synopsis "Opinionated Ert testing workflow")
8489 (description "@code{ert-runner} is a tool for Emacs projects tested
8490 using ERT. It assumes a certain test structure setup and can therefore make
8491 running tests easier.")
8492 (license license:gpl3+))))
8493
8494 (define-public ert-runner
8495 (deprecated-package "ert-runner" emacs-ert-runner))
8496
8497 (define-public emacs-xtest
8498 (package
8499 (name "emacs-xtest")
8500 (version "1.1.0")
8501 (source (origin
8502 (method git-fetch)
8503 (uri (git-reference
8504 (url "https://github.com/promethial/xtest.git")
8505 (commit (string-append "v" version))))
8506 (file-name (git-file-name name version))
8507 (sha256
8508 (base32
8509 "1wqx6hlqcmqiljydih5fx89dw06g8w728pyn4iqsap8jwgjngb09"))))
8510 (arguments
8511 `(#:exclude '()))
8512 (build-system emacs-build-system)
8513 (home-page "https://github.com/promethial/xtest/")
8514 (synopsis "Simple testing with Emacs")
8515 (description "This package provides a simple testing library for Emacs.")
8516 (license license:gpl3+)))
8517
8518 (define-public emacs-disable-mouse
8519 (package
8520 (name "emacs-disable-mouse")
8521 (version "0.2")
8522 (source
8523 (origin
8524 (method git-fetch)
8525 (uri (git-reference
8526 (url "https://github.com/purcell/disable-mouse.git")
8527 (commit version)))
8528 (file-name (git-file-name name version))
8529 (sha256
8530 (base32 "1v1y5hf6k6ng7xsvgb27nh740d14m6l4krr0paccda8zgm4mw357"))))
8531 (build-system emacs-build-system)
8532 (home-page "https://github.com/purcell/disable-mouse")
8533 (synopsis "Disable mouse commands globally")
8534 (description
8535 "Provides @code{disable-mouse-mode} and @code{global-disable-mouse-mode},
8536 pair of minor modes which suppress all mouse events by intercepting them and
8537 running a customisable handler command (@code{ignore} by default). ")
8538 (license license:gpl3+)))
8539
8540 (define-public emacs-json-reformat
8541 (package
8542 (name "emacs-json-reformat")
8543 (version "0.0.6")
8544 (source
8545 (origin
8546 (method git-fetch)
8547 (uri (git-reference
8548 (url "https://github.com/gongo/json-reformat.git")
8549 (commit version)))
8550 (file-name (git-file-name name version))
8551 (sha256
8552 (base32 "0qp4n2k6s69jj4gwwimkpadjv245y54wk3bxb1x96f034gkp81vs"))
8553 (patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
8554 (build-system emacs-build-system)
8555 (propagated-inputs
8556 `(("emacs-undercover" ,emacs-undercover)))
8557 (native-inputs
8558 `(("emacs-dash" ,emacs-dash)
8559 ("emacs-shut-up" ,emacs-shut-up)
8560 ("ert-runner" ,emacs-ert-runner)))
8561 (arguments
8562 `(#:tests? #t
8563 #:test-command '("ert-runner")
8564 #:phases
8565 (modify-phases %standard-phases
8566 (add-before 'check 'make-tests-writable
8567 (lambda _
8568 (for-each make-file-writable (find-files "test"))
8569 #t))
8570 (add-before 'check 'delete-json-objects-order-test
8571 (lambda _
8572 (emacs-batch-edit-file "test/json-reformat-test.el"
8573 `(progn (progn (goto-char (point-min))
8574 (re-search-forward
8575 "ert-deftest json-reformat-test:json-reformat-region")
8576 (beginning-of-line)
8577 (kill-sexp))
8578 (basic-save-buffer)))
8579 #t)))))
8580 (home-page "https://github.com/gongo/json-reformat")
8581 (synopsis "Reformatting tool for JSON")
8582 (description "@code{json-reformat} provides a reformatting tool for
8583 @url{http://json.org/, JSON}.")
8584 (license license:gpl3+)))
8585
8586 (define-public emacs-json-snatcher
8587 (package
8588 (name "emacs-json-snatcher")
8589 (version "1.0.0")
8590 (source
8591 (origin
8592 (method git-fetch)
8593 (uri (git-reference
8594 (url "https://github.com/Sterlingg/json-snatcher.git")
8595 (commit version)))
8596 (file-name (git-file-name name version))
8597 (sha256
8598 (base32 "05zsgnk7grgw9jzwl80h5sxfpifxlr37b4mkbvx7mjq4z14xc2jw"))))
8599 (build-system emacs-build-system)
8600 (home-page "https://github.com/sterlingg/json-snatcher")
8601 (synopsis "Grabs the path to JSON values in a JSON file")
8602 (description "@code{emacs-json-snatcher} grabs the path to JSON values in
8603 a @url{http://json.org/, JSON} file.")
8604 (license license:gpl3+)))
8605
8606 (define-public emacs-json-mode
8607 (package
8608 (name "emacs-json-mode")
8609 (version "1.7.0")
8610 (source
8611 (origin
8612 (method git-fetch)
8613 (uri (git-reference
8614 (url "https://github.com/joshwnj/json-mode.git")
8615 (commit (string-append "v" version))))
8616 (file-name (git-file-name name version))
8617 (sha256
8618 (base32 "0i79lqzdg59vkqwjd3q092xxn9vhxspb1vn4pkis0vfvn46g01jy"))))
8619 (build-system emacs-build-system)
8620 (propagated-inputs
8621 `(("emacs-json-reformat" ,emacs-json-reformat)
8622 ("emacs-json-snatcher" ,emacs-json-snatcher)))
8623 (home-page "https://github.com/joshwnj/json-mode")
8624 (synopsis "Major mode for editing JSON files")
8625 (description "@code{json-mode} extends the builtin js-mode syntax
8626 highlighting.")
8627 (license license:gpl3+)))
8628
8629 (define-public emacs-restclient
8630 (let ((commit "422ee8d8b077dffe65706a0f027ed700b84746bc")
8631 (version "0")
8632 (revision "2")) ;Guix package revision,
8633 ;upstream doesn't have official releases
8634 (package
8635 (name "emacs-restclient")
8636 (version (git-version version revision commit))
8637 (source (origin
8638 (method git-fetch)
8639 (uri (git-reference
8640 (url "https://github.com/pashky/restclient.el.git")
8641 (commit commit)))
8642 (sha256
8643 (base32
8644 "067nin7vxkdpffxa0q61ybv7szihhvpdinivmci9qkbb86rs9kkz"))
8645 (file-name (git-file-name name version))))
8646 (build-system emacs-build-system)
8647 (propagated-inputs
8648 `(("emacs-helm" ,emacs-helm)))
8649 (home-page "https://github.com/pashky/restclient.el")
8650 (synopsis "Explore and test HTTP REST webservices")
8651 (description
8652 "This tool allows for testing and exploration of HTTP REST Web services
8653 from within Emacs. Restclient runs queries from a plan-text query sheet,
8654 displays results pretty-printed in XML or JSON with @code{restclient-mode}")
8655 (license license:public-domain))))
8656
8657 (define-public emacs-whitespace-cleanup-mode
8658 (let ((commit "72427144b054b0238a86e1348c45d986b8830d9d")
8659 (revision "1"))
8660 (package
8661 (name "emacs-whitespace-cleanup-mode")
8662 (version (git-version "0.10" revision commit))
8663 (source (origin
8664 (method git-fetch)
8665 (uri (git-reference
8666 (url "https://github.com/purcell/whitespace-cleanup-mode")
8667 (commit commit)))
8668 (sha256
8669 (base32
8670 "1zlk534jbwrsabcg3kqlzk4h4hwya60lh6q2n1v4yn4rpf5ghsag"))
8671 (file-name (git-file-name name version))))
8672 (build-system emacs-build-system)
8673 (home-page "https://github.com/purcell/whitespace-cleanup-mode")
8674 (synopsis "Intelligently call @code{whitespace-cleanup} on save")
8675 (description
8676 "This package provides a minor mode that calls
8677 @code{whitespace-cleanup} before saving the current buffer only if the
8678 whitespace in the buffer was initially clean.")
8679 (license license:gpl3+))))
8680
8681 (define-public emacs-eimp
8682 (let ((version "1.4.0")
8683 (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
8684 (revision "1"))
8685 (package
8686 (name "emacs-eimp")
8687 (version (git-version version revision commit))
8688 (source
8689 (origin
8690 (method git-fetch)
8691 (uri (git-reference
8692 (url "https://github.com/nicferrier/eimp.git")
8693 (commit commit)))
8694 (file-name (git-file-name name version))
8695 (sha256
8696 (base32
8697 "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra"))))
8698 (build-system emacs-build-system)
8699 (arguments
8700 `(#:phases
8701 (modify-phases %standard-phases
8702 (add-after 'unpack 'configure
8703 (lambda* (#:key inputs #:allow-other-keys)
8704 (let ((imagemagick (assoc-ref inputs "imagemagick")))
8705 ;; eimp.el is read-only in git.
8706 (chmod "eimp.el" #o644)
8707 (emacs-substitute-variables "eimp.el"
8708 ("eimp-mogrify-program"
8709 (string-append imagemagick "/bin/mogrify"))))
8710 #t)))))
8711 (inputs
8712 `(("imagemagick" ,imagemagick)))
8713 (home-page "https://github.com/nicferrier/eimp")
8714 (synopsis "Interactive image manipulation utility for Emacs")
8715 (description "@code{emacs-eimp} allows interactive image manipulation
8716 from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do
8717 the actual transformations.")
8718 (license license:gpl2+))))
8719
8720 (define-public emacs-dired-hacks
8721 (let ((commit "886befe113fae397407c804f72c45613d1d43535")
8722 (revision "2"))
8723 (package
8724 (name "emacs-dired-hacks")
8725 (version (git-version "0.0.1" revision commit))
8726 (source (origin
8727 (method git-fetch)
8728 (uri (git-reference
8729 (url "https://github.com/Fuco1/dired-hacks.git")
8730 (commit commit)))
8731 (file-name (git-file-name name version))
8732 (sha256
8733 (base32
8734 "1cvibg90ggyrivpjmcfprpi2fx7dpa68f8kzg08s88gw5ib75djl"))))
8735 (build-system emacs-build-system)
8736 (propagated-inputs
8737 `(("emacs-dash" ,emacs-dash)
8738 ("emacs-eimp" ,emacs-eimp)
8739 ("emacs-f" ,emacs-f)
8740 ("emacs-s" ,emacs-s)))
8741 (home-page "https://github.com/Fuco1/dired-hacks")
8742 (synopsis
8743 "Collection of useful dired additions")
8744 (description
8745 "This package provides the following collection of Emacs dired mode
8746 additions:
8747
8748 @itemize
8749 @item dired-avfs
8750 @item dired-columns
8751 @item dired-filter
8752 @item dired-hacks-utils
8753 @item dired-images
8754 @item dired-list
8755 @item dired-narrow
8756 @item dired-open
8757 @item dired-rainbow
8758 @item dired-ranger
8759 @item dired-subtree
8760 @item dired-tagsistant
8761 @end itemize\n")
8762 (license license:gpl3+))))
8763
8764 (define-public emacs-dired-sidebar
8765 (let ((commit "06bd0d40bab812c61a668129daf29ba359424454")
8766 (revision "0"))
8767 (package
8768 (name "emacs-dired-sidebar")
8769 (home-page "https://github.com/jojojames/dired-sidebar")
8770 (version (git-version "0.0.1" revision commit))
8771 (source (origin
8772 (method git-fetch)
8773 (uri (git-reference (url home-page) (commit commit)))
8774 (file-name (git-file-name name version))
8775 (sha256
8776 (base32
8777 "0lvwvq6sl80sha9fq5m4568sg534dhmifyjqw75bqddcbf3by84x"))))
8778 (build-system emacs-build-system)
8779 (propagated-inputs
8780 `(("emacs-dired-subtree" ,emacs-dired-hacks)))
8781 (synopsis "Sidebar for Emacs using Dired")
8782 (description
8783 "This package provides a sidebar for Emacs similar to @code{NeoTree}
8784 or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
8785 (license license:gpl3+))))
8786
8787 (define-public emacs-which-key
8788 (package
8789 (name "emacs-which-key")
8790 (version "3.3.1")
8791 (source
8792 (origin
8793 (method git-fetch)
8794 (uri (git-reference
8795 (url "https://github.com/justbur/emacs-which-key.git")
8796 (commit (string-append "v" version))))
8797 (file-name (git-file-name name version))
8798 (sha256
8799 (base32 "1dh6kr00wmql46whjkvnl953zngiv5j99ypvr1b3cb2174623afb"))))
8800 (build-system emacs-build-system)
8801 (arguments
8802 `(#:tests? #t
8803 #:test-command '("emacs" "--batch"
8804 "-l" "which-key-tests.el"
8805 "-f" "ert-run-tests-batch-and-exit")))
8806 (home-page "https://github.com/justbur/emacs-which-key")
8807 (synopsis "Display available key bindings in popup")
8808 (description
8809 "@code{emacs-which-key} is a minor mode for Emacs that displays the key
8810 bindings following your currently entered incomplete command (a prefix) in a
8811 popup. For example, after enabling the minor mode if you enter C-x and wait
8812 for the default of 1 second, the minibuffer will expand with all of the
8813 available key bindings that follow C-x (or as many as space allows given your
8814 settings).")
8815 (license license:gpl3+)))
8816
8817 (define-public emacs-hercules
8818 (let ((commit "3345904a0dab4c7a4d4478f0766f1d9f5d1bb501")
8819 (revision "1"))
8820 (package
8821 (name "emacs-hercules")
8822 (version (git-version "0.2" revision commit))
8823 (source
8824 (origin
8825 (method git-fetch)
8826 (uri (git-reference
8827 (url "https://gitlab.com/jjzmajic/hercules.el.git")
8828 (commit commit)))
8829 (file-name (git-file-name name version))
8830 (sha256
8831 (base32 "0cpq8h6l47nqhzch6snax5yrhxl8p4wn35q13ci35lj3iq8kmlk8"))))
8832 (build-system emacs-build-system)
8833 (propagated-inputs
8834 `(("emacs-which-key" ,emacs-which-key)))
8835 (home-page "https://gitlab.com/jjzmajic/hercules.el")
8836 (synopsis "Call a chain of related commands without repeated prefix keys")
8837 (description
8838 "This package provides sticky-key-like functionality to obviate the
8839 need for repeated prefix-key sequences, and can reuse existing keymaps. The
8840 list of commands is displayed in a handy popup.")
8841 (license license:gpl3+))))
8842
8843 (define-public emacs-ws-butler
8844 (package
8845 (name "emacs-ws-butler")
8846 (version "0.6")
8847 (source (origin
8848 (method git-fetch)
8849 (uri (git-reference
8850 (url "https://github.com/lewang/ws-butler.git")
8851 (commit "323b651dd70ee40a25accc940b8f80c3a3185205")))
8852 (file-name (git-file-name name version))
8853 (sha256
8854 (base32
8855 "1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb"))))
8856 (build-system emacs-build-system)
8857 (native-inputs
8858 `(("ert-runner" ,emacs-ert-runner)))
8859 (arguments
8860 `(#:tests? #t
8861 #:test-command '("ert-runner" "tests")))
8862 (home-page "https://github.com/lewang/ws-butler")
8863 (synopsis "Trim spaces from end of lines")
8864 (description
8865 "This Emacs package automatically and unobtrusively trims whitespace
8866 characters from end of lines.")
8867 (license license:gpl3+)))
8868
8869 (define-public emacs-org-edit-latex
8870 (package
8871 (name "emacs-org-edit-latex")
8872 (version "0.8.0")
8873 (source
8874 (origin
8875 (method git-fetch)
8876 (uri (git-reference
8877 (url "https://github.com/et2010/org-edit-latex.git")
8878 (commit (string-append "v" version))))
8879 (file-name (git-file-name name version))
8880 (sha256
8881 (base32 "0zcllyhx9n9vcr5w87h0hfz25v52lvh5fi717cb7mf3jh89zh842"))))
8882 (build-system emacs-build-system)
8883 (propagated-inputs
8884 `(("emacs-auctex" ,emacs-auctex)
8885 ;; The version of org in Emacs 25.2 is not sufficient, because the
8886 ;; `org-latex-make-preamble' function is required.
8887 ("emacs-org" ,emacs-org)))
8888 (home-page "https://github.com/et2010/org-edit-latex")
8889 (synopsis "Edit a latex fragment just like editing a src block")
8890 (description "@code{emacs-org-edit-latex} is an extension for org-mode.
8891 It lets you edit a latex fragment in a dedicated buffer just like editing a
8892 src block.")
8893 (license license:gpl3+)))
8894
8895 (define-public emacs-emamux
8896 (package
8897 (name "emacs-emamux")
8898 (version "0.14")
8899 (source
8900 (origin
8901 (method git-fetch)
8902 (uri (git-reference
8903 (url "https://github.com/syohex/emacs-emamux.git")
8904 (commit version)))
8905 (file-name (git-file-name name version))
8906 (sha256
8907 (base32 "19y69qw79miim9cz5ji54gwspjkcp9g2c1xr5s7jj2fiabnxax6b"))))
8908 (build-system emacs-build-system)
8909 (home-page "https://github.com/syohex/emacs-emamux")
8910 (synopsis "Manipulate Tmux from Emacs")
8911 (description
8912 "@code{emacs-emamux} lets Emacs interact with the @code{tmux} terminal
8913 multiplexer.")
8914 (license license:gpl3+)))
8915
8916 (define-public emacs-rpm-spec-mode
8917 (package
8918 (name "emacs-rpm-spec-mode")
8919 (version "0.16")
8920 (source
8921 (origin
8922 (method url-fetch)
8923 ;; URI has the Fedora release number instead of the version
8924 ;; number. This will have to updated manually every new release.
8925 (uri (string-append
8926 "https://src.fedoraproject.org/cgit/rpms"
8927 "/emacs-rpm-spec-mode.git/snapshot"
8928 "/emacs-rpm-spec-mode-f26.tar.gz"))
8929 (sha256
8930 (base32
8931 "17dz80lhjrc89fj17pysl8slahzrqdkxgcjdk55zls6jizkr6kz3"))))
8932 (build-system emacs-build-system)
8933 (home-page "http://pkgs.fedoraproject.org/cgit/rpms/emacs-rpm-spec-mode.git")
8934 (synopsis "Emacs major mode for editing RPM spec files")
8935 (description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
8936 editing RPM spec files.")
8937 (license license:gpl2+)))
8938
8939 (define-public emacs-lcr
8940 (package
8941 (name "emacs-lcr")
8942 (version "1.1")
8943 (source
8944 (origin
8945 (method git-fetch)
8946 (uri (git-reference
8947 (url "https://github.com/jyp/lcr")
8948 (commit version)))
8949 (file-name (git-file-name name version))
8950 (sha256
8951 (base32 "0mc55icihxqpf8b05990q1lc2nj2792wcgyr73xsiqx0963sjaj8"))))
8952 (build-system emacs-build-system)
8953 (propagated-inputs
8954 `(("emacs-dash" ,emacs-dash)))
8955 (home-page "https://github.com/jyp/lcr")
8956 (synopsis "Lightweight coroutines in Emacs Lisp")
8957 (description "This package provides macros that can translate code into
8958 equivalent continuation-passing code, as well as miscellaneous utility
8959 functions written in continuation-passing style.")
8960 (license license:gpl3+)))
8961
8962 (define-public emacs-attrap
8963 (let ((commit "3b092bb8f6755a97e6ecb7623b9d2dde58beba4a")
8964 (revision "1"))
8965 (package
8966 (name "emacs-attrap")
8967 (version (git-version "1.0" revision commit))
8968 (source (origin
8969 (method git-fetch)
8970 (uri (git-reference
8971 (url "https://github.com/jyp/attrap")
8972 (commit commit)))
8973 (sha256
8974 (base32
8975 "05d32980saji8ja1pcv65l0s3dq7w0n5hpikbf246hciy1x067pp"))
8976 (file-name (git-file-name name version))))
8977 (build-system emacs-build-system)
8978 (propagated-inputs
8979 `(("emacs-dash" ,emacs-dash)
8980 ("emacs-f" ,emacs-f)
8981 ("emacs-flycheck" ,emacs-flycheck)
8982 ("emacs-s" ,emacs-s)))
8983 (home-page "https://github.com/jyp/attrap")
8984 (synopsis "Fix coding error at point")
8985 (description "This package provides a command to fix the Flycheck error
8986 at point.")
8987 (license license:gpl3+))))
8988
8989 (define-public emacs-git-messenger
8990 (package
8991 (name "emacs-git-messenger")
8992 (version "0.18")
8993 (source
8994 (origin
8995 (method git-fetch)
8996 (uri (git-reference
8997 (url "https://github.com/syohex/emacs-git-messenger.git")
8998 (commit version)))
8999 (file-name (git-file-name name version))
9000 (sha256
9001 (base32 "04fnby2nblk8l70gv09asxkmnn53fh1pdfs77ix44npp99fyw8ix"))))
9002 (build-system emacs-build-system)
9003 (propagated-inputs
9004 `(("emacs-popup" ,emacs-popup)))
9005 (arguments
9006 `(#:tests? #t
9007 #:test-command '("emacs" "--batch" "-l" "test/test.el"
9008 "-f" "ert-run-tests-batch-and-exit")))
9009 (home-page "https://github.com/syohex/emacs-git-messenger")
9010 (synopsis "Popup commit message at current line")
9011 (description "@code{emacs-git-messenger} provides
9012 @code{git-messenger:popup-message}, a function that when called, will popup
9013 the last git commit message for the current line. This uses git-blame
9014 internally.")
9015 (license license:gpl3+)))
9016
9017 (define-public emacs-gitpatch
9018 (package
9019 (name "emacs-gitpatch")
9020 (version "0.5.1")
9021 (source
9022 (origin
9023 (method git-fetch)
9024 (uri (git-reference
9025 (url "https://github.com/tumashu/gitpatch.git")
9026 (commit (string-append "v" version))))
9027 (file-name (git-file-name name version))
9028 (sha256
9029 (base32 "1drf4fvmak7brf16axkh4nfz8pg44i7pjhfjz3dbkycbpp8y5vig"))))
9030 (build-system emacs-build-system)
9031 (home-page "https://github.com/tumashu/gitpatch")
9032 (synopsis "Mail git patch from Emacs")
9033 (description "@code{emacs-gitpatch} lets users easily send git patches,
9034 created by @code{git format-patch}, from @code{magit}, @code{dired} and
9035 @code{ibuffer} buffers.")
9036 (license license:gpl3+)))
9037
9038 (define-public emacs-erc-hl-nicks
9039 (package
9040 (name "emacs-erc-hl-nicks")
9041 (version "1.3.3")
9042 (source
9043 (origin
9044 (method git-fetch)
9045 (uri (git-reference
9046 (url "https://github.com/leathekd/erc-hl-nicks")
9047 (commit version)))
9048 (file-name (git-file-name name version))
9049 (sha256
9050 (base32 "0c82rxpl5v7bbxirf1ksg06xv5xcddh8nkrpj7i6nvfarwdfnk4f"))))
9051 (build-system emacs-build-system)
9052 (synopsis "Nickname highlighting for Emacs ERC")
9053 (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
9054 client for Emacs. The main features are:
9055 @itemize
9056 @item Auto-colorizes nicknames without having to specify colors
9057 @item Ignores certain characters that IRC clients add to nicknames to avoid
9058 duplicates (nickname, nickname’, nickname\", etc.)
9059 @item Attempts to produce colors with a sufficient amount of contrast between
9060 the nick color and the background color
9061 @end itemize\n")
9062 (home-page "https://github.com/leathekd/erc-hl-nicks")
9063 (license license:gpl3+)))
9064
9065 (define-public emacs-engine-mode
9066 (package
9067 (name "emacs-engine-mode")
9068 (version "2.0.0")
9069 (source
9070 (origin
9071 (method git-fetch)
9072 (uri (git-reference
9073 (url "https://github.com/hrs/engine-mode.git")
9074 (commit (string-append "v" version))))
9075 (file-name (git-file-name name version))
9076 (sha256
9077 (base32 "02xas46nl28mascqsyr1zcd4hn15bh0fjv2xlxv1kmrj0pis94ml"))))
9078 (build-system emacs-build-system)
9079 (synopsis "Minor mode for defining and querying search engines")
9080 (description "@code{engine-mode} is a global minor mode for Emacs. It
9081 enables you to easily define search engines, bind them to keybindings, and
9082 query them from the comfort of your editor.")
9083 (home-page "https://github.com/hrs/engine-mode")
9084 (license license:gpl3+)))
9085
9086 (define-public emacs-prop-menu
9087 (package
9088 (name "emacs-prop-menu")
9089 (version "0.1.2")
9090 (source
9091 (origin
9092 (method url-fetch)
9093 (uri (string-append
9094 "http://stable.melpa.org/packages/prop-menu-"
9095 version ".el"))
9096 (sha256
9097 (base32
9098 "01bk4sjafzz7gqrkv9jg0pa85qr34vbk3q8ga2b0m61bndywzgpr"))))
9099 (build-system emacs-build-system)
9100 (home-page
9101 "https://github.com/david-christiansen/prop-menu-el")
9102 (synopsis
9103 "Create and display a context menu based on text and overlay properties")
9104 (description
9105 "This is a library for computing context menus based on text
9106 properties and overlays. The intended use is to have tools that
9107 annotate source code and others that use these annotations, without
9108 requiring a direct coupling between them, but maintaining
9109 discoverability.
9110
9111 Major modes that wish to use this library should first define an
9112 appropriate value for @code{prop-menu-item-functions}. Then, they should
9113 bind @code{prop-menu-by-completing-read} to an appropriate
9114 key. Optionally, a mouse pop-up can be added by binding
9115 @code{prop-menu-show-menu} to a mouse event.")
9116 (license license:gpl3+)))
9117
9118 (define-public emacs-idris-mode
9119 (let ((commit "acc8835449475d7cd205aba213fdd3d41c38ba40")
9120 (revision "0"))
9121 (package
9122 (name "emacs-idris-mode")
9123 (version (git-version "0.9.19" revision commit))
9124 (source
9125 (origin
9126 (method git-fetch)
9127 (uri (git-reference
9128 (url "https://github.com/idris-hackers/idris-mode.git")
9129 (commit commit)))
9130 (file-name (git-file-name name commit))
9131 (sha256
9132 (base32
9133 "0n9xbknc68id0mf8hbfmawi8qpvrs47ix807sk9ffv2g3ik32kk6"))))
9134 (build-system emacs-build-system)
9135 (propagated-inputs
9136 `(("emacs-prop-menu" ,emacs-prop-menu)))
9137 (home-page
9138 "https://github.com/idris-hackers/idris-mode")
9139 (synopsis "Major mode for editing Idris code")
9140 (description
9141 "This is an Emacs mode for editing Idris code. It requires the latest
9142 version of Idris, and some features may rely on the latest Git version of
9143 Idris.")
9144 (license license:gpl3+))))
9145
9146 (define-public emacs-browse-at-remote
9147 (package
9148 (name "emacs-browse-at-remote")
9149 (version "0.10.0")
9150 (source
9151 (origin
9152 (method git-fetch)
9153 (uri (git-reference
9154 (url "https://github.com/rmuslimov/browse-at-remote.git")
9155 (commit version)))
9156 (file-name (git-file-name name version))
9157 (sha256
9158 (base32 "0vhia7xmszcb3lxrb8wh93a3knjfzj48h8nhj4fh8zj1pjz6args"))))
9159 (build-system emacs-build-system)
9160 (propagated-inputs
9161 `(("emacs-f" ,emacs-f)
9162 ("emacs-s" ,emacs-s)))
9163 (native-inputs
9164 `(("ert-runner" ,emacs-ert-runner)))
9165 (arguments
9166 `(#:tests? #t
9167 #:test-command '("ert-runner")))
9168 (home-page "https://github.com/rmuslimov/browse-at-remote")
9169 (synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
9170 (description
9171 "This Emacs package allows you to open a target page on
9172 github/gitlab (or bitbucket) by calling @code{browse-at-remote} command.
9173 It supports dired buffers and opens them in tree mode at destination.")
9174 (license license:gpl3+)))
9175
9176 (define-public emacs-tiny
9177 (package
9178 (name "emacs-tiny")
9179 (version "0.2.1")
9180 (source
9181 (origin
9182 (method url-fetch)
9183 (uri (string-append "http://elpa.gnu.org/packages/tiny-" version ".tar"))
9184 (sha256
9185 (base32
9186 "1cr73a8gba549ja55x0c2s554f3zywf69zbnd7v82jz5q1k9wd2v"))))
9187 (build-system emacs-build-system)
9188 (home-page "https://github.com/abo-abo/tiny")
9189 (synopsis "Quickly generate linear ranges in Emacs")
9190 (description
9191 "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}.
9192 It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp
9193 proficiency is an advantage, since you can transform your numeric range with
9194 an elisp expression.")
9195 (license license:gpl3+)))
9196
9197 (define-public emacs-emojify
9198 (package
9199 (name "emacs-emojify")
9200 (version "1.2")
9201 (source
9202 (origin
9203 (method git-fetch)
9204 (uri (git-reference
9205 (url "https://github.com/iqbalansari/emacs-emojify")
9206 (commit (string-append "v" version))))
9207 (file-name (git-file-name name version))
9208 (sha256
9209 (base32
9210 "1fqnj5x7ivjkm5y927dqqnm85q5hzczlb0hrfpjalrhasa6ijsrm"))))
9211 (build-system emacs-build-system)
9212 (arguments
9213 `(#:include (cons "^data/" %default-include)))
9214 (propagated-inputs
9215 `(("emacs-ht" ,emacs-ht)))
9216 (home-page "https://github.com/iqbalansari/emacs-emojify")
9217 (synopsis "Display emojis in Emacs")
9218 (description "This package displays emojis in Emacs similar to how Github,
9219 Slack, and other websites do. It can display plain ASCII like @code{:)} as
9220 well as Github-style emojis like @code{:smile:}. It provides a minor mode
9221 @code{emojify-mode} to enable the display of emojis in a buffer.")
9222 (license license:gpl3+)))
9223
9224 (define-public emacs-make-it-so
9225 (let ((commit "bc3b01d6b9ed6ff66ebbd524234f9d6df60dd4be")
9226 (version "0.1.0")
9227 (revision "1"))
9228 (package
9229 (name "emacs-make-it-so")
9230 (version (git-version version revision commit))
9231 (source
9232 (origin
9233 (method git-fetch)
9234 (uri (git-reference
9235 (url "https://github.com/abo-abo/make-it-so")
9236 (commit commit)))
9237 (sha256
9238 (base32
9239 "0833bzlscpnkvjnrg3g54yr246afbjwri8n5wxk8drnsq6acvd8z"))))
9240 (build-system emacs-build-system)
9241 (arguments
9242 `(#:include (cons "^recipes/" %default-include)))
9243 (propagated-inputs
9244 `(("emacs-ivy" ,emacs-ivy)))
9245 (home-page "https://github.com/abo-abo/make-it-so")
9246 (synopsis "Transform files with Makefile recipes")
9247 (description "This package provides an interface for selecting from
9248 different conversion recipes, often including tools like @code{ffmpeg} or
9249 @code{convert}. The conversion command need only be written once, and
9250 subsequent invocations can be readily customized. Several recipes are
9251 included by default, and more can be readily added.")
9252 (license license:gpl3+))))
9253
9254 (define-public emacs-websocket
9255 (package
9256 (name "emacs-websocket")
9257 (version "1.10")
9258 (source
9259 (origin
9260 (method git-fetch)
9261 (uri (git-reference
9262 (url "https://github.com/ahyatt/emacs-websocket.git")
9263 (commit version)))
9264 (file-name (git-file-name name version))
9265 (sha256
9266 (base32
9267 "1dgrf7na6r6mmkknphzshlbd5fnzisg0qn0j7vfpa38wgsymaq52"))))
9268 (build-system emacs-build-system)
9269 (home-page "http://elpa.gnu.org/packages/websocket.html")
9270 (synopsis "Emacs WebSocket client and server")
9271 (description "This is an Elisp library for WebSocket clients to talk to
9272 WebSocket servers, and for WebSocket servers to accept connections from
9273 WebSocket clients. This library is designed to be used by other library
9274 writers, to write applications that use WebSockets, and is not useful by
9275 itself.")
9276 (license license:gpl3+)))
9277
9278 (define-public emacs-oauth2
9279 (package
9280 (name "emacs-oauth2")
9281 (version "0.11")
9282 (source
9283 (origin
9284 (method url-fetch)
9285 (uri (string-append "https://elpa.gnu.org/packages/oauth2-"
9286 version ".el"))
9287 (sha256
9288 (base32
9289 "0ydkc9jazsnbbvfhd47mql52y7k06n3z7r0naqxkwb99j9blqsmp"))))
9290 (build-system emacs-build-system)
9291 (home-page "http://elpa.gnu.org/packages/oauth2.html")
9292 (synopsis "OAuth 2.0 authorization protocol implementation")
9293 (description
9294 "This package provides an Elisp implementation of the OAuth 2.0 draft.
9295 The main entry point is @code{oauth2-auth-and-store} which will return a token
9296 structure. This token structure can be then used with
9297 @code{oauth2-url-retrieve-synchronously} or @code{oauth2-url-retrieve} to
9298 retrieve any data that need OAuth authentication to be accessed. If the token
9299 needs to be refreshed, the code handles it automatically and stores the new
9300 value of the access token.")
9301 (license license:gpl3+)))
9302
9303 (define-public emacs-circe
9304 (package
9305 (name "emacs-circe")
9306 (version "2.10")
9307 (source
9308 (origin
9309 (method git-fetch)
9310 (uri (git-reference
9311 (url "https://github.com/jorgenschaefer/circe.git")
9312 (commit (string-append "v" version))))
9313 (file-name (git-file-name name version))
9314 (sha256
9315 (base32
9316 "10gi14kwxd81blddpvqh95lgmpbfgp0m955naxix3bs3r6a75n4s"))))
9317 (build-system emacs-build-system)
9318 (arguments
9319 `(#:tests? #t
9320 #:test-command '("buttercup" "-L" ".")
9321 #:phases
9322 (modify-phases %standard-phases
9323 ;; The HOME environment variable should be set to an existing
9324 ;; directory for the tests to succeed.
9325 (add-before 'check 'set-home
9326 (lambda _
9327 (setenv "HOME" "/tmp")
9328 #t)))))
9329 (native-inputs
9330 `(("emacs-buttercup" ,emacs-buttercup)))
9331 ;; In order to securely connect to an IRC server using TLS, Circe requires
9332 ;; the GnuTLS binary.
9333 (propagated-inputs
9334 `(("gnutls" ,gnutls)))
9335 (home-page "https://github.com/jorgenschaefer/circe")
9336 (synopsis "Client for IRC in Emacs")
9337 (description "Circe is a Client for IRC in Emacs. It integrates well with
9338 the rest of the editor, using standard Emacs key bindings and indicating
9339 activity in channels in the status bar so it stays out of your way unless you
9340 want to use it.")
9341 (license license:gpl3+)))
9342
9343 (define-public emacs-tracking
9344 (package
9345 (inherit emacs-circe)
9346 (name "emacs-tracking")
9347 (arguments
9348 ;; "tracking.el" is a library extracted from Circe package. It requires
9349 ;; "shorten.el".
9350 `(#:include '("^shorten.el$" "^tracking.el$")
9351 ,@(package-arguments emacs-circe)))
9352 (home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
9353 (synopsis "Buffer tracking library")
9354 (description "@code{tracking.el} provides a way for different modes to
9355 notify the user that a buffer needs attention. The user then can cycle
9356 through them using @key{C-c C-SPC}.")
9357 (license license:gpl3+)))
9358
9359 (define-public emacs-slack
9360 (let ((commit "10fbb81f567b44647ad125a48ecd72df106fb624")
9361 (revision "6"))
9362 (package
9363 (name "emacs-slack")
9364 (version (git-version "0.0.2" revision commit))
9365 (source (origin
9366 (method git-fetch)
9367 (uri (git-reference
9368 (url "https://github.com/yuya373/emacs-slack.git")
9369 (commit commit)))
9370 (file-name (git-file-name name commit))
9371 (sha256
9372 (base32
9373 "01ln9rbalgpxw6rbr4czhy6bd8wrrpyf0qgn2chcq3zmmrn4sy1z"))))
9374 (build-system emacs-build-system)
9375 (arguments
9376 `(#:phases
9377 (modify-phases %standard-phases
9378 ;; HOME needs to exist for source compilation.
9379 (add-before 'build 'set-HOME
9380 (lambda _ (setenv "HOME" "/tmp") #t)))))
9381 (propagated-inputs
9382 `(("emacs-alert" ,emacs-alert)
9383 ("emacs-emojify" ,emacs-emojify)
9384 ("emacs-helm" ,emacs-helm)
9385 ("emacs-request" ,emacs-request)
9386 ("emacs-websocket" ,emacs-websocket)
9387 ("emacs-oauth2" ,emacs-oauth2)
9388 ("emacs-circe" ,emacs-circe)))
9389 (home-page "https://github.com/yuya373/emacs-slack")
9390 (synopsis "Slack client for Emacs")
9391 (description "This package provides an Emacs client for the Slack
9392 messaging service.")
9393 (license license:gpl3+))))
9394
9395 (define-public emacs-bash-completion
9396 (package
9397 (name "emacs-bash-completion")
9398 (version "2.1.0")
9399 (source
9400 (origin
9401 (method git-fetch)
9402 (uri (git-reference
9403 (url "https://github.com/szermatt/emacs-bash-completion.git")
9404 (commit version)))
9405 (file-name (git-file-name name version))
9406 (sha256
9407 (base32 "1a1wxcqzh0javjmxwi3lng5i99xiylm8lm04kv4q1lh9bli6vmv0"))))
9408 (inputs `(("bash" ,bash)))
9409 (build-system emacs-build-system)
9410 (arguments
9411 `(#:phases
9412 (modify-phases %standard-phases
9413 (add-after 'unpack 'make-git-checkout-writable
9414 (λ _
9415 (for-each make-file-writable (find-files "."))
9416 #t))
9417 (add-before 'install 'configure
9418 (lambda* (#:key inputs #:allow-other-keys)
9419 (let ((bash (assoc-ref inputs "bash")))
9420 (emacs-substitute-variables "bash-completion.el"
9421 ("bash-completion-prog" (string-append bash "/bin/bash"))))
9422 #t)))))
9423 (home-page "https://github.com/szermatt/emacs-bash-completion")
9424 (synopsis "Bash completion for the shell buffer")
9425 (description
9426 "@code{bash-completion} defines dynamic completion hooks for shell-mode
9427 and shell-command prompts that are based on Bash completion.")
9428 (license license:gpl2+)))
9429
9430 (define-public emacs-easy-kill
9431 (package
9432 (name "emacs-easy-kill")
9433 (version "0.9.3")
9434 (source (origin
9435 (method url-fetch)
9436 (uri (string-append "https://elpa.gnu.org/packages/easy-kill-"
9437 version ".tar"))
9438 (sha256
9439 (base32
9440 "17nw0mglmg877axwg1d0gs03yc0p04lzmd3pl0nsnqbh3303fnqb"))))
9441 (build-system emacs-build-system)
9442 (home-page "https://github.com/leoliu/easy-kill")
9443 (synopsis "Kill and mark things easily in Emacs")
9444 (description
9445 "This package provides commands @code{easy-kill} and @code{easy-mark} to
9446 let users kill or mark things easily.")
9447 (license license:gpl3+)))
9448
9449 (define-public emacs-csv-mode
9450 (package
9451 (name "emacs-csv-mode")
9452 (version "1.7")
9453 (source
9454 (origin
9455 (method url-fetch)
9456 (uri (string-append "http://elpa.gnu.org/packages/csv-mode-"
9457 version ".el"))
9458 (sha256
9459 (base32
9460 "0r4bip0w3h55i8h6sxh06czf294mrhavybz0zypzrjw91m1bi7z6"))))
9461 (build-system emacs-build-system)
9462 (home-page
9463 "http://elpa.gnu.org/packages/csv-mode.html")
9464 (synopsis
9465 "Major mode for editing comma/char separated values")
9466 (description
9467 "This Emacs package implements CSV mode, a major mode for editing records
9468 in a generalized CSV (character-separated values) format.")
9469 (license license:gpl3+)))
9470
9471 (define-public emacs-transmission
9472 (package
9473 (name "emacs-transmission")
9474 (version "0.12.1")
9475 (source
9476 (origin
9477 (method git-fetch)
9478 (uri (git-reference
9479 (url "https://github.com/holomorph/transmission.git")
9480 (commit version)))
9481 (file-name (git-file-name name version))
9482 (sha256
9483 (base32 "0kvg2gawsgy440x1fsl2c4pkxwp3zirq9rzixanklk0ryijhd3ry"))))
9484 (build-system emacs-build-system)
9485 (home-page "https://github.com/holomorph/transmission")
9486 (synopsis "Emacs interface to a Transmission session")
9487 (description "This package provides an Emacs interface to interact with a
9488 running session of the Transmission Bittorrent client.
9489
9490 Features:
9491
9492 @itemize
9493 @item List, add, start/stop, verify, remove torrents.
9494 @item Set speed limits, ratio limits, bandwidth priorities, trackers.
9495 @item Navigate to the corresponding file list, torrent info, peer info
9496 contexts.
9497 @item Toggle downloading and set priorities for individual files.
9498 @end itemize\n")
9499 (license license:gpl3+)))
9500
9501 (define-public emacs-polymode
9502 (package
9503 (name "emacs-polymode")
9504 (version "0.2")
9505 (source (origin
9506 (method git-fetch)
9507 (uri (git-reference
9508 (url "https://github.com/polymode/polymode.git")
9509 (commit (string-append "v" version))))
9510 (file-name (git-file-name name version))
9511 (sha256
9512 (base32
9513 "04v0gnzfsjb50bgly6kvpryx8cyzwjaq2llw4qv9ijw1l6ixmq3b"))))
9514 (build-system emacs-build-system)
9515 (home-page "https://github.com/polymode/polymode")
9516 (synopsis "Framework for multiple Emacs modes based on indirect buffers")
9517 (description
9518 "Polymode is an Emacs package that offers generic support for multiple
9519 major modes inside a single Emacs buffer. It is lightweight, object oriented
9520 and highly extensible. Creating a new polymode typically takes only a few
9521 lines of code. Polymode also provides extensible facilities for external
9522 literate programming tools for exporting, weaving and tangling.")
9523 (license license:gpl3+)))
9524
9525 (define-public emacs-polymode-ansible
9526 (let ((commit "b26094d029e25dc797b94254f797e7807a57e4c8"))
9527 (package
9528 (name "emacs-polymode-ansible")
9529 ;; No upstream version release yet.
9530 (version (git-version "0.1" "1" commit))
9531 (source
9532 (origin
9533 (method git-fetch)
9534 (uri (git-reference
9535 (url "https://gitlab.com/mavit/poly-ansible")
9536 (commit commit)))
9537 (file-name (git-file-name name version))
9538 (sha256
9539 (base32
9540 "055shddqibib3hx2ykwdz910nrqws40cd407mq946l2bf6v87gj6"))))
9541 (build-system emacs-build-system)
9542 (propagated-inputs
9543 `(("emacs-ansible-doc" ,emacs-ansible-doc)
9544 ("emacs-jinja2-mode" ,emacs-jinja2-mode)
9545 ("emacs-polymode" ,emacs-polymode)
9546 ("emacs-yaml-mode" ,emacs-yaml-mode)))
9547 (properties '((upstream-name . "poly-ansible")))
9548 (home-page "https://gitlab.com/mavit/poly-ansible/")
9549 (synopsis "Polymode for Ansible - Jinja2 in YAML")
9550 (description
9551 "Edit YAML files for Ansible containing embedded Jinja2 templating.")
9552 (license license:gpl3+))))
9553
9554 (define-public emacs-polymode-org
9555 (package
9556 (name "emacs-polymode-org")
9557 (version "0.2")
9558 (source
9559 (origin
9560 (method git-fetch)
9561 (uri (git-reference
9562 (url "https://github.com/polymode/poly-org.git")
9563 (commit (string-append "v" version))))
9564 (file-name (git-file-name name version))
9565 (sha256
9566 (base32
9567 "04x6apjad4kg30456z1j4ipp64yjgkcaim6hqr6bb0rmrianqhck"))))
9568 (build-system emacs-build-system)
9569 (propagated-inputs
9570 `(("emacs-polymode" ,emacs-polymode)))
9571 (properties '((upstream-name . "poly-org")))
9572 (home-page "https://github.com/polymode/poly-org")
9573 (synopsis "Polymode definitions for Org mode buffers")
9574 (description
9575 "Provides definitions for @code{emacs-polymode} to support
9576 @code{emacs-org} buffers. Edit source blocks in an Org mode buffer using the
9577 native modes of the blocks' languages while remaining inside the primary Org
9578 buffer.")
9579 (license license:gpl3+)))
9580
9581 (define-public eless
9582 (package
9583 (name "eless")
9584 (version "0.3")
9585 (source
9586 (origin
9587 (method git-fetch)
9588 (uri (git-reference
9589 (url "https://github.com/kaushalmodi/eless.git")
9590 (commit (string-append "v" version))))
9591 (file-name (git-file-name name version))
9592 (sha256
9593 (base32 "0jr7vhh4vw69llhi0fh9ljscljkszkj0acdxl04da5hvqv6pnqbb"))))
9594 (build-system trivial-build-system)
9595 (inputs
9596 `(("bash" ,bash)))
9597 (arguments
9598 `(#:modules ((guix build utils))
9599 #:builder
9600 (begin
9601 (use-modules (guix build utils))
9602 (copy-recursively (assoc-ref %build-inputs "source") "source")
9603 (chdir "source")
9604 (substitute* "eless" (("/usr/bin/env bash")
9605 (string-append (assoc-ref %build-inputs "bash")
9606 "/bin/bash")))
9607 (install-file "eless" (string-append %output "/bin"))
9608 (install-file "doc/eless.info" (string-append %output "/share/info"))
9609 #t)))
9610 (home-page "https://github.com/kaushalmodi/eless")
9611 (synopsis "Use Emacs as a paginator")
9612 (description "@code{eless} provides a combination of Bash script
9613 and a minimal Emacs view-mode.
9614
9615 Feautures:
9616
9617 @itemize
9618 @item Independent of a user’s Emacs config.
9619 @item Customizable via the @code{(locate-user-emacs-file \"elesscfg\")} config.
9620 @item Not require an Emacs server to be already running.
9621 @item Syntax highlighting.
9622 @item Org-mode file rendering.
9623 @item @code{man} page viewer.
9624 @item Info viewer.
9625 @item Dired, wdired, (batch edit symbolic links).
9626 @item Colored diffs, git diff, git log, ls with auto ANSI detection.
9627 @item Filter log files lines matching a regexp.
9628 @item Auto-revert log files similar to @code{tail -f}.
9629 @item Quickly change frame and font sizes.
9630 @end itemize\n")
9631 (license license:expat)))
9632
9633 (define-public emacs-evil-matchit
9634 (package
9635 (name "emacs-evil-matchit")
9636 (version "2.3.0")
9637 (source
9638 (origin
9639 (method git-fetch)
9640 (uri (git-reference
9641 (url "https://github.com/redguardtoo/evil-matchit.git")
9642 (commit version)))
9643 (file-name (git-file-name name version))
9644 (sha256
9645 (base32 "0y6q42hml7jgf060d83m7hf270h01858g5kxw12na9n4r4jjpdg1"))))
9646 (build-system emacs-build-system)
9647 (propagated-inputs
9648 `(("emacs-evil" ,emacs-evil)))
9649 (home-page "https://github.com/redguardtoo/evil-matchit")
9650 (synopsis "Vim matchit ported into Emacs")
9651 (description
9652 "@code{evil-matchit} is a minor mode for jumping between matching tags in
9653 evil mode using @kbd{%}. It is a port of @code{matchit} for Vim.")
9654 (license license:gpl3+)))
9655
9656 (define-public emacs-evil-smartparens
9657 (package
9658 (name "emacs-evil-smartparens")
9659 (version "0.4.0")
9660 (source
9661 (origin
9662 (method git-fetch)
9663 (uri (git-reference
9664 (url "https://github.com/expez/evil-smartparens.git")
9665 (commit version)))
9666 (file-name (git-file-name name version))
9667 (sha256
9668 (base32 "1di4qz5fbrlwbg16c2j0m7y8zqfxw027qd7zqmc3rwk9znbhg7wl"))))
9669 (build-system emacs-build-system)
9670 (propagated-inputs
9671 `(("emacs-evil" ,emacs-evil)
9672 ("emacs-smartparens" ,emacs-smartparens)))
9673 (home-page "https://github.com/expez/evil-smartparens")
9674 (synopsis "Emacs Evil integration for Smartparens")
9675 (description "@code{emacs-evil-smartparens} is an Emacs minor mode which
9676 makes Evil play nice with Smartparens. Evil is an Emacs minor mode that
9677 emulates Vim features and provides Vim-like key bindings.")
9678 (license license:gpl3+)))
9679
9680 (define-public emacs-evil-quickscope
9681 (package
9682 (name "emacs-evil-quickscope")
9683 (version "0.1.4")
9684 (source
9685 (origin
9686 (method git-fetch)
9687 (uri (git-reference
9688 (url "https://github.com/blorbx/evil-quickscope.git")
9689 (commit (string-append "v" version))))
9690 (file-name (git-file-name name version))
9691 (sha256
9692 (base32 "1ja9ggj70wf0nmma4xnc1zdzg2crq9h1cv3cj7cgwjmllflgkfq7"))))
9693 (build-system emacs-build-system)
9694 (propagated-inputs
9695 `(("emacs-evil" ,emacs-evil)))
9696 (arguments
9697 `(#:tests? #t
9698 #:test-command '("emacs" "--batch"
9699 "-l" "evil-quickscope-tests.el"
9700 "-f" "ert-run-tests-batch-and-exit")))
9701 (home-page "https://github.com/blorbx/evil-quickscope")
9702 (synopsis "Target highlighting for emacs evil-mode f,F,t and T commands")
9703 (description "@code{emacs-evil-quickscope} highlights targets for Evil
9704 mode’s f,F,t,T keys, allowing for quick navigation within a line. It is a
9705 port of quick-scope for Vim. Evil is an Emacs minor mode that emulates Vim
9706 features and provides Vim-like key bindings.")
9707 (license license:gpl3+)))
9708
9709 (define-public emacs-bongo
9710 (package
9711 (name "emacs-bongo")
9712 (version "1.0")
9713 (source
9714 (origin
9715 (method git-fetch)
9716 (uri (git-reference
9717 (url "https://github.com/dbrock/bongo.git")
9718 (commit version)))
9719 (file-name (git-file-name name version))
9720 (sha256
9721 (base32 "1q3ws2vn062dh7ci6jn2k2bcn7szh3ap64sgwkzdd6f1pas37fnr"))))
9722 (build-system emacs-build-system)
9723 (home-page "https://github.com/dbrock/bongo")
9724 (synopsis "Media player for Emacs")
9725 (description
9726 "This package provides a flexible media player for Emacs. @code{Bongo}
9727 supports multiple backends such as @code{vlc}, @code{mpg123},
9728 @code{ogg123}, @code{speexdec}, @code{timidity}, @code{mikmod} and
9729 @code{afplay}.")
9730 (license license:gpl2+)))
9731
9732 (define-public emacs-groovy-modes
9733 (package
9734 (name "emacs-groovy-modes")
9735 (version "2.0")
9736 (source (origin
9737 (method url-fetch)
9738 (uri (string-append
9739 "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes"
9740 "/archive/" version ".tar.gz"))
9741 (file-name (string-append name "-" version ".tar.gz"))
9742 (sha256
9743 (base32
9744 "15j0hnkx9nppjzda5cqsxxz5f3bq9hc4xfyjcdypzqiypcvmpa39"))))
9745 (build-system emacs-build-system)
9746 (propagated-inputs
9747 `(("emacs-s" ,emacs-s)))
9748 (home-page "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
9749 (synopsis "Groovy related modes for Emacs")
9750 (description
9751 "This package provides @code{groovy-mode} for syntax highlighting in
9752 Groovy source files, REPL integration with run-groovy and Grails project
9753 navigation with the grails mode.")
9754 (license license:gpl3+)))
9755
9756 (define-public groovy-emacs-modes
9757 (deprecated-package "groovy-emacs-modes" emacs-groovy-modes))
9758
9759 (define-public emacs-org-tree-slide
9760 (let ((commit "dff8f1a4a64c8dd0a1fde0b0131e2fe186747134")
9761 (revision "0"))
9762 (package
9763 (name "emacs-org-tree-slide")
9764 (version (git-version "0.1" revision commit))
9765 (home-page "https://github.com/takaxp/org-tree-slide")
9766 (source (origin
9767 (method git-fetch)
9768 (uri (git-reference (url home-page) (commit commit)))
9769 (sha256
9770 (base32
9771 "153bg0x7ypla11pq51jmsgzfjklwwnrq56xgpbfhk1j16xwz9hyf"))
9772 (file-name (git-file-name name version))))
9773 (build-system emacs-build-system)
9774 (synopsis "Presentation tool for org-mode")
9775 (description
9776 "Org-tree-slide provides a slideshow mode to view org-mode files. Use
9777 @code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
9778 @kbd{C-<} to jump to the next and previous slide.")
9779 (license license:gpl3+))))
9780
9781 (define-public emacs-scratch-el
9782 (let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897")
9783 (revision "1"))
9784 (package
9785 (name "emacs-scratch-el")
9786 (version (git-version "1.2" revision commit))
9787 (source (origin
9788 (method git-fetch)
9789 (uri (git-reference
9790 (url "https://github.com/ieure/scratch-el.git")
9791 (commit commit)))
9792 (file-name (git-file-name name version))
9793 (sha256
9794 (base32
9795 "0wscsndynjmnliajqaz28r1ww81j8wh84zwaaswx51abhwgl0idf"))))
9796 (build-system emacs-build-system)
9797 (native-inputs
9798 `(("texinfo" ,texinfo)))
9799 (arguments
9800 '(#:phases
9801 (modify-phases %standard-phases
9802 (add-after 'install 'install-doc
9803 (lambda* (#:key outputs #:allow-other-keys)
9804 (unless (invoke "makeinfo" "scratch.texi")
9805 (error "makeinfo failed"))
9806 (install-file "scratch.info"
9807 (string-append (assoc-ref outputs "out")
9808 "/share/info"))
9809 #t)))))
9810 (home-page "https://github.com/ieure/scratch-el/")
9811 (synopsis "Create scratch buffers with the same mode as current buffer")
9812 (description "Scratch is an extension to Emacs that enables one to create
9813 scratch buffers that are in the same mode as the current buffer. This is
9814 notably useful when working on code in some language; you may grab code into a
9815 scratch buffer, and, by virtue of this extension, do so using the Emacs
9816 formatting rules for that language.")
9817 (license license:bsd-2))))
9818
9819 (define-public emacs-kv
9820 (package
9821 (name "emacs-kv")
9822 (version "0.0.19")
9823 (source
9824 (origin
9825 (method git-fetch)
9826 (uri (git-reference
9827 (url "https://github.com/nicferrier/emacs-kv.git")
9828 (commit "721148475bce38a70e0b678ba8aa923652e8900e")))
9829 (file-name (git-file-name name version))
9830 (sha256
9831 (base32
9832 "0r0lz2s6gvy04fwnafai668jsf4546h4k6zd6isx5wpk0n33pj5m"))))
9833 (build-system emacs-build-system)
9834 (arguments
9835 `(#:tests? #t
9836 #:test-command '("emacs" "--batch" "-l" "kv-tests.el"
9837 "-f" "ert-run-tests-batch-and-exit")))
9838 (home-page "https://github.com/nicferrier/emacs-kv")
9839 (synopsis "Key/Value data structures library for Emacs Lisp")
9840 (description "@code{emacs-kv} is a collection of tools for dealing with
9841 key/value data structures such as plists, alists and hash-tables in Emacs
9842 Lisp.")
9843 (license license:gpl3+)))
9844
9845 (define-public emacs-esxml
9846 (package
9847 (name "emacs-esxml")
9848 (version "0.3.4")
9849 (source (origin
9850 (method git-fetch)
9851 (uri (git-reference
9852 (url "https://github.com/tali713/esxml.git")
9853 (commit version)))
9854 (file-name (git-file-name name version))
9855 (sha256
9856 (base32
9857 "00vv8a75wdklygdyr4km9mc2ismxak69c45jmcny41xl44rp9x8m"))))
9858 (build-system emacs-build-system)
9859 (arguments
9860 `(#:phases
9861 (modify-phases %standard-phases
9862 (add-after 'unpack 'fix-sources
9863 (lambda _
9864 ;; See: https://github.com/tali713/esxml/pull/28.
9865 (substitute* "css-lite.el"
9866 ((";;; main interface")
9867 (string-append ";;; main interface\n"
9868 "(require 'cl-lib)"))
9869 (("mapcan")
9870 "cl-mapcan")
9871 (("',\\(cl-mapcan #'process-css-rule rules\\)")
9872 "(cl-mapcan #'process-css-rule ',rules)"))
9873 (substitute* "esxml-form.el"
9874 ((",esxml-form-field-defn")
9875 "#'esxml-form-field-defn"))
9876 ;; See: https://github.com/tali713/esxml/issues/25
9877 (delete-file "esxpath.el")
9878 #t)))))
9879 (propagated-inputs
9880 `(("emacs-kv" ,emacs-kv)))
9881 (home-page "https://github.com/tali713/esxml/")
9882 (synopsis "SXML for EmacsLisp")
9883 (description "This is XML/XHTML done with S-Expressions in EmacsLisp.
9884 Simply, this is the easiest way to write HTML or XML in Lisp. This library
9885 uses the native form of XML representation as used by many libraries already
9886 included within Emacs. See @code{esxml-to-xml} for a concise description of
9887 the format.")
9888 (license license:gpl3+)))
9889
9890 (define-public emacs-nov-el
9891 (package
9892 (name "emacs-nov-el")
9893 (version "0.2.6")
9894 (source (origin
9895 (method git-fetch)
9896 (uri (git-reference
9897 (url "https://github.com/wasamasa/nov.el.git")
9898 (commit version)))
9899 (file-name (git-file-name name version))
9900 (sha256
9901 (base32
9902 "188h5gzn1zf443g0b7q5bpmvvpr6ds5h8aci8vxc92py56rhyrvc"))))
9903 (build-system emacs-build-system)
9904 (arguments
9905 `(#:phases
9906 (modify-phases %standard-phases
9907 (add-after 'unpack 'embed-path-to-unzip
9908 (lambda _
9909 (substitute* "nov.el"
9910 (("\\(executable-find \"unzip\"\\)")
9911 (string-append "\"" (which "unzip") "\"")))
9912 #t)))))
9913 (propagated-inputs
9914 `(("emacs-dash" ,emacs-dash)
9915 ("emacs-esxml" ,emacs-esxml)))
9916 (inputs
9917 `(("unzip" ,unzip)))
9918 (home-page "https://github.com/wasamasa/nov.el/")
9919 (synopsis "Major mode for reading EPUBs in Emacs")
9920 (description "@code{nov.el} provides a major mode for reading EPUB
9921 documents.
9922
9923 Features:
9924
9925 @itemize
9926 @item Basic navigation (jump to TOC, previous/next chapter)
9927 @item Remembering and restoring the last read position
9928 @item Jump to next chapter when scrolling beyond end
9929 @item Renders EPUB2 (@code{.ncx}) and EPUB3 (@code{<nav>}) TOCs
9930 @item Hyperlinks to internal and external targets
9931 @item Supports textual and image documents
9932 @item View source of document files
9933 @item Metadata display
9934 @item Image rescaling
9935 @end itemize
9936 ")
9937 (license license:gpl3+)))
9938
9939 (define-public epipe
9940 (package
9941 (name "epipe")
9942 (version "0.1.0")
9943 (source
9944 (origin
9945 (method git-fetch)
9946 (uri (git-reference
9947 (url "https://github.com/cute-jumper/epipe.git")
9948 (commit version)))
9949 (file-name (git-file-name name version))
9950 (sha256
9951 (base32 "0lkisi1s7sn12nx8zh58qmsxwnk1rjwryj18wcbr148xqz3swg57"))))
9952 (build-system trivial-build-system)
9953 (inputs
9954 `(("bash" ,bash)
9955 ("perl" ,perl)))
9956 (arguments
9957 `(#:modules
9958 ((guix build utils))
9959 #:builder
9960 (begin
9961 (use-modules (guix build utils))
9962 ;; Extract source.
9963 (copy-recursively (assoc-ref %build-inputs "source") "source")
9964 (chdir "source")
9965 ;; Patch shebangs.
9966 (substitute* "epipe"
9967 (("/usr/bin/env bash")
9968 (string-append (assoc-ref %build-inputs "bash") "/bin/bash")))
9969 (patch-shebang "epipe.pl"
9970 (list (string-append (assoc-ref %build-inputs "perl")
9971 "/bin")))
9972 ;; Install.
9973 (for-each (lambda (file)
9974 (install-file file (string-append %output "/bin")))
9975 '("epipe" "epipe.pl"))
9976 #t)))
9977 (home-page "https://github.com/cute-jumper/epipe")
9978 (synopsis "Pipe to the @code{emacsclient}")
9979 (description "@code{epipe} provides an utility to use your editor in
9980 the pipeline, featuring the support for running @code{emacsclient}.")
9981 (license license:gpl3+)))
9982
9983 (define-public emacs-hcl-mode
9984 (package
9985 (name "emacs-hcl-mode")
9986 (version "0.03")
9987 (source
9988 (origin
9989 (method git-fetch)
9990 (uri (git-reference
9991 (url "https://github.com/syohex/emacs-hcl-mode.git")
9992 (commit version)))
9993 (file-name (git-file-name name version))
9994 (sha256
9995 (base32 "0jqrgq15jz6pvx38pnwkizzfiih0d3nxqphyrc92nqpcyimg8b6g"))))
9996 (build-system emacs-build-system)
9997 (home-page "https://github.com/syohex/emacs-hcl-mode")
9998 (synopsis "Major mode for the Hashicorp Configuration Language")
9999 (description
10000 "@code{emacs-hcl-mode} provides an Emacs major mode for working with
10001 @acronym{HCL, Hashicorp Configuration Language}. It provides syntax
10002 highlighting and indentation support.")
10003 (license license:gpl3+)))
10004
10005 (define-public emacs-terraform-mode
10006 (package
10007 (name "emacs-terraform-mode")
10008 (version "0.06")
10009 (source
10010 (origin
10011 (method git-fetch)
10012 (uri (git-reference
10013 (url "https://github.com/syohex/emacs-terraform-mode.git")
10014 (commit version)))
10015 (file-name (git-file-name name version))
10016 (sha256
10017 (base32 "05hn8kskx9lcgn7bzgam99c629zlryir2pickwrqndacjrqpdykx"))))
10018 (build-system emacs-build-system)
10019 (propagated-inputs
10020 `(("emacs-hcl-mode" ,emacs-hcl-mode)))
10021 (home-page "https://github.com/syohex/emacs-terraform-mode")
10022 (synopsis "Major mode for Terraform")
10023 (description
10024 "@code{emacs-terraform-mode} provides a major mode for working with
10025 @uref{https://www.terraform.io/, Terraform} configuration files. Most of the
10026 functionality is inherited from @code{hcl-mode}.")
10027 (license license:gpl3+)))
10028
10029 (define-public emacs-exec-path-from-shell
10030 (package
10031 (name "emacs-exec-path-from-shell")
10032 (version "1.12")
10033 (source
10034 (origin
10035 (method git-fetch)
10036 (uri (git-reference
10037 (url "https://github.com/purcell/exec-path-from-shell")
10038 (commit version)))
10039 (sha256
10040 (base32
10041 "1ga8bpxngd3ph2hdiik92c612ki71qxw818i6rgx6f6a5r0sbf3p"))))
10042 (build-system emacs-build-system)
10043 (home-page "https://github.com/purcell/exec-path-from-shell")
10044 (synopsis "Get environment variables such as @var{PATH} from the shell")
10045 (description
10046 "This library allows the user to set Emacs @var{exec-path} and @var{PATH}
10047 from the shell @var{PATH}, so that @code{shell-command}, @code{compile} and
10048 the like work as expected on systems on which Emacs is not guaranteed to
10049 inherit a login shell's environment variables. It also allows other
10050 environment variables to be retrieved from the shell, so that Emacs will see
10051 the same values you get in a terminal.")
10052 (license license:gpl3+)))
10053
10054 (define-public emacs-deft
10055 (package
10056 (name "emacs-deft")
10057 (version "0.8")
10058 (source
10059 (origin
10060 (method url-fetch)
10061 (uri (string-append "https://stable.melpa.org/packages/deft-"
10062 version ".el"))
10063 (sha256
10064 (base32
10065 "1vb9cjxskc7c0yyf9pvxy1fzypg1vrcgwnjz0m3hslinsgdyig58"))))
10066 (build-system emacs-build-system)
10067 (home-page "https://jblevins.org/projects/deft/")
10068 (synopsis "Quickly browse, filter, and edit plain text notes")
10069 (description
10070 "Deft is an Emacs mode for quickly browsing, filtering, and editing
10071 directories of plain text notes, inspired by Notational Velocity.")
10072 (license license:bsd-3)))
10073
10074 (define-public emacs-anzu
10075 (package
10076 (name "emacs-anzu")
10077 (version "0.62")
10078 (source
10079 (origin
10080 (method git-fetch)
10081 (uri (git-reference
10082 (url "https://github.com/syohex/emacs-anzu.git")
10083 (commit version)))
10084 (file-name (git-file-name name version))
10085 (sha256
10086 (base32 "1lzvc0ihcbplir4hqfyxfqpsd78arz15gk92kmq4f8ggbkl37fan"))))
10087 (build-system emacs-build-system)
10088 (home-page "https://github.com/syohex/emacs-anzu")
10089 (synopsis "Show number of matches in mode-line while searching")
10090 (description
10091 "Anzu provides a minor mode which displays \"current match/total
10092 matches\" in the mode line in various search modes. This is an Emacs port of
10093 Anzu.zim.")
10094 (license license:gpl3+)))
10095
10096 (define-public emacs-ascii-art-to-unicode
10097 (package
10098 (name "emacs-ascii-art-to-unicode")
10099 (version "1.12")
10100 (source
10101 (origin
10102 (method url-fetch)
10103 (uri (string-append "https://elpa.gnu.org/packages/ascii-art-to-unicode-"
10104 version ".el"))
10105 (sha256
10106 (base32
10107 "1w9h2lyriafxj71r79774gh822cz8mry3gdfzyj6ym6v9mvqypna"))))
10108 (build-system emacs-build-system)
10109 (home-page "https://elpa.gnu.org/packages/ascii-art-to-unicode.html")
10110 (synopsis "ASCII to Unicode art converter for Emacs")
10111 (description "This Emacs package provides the commands @command{aa2u} and
10112 @command{aa2u-rectangle}. Both of these commands can be used to convert
10113 simple ASCII art line drawings to Unicode; the former works on the active
10114 region of the buffer, while the latter works on rectangular selections.")
10115 (license license:gpl3+)))
10116
10117 (define-public emacs-emmet-mode
10118 (package
10119 (name "emacs-emmet-mode")
10120 (version "1.0.8")
10121 (source (origin
10122 (method git-fetch)
10123 (uri (git-reference
10124 (url "https://github.com/smihica/emmet-mode.git")
10125 (commit version)))
10126 (file-name (git-file-name name version))
10127 (sha256
10128 (base32
10129 "1dsa85bk33j90h1ypaz1ylqh9yp2xvlga237h3kwa5y3sb0d5ydi"))))
10130 (build-system emacs-build-system)
10131 (home-page "https://github.com/smihica/emmet-mode")
10132 (synopsis "Unofficial Emmet's support for Emacs")
10133 (description
10134 "Unfold CSS-selector-like expressions to markup. It is intended to be
10135 used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
10136 (license license:gpl3+)))
10137
10138 (define-public emacs-ergoemacs-mode
10139 (let ((commit "3ce23bba3cb50562693860f87f3528c471d603ba")
10140 (revision "1"))
10141 (package
10142 (name "emacs-ergoemacs-mode")
10143 (version (git-version "5.16.10.12" revision commit))
10144 (source
10145 (origin
10146 (method git-fetch)
10147 (uri (git-reference
10148 (url "https://github.com/ergoemacs/ergoemacs-mode.git")
10149 (commit commit)))
10150 (sha256
10151 (base32
10152 "1s3b9bridl78hh1mxmdk9nqlmqhibbaxk0a1cixmsf23s06w8w6l"))))
10153 (build-system emacs-build-system)
10154 (propagated-inputs
10155 `(("emacs-undo-tree" ,emacs-undo-tree)))
10156 (home-page "https://ergoemacs.github.io/")
10157 (synopsis "Emacs mode based on common modern interface and ergonomics")
10158 (description
10159 "This package provides an efficient Emacs keybinding set based on
10160 statistics of command frequency, and supports common shortcuts for open,
10161 close, copy, cut, paste, undo, redo.")
10162 (license license:gpl3+))))
10163
10164 (define-public emacs-password-store
10165 (package
10166 (name "emacs-password-store")
10167 (version "1.7.3")
10168 (source (origin
10169 (method url-fetch)
10170 (uri
10171 (string-append "https://git.zx2c4.com/password-store/snapshot/"
10172 "password-store-" version ".tar.xz"))
10173 (sha256
10174 (base32
10175 "1x53k5dn3cdmvy8m4fqdld4hji5n676ksl0ql4armkmsds26av1b"))))
10176 (build-system emacs-build-system)
10177 (arguments
10178 `(#:phases
10179 (modify-phases %standard-phases
10180 (add-after 'unpack 'extract-el-file
10181 (lambda _
10182 (copy-file "contrib/emacs/password-store.el" "password-store.el")
10183 (delete-file-recursively "contrib")
10184 (delete-file-recursively "man")
10185 (delete-file-recursively "src")
10186 (delete-file-recursively "tests"))))))
10187 (propagated-inputs
10188 `(("emacs-f" ,emacs-f)
10189 ("emacs-s" ,emacs-s)
10190 ("emacs-with-editor" ,emacs-with-editor)
10191 ("password-store" ,password-store)))
10192 (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
10193 (synopsis "Password store (pass) support for Emacs")
10194 (description
10195 "This package provides functions for working with pass (\"the
10196 standard Unix password manager\").")
10197 (license license:gpl2+)))
10198
10199 (define-public emacs-pass
10200 (package
10201 (name "emacs-pass")
10202 (version "1.8")
10203 (source
10204 (origin
10205 (method git-fetch)
10206 (uri (git-reference
10207 (url "https://github.com/NicolasPetton/pass.git")
10208 (commit version)))
10209 (file-name (git-file-name name version))
10210 (sha256
10211 (base32 "05h4hacv3yygyjcjj004qbyqjpkl4pyhwgp25gsz8mw5c66l70cx"))))
10212 (build-system emacs-build-system)
10213 (propagated-inputs
10214 `(("emacs-password-store" ,emacs-password-store)
10215 ("emacs-f" ,emacs-f)))
10216 (home-page "https://github.com/NicolasPetton/pass")
10217 (synopsis "Major mode for @file{password-store.el}")
10218 (description "This is a major mode for managing password-store (pass)
10219 keychains. The keychain entries are displayed in a directory-like structure
10220 and can be consulted and modified.")
10221 (license license:gpl3+)))
10222
10223 (define-public emacs-evil-anzu
10224 (package
10225 (name "emacs-evil-anzu")
10226 (version "0.03")
10227 (source
10228 (origin
10229 (method git-fetch)
10230 (uri (git-reference
10231 (url "https://github.com/syohex/emacs-evil-anzu")
10232 (commit version)))
10233 (file-name (git-file-name name version))
10234 (sha256
10235 (base32 "0lw7fg4gqwj30r0l6k2ni36sxqkf65zf0d0z3rxnpwbxlf8dlkrr"))))
10236 (build-system emacs-build-system)
10237 (propagated-inputs
10238 `(("emacs-evil" ,emacs-evil)
10239 ("emacs-anzu" ,emacs-anzu)))
10240 (home-page "https://github.com/syohex/emacs-evil-anzu")
10241 (synopsis "Anzu for evil-mode")
10242 (description "@code{anzu} provides a minor mode that displays the current
10243 match and total match information in the mode-line in various search modes.")
10244 (license license:gpl3+)))
10245
10246 (define-public emacs-pg
10247 (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d"))
10248 (package
10249 (name "emacs-pg")
10250 (version (git-version "0.1" "1" commit))
10251 (source (origin
10252 (method git-fetch)
10253 (uri (git-reference (url "https://github.com/cbbrowne/pg.el")
10254 (commit commit)))
10255 (file-name (git-file-name name version))
10256 (sha256
10257 (base32
10258 "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0"))))
10259 (build-system emacs-build-system)
10260 (home-page "https://github.com/cbbrowne/pg.el")
10261 (synopsis "Emacs Lisp interface for PostgreSQL")
10262 (description
10263 "This package provides an Emacs Lisp interface for PostgreSQL.")
10264 (license license:gpl3+))))
10265
10266 (define-public emacs-cl-generic
10267 (package
10268 (name "emacs-cl-generic")
10269 (version "0.3")
10270 (source
10271 (origin
10272 (method url-fetch)
10273 (uri (string-append "https://elpa.gnu.org/packages/cl-generic-"
10274 version ".el"))
10275 (sha256
10276 (base32
10277 "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq"))))
10278 (build-system emacs-build-system)
10279 (home-page "https://elpa.gnu.org/packages/seq.html")
10280 (synopsis
10281 "Forward @code{cl-generic} compatibility for Emacs before version 25")
10282 (description "This package provides a subset of the features of the
10283 @code{cl-generic} package introduced in Emacs-25, for use on previous
10284 @code{emacsen}.")
10285 (license license:gpl3+)))
10286
10287 (define-public emacs-finalize
10288 (package
10289 (name "emacs-finalize")
10290 (version "2.0.0")
10291 (source
10292 (origin
10293 (method git-fetch)
10294 (uri (git-reference
10295 (url "https://github.com/skeeto/elisp-finalize.git")
10296 (commit version)))
10297 (file-name (git-file-name name version))
10298 (sha256
10299 (base32 "1gvlm4i62af5jscwz0jccc8ra0grprxpg2rlq91d5nn8dn5lpy79"))))
10300 (build-system emacs-build-system)
10301 (propagated-inputs
10302 `(("emacs-cl-generic" ,emacs-cl-generic)))
10303 (home-page "https://github.com/skeeto/elisp-finalize")
10304 (synopsis "Finalizers for Emacs Lisp")
10305 (description
10306 "This package will allows to immediately run a callback (a finalizer)
10307 after its registered lisp object has been garbage collected. This allows for
10308 extra resources, such as buffers and processes, to be cleaned up after the
10309 object has been freed.")
10310 (license license:unlicense)))
10311
10312 (define-public emacs-emacsql
10313 (package
10314 (name "emacs-emacsql")
10315 (version "3.0.0")
10316 (source (origin
10317 (method git-fetch)
10318 (uri (git-reference
10319 (url "https://github.com/skeeto/emacsql.git")
10320 (commit (string-append version))))
10321 (file-name (git-file-name name version))
10322 (sha256
10323 (base32
10324 "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"))))
10325 (build-system emacs-build-system)
10326 (arguments
10327 `(#:modules ((guix build emacs-build-system)
10328 (guix build utils)
10329 (guix build emacs-utils)
10330 (srfi srfi-26))
10331 #:phases
10332 (modify-phases %standard-phases
10333 (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files.
10334 (add-before 'install 'patch-elisp-shell-shebangs
10335 (lambda _
10336 (substitute* (find-files "." "\\.el")
10337 (("/bin/sh") (which "sh")))
10338 #t))
10339 (add-after 'patch-elisp-shell-shebangs 'setenv-shell
10340 (lambda _
10341 (setenv "SHELL" "sh")))
10342 (add-after 'setenv-shell 'build-emacsql-sqlite
10343 (lambda _
10344 (invoke "make" "binary" "CC=gcc")))
10345 (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
10346 ;; This build phase installs emacs-emacsql binary.
10347 (lambda* (#:key outputs #:allow-other-keys)
10348 (install-file "sqlite/emacsql-sqlite"
10349 (string-append (assoc-ref outputs "out")
10350 "/bin"))
10351 #t))
10352 (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
10353 ;; This build phase removes interactive prompts
10354 ;; and makes sure Emacs look for binaries in the right places.
10355 (lambda* (#:key outputs #:allow-other-keys)
10356 (let ((file "emacsql-sqlite.el"))
10357 (chmod file #o644)
10358 (emacs-substitute-sexps file
10359 ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
10360 ("(executable-find" (which "gcc"))
10361 ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary
10362 ;; in the right place.
10363 ("(defvar emacsql-sqlite-executable"
10364 (string-append (assoc-ref outputs "out")
10365 "/bin/emacsql-sqlite"))))))
10366 (replace 'install
10367 (lambda* (#:key outputs #:allow-other-keys)
10368 (let* ((out (assoc-ref outputs "out")))
10369 (install-file "sqlite/emacsql-sqlite"
10370 (string-append out "/bin"))
10371 (for-each (cut install-file <>
10372 (string-append out "/share/emacs/site-lisp/guix.d/"
10373 "emacsql" "-" ,version))
10374 (find-files "." "\\.elc*$")))
10375 #t)))))
10376 (inputs
10377 `(("emacs-minimal" ,emacs-minimal)
10378 ("mariadb" ,mariadb)
10379 ("postgresql" ,postgresql)))
10380 (propagated-inputs
10381 `(("emacs-finalize" ,emacs-finalize)
10382 ("emacs-pg" ,emacs-pg)))
10383 (home-page "https://github.com/skeeto/emacsql")
10384 (synopsis "Emacs high-level SQL database front-end")
10385 (description "Any readable Lisp value can be stored as a value in EmacSQL,
10386 including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
10387 has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
10388 object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
10389 (license license:gpl3+)))
10390
10391 (define-public emacs-closql
10392 (package
10393 (name "emacs-closql")
10394 (version "1.0.0")
10395 (source
10396 (origin
10397 (method git-fetch)
10398 (uri (git-reference
10399 (url "https://github.com/emacscollective/closql.git")
10400 (commit (string-append "v" version))))
10401 (file-name (git-file-name name version))
10402 (sha256
10403 (base32
10404 "1xhpfjjkjqfc1k2rj77cscclz5r7gpvv3hi202x178vdcpipjwar"))))
10405 (build-system emacs-build-system)
10406 (propagated-inputs
10407 `(("emacs-emacsql" ,emacs-emacsql)))
10408 (home-page "https://github.com/emacscollective/closql")
10409 (synopsis "Store EIEIO objects using EmacSQL")
10410 (description
10411 "This package allows to store uniform EIEIO objects in an EmacSQL
10412 database. SQLite is used as backend. This library imposes some restrictions
10413 on what kind of objects can be stored; it isn't intended to store arbitrary
10414 objects. All objects have to share a common superclass and subclasses cannot
10415 add any additional instance slots.")
10416 (license license:gpl3)))
10417
10418 (define-public emacs-epkg
10419 ;; The release version is to old for the current database scheme.
10420 (let ((commit "432312b9583ed7b88ad9644fd1bf2183765a892e"))
10421 (package
10422 (name "emacs-epkg")
10423 (version (git-version "3.0.0" "1" commit))
10424 (source
10425 (origin
10426 (method git-fetch)
10427 (uri (git-reference
10428 (url "https://github.com/emacscollective/epkg.git")
10429 (commit commit)))
10430 (file-name (git-file-name name version))
10431 (sha256
10432 (base32
10433 "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k"))))
10434 (build-system emacs-build-system)
10435 (propagated-inputs
10436 `(("emacs-closql" ,emacs-closql)
10437 ("emacs-dash" ,emacs-dash)))
10438 (home-page "https://emacsmirror.net")
10439 (synopsis "Browse the Emacsmirror package database")
10440 (description "This package provides access to a local copy of the
10441 Emacsmirror package database. It provides low-level functions for querying
10442 the database and a @file{package.el} user interface for browsing the database.
10443 Epkg itself is not a package manager.
10444
10445 Getting a local copy:
10446
10447 @example
10448 git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs
10449 cd ~/.emacs.d/epkgs
10450 git submodule init
10451 git config --global url.https://github.com/.insteadOf git@@github.com:
10452 git submodule update
10453 @end example
10454
10455 Some submodule may be missing. In this case Git will prompt for a GitHub user
10456 name and password. To skip it press a @key{Return} key.
10457
10458 You could get a Epkg package list by invoking @code{epkg-list-packages} in
10459 Emacs.")
10460 (license license:gpl3+))))
10461
10462 (define-public emacs-elisp-slime-nav
10463 (package
10464 (name "emacs-elisp-slime-nav")
10465 (version "0.9")
10466 (source
10467 (origin
10468 (method git-fetch)
10469 (uri (git-reference
10470 (url "https://github.com/purcell/elisp-slime-nav.git")
10471 (commit version)))
10472 (file-name (git-file-name name version))
10473 (sha256
10474 (base32 "11vyy0bvzbs1h1kggikrvhd658j7c730w0pdp6qkm60rigvfi1ih"))))
10475 (build-system emacs-build-system)
10476 (home-page "https://github.com/purcell/elisp-slime-nav")
10477 (synopsis "Make @code{M-.} and @code{M-,} work for elisp like they do in SLIME")
10478 (description
10479 "This package provides SLIME's convenient @code{M-.}and @code{M-,} navigation
10480 in @code{emacs-lisp-mode}, together with an elisp equivalent of
10481 @code{slime-describe-symbol}.")
10482 (license license:gpl3+)))
10483
10484 (define-public emacs-dedicated
10485 (package
10486 (name "emacs-dedicated")
10487 (version "1.0.0")
10488 (source
10489 (origin
10490 (method git-fetch)
10491 (uri (git-reference
10492 (url "https://github.com/emacsorphanage/dedicated.git")
10493 (commit version)))
10494 (file-name (git-file-name name version))
10495 (sha256
10496 (base32 "0pba9s0h37sxyqh733vi6k5raa4cs7aradipf3826inw36jcw414"))))
10497 (build-system emacs-build-system)
10498 (home-page "https://github.com/emacsorphanage/dedicated")
10499 (synopsis "Emacs minor mode for toggling a windows's \"dedicated\" flag")
10500 (description
10501 "This simple Emacs minor mode allows you to toggle a window's
10502 \"dedicated\" flag. When a window is \"dedicated\", Emacs will not select
10503 files into that window. This can be quite handy since many commands will use
10504 another window to show results (compilation mode, starting info, and so on).
10505 A dedicated window won't be used for such a purpose. For details, please read
10506 the source file.")
10507 (license license:gpl2+)))
10508
10509 (define-public emacs-nnreddit
10510 (let ((commit "9843f99d01fd8f1eea2fc685965a7c7f4eeb187a")
10511 (revision "1"))
10512 (package
10513 (name "emacs-nnreddit")
10514 (version (string-append "0.0.1-" revision "."
10515 (string-take commit 7)))
10516 (source (origin
10517 (method git-fetch)
10518 (uri (git-reference
10519 (url "https://github.com/paul-issartel/nnreddit.git")
10520 (commit commit)))
10521 (file-name (git-file-name name version))
10522 (sha256
10523 (base32
10524 "0j4h3bnga640250jdq8bwyja49r41ssrsjd6lba4gzzllqk02nbn"))))
10525 (build-system emacs-build-system)
10526 (home-page "https://github.com/paul-issartel/nnreddit")
10527 (synopsis "Reddit backend for the Gnus newsreader")
10528 (description "@url{https://www.reddit.com} backend for the Gnus
10529 newsreader.")
10530 (license license:gpl3+))))
10531
10532 (define-public emacs-makey
10533 (package
10534 (name "emacs-makey")
10535 (version "0.3")
10536 (source
10537 (origin
10538 (method git-fetch)
10539 (uri (git-reference
10540 (url "https://github.com/mickeynp/makey.git")
10541 (commit version)))
10542 (file-name (git-file-name name version))
10543 (sha256
10544 (base32 "1rr7vpm3xxzcaam3m8xni3ajy8ycyljix07n2jzczayri9sd8csy"))))
10545 (build-system emacs-build-system)
10546 (home-page "https://github.com/mickeynp/makey")
10547 (synopsis "Emacs interactive command-line mode")
10548 (description
10549 "This package provides an Emacs interactive command-line mode.")
10550 (license license:gpl3+)))
10551
10552 (define-public emacs-outorg
10553 (let ((commit "78b0695121fb974bc4e971eb4ef7f8afd6d89d64"))
10554 (package
10555 (name "emacs-outorg")
10556 (version (git-version "2.0" "1" commit))
10557 (source
10558 (origin
10559 (method git-fetch)
10560 (uri (git-reference
10561 (url "https://github.com/alphapapa/outorg")
10562 (commit commit)))
10563 (file-name (git-file-name name version))
10564 (sha256
10565 (base32
10566 "03aclh4m3f7rb821gr9pwvnqkkl91px3qxdcarpf3ypa1x4fxvlj"))))
10567 (build-system emacs-build-system)
10568 (home-page "https://github.com/alphapapa/outorg")
10569 (synopsis "Org-style comment editing")
10570 (description "Outorg is for editing comment-sections of source-code
10571 files in temporary Org-mode buffers. It turns conventional
10572 literate-programming upside-down in that the default mode is the
10573 programming-mode, and special action has to be taken to switch to the
10574 text-mode (i.e. Org-mode).")
10575 (license license:gpl3+))))
10576
10577 (define-public emacs-outshine
10578 (package
10579 (name "emacs-outshine")
10580 (version "3.0.1")
10581 (source (origin
10582 (method git-fetch)
10583 (uri (git-reference
10584 (url "https://github.com/alphapapa/outshine.git")
10585 (commit (string-append "v" version))))
10586 (file-name (git-file-name name version))
10587 (sha256
10588 (base32
10589 "1lh9f5dgdbwfyzxk6nsg1xwdjs8gc6p9mbyyhp6f8fnk3h0y88cg"))))
10590 (build-system emacs-build-system)
10591 (propagated-inputs
10592 `(("emacs-outorg" ,emacs-outorg)))
10593 (home-page "https://github.com/alphapapa/outshine")
10594 (synopsis "Emacs outline with outshine")
10595 (description "Outshine attempts to bring the look and feel of
10596 @code{org-mode} to an Emacs outside of the Org major-mode. It is an extension
10597 of @code{outline-minor-mode} (@code{org-mode} itself derives from
10598 outline-mode), so there is no such thing like an outshine mode, only
10599 @code{outline-minor-mode} with outshine extensions loaded.")
10600 (license license:gpl3+)))
10601
10602 (define-public emacs-frecency
10603 (let ((commit "31ef9ff4af1a4fed3dcc24ea74037feea8795c87")
10604 (version "0.1-pre")
10605 (revision "1"))
10606 (package
10607 (name "emacs-frecency")
10608 (version (git-version version revision commit))
10609 (source (origin
10610 (method git-fetch)
10611 (uri (git-reference
10612 (url "https://github.com/alphapapa/frecency.el")
10613 (commit commit)))
10614 (sha256
10615 (base32
10616 "051aihjdg3x22svaxhwylpi8i6s2x9j8syvsj1jgilgjjdy15l6j"))
10617 (file-name (git-file-name name version))))
10618 (build-system emacs-build-system)
10619 (propagated-inputs
10620 `(("emacs-a" ,emacs-a)
10621 ("emacs-dash" ,emacs-dash)))
10622 (home-page "https://github.com/alphapapa/frecency.el")
10623 (synopsis "Sort items by frequency and recency of access")
10624 (description "This package provides a way of sorting items via
10625 a heuristic based on frequency and recency.")
10626 (license license:gpl3+))))
10627
10628 (define-public emacs-org-recent-headings
10629 (package
10630 (name "emacs-org-recent-headings")
10631 (version "0.1")
10632 (source (origin
10633 (method git-fetch)
10634 (uri (git-reference
10635 (url "https://github.com/alphapapa/org-recent-headings.git")
10636 (commit version)))
10637 (file-name (git-file-name name version))
10638 (sha256
10639 (base32
10640 "0gsrzmg3mssh9s28yjm9m866fnhm1pcligssz1q6brga6dm6f2yy"))))
10641 (build-system emacs-build-system)
10642 (propagated-inputs
10643 `(("emacs-org" ,emacs-org)
10644 ("emacs-dash" ,emacs-dash)
10645 ("emacs-frecency" ,emacs-frecency)))
10646 (home-page "https://github.com/alphapapa/org-recent-headings")
10647 (synopsis "Navigate to recently used Org headings and lists")
10648 (description "This package maintains a list of recently used Org headings,
10649 as well as functions for navigating between these headings.")
10650 (license license:gpl3+)))
10651
10652 (define-public emacs-org-super-agenda
10653 ;; emacs-org-sidebar depends on a newer commit than the latest release version.
10654 (let ((commit "375bde4ca72494ac88a2a9738754f047fe45cc4e")
10655 (revision "1"))
10656 (package
10657 (name "emacs-org-super-agenda")
10658 (version (git-version "1.1.1" revision commit))
10659 (source (origin
10660 (method git-fetch)
10661 (uri (git-reference
10662 (url "https://github.com/alphapapa/org-super-agenda")
10663 (commit commit)))
10664 (file-name (git-file-name name version))
10665 (sha256
10666 (base32
10667 "0hrwf02fqjm0d9gj146ax67ib76093qpqh7066dcxj2gy20625yj"))))
10668 (build-system emacs-build-system)
10669 (propagated-inputs
10670 `(("emacs-org" ,emacs-org)
10671 ("emacs-dash" ,emacs-dash)
10672 ("emacs-ht" ,emacs-ht)
10673 ("emacs-s" ,emacs-s)))
10674 (home-page "https://github.com/alphapapa/org-super-agenda")
10675 (synopsis "Supercharged Org agenda")
10676 (description "This package allows items in the Org agenda to be grouped
10677 into sections while preserving the structure imposed by any timestamps.")
10678 (license license:gpl3+))))
10679
10680 (define-public emacs-org-make-toc
10681 (package
10682 (name "emacs-org-make-toc")
10683 (version "0.3")
10684 (source (origin
10685 (method git-fetch)
10686 (uri (git-reference
10687 (url "https://github.com/alphapapa/org-make-toc")
10688 (commit version)))
10689 (file-name (git-file-name name version))
10690 (sha256
10691 (base32
10692 "0syhj8q4pv33xgl5qa6x27yhwqvfhffw5xqp819hj4qs1ddlc7j5"))))
10693 (build-system emacs-build-system)
10694 (propagated-inputs
10695 `(("emacs-org" ,emacs-org)
10696 ("emacs-dash" ,emacs-dash)
10697 ("emacs-s" ,emacs-s)))
10698 (home-page "https://github.com/alphapapa/org-make-toc")
10699 (synopsis "Maintain a table of contents for an Org file")
10700 (description "This package facilitates the creation and maintenance of
10701 tables of contents.")
10702 (license license:gpl3+)))
10703
10704 (define-public emacs-org-ql
10705 (package
10706 (name "emacs-org-ql")
10707 (version "0.1")
10708 (source (origin
10709 (method git-fetch)
10710 (uri (git-reference
10711 (url "https://github.com/alphapapa/org-ql")
10712 (commit version)))
10713 (sha256
10714 (base32
10715 "1nvzirn1lmgmgl7irbsc1n391a2cw8gmvwm3pa228l2c1gcx8kd8"))
10716 (file-name (git-file-name name version))))
10717 (build-system emacs-build-system)
10718 (propagated-inputs
10719 `(("emacs-s" ,emacs-s)
10720 ("emacs-dash" ,emacs-dash)))
10721 (home-page "https://github.com/alphapapa/org-ql/")
10722 (synopsis "Query language for Org buffers")
10723 (description "This package provides a Lispy query language for Org
10724 files, allowing for actions to be performed based on search criteria.")
10725 (license license:gpl3+)))
10726
10727 (define-public emacs-parsebib
10728 (package
10729 (name "emacs-parsebib")
10730 (version "2.3.1")
10731 (source
10732 (origin
10733 (method git-fetch)
10734 (uri (git-reference
10735 (url "https://github.com/joostkremers/parsebib.git")
10736 (commit version)))
10737 (file-name (git-file-name name version))
10738 (sha256
10739 (base32 "1bnqnxkb9dnl0fjrrjx0xn9jsqki2h8ygw3d5dm4bl79smah3qkh"))))
10740 (build-system emacs-build-system)
10741 (home-page "https://github.com/joostkremers/parsebib")
10742 (synopsis "Library for parsing bib files")
10743 (description
10744 "This package provides an Emacs library for parsing bib files.")
10745 (license license:gpl3+)))
10746
10747 (define-public emacs-biblio
10748 (package
10749 (name "emacs-biblio")
10750 (version "0.2")
10751 (source
10752 (origin
10753 (method git-fetch)
10754 (uri (git-reference
10755 (url "https://github.com/cpitclaudel/biblio.el.git")
10756 (commit version)))
10757 (file-name (git-file-name name version))
10758 (sha256
10759 (base32 "1gxjind6r235az59dr8liv03d8994mqb8a7m28j3c12q7p70aziz"))))
10760 (build-system emacs-build-system)
10761 (propagated-inputs
10762 `(("emacs-seq" ,emacs-seq)
10763 ("emacs-dash" ,emacs-dash)
10764 ("emacs-let-alist" ,emacs-let-alist)))
10765 (home-page "https://github.com/cpitclaudel/biblio.el")
10766 (synopsis "Browse and import bibliographic references")
10767 (description "This package provides an extensible Emacs package for
10768 browsing and fetching references.
10769
10770 @file{biblio.el} makes it easy to browse and gather bibliographic references
10771 and publications from various sources, by keywords or by DOI. References are
10772 automatically fetched from well-curated sources, and formatted as BibTeX.")
10773 (license license:gpl3+)))
10774
10775 (define-public emacs-helm-bibtex
10776 (let ((commit "8ed898fb5a68f18e9bb9973832a5c1f8abcfc463")
10777 (revision "1"))
10778 (package
10779 (name "emacs-helm-bibtex")
10780 (version (string-append "2.0.0" "-" revision "."
10781 (string-take commit 7)))
10782 (source
10783 (origin
10784 (method git-fetch)
10785 (uri (git-reference
10786 (url "https://github.com/tmalsburg/helm-bibtex.git")
10787 (commit commit)))
10788 (file-name (git-file-name name version))
10789 (sha256
10790 (base32
10791 "14lyx0vbqr97p3anzrsp7m3q0kqclyjcdwplpraim403fcklzbnz"))))
10792 (build-system emacs-build-system)
10793 (propagated-inputs
10794 `(("emacs-helm" ,emacs-helm)
10795 ("emacs-parsebib" ,emacs-parsebib)
10796 ("emacs-s" ,emacs-s)
10797 ("emacs-dash" ,emacs-dash)
10798 ("emacs-f" ,emacs-f)
10799 ("emacs-biblio" ,emacs-biblio)
10800 ("emacs-ivy" ,emacs-ivy)))
10801 (home-page "https://github.com/tmalsburg/helm-bibtex")
10802 (synopsis "Bibliography manager based on Helm")
10803 (description "This package provides bibliography manager for Emacs,
10804 based on Helm and the bibtex-completion backend.
10805
10806 Key features:
10807
10808 @itemize
10809 @item Quick access to your bibliography from within Emacs
10810 @item Powerful search capabilities
10811 @item Provides instant search results as you type
10812 @item Tightly integrated with LaTeX authoring, emails, Org mode, etc.
10813 @item Open the PDFs, URLs, or DOIs associated with an entry
10814 @item Insert LaTeX cite commands, Ebib links, or Pandoc citations,
10815 BibTeX entries, or plain text references at point, attach PDFs to emails
10816 @item Support for note taking
10817 @item Quick access to online bibliographic databases such as Pubmed,
10818 arXiv, Google Scholar, Library of Congress, etc.
10819 @item Imports BibTeX entries from CrossRef and other sources.
10820 @end itemize\n")
10821 (license license:gpl3+))))
10822
10823 (define-public emacs-ewmctrl
10824 (let ((commit "3d0217c4d6cdb5c308b6cb4293574f470d4faacf"))
10825 (package
10826 (name "emacs-ewmctrl")
10827 (version (git-version "0.0.1" "1" commit))
10828 (source
10829 (origin
10830 (method git-fetch)
10831 (uri (git-reference
10832 (url "https://github.com/flexibeast/ewmctrl.git")
10833 (commit commit)))
10834 (file-name (git-file-name name version))
10835 (sha256
10836 (base32
10837 "0ilwvx0qryv3v6xf0gxqwnfm6pf96gxap8h9g3f6z6lk9ff4n1wi"))))
10838 (build-system emacs-build-system)
10839 (arguments
10840 '(#:phases
10841 (modify-phases %standard-phases
10842 (add-after 'unpack 'patch-ewmctrl
10843 ;; This build phase makes sure ‘ewmctrl’ looks
10844 ;; for ‘wmctrl’ in the right place.
10845 (lambda _
10846 (let ((file "ewmctrl.el"))
10847 (chmod file #o644)
10848 (emacs-substitute-sexps file
10849 ("(defcustom ewmctrl-wmctrl-path" (which "wmctrl")))))))))
10850 (inputs
10851 `(("wmctrl" ,wmctrl)))
10852 (home-page "https://github.com/flexibeast/ewmctrl")
10853 (synopsis "Emacs interface to @code{wmctrl}")
10854 (description "@code{ewmctrl} provides an Emacs interface to
10855 @code{wmctrl} command-line window-management program.")
10856 (license license:gpl3+))))
10857
10858 (define-public emacs-erc-image
10859 (let ((commit "82fb3871f02e24b1e880770b9a3d187aab43d0f0")
10860 (revision "1"))
10861 (package
10862 (name "emacs-erc-image")
10863 (version (git-version "0" revision commit))
10864 (source
10865 (origin
10866 (method git-fetch)
10867 (uri (git-reference
10868 (url "https://github.com/kidd/erc-image.el")
10869 (commit commit)))
10870 (file-name (git-file-name name version))
10871 (sha256
10872 (base32
10873 "1q8mkf612fb4fjp8h4kbr107wn083iqfdgv8f80pcmil8y33dw9i"))))
10874 (build-system emacs-build-system)
10875 (home-page "https://github.com/kidd/erc-image.el")
10876 (synopsis "Show inlined images (png/jpg/gif/svg) in ERC buffers")
10877 (description "This plugin subscribes to hooks @code{erc-insert-modify-hook}
10878 and @code{erc-send-modify-hook} to download and show images.")
10879 (license license:gpl3+))))
10880
10881 (define-public emacs-helm-gtags
10882 (package
10883 (name "emacs-helm-gtags")
10884 (version "1.5.6")
10885 (source
10886 (origin
10887 (method git-fetch)
10888 (uri (git-reference
10889 (url "https://github.com/syohex/emacs-helm-gtags.git")
10890 (commit version)))
10891 (file-name (git-file-name name version))
10892 (sha256
10893 (base32 "0zyspn9rqfs3hkq8qx0q1w5qiv30ignbmycyv0vn3a6q7a5fsnhx"))))
10894 (build-system emacs-build-system)
10895 (propagated-inputs
10896 `(("emacs-helm" ,emacs-helm)))
10897 (home-page "https://github.com/syohex/emacs-helm-gtags")
10898 (synopsis "Emacs Helm interface to GNU Global")
10899 (description
10900 "@code{emacs-helm-gtags} provides a Emacs Helm interface to GNU Global.")
10901 (license license:gpl3+)))
10902
10903 (define-public emacs-list-utils
10904 (package
10905 (name "emacs-list-utils")
10906 (version "0.4.4")
10907 (source
10908 (origin
10909 (method git-fetch)
10910 (uri (git-reference
10911 (url "https://github.com/rolandwalker/list-utils.git")
10912 (commit (string-append "v" version))))
10913 (file-name (git-file-name name version))
10914 (sha256
10915 (base32 "0ql159v7sxs33yh2l080kchrj52vk34knz50cvqi3ykpb7djg3sz"))))
10916 (build-system emacs-build-system)
10917 (home-page "https://github.com/rolandwalker/list-utils")
10918 (synopsis "List-manipulation utility functions")
10919 (description "This package provides a list manipulation library for Emacs.")
10920 (license license:gpl3+)))
10921
10922 (define-public emacs-move-text
10923 (package
10924 (name "emacs-move-text")
10925 (version "2.0.8")
10926 (source
10927 (origin
10928 (method git-fetch)
10929 (uri (git-reference
10930 (url "https://github.com/emacsfodder/move-text.git")
10931 (commit version)))
10932 (file-name (git-file-name name version))
10933 (sha256
10934 (base32 "06jxk5g23822gfmwrxhc34zand3dr8p2wjh1zs3j61ibz6n0nmz1"))))
10935 (build-system emacs-build-system)
10936 (home-page "https://github.com/emacsfodder/move-text")
10937 (synopsis "Move current line or region with M-up or M-down")
10938 (description "This package provide functions to move the current line
10939 using @kbd{M-up} or @kbd{M-down} if a region is marked, it will move the
10940 region instead.")
10941 (license license:gpl3+)))
10942
10943 (define-public emacs-validate
10944 (package
10945 (name "emacs-validate")
10946 (version "1.0.5")
10947 (source (origin
10948 (method url-fetch)
10949 (uri (string-append "https://github.com/Malabarba/validate.el"
10950 "/archive/" version ".tar.gz"))
10951 (file-name (string-append name "-" version ".tar.gz"))
10952 (sha256
10953 (base32
10954 "125mbd111f1h1baw0z3fzm48y1bvaigljyzvvnqgrn0shxbj0khg"))))
10955 (build-system emacs-build-system)
10956 (home-page "https://github.com/Malabarba/validate.el")
10957 (synopsis "Emacs library for scheme validation")
10958 (description "This Emacs library provides two functions that perform
10959 schema validation.")
10960 (license license:gpl3+)))
10961
10962 (define-public emacs-rainbow-blocks
10963 (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842"))
10964 (package
10965 (name "emacs-rainbow-blocks")
10966 (version (git-version "1.0.0" "1" commit))
10967 (source (origin
10968 (method git-fetch)
10969 (uri (git-reference
10970 (url "https://github.com/istib/rainbow-blocks.git")
10971 (commit commit)))
10972 (file-name (git-file-name name version))
10973 (sha256
10974 (base32
10975 "06yfb3i7wzvqrhkb61zib9xvpb5i00s4frizkzff66im05k0n795"))))
10976 (build-system emacs-build-system)
10977 (home-page "https://github.com/istib/rainbow-blocks")
10978 (synopsis "Highlight sexp blocks")
10979 (description "Rainbow-blocks is an Emacs mode that highlights blocks
10980 made of parentheses, brackets, and braces according to their depth. Each
10981 successive level is highlighted in a different color. This makes it easy to
10982 orient yourself in the code, and tell which statements are at a given level.")
10983 (license license:gpl3+))))
10984
10985 (define-public emacs-hierarchy
10986 (package
10987 (name "emacs-hierarchy")
10988 (version "0.7.0")
10989 (source
10990 (origin
10991 (method git-fetch)
10992 (uri (git-reference
10993 (url "https://github.com/DamienCassou/hierarchy.git")
10994 (commit (string-append "v" version))))
10995 (file-name (git-file-name name version))
10996 (sha256
10997 (base32 "1kykbb1sil5cycfa5aj8dhsxc5yrx1641i2np5kwdjid6ahdlz5r"))))
10998 (build-system emacs-build-system)
10999 (home-page "https://github.com/DamienCassou/hierarchy")
11000 (synopsis "Library to create and display hierarchy structures")
11001 (description "This package provides an Emacs library to create, query,
11002 navigate and display hierarchy structures.")
11003 (license license:gpl3+)))
11004
11005 (define-public emacs-tree-mode
11006 (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534")
11007 (revision "1"))
11008 (package
11009 (name "emacs-tree-mode")
11010 (version (string-append "0.0.1" "-" revision "."
11011 (string-take commit 7)))
11012 (source
11013 (origin
11014 (method git-fetch)
11015 (uri (git-reference
11016 (url "https://github.com/emacsorphanage/tree-mode.git")
11017 (commit commit)))
11018 (file-name (git-file-name name version))
11019 (sha256
11020 (base32
11021 "13bbdhdmqg4x9yghanhr8fsbsxbnypzxdxgicz31sjjm675kpnix"))))
11022 (build-system emacs-build-system)
11023 (home-page "https://github.com/emacsorphanage/tree-mode")
11024 (synopsis "Emacs mode to manage tree widgets")
11025 (description
11026 "This package provides an Emacs library to manage tree widgets.")
11027 (license license:gpl3+))))
11028
11029 (define-public emacs-md4rd
11030 (package
11031 (name "emacs-md4rd")
11032 (version "0.3.1")
11033 (source (origin
11034 (method git-fetch)
11035 (uri (git-reference
11036 (url "https://github.com/ahungry/md4rd.git")
11037 (commit version)))
11038 (file-name (git-file-name name version))
11039 (sha256
11040 (base32
11041 "1n6g6k4adzkkn1g7z4j27s35xy12c1fg2r08gv345ddr3wplq4ri"))))
11042 (propagated-inputs
11043 `(("emacs-hierarchy" ,emacs-hierarchy)
11044 ("emacs-request" ,emacs-request)
11045 ("emacs-dash" ,emacs-dash)
11046 ("emacs-s" ,emacs-s)
11047 ("emacs-tree-mode" ,emacs-tree-mode)))
11048 (build-system emacs-build-system)
11049 (home-page "https://github.com/ahungry/md4rd")
11050 (synopsis "Emacs Mode for Reddit")
11051 (description
11052 "This package allows to read Reddit from within Emacs interactively.")
11053 (license license:gpl3+)))
11054
11055 (define-public emacs-pulseaudio-control
11056 (let ((commit "7e1a87068379075a5e9ce36c64c686c03d20d379")
11057 (revision "3"))
11058 (package
11059 (name "emacs-pulseaudio-control")
11060 (version (git-version "0.0.1" revision commit))
11061 (source
11062 (origin
11063 (method git-fetch)
11064 (uri (git-reference
11065 (url "https://github.com/flexibeast/pulseaudio-control.git")
11066 (commit commit)))
11067 (file-name (git-file-name name version))
11068 (sha256
11069 (base32
11070 "0wcaqyh15x56255rrj350089z15pnwixa2vf0ly6dv0hjmzmh3mr"))))
11071 (build-system emacs-build-system)
11072 (arguments
11073 '(#:phases (modify-phases %standard-phases
11074 (add-after 'unpack 'patch-file-name
11075 (lambda* (#:key inputs #:allow-other-keys)
11076 (let ((pulseaudio (assoc-ref inputs "pulseaudio")))
11077 (chmod "pulseaudio-control.el" #o600)
11078 (emacs-substitute-variables "pulseaudio-control.el"
11079 ("pulseaudio-control-pactl-path"
11080 (string-append pulseaudio "/bin/pactl")))
11081 #t))))))
11082 (inputs `(("pulseaudio" ,pulseaudio)))
11083 (home-page "https://github.com/flexibeast/pulseaudio-control")
11084 (synopsis "Control @code{pulseaudio} from Emacs")
11085 (description
11086 "This package allows to control @code{pulseaudio} from Emacs.")
11087 (license license:gpl3+))))
11088
11089 (define-public emacs-datetime
11090 (package
11091 (name "emacs-datetime")
11092 (version "0.3")
11093 (source
11094 (origin
11095 (method git-fetch)
11096 (uri (git-reference
11097 (url "https://github.com/doublep/datetime.git")
11098 (commit version)))
11099 (file-name (git-file-name name version))
11100 (sha256
11101 (base32 "0fdswqi53qx924lib7nd9dazn0916xf1ybrh3bcn3f8cn6b8ikg5"))))
11102 (build-system emacs-build-system)
11103 (home-page "https://github.com/doublep/datetime/")
11104 (synopsis "Library to work with dates in Emacs")
11105 (description "Parsing, formatting, matching and recoding
11106 timestamps and date-time format strings library for Emacs.")
11107 (license license:gpl3+)))
11108
11109 (define-public emacs-org-mind-map
11110 (let ((commit "9d6e262bedd94daf9de269f4d56de277275677cb")
11111 (revision "1"))
11112 (package
11113 (name "emacs-org-mind-map")
11114 (version (string-append "0.0.1" "-" revision "."
11115 (string-take commit 7)))
11116 (source
11117 (origin
11118 (method git-fetch)
11119 (uri (git-reference
11120 (url "https://github.com/theodorewiles/org-mind-map.git")
11121 (commit commit)))
11122 (file-name (git-file-name name version))
11123 (sha256
11124 (base32
11125 "0jgkkgq7g64zckrmjib0hvz0qy3ynz5vz13qbmlpf096l3bb65wn"))))
11126 (propagated-inputs
11127 `(("emacs-dash" ,emacs-dash)))
11128 (build-system emacs-build-system)
11129 (home-page "https://github.com/theodorewiles/org-mind-map")
11130 (synopsis "Create Graphviz directed graphs from Org files")
11131 (description
11132 "This package creates Graphviz directed graphs from Org files.")
11133 (license license:gpl3+))))
11134
11135 (define-public emacs-npm-mode
11136 (package
11137 (name "emacs-npm-mode")
11138 (version "0.6.0")
11139 (source
11140 (origin
11141 (method git-fetch)
11142 (uri (git-reference
11143 (url "https://github.com/mojochao/npm-mode.git")
11144 (commit version)))
11145 (file-name (git-file-name name version))
11146 (sha256
11147 (base32 "1mh6nbffciw4yhv049kdhh796ysj1x21ndm3fwymhskb3dy0w1ss"))))
11148 (build-system emacs-build-system)
11149 (home-page "https://github.com/mojochao/npm-mode")
11150 (synopsis "Minor mode for working with @code{npm} projects")
11151 (description
11152 "@code{npm-mode} provides a minor mode to work with @code{npm} projects.")
11153 (license license:gpl3+)))
11154
11155 (define-public emacs-seq
11156 (package
11157 (name "emacs-seq")
11158 (version "2.20")
11159 (source
11160 (origin
11161 (method url-fetch)
11162 (uri (string-append "http://elpa.gnu.org/packages/seq-" version ".tar"))
11163 (sha256
11164 (base32
11165 "0vrpx6nnyjb0gsypknzagimlhvcvi5y1rcdkpxyqr42415zr8d0n"))))
11166 (build-system emacs-build-system)
11167 (home-page "http://elpa.gnu.org/packages/seq.html")
11168 (synopsis "Sequence manipulation functions")
11169 (description "Sequence-manipulation functions that complement basic
11170 functions provided by @file{subr.el}.")
11171 (license license:gpl3+)))
11172
11173 (define-public emacs-itail
11174 (let ((commit "6e43c20da03be3b9c6ece93b7dc3495975ec1888")
11175 (revision "1"))
11176 (package
11177 (name "emacs-itail")
11178 (version (string-append "0.0.1" "-" revision "."
11179 (string-take commit 7)))
11180 (source
11181 (origin
11182 (method git-fetch)
11183 (uri (git-reference
11184 (url "https://github.com/re5et/itail.git")
11185 (commit commit)))
11186 (file-name (git-file-name name version))
11187 (sha256
11188 (base32
11189 "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv"))))
11190 (build-system emacs-build-system)
11191 (home-page "https://github.com/re5et/itail")
11192 (synopsis "Interactive @code{tail} Emacs mode")
11193 (description "@code{itail} provides interactive @code{tail} mode
11194 that allows you to filter the tail with unix pipes and highlight the
11195 contents of the tailed file. Works locally or on remote files using
11196 tramp.")
11197 (license license:gpl3+))))
11198
11199 (define-public emacs-loop
11200 (package
11201 (name "emacs-loop")
11202 (version "1.3")
11203 (source
11204 (origin
11205 (method git-fetch)
11206 (uri (git-reference
11207 (url "https://github.com/Wilfred/loop.el.git")
11208 (commit version)))
11209 (file-name (git-file-name name version))
11210 (sha256
11211 (base32 "1gs95xnmnn8aa4794k7h8mw1sz1nfdh9v0caqj6yvnsdnwy74n5x"))))
11212 (build-system emacs-build-system)
11213 (home-page "https://github.com/Wilfred/loop.el")
11214 (synopsis "Imperative loop structures for Emacs")
11215 (description "Loop structures familiar to users of other languages. This
11216 library adds a selection of popular loop structures as well as break and
11217 continue.")
11218 (license license:gpl3+)))
11219
11220 (define-public emacs-elisp-refs
11221 (package
11222 (name "emacs-elisp-refs")
11223 (version "1.3")
11224 (source
11225 (origin
11226 (method git-fetch)
11227 (uri (git-reference
11228 (url "https://github.com/Wilfred/elisp-refs.git")
11229 (commit version)))
11230 (file-name (git-file-name name version))
11231 (sha256
11232 (base32 "0w7k91xf69zc0zkjrw8h8sjdjf9xq9qs5zhvajhd718lzf93564b"))))
11233 (build-system emacs-build-system)
11234 (propagated-inputs
11235 `(("emacs-dash" ,emacs-dash)
11236 ("emacs-f" ,emacs-f)
11237 ("emacs-list-utils" ,emacs-list-utils)
11238 ("emacs-loop" ,emacs-loop)
11239 ("emacs-s" ,emacs-s)
11240 ("emacs-shut-up" ,emacs-shut-up)))
11241 (home-page "https://github.com/Wilfred/elisp-refs")
11242 (synopsis "Find callers of elisp functions or macros")
11243 (description "Find references to functions, macros or variables. Unlike a
11244 dumb text search, @code{elisp-refs} actually parses the code, so it's never
11245 confused by comments or @code{foo-bar} matching @code{foo}.")
11246 (license license:gpl3+)))
11247
11248 (define-public emacs-crux
11249 (let ((commit "4f5c8fefd5a6aa52e128c4a0401cc86410d6ac8f")
11250 (revision "1"))
11251 (package
11252 (name "emacs-crux")
11253 (version (string-append "0.3.0" "-" revision "."
11254 (string-take commit 7)))
11255 (source
11256 (origin
11257 (method git-fetch)
11258 (uri (git-reference
11259 (url "https://github.com/bbatsov/crux.git")
11260 (commit commit)))
11261 (file-name (git-file-name name version))
11262 (sha256
11263 (base32
11264 "1fdxvv25cs01sg6fmvmzxpzvs50i6v8n2jya60lbavxqqhi0sbxd"))))
11265 (build-system emacs-build-system)
11266 (home-page "https://github.com/bbatsov/crux")
11267 (synopsis "Collection of useful functions for Emacs")
11268 (description
11269 "@code{crux} provides a collection of useful functions for Emacs.")
11270 (license license:gpl3+))))
11271
11272 (define-public emacs-edit-server
11273 (package
11274 (name "emacs-edit-server")
11275 (version "1.13")
11276 (source
11277 (origin
11278 (method git-fetch)
11279 (uri (git-reference
11280 (url "https://github.com/stsquad/emacs_chrome.git")
11281 (commit (string-append "v" version))))
11282 (file-name (git-file-name name version))
11283 (sha256
11284 (base32 "12dp1xj09jrp0kxp9xb6cak9dn6zkyis1wfn4fnhzmxxnrd8c5rn"))))
11285 (build-system emacs-build-system)
11286 (arguments
11287 `(#:phases
11288 (modify-phases %standard-phases
11289 (add-after 'unpack 'chdir-elisp
11290 ;; Elisp directory is not in root of the source.
11291 (lambda _
11292 (chdir "servers"))))))
11293 (home-page "https://github.com/stsquad/emacs_chrome")
11294 (synopsis "Server that responds to edit requests from Chromium")
11295 (description
11296 "This package provides an edit server to respond to requests from Emacs.")
11297 (license license:gpl3+)))
11298
11299 (define-public emacs-m-buffer-el
11300 (package
11301 (name "emacs-m-buffer-el")
11302 (version "0.15")
11303 (source
11304 (origin
11305 (method url-fetch)
11306 (uri (string-append "https://github.com/phillord/m-buffer-el"
11307 "/archive/" "v" version ".tar.gz"))
11308 (file-name (string-append name "-" version ".tar.gz"))
11309 (sha256
11310 (base32
11311 "17vdcc8q37q9db98jyww1c0ivinmwfcw4l04zccfacalra63a214"))))
11312 (arguments
11313 `(#:phases
11314 (modify-phases %standard-phases
11315 (add-before 'install 'check
11316 (lambda* (#:key inputs #:allow-other-keys)
11317 (invoke "emacs" "--batch" "-L" "."
11318 "-l" "test/m-buffer-test.el"
11319 "-l" "test/m-buffer-at-test.el"
11320 "-f" "ert-run-tests-batch-and-exit"))))))
11321 (build-system emacs-build-system)
11322 (home-page "https://github.com/phillord/m-buffer-el")
11323 (synopsis "List oriented buffer operations for Emacs")
11324 (description "@code{m-buffer} provides a set of list-orientated functions
11325 for operating over the contents of Emacs buffers.")
11326 (license license:gpl3+)))
11327
11328 (define-public emacs-let-alist
11329 (package
11330 (name "emacs-let-alist")
11331 (version "1.0.5")
11332 (source
11333 (origin
11334 (method url-fetch)
11335 (uri (string-append
11336 "https://elpa.gnu.org/packages/let-alist-" version ".el"))
11337 (sha256
11338 (base32
11339 "0r7b9jni50la1m79kklml11syg8d2fmdlr83pv005sv1wh02jszw"))))
11340 (build-system emacs-build-system)
11341 (home-page "https://elpa.gnu.org/packages/let-alist.html")
11342 (synopsis "Easily let-bind values of an assoc-list by their names")
11343 (description "This package offers a single macro, @code{let-alist}. This
11344 macro takes a first argument (whose value must be an alist) and a body.")
11345 (license license:gpl3+)))
11346
11347 (define-public emacs-esup
11348 (let ((commit "a589005a9a888537deef94d6fe38a9b8790c97c7")
11349 (revision "1"))
11350 (package
11351 (name "emacs-esup")
11352 (version (string-append "0.6" "-" revision "."
11353 (string-take commit 7)))
11354 (source
11355 (origin
11356 (method git-fetch)
11357 (uri (git-reference
11358 (url "https://github.com/jschaf/esup.git")
11359 (commit commit)))
11360 (file-name (git-file-name name version))
11361 (sha256
11362 (base32
11363 "04lxmd0h7mfjjl0qghrycgff0vcv950j1wqv0dbkr61jxp64n5fv"))))
11364 ;; TODO: Add tests
11365 (build-system emacs-build-system)
11366 (home-page "https://github.com/jschaf/esup")
11367 (synopsis "Emacs start up profiler")
11368 (description "Benchmark Emacs Startup time without ever leaving
11369 your Emacs.")
11370 (license license:gpl2+))))
11371
11372 (define-public emacs-restart-emacs
11373 (let ((commit "9aa90d3df9e08bc420e1c9845ee3ff568e911bd9")
11374 (revision "1"))
11375 (package
11376 (name "emacs-restart-emacs")
11377 (version (git-version "0.1.1" revision commit))
11378 (source
11379 (origin
11380 (method git-fetch)
11381 (uri (git-reference
11382 (url "https://github.com/iqbalansari/restart-emacs.git")
11383 (commit commit)))
11384 (file-name (git-file-name name version))
11385 (sha256
11386 (base32 "02x1a85k7r95z8091zgjiaj9nf0zvx1jy4xvl3hr12qbnrx1wfav"))))
11387 (build-system emacs-build-system)
11388 (home-page "https://github.com/iqbalansari/restart-emacs")
11389 (synopsis "Restart Emacs from within Emacs")
11390 (description "This package provides a simple command to restart Emacs from
11391 within Emacs.")
11392 (license license:gpl3+))))
11393
11394 (define-public emacs-sourcemap
11395 (package
11396 (name "emacs-sourcemap")
11397 (version "0.03")
11398 (source
11399 (origin
11400 (method git-fetch)
11401 (uri (git-reference
11402 (url "https://github.com/syohex/emacs-sourcemap.git")
11403 (commit version)))
11404 (file-name (git-file-name name version))
11405 (sha256
11406 (base32 "115g2mfpbfywp8xnag4gsb50klfvplqfh928a5mabb5s8v4a3582"))))
11407 (build-system emacs-build-system)
11408 (home-page "https://github.com/syohex/emacs-sourcemap")
11409 (synopsis "Sourcemap parser")
11410 (description "Sourcemap parser")
11411 (license license:gpl3+)))
11412
11413 (define-public emacs-macrostep
11414 (let ((commit "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267"))
11415 (package
11416 (name "emacs-macrostep")
11417 (version (git-version "0.9" "1" commit))
11418 (source (origin
11419 (method git-fetch)
11420 (uri (git-reference
11421 (url "https://github.com/joddie/macrostep.git")
11422 (commit commit)))
11423 (file-name (git-file-name name version))
11424 (sha256
11425 (base32
11426 "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"))))
11427 (build-system emacs-build-system)
11428 (arguments
11429 '(#:phases
11430 (modify-phases %standard-phases
11431 (add-before 'check 'remove-test
11432 ;; Fails because of requirement ‘/bin/sh’.
11433 (lambda _
11434 (let ((file "macrostep-test.el"))
11435 (chmod file #o644)
11436 (emacs-batch-edit-file file
11437 `(progn (progn (goto-char (point-min))
11438 (re-search-forward
11439 "(ert-deftest macrostep-expand-c-macros")
11440 (beginning-of-line)
11441 (kill-sexp))
11442 (basic-save-buffer))))))
11443 (add-before 'install 'check
11444 (lambda _
11445 (invoke "emacs" "--batch" "-L" "."
11446 "-l" "macrostep-test.el"
11447 "-f" "ert-run-tests-batch-and-exit"))))))
11448 (home-page "https://github.com/joddie/macrostep")
11449 (synopsis "Interactive macro-expander for Emacs")
11450 (description "@code{macrostep} is an Emacs minor mode for interactively
11451 stepping through the expansion of macros in Emacs Lisp source code. It lets
11452 you see exactly what happens at each step of the expansion process by
11453 pretty-printing the expanded forms inline in the source buffer, which is
11454 temporarily read-only while macro expansions are visible. You can expand and
11455 collapse macro forms one step at a time, and evaluate or instrument the
11456 expansions for debugging with Edebug as normal (but see “Bugs and known
11457 limitations”, below). Single-stepping through the expansion is particularly
11458 useful for debugging macros that expand into another macro form. These can be
11459 difficult to debug with Emacs’ built-in macroexpand, which continues expansion
11460 until the top-level form is no longer a macro call.")
11461 (license license:gpl3+))))
11462
11463 (define-public emacs-parent-mode
11464 (package
11465 (name "emacs-parent-mode")
11466 (version "2.3")
11467 (source
11468 (origin
11469 (method git-fetch)
11470 (uri (git-reference
11471 (url "https://github.com/Fanael/parent-mode.git")
11472 (commit version)))
11473 (file-name (git-file-name name version))
11474 (sha256
11475 (base32 "0i5bc7lyyrx6swqlrp9l5x72yzwi53qn6ldrfs99gh08b3yvsnni"))))
11476 (build-system emacs-build-system)
11477 (home-page "https://github.com/Fanael/parent-mode")
11478 (synopsis "Get major mode's parent modes")
11479 (description "Get major mode's parent modes")
11480 (license license:gpl3+)))
11481
11482 (define-public emacs-lacarte
11483 (package
11484 (name "emacs-lacarte")
11485 (version "0.1")
11486 (source (origin
11487 (method url-fetch)
11488 (uri "https://www.emacswiki.org/emacs/download/lacarte.el")
11489 (sha256
11490 (base32
11491 "1sbmk37ljq5j7dsw5c37sbxvlfgdqswh7bi4dknyjzfxlq50f4am"))))
11492 (build-system emacs-build-system)
11493 (home-page "https://www.emacswiki.org/emacs/lacarte.el")
11494 (synopsis "Execute menu items as commands, with completion")
11495 (description "Execute menu items as commands, with completion.")
11496 (license license:gpl3)))
11497
11498 (define-public emacs-isearch-prop
11499 (let ((commit "5e9dc44cf582d998aaa73ccd4d07cbda01248156")
11500 (revision "1"))
11501 (package
11502 (name "emacs-isearch-prop")
11503 (version (git-version "0" revision commit))
11504 (source
11505 (origin
11506 (method git-fetch)
11507 (uri (git-reference
11508 (url "https://github.com/emacsmirror/isearch-prop.git")
11509 (commit commit)))
11510 (file-name (git-file-name name version))
11511 (sha256
11512 (base32
11513 "1xawppy705ybsgx566zvj8zk2aajq0sqvhvfs7nijqq32lx0a2zl"))))
11514 (build-system emacs-build-system)
11515 (home-page "https://www.emacswiki.org/emacs/isearch-prop.el")
11516 (synopsis "Extensions to @code{isearch.el}")
11517 (description "The Emacs library @code{isearch-prop.el} lets you search within
11518 contexts. You can limit incremental search to a set of zones of
11519 buffer text, search contexts that in effect constitute a multi-region.
11520 These zones can be defined in various ways, including some ways
11521 provided specially by this library.")
11522 (license license:gpl3+))))
11523
11524 (define-public emacs-company-lua
11525 (let ((commit "0be8122f3adf57ad27953bf4b03545d6298d3da4"))
11526 (package
11527 (name "emacs-company-lua")
11528 (version (git-version "0.1" "1" commit))
11529 (source
11530 (origin
11531 (method git-fetch)
11532 (uri (git-reference
11533 (url "https://github.com/ptrv/company-lua.git")
11534 (commit commit)))
11535 (file-name (git-file-name name version))
11536 (sha256
11537 (base32
11538 "1d9i165apgmwns7b2fd5wcpjpkah3dyj20v5sb8ynvz6qhhr5r9c"))))
11539 (build-system emacs-build-system)
11540 (propagated-inputs
11541 `(("emacs-company" ,emacs-company)
11542 ("emacs-s" ,emacs-s)
11543 ("emacs-f" ,emacs-f)
11544 ("emacs-lua-mode" ,emacs-lua-mode)))
11545 (home-page "https://github.com/ptrv/company-lua")
11546 (synopsis "Company backend for Lua")
11547 (description
11548 "This package provides Company backend for Lua programming language.")
11549 (license license:gpl3+))))
11550
11551 (define-public emacs-beginend
11552 (package
11553 (name "emacs-beginend")
11554 (version "2.0.0")
11555 (source
11556 (origin
11557 (method git-fetch)
11558 (uri (git-reference
11559 (url "https://github.com/DamienCassou/beginend.git")
11560 (commit (string-append "v" version))))
11561 (file-name (git-file-name name version))
11562 (sha256
11563 (base32 "1jbhg73g1rrkbwql5vi2b0ys9avfazmwzwgd90gkzwavw0ch9cvl"))))
11564 ;; TODO: Run tests.
11565 (build-system emacs-build-system)
11566 (inputs
11567 `(("emacs-undercover" ,emacs-undercover))) ; For tests.
11568 (home-page "https://github.com/DamienCassou/beginend")
11569 (synopsis "Redefine @code{M-<} and @code{M->} for Emacs modes")
11570 (description "@code{beginend} redefines @code{M-<} and @code{M->}
11571 keybindings for Emacs modes so that point moves to meaningful
11572 locations. Redefined keys are still accessible by pressing the same
11573 key again.")
11574 (license license:gpl3+)))
11575
11576 (define-public emacs-mbsync
11577 (let ((commit "42077e83ae2db778ce0f8e22f8357b40355526b3")
11578 (revision "1"))
11579 (package
11580 (name "emacs-mbsync")
11581 (version (string-append "0.0.1" "-" revision "."
11582 (string-take commit 7)))
11583 (source
11584 (origin
11585 (method git-fetch)
11586 (uri (git-reference
11587 (url "https://github.com/dimitri/mbsync-el.git")
11588 (commit commit)))
11589 (file-name (git-file-name name version))
11590 (sha256
11591 (base32
11592 "0yj93y2mpxlir8x73znlg1slxlv4blm1vjv5h2w3j8lxg8bxvmn6"))))
11593 (build-system emacs-build-system)
11594 (home-page "https://github.com/dimitri/mbsync-el")
11595 (synopsis "Interface to mbsync for Emacs")
11596 (description "This package allows to call the @code{mbsync} from
11597 within Emacs.")
11598 (license license:gpl3+))))
11599
11600 (define-public emacs-ibuffer-projectile
11601 (let ((commit "c18ac540ee46cb759fc5df18747f6e8d23563011")
11602 (revision "1"))
11603 (package
11604 (name "emacs-ibuffer-projectile")
11605 (version (string-append "0.2" "-" revision "."
11606 (string-take commit 7)))
11607 (source
11608 (origin
11609 (method git-fetch)
11610 (uri (git-reference
11611 (url "https://github.com/purcell/ibuffer-projectile.git")
11612 (commit commit)))
11613 (file-name (git-file-name name version))
11614 (sha256
11615 (base32
11616 "1nd26cwwdpnwj0g4w393rd59klpyr6wqrnyr6scmwb5d06bsm44n"))))
11617 (build-system emacs-build-system)
11618 (propagated-inputs
11619 `(("emacs-projectile" ,emacs-projectile)))
11620 (home-page "https://github.com/purcell/ibuffer-projectile")
11621 (synopsis "Group ibuffer's list by projectile root")
11622 (description "Adds functionality to Emacs @code{ibuffer} for
11623 grouping buffers by their projectile root directory.")
11624 (license license:gpl3+))))
11625
11626 (define-public emacs-helm-mode-manager
11627 (package
11628 (name "emacs-helm-mode-manager")
11629 (version "1.0.0")
11630 (source
11631 (origin
11632 (method url-fetch)
11633 (uri (string-append "https://github.com/istib/helm-mode-manager/"
11634 "archive/" version ".tar.gz"))
11635 (file-name (string-append name "-" version ".tar.gz"))
11636 (sha256
11637 (base32
11638 "0wllj321z16hgrx0ddwzk5wz4mnnx5am7w5nclqclfc5dfdn92wm"))))
11639 (build-system emacs-build-system)
11640 (propagated-inputs
11641 `(("emacs-helm" ,emacs-helm)))
11642 (home-page "https://github.com/istib/helm-mode-manager/")
11643 (synopsis "Switch and toggle Emacs major and minor modes using Helm")
11644 (description "This package provides a Helm interface for toggling Emacs
11645 major or minor mode.
11646
11647 @itemize
11648 @item @code{helm-switch-major-mode} list of all major modes
11649 @item @code{helm-enable-minor-mode} list of all inactive minor modes
11650 @item @code{helm-disable-minor-mode} list of all ACTIVE minor modes
11651 @end itemize\n
11652
11653 Hitting @code{RET} enables the mode, @code{C-z} shows the mode
11654 documentation.")
11655 (license license:gpl3+)))
11656
11657 (define-public emacs-hy-mode
11658 (package
11659 (name "emacs-hy-mode")
11660 (version "1.0.3")
11661 (source
11662 (origin
11663 (method git-fetch)
11664 (uri (git-reference
11665 (url "https://github.com/hylang/hy-mode.git")
11666 (commit (string-append "v" version))))
11667 (file-name (git-file-name name version))
11668 (sha256
11669 (base32 "1jxximiznz7fw9ys5k6plw85zrbzvxidql7py1fdi425fdp4058z"))))
11670 (build-system emacs-build-system)
11671 (propagated-inputs
11672 `(("emacs-dash" ,emacs-dash)
11673 ("emacs-s" ,emacs-s)))
11674 (home-page "https://github.com/hylang/hy-mode")
11675 (synopsis "Major mode for Hylang")
11676 (description "This package provides a major mode for Hylang.")
11677 (license license:gpl3+)))
11678
11679 (define-public emacs-web-beautify
11680 (package
11681 (name "emacs-web-beautify")
11682 (version "0.3.2")
11683 (source
11684 (origin
11685 (method git-fetch)
11686 (uri (git-reference
11687 (url "https://github.com/yasuyk/web-beautify.git")
11688 (commit version)))
11689 (file-name (git-file-name name version))
11690 (sha256
11691 (base32 "0vms7zz3ym53wf1zdrkbf2ky2xjr1v134ngsd0jr8azyi8siw84d"))))
11692 (build-system emacs-build-system)
11693 (home-page "https://github.com/yasuyk/web-beautify")
11694 (synopsis "Format HTML, CSS and JavaScript, JSON")
11695 (description "This package provides an Emacs functions to format HTML,
11696 CSS, JavaScript, JSON.")
11697 (license license:gpl3+)))
11698
11699 (define-public emacs-helm-shell-history
11700 (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1"))
11701 (package
11702 (name "emacs-helm-shell-history")
11703 (version (git-version "0.1" "1" commit))
11704 (source
11705 (origin
11706 (method git-fetch)
11707 (uri (git-reference
11708 (url "https://github.com/yuutayamada/helm-shell-history.git")
11709 (commit commit)))
11710 (file-name (git-file-name name version))
11711 (sha256
11712 (base32
11713 "18fkjcz69g4dyaxhf9j8svr5x6dhsdnglddwisis8hdn504scpfj"))))
11714 (build-system emacs-build-system)
11715 (arguments
11716 '(#:phases
11717 (modify-phases %standard-phases
11718 (add-before 'check 'patch-helm-shell-history-file
11719 (lambda _
11720 (let ((file "helm-shell-history.el"))
11721 (chmod file #o644)
11722 (emacs-substitute-sexps file
11723 ("(defvar helm-shell-history-file"
11724 `(expand-file-name "~/.bash_history"))))
11725 #t)))))
11726 (propagated-inputs
11727 `(("emacs-helm" ,emacs-helm)))
11728 (home-page "https://github.com/yuutayamada/helm-shell-history")
11729 (synopsis "Find shell history with Emacs Helm")
11730 (description "This package provides an Emacs Helm interface to search
11731 throw a shell history.")
11732 (license license:gpl3+))))
11733
11734 (define-public emacs-discover-my-major
11735 (package
11736 (name "emacs-discover-my-major")
11737 (version "1.0")
11738 (source
11739 (origin
11740 (method url-fetch)
11741 (uri
11742 (string-append "https://github.com/steckerhalter/discover-my-major"
11743 "/archive/" version ".tar.gz"))
11744 (file-name (string-append name "-" version ".tar.gz"))
11745 (sha256
11746 (base32
11747 "0nah41f92rrl2l405kpqr6iaks11jyclgl4z7ilfymbr4ifmsiyl"))))
11748 (build-system emacs-build-system)
11749 (propagated-inputs
11750 `(("emacs-makey" ,emacs-makey)))
11751 (home-page "https://github.com/steckerhalter/discover-my-major")
11752 (synopsis "Discover key bindings for the current Emacs major mode")
11753 (description "This package provides allows to discover key bindings and
11754 their meaning for the current Emacs major-mode.")
11755 (license license:gpl3+)))
11756
11757 (define-public emacs-org-ref
11758 (let ((commit "8c9b5d7efb9f0c1ad5186b8203bdd017f4249129")
11759 (revision "1"))
11760 (package
11761 (name "emacs-org-ref")
11762 (version (string-append "1.1.1" "-" revision "."
11763 (string-take commit 7)))
11764 (source
11765 (origin
11766 (method git-fetch)
11767 (uri (git-reference
11768 (url "https://github.com/jkitchin/org-ref.git")
11769 (commit commit)))
11770 (file-name (git-file-name name version))
11771 (sha256
11772 (base32
11773 "1rxz0bjdsayk0slv23i07d9xhj2m7s4hsc81wc2d1cs52dkr5zmz"))))
11774 (build-system emacs-build-system)
11775 (propagated-inputs
11776 `(("emacs-dash" ,emacs-dash)
11777 ("emacs-helm" ,emacs-helm)
11778 ("emacs-helm-bibtex" ,emacs-helm-bibtex)
11779 ("emacs-ivy" ,emacs-ivy)
11780 ("emacs-hydra" ,emacs-hydra)
11781 ("emacs-key-chord" ,emacs-key-chord)
11782 ("emacs-s" ,emacs-s)
11783 ("emacs-f" ,emacs-f)
11784 ("emacs-pdf-tools" ,emacs-pdf-tools)))
11785 (home-page "https://github.com/jkitchin/org-ref")
11786 (synopsis "Citations, cross-references and bibliographies in org-mode")
11787 (description
11788 "Lisp code to setup bibliography, cite, ref and label org-mode links.
11789 Also sets up reftex and helm for org-mode citations. The links are
11790 clickable and do things that are useful.
11791
11792 The default setup uses helm-bibtex.
11793
11794 You should really read org-ref.org in this package for details.")
11795 (license license:gpl3+))))
11796
11797 ;; This project is unmaintained. Please use emacs-org-re-reveal instead.
11798 (define-public emacs-org-reveal
11799 (let ((commit "9210413202a360a559a51e8275faa42be68cf44b"))
11800 (package
11801 (name "emacs-org-reveal")
11802 (version (git-version "0.1" "3" commit))
11803 (source (origin
11804 (method git-fetch)
11805 (uri (git-reference
11806 (url "https://github.com/yjwen/org-reveal.git")
11807 (commit commit)))
11808 (file-name (git-file-name name version))
11809 (sha256
11810 (base32
11811 "1wlfk823d3vrn480m38j7ncaqm193lvh6y22b92fx4b3yhdbndza"))))
11812 (build-system emacs-build-system)
11813 (home-page "https://github.com/yjwen/org-reveal")
11814 (synopsis "Org and Reveal.js powered HTML presentation tool")
11815 (description "Org-Reveal is a command@{org-mode} extension that allows
11816 to create beautiful presentations (slides) with 3D effects from simple but
11817 powerful Org contents.")
11818 (license license:gpl3+))))
11819
11820 (define-public emacs-org-re-reveal
11821 (package
11822 (name "emacs-org-re-reveal")
11823 (version "1.0.3")
11824 (source (origin
11825 (method git-fetch)
11826 (uri (git-reference
11827 (url "https://gitlab.com/oer/org-re-reveal.git")
11828 (commit "50cc6574c77f12d423f6cd096d8f76feb3673abc")))
11829 (file-name (git-file-name name version))
11830 (sha256
11831 (base32
11832 "1v3z30gpimg4spf6zzqwp9b597zxk89h0vpq6xp58js4rjg4ixk8"))))
11833 (build-system emacs-build-system)
11834 (propagated-inputs
11835 `(("emacs-htmlize" ,emacs-htmlize)
11836 ("emacs-org" ,emacs-org)))
11837 (home-page "https://gitlab.com/oer/org-re-reveal")
11838 (synopsis "Build HTML presentations with reveal.js from Org source files")
11839 (description "This project started as fork of org-reveal. It provides an
11840 export back-end for HTML presentations with reveal.js from Org mode source
11841 files.")
11842 (license license:gpl3+)))
11843
11844 (define-public emacs-add-hooks
11845 (package
11846 (name "emacs-add-hooks")
11847 (version "3.1.1")
11848 (source
11849 (origin
11850 (method git-fetch)
11851 (uri (git-reference
11852 (url "https://github.com/nickmccurdy/add-hooks.git")
11853 (commit version)))
11854 (file-name (git-file-name name version))
11855 (sha256
11856 (base32 "1jv9fpcsm572zg0j1mbpbfkqgdlqapy89xhhj19pswkhjns1y2wl"))))
11857 (build-system emacs-build-system)
11858 (home-page "https://github.com/nickmccurdy/add-hooks/")
11859 (synopsis "Emacs function for setting multiple hooks")
11860 (description "This package provides a @code{add-hooks} function tidies up
11861 duplicate hook and function names further into a single declarative call.")
11862 (license license:gpl3+)))
11863
11864 (define-public emacs-fancy-narrow
11865 (package
11866 (name "emacs-fancy-narrow")
11867 (version "0.9.5")
11868 (source
11869 (origin
11870 (method git-fetch)
11871 (uri (git-reference
11872 (url "https://github.com/Malabarba/fancy-narrow.git")
11873 (commit version)))
11874 (file-name (git-file-name name version))
11875 (sha256
11876 (base32 "0vcr1gnqawvc1yclqs23jvxm6bqix8kpflf1c7znb0wzxmz9kx7y"))))
11877 (build-system emacs-build-system)
11878 (home-page "https://github.com/Malabarba/fancy-narrow/releases")
11879 (synopsis "Imitate @code{narrow-to-region} with more eye candy")
11880 (description
11881 "Unlike @code{narrow-to-region}, which completely hides text outside
11882 the narrowed region, this package simply de-emphasizes the text, makes it
11883 read-only, and makes it unreachable. This leads to a much more natural
11884 feeling where the region stays static (instead of being brutally moved to a
11885 blank slate) and is clearly highlighted with respect to the rest of the
11886 buffer.")
11887 (license license:gpl2+)))
11888
11889 (define-public emacs-know-your-http-well
11890 (package
11891 (name "emacs-know-your-http-well")
11892 (version "0.5.0")
11893 (source
11894 (origin
11895 (method git-fetch)
11896 (uri (git-reference
11897 (url "https://github.com/for-GET/know-your-http-well.git")
11898 (commit (string-append "v" version))))
11899 (file-name (git-file-name name version))
11900 (sha256
11901 (base32 "1lppggnii2r9fvlhh33gbdrwb50za8lnalavlq9s86ngndn4n94k"))))
11902 (arguments
11903 `(#:phases
11904 (modify-phases %standard-phases
11905 (add-after 'unpack 'install-json-files
11906 (lambda* (#:key outputs #:allow-other-keys)
11907 (for-each (lambda (directory)
11908 (copy-recursively directory
11909 (string-append
11910 (assoc-ref outputs "out")
11911 directory)))
11912 '("js" "json"))))
11913 (add-after 'unpack 'chdir-elisp
11914 ;; Elisp directory is not in root of the source.
11915 (lambda _
11916 (chdir "emacs"))))))
11917 (build-system emacs-build-system)
11918 (home-page "https://github.com/for-GET/know-your-http-well")
11919 (synopsis "Meaning of HTTP headers codes")
11920 (description "Meaning of HTTP headers codes.")
11921 (license license:gpl3+)))
11922
11923 (define-public emacs-navi-mode
11924 (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674"))
11925 (package
11926 (name "emacs-navi-mode")
11927 (version (git-version "2.0" "1" commit))
11928 (source
11929 (origin
11930 (method git-fetch)
11931 (uri (git-reference
11932 (url "https://github.com/alphapapa/navi.git")
11933 (commit commit)))
11934 (file-name (git-file-name name version))
11935 (sha256
11936 (base32
11937 "0jj5spk14hgb7zb1cd2n8whcw4k1kd5zb6llwj96v178yaws7l8k"))))
11938 (build-system emacs-build-system)
11939 (propagated-inputs
11940 `(("emacs-outshine" ,emacs-outshine)
11941 ("emacs-outorg" ,emacs-outorg)))
11942 (home-page "https://github.com/alphapapa/navi")
11943 (synopsis "Emacs major-mode for easy buffer-navigation")
11944 (description
11945 "This package provides an Emacs major-mode for easy buffer-navigation")
11946 (license license:gpl3+))))
11947
11948 (define-public emacs-download-region
11949 (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa")
11950 (revision "1"))
11951 (package
11952 (name "emacs-download-region")
11953 (version (string-append "0.0.1" "-" revision "."
11954 (string-take commit 7)))
11955 (source
11956 (origin
11957 (method git-fetch)
11958 (uri (git-reference
11959 (url "https://github.com/zk-phi/download-region.git")
11960 (commit commit)))
11961 (file-name (git-file-name name version))
11962 (sha256
11963 (base32
11964 "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc"))))
11965 (build-system emacs-build-system)
11966 (home-page "https://github.com/zk-phi/download-region")
11967 (synopsis "In buffer download manager for Emacs")
11968 (description "@code{download-region} provides in buffer
11969 downloading manager for Emacs.")
11970 (license license:gpl3+))))
11971
11972 (define-public emacs-helpful
11973 (package
11974 (name "emacs-helpful")
11975 (version "0.17")
11976 (source
11977 (origin
11978 (method git-fetch)
11979 (uri (git-reference
11980 (url "https://github.com/Wilfred/helpful.git")
11981 (commit version)))
11982 (file-name (git-file-name name version))
11983 (sha256
11984 (base32 "0v2y0x9pwi08y2mgjjiw5brfb5haa7pbmy4540glw904ffxxcblj"))))
11985 (build-system emacs-build-system)
11986 (propagated-inputs
11987 `(("emacs-elisp-refs" ,emacs-elisp-refs)
11988 ("emacs-dash" ,emacs-dash)
11989 ("emacs-s" ,emacs-s)
11990 ("emacs-f" ,emacs-f)
11991 ("emacs-shut-up" ,emacs-shut-up)))
11992 (home-page "https://github.com/Wilfred/helpful")
11993 (synopsis "More contextual information in Emacs help")
11994 (description "@code{helpful} is an alternative to the built-in Emacs help
11995 that provides much more contextual information.
11996
11997 @itemize
11998 @item Show the source code for interactively defined functions (unlike the
11999 built-in Help).
12000 @item Fall back to the raw sexp if no source is available.
12001 @item Show where a function is being called.
12002 @item Docstrings will Highlight the summary (the first sentence), include
12003 cross-references, hide superfluous puncuation.
12004 @item Show you the properties that have been applied to the current
12005 symbol. This provides visibility of features like edebug or byte-code
12006 optimisation.
12007 @item Provide a separate @code{helpful-command} function to view interactive
12008 functions.
12009 @item Display any keybindings that apply to interactive functions.
12010 @item Trace, disassemble functions from inside Helpful. This is discoverable
12011 and doesn't require memorisation of commands.
12012 @end itemize\n")
12013 (license license:gpl3+)))
12014
12015 (define-public emacs-logview
12016 (package
12017 (name "emacs-logview")
12018 (version "0.9")
12019 (source
12020 (origin
12021 (method git-fetch)
12022 (uri (git-reference
12023 (url "https://github.com/doublep/logview.git")
12024 (commit version)))
12025 (file-name (git-file-name name version))
12026 (sha256
12027 (base32 "1qhzs75pxnaksbhczmpdcy2zmrqavlzkzss7ik5nv2wf9vs0sn02"))))
12028 (propagated-inputs
12029 `(("emacs-datetime" ,emacs-datetime)))
12030 (build-system emacs-build-system)
12031 (home-page "https://github.com/doublep/logview/")
12032 (synopsis "Emacs mode for viewing log files")
12033 (description "@code{logview} provides an Emacs mode to view log files.")
12034 (license license:gpl3+)))
12035
12036 (define-public emacs-suggest
12037 (package
12038 (name "emacs-suggest")
12039 (version "0.7")
12040 (home-page "https://github.com/Wilfred/suggest.el")
12041 (source
12042 (origin
12043 (method git-fetch)
12044 (uri (git-reference
12045 (url home-page)
12046 (commit version)))
12047 (file-name (git-file-name name version))
12048 (sha256
12049 (base32
12050 "01v8plska5d3g19sb1m4ph1i3ayprfzk8mi6mpabjy6zad397xjl"))))
12051 (build-system emacs-build-system)
12052 (propagated-inputs
12053 `(("emacs-loop" ,emacs-loop)
12054 ("emacs-dash" ,emacs-dash)
12055 ("emacs-s" ,emacs-s)
12056 ("emacs-f" ,emacs-f)
12057 ("emacs-spinner" ,emacs-spinner)
12058 ("emacs-shut-up" ,emacs-shut-up)))
12059 (synopsis "Suggest Elisp functions that give the output requested")
12060 (description "Suggest.el will find functions that give the output
12061 requested. It's a great way of exploring list, string and arithmetic
12062 functions.")
12063 (license license:gpl3+)))
12064
12065 (define-public emacs-benchmark-init
12066 (package
12067 (name "emacs-benchmark-init")
12068 (version "1.0")
12069 (source
12070 (origin
12071 (method git-fetch)
12072 (uri (git-reference
12073 (url "https://github.com/dholm/benchmark-init-el.git")
12074 (commit version)))
12075 (file-name (git-file-name name version))
12076 (sha256
12077 (base32 "1kyn1izm5sbqbp9whnhk9dn3yc7zy8bz5san5w3ivi3rpx15fh94"))))
12078 (build-system emacs-build-system)
12079 (home-page "https://github.com/dholm/benchmark-init-el")
12080 (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
12081 (description "@code{benchmark-init} provides a way to keep track of where
12082 time is being spent during Emacs startup in order to optimize startup time.")
12083 (license license:gpl3+)))
12084
12085 (define-public emacs-emms-player-simple-mpv
12086 ;; A new mpv backend is included in Emms from 5.0.
12087 (deprecated-package "emacs-emms-player-simple-mpv" emacs-emms))
12088
12089 (define-public emacs-magit-gerrit
12090 (let ((version "0.3")
12091 (revision "1")
12092 (commit "ece6f369694aca17f3ac166ed2801b432acfe20d"))
12093 (package
12094 (name "emacs-magit-gerrit")
12095 (version (git-version version revision commit))
12096 (source (origin
12097 (method git-fetch)
12098 (uri (git-reference
12099 (url "https://github.com/terranpro/magit-gerrit.git")
12100 (commit commit)))
12101 (file-name (git-file-name name version))
12102 (sha256
12103 (base32
12104 "0mms0gxv9a3ns8lk5k2wjibm3088y1cmpr3axjdh6ppv7r5wdvii"))))
12105 (build-system emacs-build-system)
12106 (propagated-inputs
12107 `(("emacs-magit" ,emacs-magit)))
12108 (home-page "https://github.com/terranpro/magit-gerrit")
12109 (synopsis "Magit extension for Gerrit")
12110 (description "This Magit extension provides integration with Gerrit,
12111 which makes it possible to conduct Gerrit code reviews directly from within
12112 Emacs.")
12113 (license license:gpl3+))))
12114
12115 (define-public emacs-magit-org-todos-el
12116 (let ((commit "df206287737b9671f2e36ae7b1474ebbe9940d2a"))
12117 (package
12118 (name "emacs-magit-org-todos-el")
12119 (version (git-version "0.1.1" "1" commit))
12120 (source
12121 (origin
12122 (method git-fetch)
12123 (uri (git-reference
12124 (url "https://github.com/danielma/magit-org-todos.el.git")
12125 (commit commit)))
12126 (file-name (git-file-name name version))
12127 (sha256
12128 (base32
12129 "0kdp7k7jnnrkhsg0xh1c3h7iz0vgi120gf5xwl1hxy61avivnxrn"))))
12130 (propagated-inputs
12131 `(("magit" ,emacs-magit)))
12132 (build-system emacs-build-system)
12133 (home-page "https://github.com/danielma/magit-org-todos.el")
12134 (synopsis "Get todo.org into Emacs Magit status")
12135 (description "This package allows you to get @file{todo.org} into your
12136 magit status.
12137
12138 If you have a @file{todo.org} file with @code{TODO} items in the root of your
12139 repository, @code{magit-org-todos} will create a section in your Magit status
12140 buffer with each of your todos.")
12141 (license license:gpl3+))))
12142
12143 (define-public emacs-f3
12144 (package
12145 (name "emacs-f3")
12146 (version "0.1")
12147 (source
12148 (origin
12149 (method git-fetch)
12150 (uri (git-reference
12151 (url "https://github.com/cosmicexplorer/f3.git")
12152 (commit version)))
12153 (file-name (git-file-name name version))
12154 (sha256
12155 (base32 "1qg48zbjdjqimw4516ymrsilz41zkib9321q0caf9474s9xyp2bi"))))
12156 (build-system emacs-build-system)
12157 (propagated-inputs
12158 `(("emacs-helm" ,emacs-helm)))
12159 (home-page "https://github.com/cosmicexplorer/f3")
12160 (synopsis "Fantastic File Finder for Emacs")
12161 (description
12162 "The Fantastic File Finder for Emacs. Find files fast, using helm.")
12163 (license license:gpl3+)))
12164
12165 (define-public emacs-lice-el
12166 (let ((commit "4339929927c62bd636f89bb39ea999d18d269250"))
12167 (package
12168 (name "emacs-lice-el")
12169 (version (git-version "0.2" "1" commit))
12170 (source (origin
12171 (method git-fetch)
12172 (uri (git-reference
12173 (url "https://github.com/buzztaiki/lice-el.git")
12174 (commit commit)))
12175 (file-name (git-file-name name version))
12176 (sha256
12177 (base32
12178 "0879z761b7gajkhq176ps745xpdrivch349crransv8fnsc759yb"))))
12179 (build-system emacs-build-system)
12180 (home-page "https://github.com/buzztaiki/lice-el")
12181 (synopsis "License and header template for Emacs")
12182 (description "@code{lice.el} provides following features:
12183
12184 @itemize
12185 @item License template management.
12186 @item File header insertion.
12187 @end itemize\n")
12188 (license license:gpl3+))))
12189
12190 (define-public emacs-academic-phrases
12191 (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656"))
12192 (package
12193 (name "emacs-academic-phrases")
12194 (version (git-version "0.1" "1" commit))
12195 (source
12196 (origin
12197 (method git-fetch)
12198 (uri (git-reference
12199 (url "https://github.com/nashamri/academic-phrases.git")
12200 (commit commit)))
12201 (file-name (git-file-name name version))
12202 (sha256
12203 (base32
12204 "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r"))))
12205 (build-system emacs-build-system)
12206 (propagated-inputs
12207 `(("emacs-dash" ,emacs-dash)
12208 ("emacs-s" ,emacs-s)
12209 ("emacs-ht" ,emacs-ht)))
12210 (home-page "https://github.com/nashamri/academic-phrases")
12211 (synopsis "Bypass that mental block when writing your papers")
12212 (description
12213 "When writing your academic paper, you might get stuck trying to find
12214 the right phrase that captures your intention. This package tries to
12215 alleviate that problem by presenting you with a list of phrases organized by
12216 the topic or by the paper section that you are writing. This package has
12217 around 600 phrases so far.
12218
12219 Using this package is easy, just call @code{academic-phrases} to get a list of
12220 phrases organized by topic, or call @code{academic-phrases-by-section} to
12221 browse the phrases by the paper section and fill-in the blanks if required.")
12222 (license license:gpl3+))))
12223
12224 (define-public emacs-auto-yasnippet
12225 (let ((commit "d1ccfea87312c6dd8cf8501ab5b71b1d3d44d95b"))
12226 (package
12227 (name "emacs-auto-yasnippet")
12228 (version (git-version "0.3.0" "1" commit))
12229 (source (origin
12230 (method git-fetch)
12231 (uri (git-reference
12232 (url "https://github.com/abo-abo/auto-yasnippet.git")
12233 (commit commit)))
12234 (file-name (git-file-name name version))
12235 (sha256
12236 (base32
12237 "1i8k2qiyzd5rq0zplk4xb5nfa5mp0ibxbzwqj6c7877waq7244xk"))))
12238 (build-system emacs-build-system)
12239 (arguments
12240 '(#:phases
12241 (modify-phases %standard-phases
12242 (add-before 'install 'check
12243 (lambda _
12244 (invoke "emacs" "--batch"
12245 "-l" "auto-yasnippet.el"
12246 "-l" "auto-yasnippet-test.el"
12247 "-f" "ert-run-tests-batch-and-exit"))))))
12248 (propagated-inputs
12249 `(("emacs-yasnippet" ,emacs-yasnippet)))
12250 (home-page "https://github.com/abo-abo/auto-yasnippet/")
12251 (synopsis "Quickly create disposable yasnippets")
12252 (description "This package provides a hybrid of keyboard macros and
12253 yasnippet. You create the snippet on the go, usually to be used just in the
12254 one place. It's fast, because you're not leaving the current buffer, and all
12255 you do is enter the code you'd enter anyway, just placing ~ where you'd like
12256 yasnippet fields and mirrors to be.")
12257 (license license:gpl3+))))
12258
12259 (define-public emacs-highlight-numbers
12260 (package
12261 (name "emacs-highlight-numbers")
12262 (version "0.2.3")
12263 (source
12264 (origin
12265 (method git-fetch)
12266 (uri (git-reference
12267 (url "https://github.com/Fanael/highlight-numbers.git")
12268 (commit version)))
12269 (file-name (git-file-name name version))
12270 (sha256
12271 (base32 "1r07mpyr7rhd7bkg778hx6vbhb4n9ixgzkpszhgks7ri6ia38pj8"))))
12272 (build-system emacs-build-system)
12273 (propagated-inputs
12274 `(("emacs-parent-mode" ,emacs-parent-mode)))
12275 (home-page "https://github.com/Fanael/highlight-numbers")
12276 (synopsis "Highlight numbers in source code")
12277 (description "@code{highlight-numbers-mode} provides a minor mode for
12278 syntax highlighting of numeric literals in source code.
12279
12280 It s customizable: it's easy to add or redefine what exactly consitutes a
12281 \"number\" in given major mode. See @code{highlight-numbers-modelist}.")
12282 (license license:gpl3+)))
12283
12284 (define-public emacs-darkroom
12285 (package
12286 (name "emacs-darkroom")
12287 (version "0.1")
12288 (source (origin
12289 (method url-fetch)
12290 (uri (string-append "https://elpa.gnu.org/packages/darkroom-"
12291 version ".el"))
12292 (sha256
12293 (base32
12294 "0fif8fm1h7x7g16949shfnaik5f5488clsvkf8bi5izpqp3vi6ak"))))
12295 (build-system emacs-build-system)
12296 (home-page "https://elpa.gnu.org/packages/darkroom.html")
12297 (synopsis "Remove visual distractions and focus on writing")
12298 (description "@code{darkroom-mode} makes visual distractions disappear.
12299 The mode-line is temporarily elided, text is enlarged and margins are adjusted
12300 so that it's centered on the window.
12301
12302 @code{darkroom-tentative-mode} is similar, but it doesn't immediately turn-on
12303 @code{darkroom-mode}, unless the current buffer lives in the sole window of
12304 the Emacs frame (i.e. all other windows are deleted). Whenever the frame is
12305 split to display more windows and more buffers, the buffer exits
12306 @code{darkroom-mode}. Whenever they are deleted, the buffer re-enters
12307 @code{darkroom-mode}.")
12308 (license license:gpl3+)))
12309
12310 (define-public emacs-rsw-elisp
12311 (package
12312 (name "emacs-rsw-elisp")
12313 (version "1.0.5")
12314 (source (origin
12315 (method url-fetch)
12316 (uri (string-append "https://github.com/rswgnu/rsw-elisp"
12317 "/archive/" version ".tar.gz"))
12318 (file-name (string-append name "-" version ".tar.gz"))
12319 (sha256
12320 (base32
12321 "1jnn7xfwl3wxc87v44ccsf1wwp80par3xgcvfb1icd6zchjmlcps"))))
12322 (build-system emacs-build-system)
12323 (home-page "https://github.com/rswgnu/rsw-elisp")
12324 (synopsis "Improved expressions that interactively evaluate Emacs Lisp")
12325 (description "This package improves and replaces the GNU Emacs commands
12326 that interactively evaluate Emacs Lisp expressions. The new commands replace
12327 standard key bindings and are all prefixed with @code{rsw-elisp-}. They work
12328 the same way as the old commands when called non-interactively; only the
12329 interactive behavior should be different.")
12330 (license license:gpl3+)))
12331
12332 (define-public emacs-default-text-scale
12333 (let ((commit "968e985e219235f3e744d6d967e592acbaf6e0a8")
12334 (revision "1"))
12335 (package
12336 (name "emacs-default-text-scale")
12337 (version (string-append "0.1" "-" revision "."
12338 (string-take commit 7)))
12339 (source (origin
12340 (method git-fetch)
12341 (uri (git-reference
12342 (url "https://github.com/purcell/default-text-scale")
12343 (commit commit)))
12344 (file-name (git-file-name name version))
12345 (sha256
12346 (base32
12347 "0zds01c3q5yny6ab1fxfkzzgn1kgl3q23lxxap905f4qd70v922h"))))
12348 (build-system emacs-build-system)
12349 (home-page "https://github.com/purcell/default-text-scale")
12350 (synopsis "Adjust the font size in all Emacs frames")
12351 (description "This package provides commands for increasing or
12352 decreasing the default font size in all GUI Emacs frames.")
12353 (license license:gpl3+))))
12354
12355 (define-public emacs-mixed-pitch
12356 (package
12357 (name "emacs-mixed-pitch")
12358 (version "1.0.1")
12359 (source
12360 (origin
12361 (method git-fetch)
12362 (uri (git-reference
12363 (url "https://gitlab.com/jabranham/mixed-pitch.git")
12364 (commit version)))
12365 (file-name (git-file-name name version))
12366 (sha256
12367 (base32 "1458sy5b6bis1i0k23jdqk6hfqg0ghk637r3ajql2g19ym48rf58"))))
12368 (build-system emacs-build-system)
12369 (home-page "https://gitlab.com/jabranham/mixed-pitch")
12370 (synopsis "Mix variable- and fixed-pitch fonts in the same Emacs buffer")
12371 (description
12372 "@code{mixed-pitch-mode} is a minor mode that enables mixing
12373 variable-pitch and fixed-pitch fonts in the same buffer. The list
12374 @code{mixed-pitch-fixed-pitch-faces} defines the faces that are kept
12375 fixed-pitch,everything else becomes variable-pitch.")
12376 (license license:gpl3+)))
12377
12378 (define-public emacs-visual-regexp
12379 (package
12380 (name "emacs-visual-regexp")
12381 (version "1.1.1")
12382 (source
12383 (origin
12384 (method git-fetch)
12385 (uri (git-reference
12386 (url "https://github.com/benma/visual-regexp.el.git")
12387 (commit (string-append "v" version))))
12388 (file-name (git-file-name name version))
12389 (sha256
12390 (base32 "12zpmzwyp85dzsjpxd3279kpfi9yz3jwc1k9fnb3xv3pjiil5svg"))))
12391 (build-system emacs-build-system)
12392 (home-page "https://github.com/benma/visual-regexp.el/")
12393 (synopsis "Regexp command with interactive visual feedback")
12394 (description "This package provides an Emacs regexp command with
12395 interactive visual feedback.")
12396 (license license:gpl3+)))
12397
12398 (define-public emacs-faceup
12399 (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154")
12400 (revision "1"))
12401 (package
12402 (name "emacs-faceup")
12403 (version (string-append "0.0.1" "-" revision "."
12404 (string-take commit 7)))
12405 (source
12406 (origin
12407 (method git-fetch)
12408 (uri (git-reference
12409 (url "https://github.com/Lindydancer/faceup.git")
12410 (commit commit)))
12411 (file-name (git-file-name name version))
12412 (sha256
12413 (base32
12414 "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx"))))
12415 (build-system emacs-build-system)
12416 (home-page "https://github.com/Lindydancer/faceup")
12417 (synopsis "Markup language for faces and font-lock regression testing")
12418 (description "Emacs is capable of highlighting buffers based on
12419 language-specific @code{font-lock} rules. This package makes it possible to
12420 perform regression test for packages that provide font-lock rules.")
12421 (license license:gpl3+))))
12422
12423 (define-public emacs-racket-mode
12424 (let ((commit "b977873e6128f8399432dcd60cc39f6a6f803d9c")
12425 (revision "2"))
12426 (package
12427 (name "emacs-racket-mode")
12428 (version (string-append "0.0.2" "-" revision "."
12429 (string-take commit 7)))
12430 (source
12431 (origin
12432 (method git-fetch)
12433 (uri (git-reference
12434 (url "https://github.com/greghendershott/racket-mode")
12435 (commit commit)))
12436 (file-name (git-file-name name version))
12437 (sha256
12438 (base32
12439 "0vp4bbbplqvmnhjpl6ajrlydmrhqzil56cfbs18m5c5fddx0zlh7"))))
12440 (build-system emacs-build-system)
12441 (arguments
12442 `(#:include '("\\.el$" "\\.rkt$")))
12443 (propagated-inputs
12444 `(("emacs-faceup" ,emacs-faceup)
12445 ("emacs-s" ,emacs-s)))
12446 (home-page "https://github.com/greghendershott/racket-mode")
12447 (synopsis "Major mode for Racket language")
12448 (description "@code{racket-mode} provides:
12449
12450 @itemize
12451 @item Focus on Racket (not various Schemes).
12452 @item Follow DrRacket concepts where applicable.
12453 @item Thorough font-lock and indent.
12454 @end itemize\n")
12455 (license license:gpl3+))))
12456
12457 (define-public emacs-grep-context
12458 (let ((commit "a17c57e66687a54e195e08afe776bdd60cb6c0a7"))
12459 (package
12460 (name "emacs-grep-context")
12461 (version (git-version "0.1" "1" commit))
12462 (source
12463 (origin
12464 (method git-fetch)
12465 (uri (git-reference
12466 (url "https://github.com/mkcms/grep-context.git")
12467 (commit commit)))
12468 (file-name (git-file-name name version))
12469 (sha256
12470 (base32
12471 "1nqfa6kjzjshww4hnwg1c0vcr90bdjihy3kmixq3c3jkvxg99b62"))))
12472 (build-system emacs-build-system)
12473 (propagated-inputs
12474 `(("emacs-dash" ,emacs-dash)))
12475 (home-page "https://github.com/nashamri/academic-phrases")
12476 (synopsis "Increase context in compilation and grep buffers")
12477 (description
12478 "This package provides an Emacs package for more context in
12479 compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag},
12480 @code{ivy}.")
12481 (license license:gpl3+))))
12482
12483 (define-public emacs-helm-firefox
12484 (let ((commit "0ad34b7b5abc485a86cae6920c14de861cbeb085")
12485 (revision "1"))
12486 (package
12487 (name "emacs-helm-firefox")
12488 (version (string-append "0.0.1" "-" revision "."
12489 (string-take commit 7)))
12490 (source
12491 (origin
12492 (method git-fetch)
12493 (uri (git-reference
12494 (url "https://github.com/emacs-helm/helm-firefox.git")
12495 (commit commit)))
12496 (file-name (git-file-name name version))
12497 (sha256
12498 (base32
12499 "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs"))))
12500 (propagated-inputs
12501 `(("emacs-helm" ,emacs-helm)))
12502 (build-system emacs-build-system)
12503 (home-page "https://github.com/emacs-helm/helm-firefox")
12504 (synopsis "Display firefox bookmarks with Emacs Helm interface")
12505 (description "Display firefox bookmarks with Emacs Helm interface")
12506 (license license:gpl3+))))
12507
12508 (define-public emacs-interactive-align
12509 (package
12510 (name "emacs-interactive-align")
12511 (version "0.1.0")
12512 (source
12513 (origin
12514 (method url-fetch)
12515 (uri (string-append "https://github.com/mkcms/interactive-align/"
12516 "archive/" "v" version ".tar.gz"))
12517 (file-name (string-append name "-" version ".tar.gz"))
12518 (sha256
12519 (base32
12520 "0sibpgb4lp6yy3pziak8f3hz4b28yj0dqy2nzh51z3d0b63h528m"))))
12521 (build-system emacs-build-system)
12522 (home-page "https://github.com/mkcms/interactive-align/")
12523 (synopsis "Interactive align-regexp command in Emacs")
12524 (description "Interactive align-regexp command in Emacs")
12525 (license license:gpl3+)))
12526
12527 (define-public emacs-shift-number
12528 (package
12529 (name "emacs-shift-number")
12530 (version "0.1")
12531 (source
12532 (origin
12533 (method url-fetch)
12534 (uri (string-append "https://github.com/alezost/shift-number.el"
12535 "/archive/" "v" version ".tar.gz"))
12536 (file-name (string-append name "-" version ".tar.gz"))
12537 (sha256
12538 (base32
12539 "1g79m0hqn9jgpm565vvh8pdfzndc4vw7xisnh5qysj55qfg8cb1x"))))
12540 (build-system emacs-build-system)
12541 (home-page "https://github.com/alezost/shift-number.el")
12542 (synopsis "Increase or decrease the number at point")
12543 (description "@code{emacs-shift-number} provides commands
12544 @code{shift-number-up} to increase and @code{shift-number-down} to
12545 decrease the number at point.")
12546 (license license:gpl3+)))
12547
12548 (define-public emacs-highlight-defined
12549 (package
12550 (name "emacs-highlight-defined")
12551 (version "0.1.5")
12552 (source
12553 (origin
12554 (method git-fetch)
12555 (uri (git-reference
12556 (url "https://github.com/Fanael/highlight-defined.git")
12557 (commit version)))
12558 (file-name (git-file-name name version))
12559 (sha256
12560 (base32 "08czwa165rnd5z0dwwdddn7zi5w63sdk31l47bj0598kbly01n7r"))))
12561 (build-system emacs-build-system)
12562 (home-page "https://github.com/Fanael/highlight-defined")
12563 (synopsis "Syntax highlighting of known Elisp symbols")
12564 (description "Minor mode providing syntax highlighting of known Emacs Lisp
12565 symbols. Currently the code distinguishes Lisp functions, built-in functions,
12566 macros, faces and variables. To enable call @code{highlight-defined-mode}. ")
12567 (license license:gpl3+)))
12568
12569 (define-public emacs-parinfer-mode
12570 (package
12571 (name "emacs-parinfer-mode")
12572 (version "0.4.10")
12573 (source
12574 (origin
12575 (method git-fetch)
12576 (uri (git-reference
12577 (url "https://github.com/DogLooksGood/parinfer-mode.git")
12578 (commit (string-append "v" version))))
12579 (file-name (git-file-name name version))
12580 (sha256
12581 (base32 "0v97ncb0w1slb0x8861l3yr1kqz6fgw1fwl1z9lz6hh8p2ih34sk"))))
12582 (propagated-inputs
12583 `(("emacs-dash" ,emacs-dash)
12584 ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters)
12585 ("emacs-company" ,emacs-company)))
12586 (build-system emacs-build-system)
12587 (home-page "https://github.com/DogLooksGood/parinfer-mode/")
12588 (synopsis "Lisp structure editing mode")
12589 (description "@code{parinfer-mode} is a proof-of-concept editor
12590 mode for Lisp programming languages. It will infer some changes to
12591 keep Parens and Indentation inline with one another.")
12592 (license license:gpl3+)))
12593
12594 (define-public emacs-helm-eww
12595 (package
12596 (name "emacs-helm-eww")
12597 (version "1.2")
12598 (source (origin
12599 (method git-fetch)
12600 (uri (git-reference
12601 (url "https://github.com/emacs-helm/helm-eww.git")
12602 (commit version)))
12603 (file-name (git-file-name name version))
12604 (sha256
12605 (base32
12606 "0hpq1h0p69c9k6hkd2mjpprx213sc5475q7pr2zpmwrjdzgcv70z"))))
12607 (propagated-inputs
12608 `(("emacs-helm" ,emacs-helm)))
12609 (build-system emacs-build-system)
12610 (home-page "https://github.com/emacs-helm/helm-eww/")
12611 (synopsis "Helm interface to EWW")
12612 (description "This package provides a Helm interface for EWW buffers,
12613 bookmarks and history.")
12614 (license license:gpl3+)))
12615
12616 (define-public emacs-stumpwm-mode
12617 (let ((commit "5328f85fbf6a8b08c758c17b9435368bf7a68f39"))
12618 (package
12619 (name "emacs-stumpwm-mode")
12620 (version (git-version "0.0.1" "1" commit))
12621 (source (origin
12622 (method git-fetch)
12623 (uri (git-reference
12624 (url "https://github.com/stumpwm/stumpwm-contrib.git")
12625 (commit commit)))
12626 (file-name (git-file-name name version))
12627 (sha256
12628 (base32
12629 "00kf4k8bqadi5s667wb96sn549v2kvw01zwszjrg7nhd805m1ng6"))))
12630 (build-system emacs-build-system)
12631 (arguments
12632 `(#:phases
12633 (modify-phases %standard-phases
12634 (add-after 'unpack 'chdir-elisp
12635 ;; Elisp directory is not in root of the source.
12636 (lambda _
12637 (chdir "util/swm-emacs"))))))
12638 (home-page "https://github.com/stumpwm/stumpwm-contrib")
12639 (synopsis "Emacs minor-mode for Stumpwm")
12640 (description "Emacs minor-mode for Stumpwm")
12641 (license license:gpl3+))))
12642
12643 (define-public emacs-irfc
12644 (package
12645 (name "emacs-irfc")
12646 (version "20130824.507-1")
12647 (source
12648 (origin
12649 (method url-fetch)
12650 (uri "https://www.emacswiki.org/emacs/download/irfc.el")
12651 (file-name (string-append "irfc-" version ".el"))
12652 (sha256
12653 (base32
12654 "0rbfrza56kvspvgrwg0b5bj30d0qncqdsmfxn3y5caq4ifcj77hv"))))
12655 (build-system emacs-build-system)
12656 (home-page "https://www.emacswiki.org/emacs/download/irfc.el")
12657 (synopsis "Interface for IETF RFC document")
12658 (description
12659 "This package provides an Emacs interface for IETF RFC document.")
12660 (license license:gpl3+)))
12661
12662 (define-public emacs-ido-vertical-mode
12663 (package
12664 (name "emacs-ido-vertical-mode")
12665 (version "0.1.6")
12666 (source
12667 (origin
12668 (method git-fetch)
12669 (uri (git-reference
12670 (url "https://github.com/creichert/ido-vertical-mode.el.git")
12671 (commit (string-append "v" version))))
12672 (file-name (git-file-name name version))
12673 (sha256
12674 (base32 "1lv82q639xjnmvby56nwqn23ijh6f163bk675s33dkingm8csj8k"))))
12675 (build-system emacs-build-system)
12676 (home-page "https://github.com/creichert/ido-vertical-mode.el")
12677 (synopsis "Makes ido-mode display vertically")
12678 (description "Makes ido-mode display prospects vertically.")
12679 (license license:gpl3+)))
12680
12681 (define-public emacs-wordgen
12682 (package
12683 (name "emacs-wordgen")
12684 (version "0.1.4")
12685 (source
12686 (origin
12687 (method git-fetch)
12688 (uri (git-reference
12689 (url "https://github.com/Fanael/wordgen.el.git")
12690 (commit version)))
12691 (file-name (git-file-name name version))
12692 (sha256
12693 (base32 "06vbc9ycz1nbjwjkg99y3lj6jwb6lnwnmkqf09yr00jjrrfhfash"))))
12694 (build-system emacs-build-system)
12695 (home-page "https://github.com/Fanael/wordgen.el")
12696 (synopsis "Random word generator")
12697 (description "This package provides functions to generate random words
12698 using user-provided rules.")
12699 (license license:gpl3+)))
12700
12701 (define-public emacs-on-screen
12702 (package
12703 (name "emacs-on-screen")
12704 (version "1.3.2")
12705 (source
12706 (origin
12707 (method url-fetch)
12708 (uri (string-append
12709 "http://elpa.gnu.org/packages/on-screen-" version ".el"))
12710 (file-name (string-append name "-" version ".el"))
12711 (sha256
12712 (base32
12713 "15d18mjgv1pnwl6kf3pr5w64q1322p1l1qlfvnckglwmzy5sl2qv"))))
12714 (build-system emacs-build-system)
12715 (home-page
12716 "https://github.com/michael-heerdegen/on-screen.el")
12717 (synopsis "Guide your eyes while scrolling")
12718 (description
12719 "Scrolling can be distracting because your eyes may lose
12720 orientation. This library implements a minor mode that highlights
12721 the previously visible buffer part after each scroll.")
12722 (license license:gpl3+)))
12723
12724 (define-public emacs-highlight-escape-sequences
12725 (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41")
12726 (revision "1"))
12727 (package
12728 (name "emacs-highlight-escape-sequences")
12729 (version (string-append "0.0.1" "-" revision "."
12730 (string-take commit 7)))
12731 (source
12732 (origin
12733 (method git-fetch)
12734 (uri (git-reference
12735 (url "https://github.com/dgutov/highlight-escape-sequences.git")
12736 (commit commit)))
12737 (file-name (git-file-name name version))
12738 (sha256
12739 (base32
12740 "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is"))))
12741 (build-system emacs-build-system)
12742 (home-page "https://github.com/dgutov/highlight-escape-sequences")
12743 (synopsis "Highlight escape sequences in Emacs")
12744 (description "@code{highlight-escape-sequences} provides an
12745 Emacs minor mode to escape sequences in code.")
12746 (license license:gpl3+))))
12747
12748 (define-public emacs-dashboard
12749 (package
12750 (name "emacs-dashboard")
12751 (version "1.5.0")
12752 (source
12753 (origin
12754 (method git-fetch)
12755 (uri (git-reference
12756 (url "https://github.com/rakanalh/emacs-dashboard.git")
12757 (commit version)))
12758 (file-name (git-file-name name version))
12759 (sha256
12760 (base32 "0ihpcagwgc9qy70lf2y3dvx2bm5h9lnqh4sx6643cr8pp06ysbvq"))))
12761 (build-system emacs-build-system)
12762 (propagated-inputs
12763 `(("emacs-page-break-lines" ,emacs-page-break-lines)))
12764 (arguments
12765 '(#:include '("\\.el$" "\\.txt$" "\\.png$")
12766 #:phases
12767 (modify-phases %standard-phases
12768 (add-after 'unpack 'patch-dashboard-widgets
12769 ;; This phase fixes compilation error.
12770 (lambda _
12771 (chmod "dashboard-widgets.el" #o666)
12772 (emacs-substitute-variables "dashboard-widgets.el"
12773 ("dashboard-init-info"
12774 '(format "Loaded in %s" (emacs-init-time))))
12775 #t)))))
12776 (home-page "https://github.com/rakanalh/emacs-dashboard")
12777 (synopsis "Startup screen extracted from Spacemacs")
12778 (description "This package provides an extensible Emacs dashboard, with
12779 sections for bookmarks, projectil projects, org-agenda and more. ")
12780 (license license:gpl3+)))
12781
12782 (define-public emacs-slime-company
12783 (package
12784 (name "emacs-slime-company")
12785 (version "1.1")
12786 (source
12787 (origin
12788 (method git-fetch)
12789 (uri (git-reference
12790 (url "https://github.com/anwyn/slime-company.git")
12791 (commit (string-append "v" version))))
12792 (file-name (git-file-name name version))
12793 (sha256
12794 (base32 "1hl1hqkc1pxga9k2k8k15d7dip7sfsmwf4wm4sh346m6nj606q8g"))))
12795 (build-system emacs-build-system)
12796 (propagated-inputs
12797 `(("emacs-slime" ,emacs-slime)
12798 ("emacs-company" ,emacs-company)))
12799 (home-page "https://company-mode.github.io")
12800 (synopsis "SLIME completion backend for @code{company-mode}")
12801 (description
12802 "This is a backend implementation for the completion package
12803 @code{company-mode} which supports the normal and the fuzzy completion
12804 modes of SLIME.")
12805 (license license:gpl3+)))
12806
12807 (define-public emacs-sml-mode
12808 (package
12809 (name "emacs-sml-mode")
12810 (version "6.9")
12811 (source
12812 (origin
12813 (method url-fetch)
12814 (uri (string-append "http://elpa.gnu.org/packages/sml-mode-"
12815 version ".el"))
12816 (sha256
12817 (base32 "1bdg9ywpvj85hxqah9w1raxlcrhkyx67nw22jwd1bd5j0fhmgqij"))))
12818 (build-system emacs-build-system)
12819 (home-page "http://elpa.gnu.org/packages/sml-mode.html")
12820 (synopsis "Major mode for editing (Standard) ML")
12821 (description "SML-MODE is a major Emacs mode for editing Standard ML.
12822 It provides syntax highlighting and automatic indentation and
12823 comes with sml-proc which allows interaction with an inferior SML
12824 interactive loop.")
12825 (license license:gpl3+)))
12826
12827 (define-public emacs-eros
12828 (let ((commit "a42e45c9b2397156c684330b0fc90ee0eba773f5")
12829 (revision "1"))
12830 (package
12831 (name "emacs-eros")
12832 (version (string-append "0.0.1" "-" revision "."
12833 (string-take commit 7)))
12834 (source
12835 (origin
12836 (method git-fetch)
12837 (uri (git-reference
12838 (url "https://github.com/xiongtx/eros.git")
12839 (commit commit)))
12840 (file-name (git-file-name name version))
12841 (sha256
12842 (base32
12843 "0whlsq90v13fz69k3wjrwcwb9gkpfxqjd75mg3nrp85j9nwhb5i4"))))
12844 (build-system emacs-build-system)
12845 (home-page "https://github.com/xiongtx/eros")
12846 (synopsis "Evaluation result overlays")
12847 (description "@code{eros} provides evaluation result overlays.")
12848 (license license:gpl3+))))
12849
12850 (define-public emacs-stickyfunc-enhance
12851 (let ((commit "13bdba51fcd83ccbc3267959d23afc94d458dcb0")
12852 (revision "1"))
12853 (package
12854 (name "emacs-stickyfunc-enhance")
12855 (version "0.1")
12856 (source
12857 (origin
12858 (method git-fetch)
12859 (uri (git-reference
12860 (url "https://github.com/tuhdo/semantic-stickyfunc-enhance.git")
12861 (commit commit)))
12862 (file-name (git-file-name name version))
12863 (sha256
12864 (base32
12865 "16dxjsr5nj20blww4xpd4jzgjprzzh1nwvb810ggdmp9paf4iy0g"))))
12866 (build-system emacs-build-system)
12867 (home-page "https://github.com/tuhdo/semantic-stickyfunc-enhance")
12868 (synopsis "Enhancement to stock @code{semantic-stickyfunc-mode}")
12869 (description
12870 "@code{semantic-stickyfunc-mode} shows the function point is currently
12871 in at the first line of the current buffer. This is useful when you have a
12872 very long function that spreads more than a screen, and you don't have to
12873 scroll up to read the function name and then scroll down to original position.")
12874 (license license:gpl3+))))
12875
12876 (define-public emacs-git-auto-commit-mode
12877 (package
12878 (name "emacs-git-auto-commit-mode")
12879 (version "4.4.0")
12880 (source
12881 (origin
12882 (method git-fetch)
12883 (uri (git-reference
12884 (url "https://github.com/ryuslash/git-auto-commit-mode.git")
12885 (commit version)))
12886 (file-name (git-file-name name version))
12887 (sha256
12888 (base32 "0psmr7749nzxln4b500sl3vrf24x3qijp12ir0i5z4x25k72hrlh"))))
12889 (build-system emacs-build-system)
12890 (home-page "https://github.com/ryuslash/git-auto-commit-mode")
12891 (synopsis "Emacs Minor mode to automatically commit and push")
12892 (description "@code{git-auto-commit-mode} is an Emacs minor mode that
12893 tries to commit changes to a file after every save.
12894
12895 When @code{gac-automatically-push-p} is non-nil, it also tries to push to
12896 the current upstream.")
12897 (license license:gpl3+)))
12898
12899 (define-public emacs-scroll-on-drag
12900 (let ((commit "888abd04c34753b1fc4b2fe541bc004ebec5c996")
12901 (revision "1"))
12902 (package
12903 (name "emacs-scroll-on-drag")
12904 (version (git-version "0.1" revision commit))
12905 (source
12906 (origin
12907 (method git-fetch)
12908 (uri (git-reference
12909 (url "https://gitlab.com/ideasman42/emacs-scroll-on-drag.git")
12910 (commit commit)))
12911 (file-name (git-file-name name version))
12912 (sha256
12913 (base32
12914 "1si4hdqa3jw1inbyh3wb3i5i9grbms1nwky3vyk9zg7iznwm8a9p"))))
12915 (build-system emacs-build-system)
12916 (home-page "https://gitlab.com/ideasman42/emacs-scroll-on-drag")
12917 (synopsis "Interactive scrolling")
12918 (description "This package permits scrolling at increasing speeds based
12919 on drag distance.")
12920 (license license:gpl3+))))
12921
12922 (define-public emacs-company-restclient
12923 (package
12924 (name "emacs-company-restclient")
12925 (version "0.3.0")
12926 (source
12927 (origin
12928 (method git-fetch)
12929 (uri (git-reference
12930 (url "https://github.com/iquiw/company-restclient.git")
12931 (commit (string-append "v" version))))
12932 (file-name (git-file-name name version))
12933 (sha256
12934 (base32 "0yp0hlrgcr6yy1xkjvfckys2k24x9xg7y6336ma61bdwn5lpv0x0"))))
12935 (build-system emacs-build-system)
12936 (propagated-inputs
12937 `(("emacs-company" ,emacs-company)
12938 ("emacs-know-your-http-well" ,emacs-know-your-http-well)
12939 ("emacs-restclient" ,emacs-restclient)))
12940 (home-page "https://github.com/iquiw/company-restclient")
12941 (synopsis "Company-mode completion back-end for restclient-mode")
12942 (description "@code{company-mode} back-end for
12943 @code{restclient-mode}.
12944
12945 It provides auto-completion for HTTP methods and headers in
12946 @code{restclient-mode}. Completion source is given by
12947 @code{know-your-http-well}.")
12948 (license license:gpl3+)))
12949
12950 (define-public emacs-noflet
12951 (let ((version "20170629")
12952 (revision "1")
12953 (commit "7ae84dc3257637af7334101456dafe1759c6b68a"))
12954 (package
12955 (name "emacs-noflet")
12956 (version (git-version version revision commit))
12957 (source
12958 (origin
12959 (method git-fetch)
12960 (uri (git-reference
12961 (url "https://github.com/nicferrier/emacs-noflet")
12962 (commit commit)))
12963 (file-name (git-file-name name version))
12964 (sha256
12965 (base32
12966 "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf"))))
12967 (build-system emacs-build-system)
12968 (arguments
12969 `(#:phases
12970 (modify-phases %standard-phases
12971 (add-after 'unpack 'require-dash
12972 ;; noflet.el uses -map from dash, but (require 'dash) is
12973 ;; missing. So, add it.
12974 (lambda _
12975 (substitute* "noflet.el"
12976 ((";;; Code:") ";;; Code:\n(require 'dash)"))
12977 #t)))))
12978 (propagated-inputs
12979 `(("emacs-dash" ,emacs-dash)))
12980 (home-page "https://github.com/nicferrier/emacs-noflet")
12981 (synopsis "Locally override functions")
12982 (description "@code{emacs-noflet} lets you locally override functions,
12983 in the manner of @command{flet}, but with access to the original function
12984 through the symbol: @command{this-fn}.")
12985 (license license:gpl3+))))
12986
12987 (define-public emacs-dumb-jump
12988 (package
12989 (name "emacs-dumb-jump")
12990 (version "0.5.2")
12991 (source
12992 (origin
12993 (method git-fetch)
12994 (uri (git-reference
12995 (url "https://github.com/jacktasia/dumb-jump.git")
12996 (commit (string-append "v" version))))
12997 (file-name (git-file-name name version))
12998 (sha256
12999 (base32 "00ph85vp8sa3k99qrdxfz4l8zx121q9xf47vvspzg26bk9l4nwin"))))
13000 (build-system emacs-build-system)
13001 (arguments
13002 `(#:tests? #f ; FIXME: Tests freeze when run.
13003 #:test-command '("ert-runner")
13004 #:phases
13005 (modify-phases %standard-phases
13006 (add-after 'unpack 'set-shell
13007 (lambda _
13008 ;; Setting the SHELL environment variable is required for the
13009 ;; tests to find sh.
13010 (setenv "SHELL" (which "sh"))
13011 #t)))))
13012 (native-inputs
13013 `(("emacs-el-mock" ,emacs-el-mock)
13014 ("emacs-noflet" ,emacs-noflet)
13015 ("emacs-undercover" ,emacs-undercover)
13016 ("ert-runner" ,emacs-ert-runner)))
13017 (propagated-inputs
13018 `(("emacs-f" ,emacs-f)
13019 ("emacs-popup" ,emacs-popup)))
13020 (home-page "https://github.com/jacktasia/dumb-jump")
13021 (synopsis "Jump to definition for multiple languages without configuration")
13022 (description "Dumb Jump is an Emacs \"jump to definition\" package with
13023 support for multiple programming languages that favors \"just working\" over
13024 speed or accuracy. This means minimal --- and ideally zero --- configuration
13025 with absolutely no stored indexes (tags) or persistent background processes.
13026 Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep
13027 @command{rg} installed.")
13028 (license license:gpl3+)))
13029
13030 (define-public emacs-dts-mode
13031 (let ((commit "9ee0854446dcc6c53d2b8d2941051768dba50344")
13032 (revision "1"))
13033 (package
13034 (name "emacs-dts-mode")
13035 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
13036 (source
13037 (origin
13038 (method git-fetch)
13039 (uri (git-reference
13040 (url "https://github.com/bgamari/dts-mode.git")
13041 (commit commit)))
13042 (file-name (git-file-name name version))
13043 (sha256
13044 (base32
13045 "1k8lljdbc90nd29xrhdrsscxavzdq532wq2mg7ljc94krj7538b1"))))
13046 (build-system emacs-build-system)
13047 (home-page "https://github.com/bgamari/dts-mode.git")
13048 (synopsis "Emacs minor mode for editing device tree files")
13049 (description
13050 "This package provides an Emacs minor mode for highlighting
13051 device tree files.")
13052 (license license:gpl3+))))
13053
13054 (define-public emacs-daemons
13055 (package
13056 (name "emacs-daemons")
13057 (version "2.0.0")
13058 (source
13059 (origin
13060 (method git-fetch)
13061 (uri (git-reference
13062 (url "https://github.com/cbowdon/daemons.el")
13063 (commit version)))
13064 (file-name (git-file-name name version))
13065 (sha256
13066 (base32
13067 "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"))))
13068 (build-system emacs-build-system)
13069 (home-page "https://github.com/cbowdon/daemons.el")
13070 (synopsis "Emacs UI for managing init system services")
13071 (description
13072 "This is an Emacs mode to give you a UI for managing init system
13073 daemons (services) for those getting tired of typing out @code{sudo service
13074 my_thing reload} all the time. It offers a consistent UI over different init
13075 systems.")
13076 (license license:gpl3+)))
13077
13078 (define-public emacs-isearch+
13079 (let ((commit "95e49af9dbf0254e095a11f115e101b52659520a")
13080 (revision "1"))
13081 (package
13082 (name "emacs-isearch+")
13083 (version (git-version "0" revision commit))
13084 (source
13085 (origin
13086 (method git-fetch)
13087 (uri (git-reference
13088 (url "https://github.com/emacsmirror/isearch-plus.git")
13089 (commit commit)))
13090 (file-name (git-file-name name version))
13091 (sha256
13092 (base32
13093 "0xhd9zgknf4lvzyf4apirpd7spb1hbpzkvys00a7pkmd0vvahk0v"))))
13094 (build-system emacs-build-system)
13095 (home-page "https://www.emacswiki.org/emacs/isearch+.el")
13096 (synopsis "Extensions to @code{isearch.el}")
13097 (description "This package extends @code{isearch} with advice, dynamic
13098 filters, highlighting of regexp group levels, and more.")
13099 (license license:gpl2+))))
13100
13101 (define-public emacs-eshell-bookmark
13102 (package
13103 (name "emacs-eshell-bookmark")
13104 (version "2.0.0")
13105 (source
13106 (origin
13107 (method git-fetch)
13108 (uri (git-reference
13109 (url "https://github.com/Fuco1/eshell-bookmark")
13110 (commit version)))
13111 (file-name (git-file-name name version))
13112 (sha256
13113 (base32
13114 "14dmsnixf9vqdhsixw693sml0fn80zcf0b37z049fb40cmppqxdw"))))
13115 (build-system emacs-build-system)
13116 (home-page "https://github.com/Fuco1/eshell-bookmark")
13117 (synopsis "Provide @file{bookmark.el} integration for @code{eshell}")
13118 (description
13119 "This package allows for bookmarking @code{eshell} buffers. Upon
13120 visiting the bookmark, a new @code{eshell} session will be opened in the
13121 appropriate directory if no @code{eshell} session is active.")
13122 (license license:gpl3+)))
13123
13124 (define-public emacs-eshell-z
13125 (package
13126 (name "emacs-eshell-z")
13127 (version "0.3.2")
13128 (source
13129 (origin
13130 (method git-fetch)
13131 (uri (git-reference
13132 (url "https://github.com/xuchunyang/eshell-z")
13133 (commit (string-append "v" version))))
13134 (file-name (git-file-name name version))
13135 (sha256
13136 (base32
13137 "1aac4m814jgxwpz7lbyx5r4z5dmawp4sk7pwbx0zqpnbcsaq5wwc"))))
13138 (build-system emacs-build-system)
13139 (home-page "https://github.com/xuchunyang/eshell-z")
13140 (synopsis "Quick navigation to frequently visited directories")
13141 (description
13142 "This package is a port of @code{z}, and keeps track of visited directories
13143 and commands invoked within them in order to enable navigation via input of
13144 matching regexps.")
13145 (license license:gpl3+)))
13146
13147 (define-public emacs-esh-autosuggest
13148 (package
13149 (name "emacs-esh-autosuggest")
13150 (version "2.0.0")
13151 (source
13152 (origin
13153 (method git-fetch)
13154 (uri (git-reference
13155 (url "https://github.com/dieggsy/esh-autosuggest")
13156 (commit version)))
13157 (file-name (git-file-name name version))
13158 (sha256
13159 (base32
13160 "116pdjgpjy9b0psm5kzwkwy7dq8vn0p6dy75dl1zsy2xrjf1iqdw"))))
13161 (build-system emacs-build-system)
13162 (propagated-inputs `(("emacs-company" ,emacs-company)))
13163 (home-page "https://github.com/dieggsy/esh-autosuggest")
13164 (synopsis "Fish-like autosuggestions in Eshell")
13165 (description
13166 "This package assumes you use something other than company for eshell
13167 completion (e.g. @code{eshell-pcomplete}, @code{completion-at-point},
13168 @code{helm-esh-pcomplete}). @code{company-mode} is used solely as a mechanism
13169 for history autosuggestions.
13170
13171 Unless you're using @code{use-package}'s hook keyword, you can enable the
13172 autosuggestions with:
13173 @code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}")
13174 (license license:gpl3+)))
13175
13176 (define-public emacs-desktop-environment
13177 (package
13178 (name "emacs-desktop-environment")
13179 (version "0.2.2")
13180 (source
13181 (origin
13182 (method git-fetch)
13183 (uri (git-reference
13184 (url "https://gitlab.petton.fr/DamienCassou/desktop-environment")
13185 (commit (string-append "v" version))))
13186 (file-name (git-file-name name version))
13187 (sha256
13188 (base32
13189 "14ija2rrz3zjhjbzxg84j5fq6xph4ah7w9bkqnq37by040cydvhw"))))
13190 (build-system emacs-build-system)
13191 (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
13192 (synopsis "Control your GNU/Linux desktop environment from Emacs")
13193 (description
13194 "This package helps you control your GNU/Linux desktop from Emacs.
13195 With @code{desktop-environment}, you can control the brightness and volume as
13196 well as take screenshots and lock your screen. The package depends on the
13197 availability of shell commands to do the hard work for us. These commands can
13198 be changed by customizing the appropriate variables.")
13199 (license license:gpl3+)))
13200
13201 (define-public emacs-org-caldav
13202 (package
13203 (name "emacs-org-caldav")
13204 (version "20180403")
13205 (source
13206 (origin
13207 (method url-fetch)
13208 (uri (string-append
13209 "https://github.com/dengste/org-caldav/raw/"
13210 "8d3492c27a09f437d2d94f2736c56d7652e87aa0"
13211 "/org-caldav.el"))
13212 (sha256
13213 (base32
13214 "1fh4gh68ddj0is99z2ccyh97v6psnyda61n2dsadzqhcxn51amlc"))))
13215 (build-system emacs-build-system)
13216 (propagated-inputs `(("emacs-org" ,emacs-org)))
13217 (home-page "https://github.com/dengste/org-caldav")
13218 (synopsis
13219 "Sync Org files with external calendars via the CalDAV protocol")
13220 (description
13221 "Synchronize between events in Org-mode files and a CalDAV calendar.
13222 This code is still alpha.")
13223 (license license:gpl3+)))
13224
13225 (define-public emacs-zotxt
13226 (package
13227 (name "emacs-zotxt")
13228 (version "20180518")
13229 (source
13230 (origin
13231 (method git-fetch)
13232 (uri (git-reference
13233 (url "https://github.com/egh/zotxt-emacs.git")
13234 (commit "23a4a9f74a658222027d53a9a83cd4bcc583ca8b")))
13235 (file-name (git-file-name name version))
13236 (sha256
13237 (base32 "09fq3w9yk9kn6bz7y9kgpiw612dvj3yzsdk734js6zgb0p8lfd2c"))))
13238 (build-system emacs-build-system)
13239 (propagated-inputs
13240 `(("emacs-deferred" ,emacs-deferred)
13241 ("emacs-request" ,emacs-request)))
13242 (home-page "https://github.com/egh/zotxt-emacs")
13243 (synopsis "Integrate Emacs with Zotero")
13244 (description "This package provides two integration features between Emacs
13245 and the Zotero research assistant: Insertion of links to Zotero items into an
13246 Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
13247 (license license:gpl3+)))
13248
13249 (define-public emacs-evil-ediff
13250 ;; Evil-Ediff is included in Evil Collection from 20180617.
13251 (deprecated-package "emacs-evil-ediff" emacs-evil-collection))
13252
13253 (define-public emacs-evil-magit
13254 (let ((commit "e2fec5877994c0c19f0c25fa01f3d22cb0ab38ba"))
13255 (package
13256 (name "emacs-evil-magit")
13257 (version (git-version "0.4.2" "2" commit))
13258 (source
13259 (origin
13260 (method git-fetch)
13261 (uri (git-reference
13262 (url "https://github.com/emacs-evil/evil-magit")
13263 (commit commit)))
13264 (file-name (git-file-name name version))
13265 (sha256
13266 (base32
13267 "134v7s03jvbhm70mavwab85r09i68g2a5bvriirh0chz1av2y16v"))))
13268 (build-system emacs-build-system)
13269 (propagated-inputs
13270 `(("emacs-evil" ,emacs-evil)
13271 ("magit" ,emacs-magit)))
13272 (home-page
13273 "https://github.com/emacs-evil/evil-magit")
13274 (synopsis "Evil-based key bindings for Magit")
13275 (description
13276 "This Emacs library configures Magit and Evil to play well with each other.
13277 For some background see @url{https://github.com/magit/evil-magit/issues/1}.
13278 See the README at @url{https://github.com/justbur/evil-magit} for a table
13279 describing the key binding changes.")
13280 (license license:gpl3+))))
13281
13282 (define-public emacs-evil-mu4e
13283 ;; Evil-mu4e is included in Evil Collection from 20180617.
13284 (deprecated-package "emacs-evil-mu4e" emacs-evil-collection))
13285
13286 (define-public emacs-evil-multiedit
13287 (package
13288 (name "emacs-evil-multiedit")
13289 (version "1.3.9")
13290 (source
13291 (origin
13292 (method git-fetch)
13293 (uri (git-reference
13294 (url "https://github.com/hlissner/evil-multiedit")
13295 (commit (string-append "v" version))))
13296 (file-name (git-file-name name version))
13297 (sha256
13298 (base32
13299 "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"))))
13300 (build-system emacs-build-system)
13301 (propagated-inputs
13302 `(("emacs-evil" ,emacs-evil)
13303 ("emacs-iedit" ,emacs-iedit)))
13304 (home-page
13305 "https://github.com/hlissner/evil-multiedit")
13306 (synopsis "Multiple cursors for Evil mode")
13307 (description
13308 "This plugin was an answer to the lack of proper multiple cursor support
13309 in Emacs+Evil. It allows you to select and edit matches interactively,
13310 integrating @code{iedit-mode} into Evil mode with an attempt at sensible
13311 defaults.")
13312 (license license:gpl3+)))
13313
13314 (define-public emacs-evil-org
13315 (let ((commit "b6d652a9163d3430a9e0933a554bdbee5244bbf6"))
13316 (package
13317 (name "emacs-evil-org")
13318 (version (git-version "0.1.1" "1" commit))
13319 (source
13320 (origin
13321 (method git-fetch)
13322 (uri (git-reference
13323 (url "https://github.com/Somelauw/evil-org-mode")
13324 (commit commit)))
13325 (file-name (git-file-name name version))
13326 (sha256
13327 (base32
13328 "176hrw7y7nczffbyhsa167b8rvfacsmcafm2gpkrdjqlrikbmrhl"))))
13329 (build-system emacs-build-system)
13330 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
13331 (home-page
13332 "https://github.com/Somelauw/evil-org-mode")
13333 (synopsis "Evil keybindings for Org mode")
13334 (description
13335 "This package adds supplemental Evil mode key-bindings to Emacs
13336 Org-mode. It features:
13337 @itemize
13338 @item normal, visual and insert mode bindings;
13339 @item key bindings organised in key themes;
13340 @item operators like > and < to work on headings;
13341 @item text objects;
13342 @item table support;
13343 @item calendar (date selection) support;
13344 @item agenda support.
13345 @end itemize\n")
13346 (license license:gpl3+))))
13347
13348 (define-public emacs-debpaste
13349 (package
13350 (name "emacs-debpaste")
13351 (version "0.1.5")
13352 (home-page "https://github.com/alezost/debpaste.el")
13353 (source
13354 (origin
13355 (method git-fetch)
13356 (uri (git-reference (url home-page)
13357 (commit (string-append "v" version))))
13358 (file-name (string-append name "-" version ".tar.gz"))
13359 (sha256
13360 (base32
13361 "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"))))
13362 (build-system emacs-build-system)
13363 (propagated-inputs
13364 `(("emacs-xml-rpc" ,emacs-xml-rpc)))
13365 (synopsis "Manipulate pastes from the Debian Pastezone")
13366 (description "Debpaste is an Emacs interface for the Debian Pastezone,
13367 allowing you to receive, post, and delete pastes. It communicates with the
13368 server using XML-RPC.")
13369 (license license:gpl3+)))
13370
13371 (define-public emacs-xml-rpc
13372 (let ((commit "8f624f8b964e9145acb504e4457c9510e87dd93c")
13373 (revision "1"))
13374 (package
13375 (name "emacs-xml-rpc")
13376 (version (git-version "1.6.12" revision commit))
13377 (source
13378 (origin
13379 (method git-fetch)
13380 (uri (git-reference
13381 (url "https://github.com/hexmode/xml-rpc-el")
13382 (commit commit)))
13383 (file-name (git-file-name name version))
13384 (sha256
13385 (base32
13386 "0xa54z52rsfl3n0xgmbycj4zazp8ksgdwcq56swzs6wp72zlalmj"))))
13387 (build-system emacs-build-system)
13388 (home-page "https://github.com/hexmode/xml-rpc-el")
13389 (synopsis "XML-RPC client for Emacs")
13390 (description "This package provides an XML-RPC client for Emacs capable
13391 of both synchronous and asynchronous method calls using the @code{url}
13392 package's async retrieval functionality. @file{xml-rpc.el} represents XML-RPC
13393 datatypes as Lisp values, automatically converting to and from the XML
13394 datastructures as needed, both for method parameters and return values, making
13395 using XML-RPC methods fairly transparent to the Lisp code.")
13396 (license license:gpl3+))))
13397
13398 (define-public emacs-xpm
13399 (package
13400 (name "emacs-xpm")
13401 (version "1.0.4")
13402 (source
13403 (origin
13404 (method url-fetch)
13405 (uri (string-append "https://elpa.gnu.org/packages/xpm-"
13406 version ".tar"))
13407 (sha256
13408 (base32
13409 "075miyashh9cm3b0gk6ngld3rm8bfgnh4qxnhxmmvjgzf6a64grh"))))
13410 (build-system emacs-build-system)
13411 (home-page "https://elpa.gnu.org/packages/xpm.html")
13412 (synopsis "XPM image editing mode for Emacs")
13413 (description "This Emacs package makes editing XPM images easy (and maybe
13414 fun). Editing is done directly on the (textual) image format, for maximal
13415 cohesion with the Emacs Way.")
13416 (license license:gpl3+)))
13417
13418 (define-public emacs-fish-completion
13419 (package
13420 (name "emacs-fish-completion")
13421 (version "1.1")
13422 (source
13423 (origin
13424 (method git-fetch)
13425 (uri (git-reference
13426 (url "https://gitlab.com/Ambrevar/emacs-fish-completion.git")
13427 (commit version)))
13428 (file-name (git-file-name name version))
13429 (sha256
13430 (base32
13431 "1pjqnbyjmj64q5nwq1mrdxcls4fp5y0b6zqs785i0s6wdvrm4021"))))
13432 (build-system emacs-build-system)
13433 (inputs `(("fish" ,fish)))
13434 (arguments
13435 `(#:phases
13436 (modify-phases %standard-phases
13437 (add-after 'unpack 'configure
13438 (lambda* (#:key inputs outputs #:allow-other-keys)
13439 (let ((fish (assoc-ref inputs "fish")))
13440 ;; Specify the absolute file names of the various
13441 ;; programs so that everything works out-of-the-box.
13442 (make-file-writable "fish-completion.el")
13443 (emacs-substitute-variables
13444 "fish-completion.el"
13445 ("fish-completion-command"
13446 (string-append fish "/bin/fish")))))))))
13447 (home-page
13448 "https://gitlab.com/Ambrevar/emacs-fish-completion")
13449 (synopsis "Fish completion for Emacs pcomplete")
13450 (description
13451 "This package provides completion for the Fish shell to pcomplete (used
13452 by shell and Eshell). You can set it up globally with:
13453
13454 @example
13455 (when (and (executable-find \"fish\")
13456 (require 'fish-completion nil t))
13457 (global-fish-completion-mode))
13458 @end example
13459
13460 Alternatively, you can call the @code{fish-completion-mode} manually or in
13461 shell/Eshell mode hook.
13462
13463 The package @code{emacs-bash-completion} is an optional dependency: if available,
13464 @code{fish-completion-complete} can be configured to fall back on bash to further
13465 try completing. See @code{fish-completion-fallback-on-bash-p}.")
13466 (license license:gpl3+)))
13467
13468 (define-public emacs-gif-screencast
13469 (let ((commit "12b25442b97b84abae74ecb5190a9d14ff7cfe5a"))
13470 (package
13471 (name "emacs-gif-screencast")
13472 (version (git-version "20180616" "1" commit))
13473 (source
13474 (origin
13475 (method url-fetch)
13476 (uri (string-append
13477 "https://gitlab.com/Ambrevar/emacs-gif-screencast/"
13478 "repository/archive.tar.gz?ref="
13479 commit))
13480 (sha256
13481 (base32
13482 "0lc457i78xjkn5idr2aaiadkh76zcsksj84z0qh80a9y775syrgh"))))
13483 (build-system emacs-build-system)
13484 (inputs
13485 `(("scrot" ,scrot)
13486 ("imagemagick" ,imagemagick)
13487 ("gifsicle" ,gifsicle)))
13488 (arguments
13489 `(#:phases
13490 (modify-phases %standard-phases
13491 (add-after 'unpack 'configure
13492 (lambda* (#:key inputs outputs #:allow-other-keys)
13493 (let ((scrot (assoc-ref inputs "scrot"))
13494 (imagemagick (assoc-ref inputs "imagemagick"))
13495 (gifsicle (assoc-ref inputs "gifsicle")))
13496 ;; Specify the absolute file names of the various
13497 ;; programs so that everything works out-of-the-box.
13498 (emacs-substitute-variables
13499 "gif-screencast.el"
13500 ("gif-screencast-program"
13501 (string-append scrot "/bin/scrot"))
13502 ("gif-screencast-convert-program"
13503 (string-append imagemagick "/bin/convert"))
13504 ("gif-screencast-cropping-program"
13505 (string-append imagemagick "/bin/mogrify"))
13506 ("gif-screencast-optimize-program"
13507 (string-append imagemagick "/bin/gifsicle")))))))))
13508 (home-page
13509 "https://gitlab.com/Ambrevar/emacs-gif-screencast")
13510 (synopsis "One-frame-per-action GIF recording")
13511 (description
13512 "Call @code{gif-screencast} to start a recording.
13513 A screenshot is taken for every user action. Call
13514 @code{gif-screencast-stop} (<f9> by default) to finish recording and create
13515 the GIF result.")
13516 (license license:gpl3+))))
13517
13518 (define-public emacs-google-translate
13519 (package
13520 (name "emacs-google-translate")
13521 (version "0.11.18")
13522 (source
13523 (origin
13524 (method git-fetch)
13525 (uri (git-reference
13526 (url "https://github.com/atykhonov/google-translate/")
13527 (commit (string-append "v" version))))
13528 (file-name (git-file-name name version))
13529 (sha256
13530 (base32
13531 "1kbiqisqyk31l94gxsirhnrdkj51ylgcb16fk2wf7zigmf13jqzp"))))
13532 (build-system emacs-build-system)
13533 (home-page "https://github.com/atykhonov/google-translate")
13534 (synopsis "Emacs interface to Google Translate")
13535 (description
13536 "This package provides an Emacs interface to the Google Translate
13537 on-line service.")
13538 (license license:gpl3+)))
13539
13540 (define-public emacs-helm-company
13541 (let ((commit "d3fc093a0e833b4dee6561c00d6df3d62aa50f3f"))
13542 (package
13543 (name "emacs-helm-company")
13544 (version (git-version "0.2.3" "1" commit))
13545 (source
13546 (origin
13547 (method git-fetch)
13548 (uri (git-reference
13549 (url "https://github.com/Sodel-the-Vociferous/helm-company")
13550 (commit commit)))
13551 (file-name (git-file-name name version))
13552 (sha256
13553 (base32
13554 "1ciirsanhajdqm5iwl8k9ywf4jha1wdv4sc4d9kslyrfr9zn4q6k"))))
13555 (build-system emacs-build-system)
13556 (propagated-inputs
13557 `(("emacs-helm" ,emacs-helm)
13558 ("emacs-company" ,emacs-company)))
13559 (home-page "https://github.com/Sodel-the-Vociferous/helm-company")
13560 (synopsis "Helm interface for company-mode")
13561 (description
13562 "This is a Helm interface to company-mode, a text completion
13563 framework.")
13564 (license license:gpl3+))))
13565
13566 (define-public emacs-helm-descbinds
13567 (let ((commit "033be73f21778633813264ce1634a6e1ad873d8e"))
13568 (package
13569 (name "emacs-helm-descbinds")
13570 (version (git-version "1.13" "1" commit))
13571 (source
13572 (origin
13573 (method git-fetch)
13574 (uri (git-reference
13575 (url "https://github.com/emacs-helm/helm-descbinds")
13576 (commit commit)))
13577 (file-name (git-file-name name version))
13578 (sha256
13579 (base32
13580 "1n89p56qwa243w1c85i5awnaf7piwjsvfi7nmnsrwm33hix5dknk"))))
13581 (build-system emacs-build-system)
13582 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
13583 (home-page "https://github.com/emacs-helm/helm-descbinds")
13584 (synopsis "Convenient @code{describe-bindings} with Helm")
13585 (description
13586 "This package is a replacement of @code{describe-bindings} for Helm.
13587 @code{describe-bindings} is replaced with @code{helm-descbinds}. As usual,
13588 type @code{C-h b}, or any incomplete key sequence plus @code{C-h}, to run
13589 @code{helm-descbinds}. The bindings are presented in a similar way as
13590 @code{describe-bindings} does, but you can use completion to find the command
13591 you searched for and execute it, or view its documentation.")
13592 (license license:gpl3+))))
13593
13594 (define-public emacs-helm-emms
13595 (let ((commit "b785cb845a98a643eba9d5d53c9c0b4e6810a3cd"))
13596 (package
13597 (name "emacs-helm-emms")
13598 (version (git-version "1.3" "2" commit))
13599 (source
13600 (origin
13601 (method git-fetch)
13602 (uri (git-reference
13603 (url "https://github.com/emacs-helm/helm-emms")
13604 (commit commit)))
13605 (file-name (git-file-name name version))
13606 (sha256
13607 (base32
13608 "1595r09y3rmwd46nnhvjja3hb8j2ila295ijxv61cg52ws4wginh"))))
13609 (build-system emacs-build-system)
13610 (propagated-inputs
13611 `(("emacs-helm" ,emacs-helm)
13612 ("emacs-emms" ,emacs-emms)))
13613 (home-page
13614 "https://github.com/emacs-helm/helm-emms")
13615 (synopsis "Emms for Helm")
13616 (description "Helm interface for Emms to browse all tracks and all folders
13617 from @code{emms-source-file-default-directory}.")
13618 (license license:gpl3+))))
13619
13620 (define-public emacs-helm-exwm
13621 (let ((commit "56266f261ba3b3d2753b374b50da20eb768c06f5"))
13622 (package
13623 (name "emacs-helm-exwm")
13624 (version (git-version "20180703" "2" commit))
13625 (source
13626 (origin
13627 (method git-fetch)
13628 (uri (git-reference
13629 (url "https://github.com/emacs-helm/helm-exwm.git")
13630 (commit commit)))
13631 (sha256
13632 (base32 "064ziinqa5sdv7rfjn0y278l12kld176fr88k4h78pgf2f2n7cd8"))))
13633 (build-system emacs-build-system)
13634 (propagated-inputs
13635 `(("emacs-helm" ,emacs-helm)
13636 ("emacs-exwm" ,emacs-exwm)))
13637 (home-page
13638 "https://github.com/emacs-helm/helm-exwm")
13639 (synopsis "Helm for EXWM buffers")
13640 (description
13641 "@code{helm-exwm} runs a Helm session over the list of EXWM buffers.
13642 @code{helm-exwm-switch} is a convenience X application launcher using Helm to
13643 switch between the various windows of one or several specific applications.
13644 See @code{helm-exwm-switch-browser} for an example.")
13645 (license license:gpl3+))))
13646
13647 (define-public emacs-helm-flycheck
13648 (let ((commit "3cf7d3bb194acacc6395f88360588013d92675d6"))
13649 (package
13650 (name "emacs-helm-flycheck")
13651 (version (git-version "0.4" "1" commit))
13652 (source
13653 (origin
13654 (method git-fetch)
13655 (uri (git-reference
13656 (url "https://github.com/yasuyk/helm-flycheck")
13657 (commit commit)))
13658 (file-name (git-file-name name version))
13659 (sha256
13660 (base32
13661 "1a2yfxhz04klwhcandqvfzysxp6b7bxyxx1xk1x3kds5hif5fkl4"))))
13662 (build-system emacs-build-system)
13663 (propagated-inputs
13664 `(("emacs-dash" ,emacs-dash)
13665 ("emacs-flycheck" ,emacs-flycheck)
13666 ("emacs-helm" ,emacs-helm)))
13667 (home-page "https://github.com/yasuyk/helm-flycheck")
13668 (synopsis "Show Flycheck errors with Helm")
13669 (description
13670 "This integrates Flycheck with Helm.")
13671 (license license:gpl3+))))
13672
13673 (define-public emacs-helm-ls-git
13674 (let ((commit "76654c776a7f6e2e5290645e748aac2a746f7daa"))
13675 (package
13676 (name "emacs-helm-ls-git")
13677 (version (git-version "1.9.1" "1" commit))
13678 (source
13679 (origin
13680 (method git-fetch)
13681 (uri (git-reference
13682 (url "https://github.com/emacs-helm/helm-ls-git")
13683 (commit commit)))
13684 (file-name (git-file-name name version))
13685 (sha256
13686 (base32
13687 "0vsq1n3xl3ghy5zik2scm7jrs501n4kybdqd6yw6j0cv4jxdqbr0"))))
13688 (build-system emacs-build-system)
13689 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
13690 (home-page "https://github.com/emacs-helm/helm-ls-git")
13691 (synopsis "Helm interface for listing the files in a Git repository")
13692 (description
13693 "This package provides a Helm interface for Git files.
13694 @itemize
13695 @item Display the open buffers in project.
13696 @item Display a status source showing state of project (modified files etc.).
13697 @item Display a list of all files in project under git control.
13698 @item Quickly look at diffs of modified files.
13699 @item Allow switching to @code{git status} with your preferred frontend
13700 (vc-dir, Magit,etc.).
13701 @item Full integration of git-grep, also allow usage of @code{helm-grep} (you
13702 can use ack-grep instead of grep).
13703 @item Integrate usage of gid from id-utils.
13704 @item Full integration with @code{helm-find-files}, allow you to browse
13705 projects unrelated to current-buffer.
13706 @item In addition, all actions of type files and buffers are provided.
13707 @end itemize\n")
13708 (license license:gpl3+))))
13709
13710 (define-public emacs-helm-mu
13711 (let ((commit "77e6fea24e01481418738421dbcfe28ef1bd63cf"))
13712 (package
13713 (name "emacs-helm-mu")
13714 (version (git-version "20180513" "1" commit))
13715 (source
13716 (origin
13717 (method git-fetch)
13718 (uri (git-reference
13719 (url "https://github.com/emacs-helm/helm-mu.git")
13720 (commit commit)))
13721 (sha256
13722 (base32 "1lh0ahxdc5b2z18m9p30gwg8sbg33sjwkjr38p7h5xsm5fm7i0fz"))))
13723 (build-system emacs-build-system)
13724 (propagated-inputs
13725 `(("emacs-helm" ,emacs-helm)
13726 ("mu" ,mu)))
13727 (home-page
13728 "https://github.com/emacs-helm/helm-mu")
13729 (synopsis
13730 "Helm sources for searching emails and contacts")
13731 (description
13732 "Helm sources for searching emails and contacts using @code{mu} and
13733 @code{mu4e}. Mu is an indexer for maildirs and mu4e is a mutt-like MUA for
13734 Emacs build on top of mu. Mu is highly efficient making it possible to get
13735 instant results even for huge maildirs. It also provides search operators,
13736 e.g: @code{from:Peter to:Anne flag:attach search term}.")
13737 (license license:gpl3+))))
13738
13739 (define-public emacs-helm-pass
13740 (package
13741 (name "emacs-helm-pass")
13742 (version "0.3")
13743 (source
13744 (origin
13745 (method git-fetch)
13746 (uri (git-reference
13747 (url "https://github.com/emacs-helm/helm-pass")
13748 (commit version)))
13749 (file-name (git-file-name name version))
13750 (sha256
13751 (base32
13752 "0vglaknmir3yv4iwibwn8r40ran8d04gcyp99hx73ldmf3zqpnxv"))))
13753 (build-system emacs-build-system)
13754 (propagated-inputs
13755 `(("emacs-helm" ,emacs-helm)
13756 ("emacs-password-store" ,emacs-password-store)))
13757 (home-page "https://github.com/emacs-helm/helm-pass")
13758 (synopsis "Helm interface to pass, the standard Unix password manager")
13759 (description
13760 "Users of @code{helm-pass} may also be interested in functionality
13761 provided by other Emacs packages dealing with pass:
13762 @itemize
13763 @item @code{emacs-password-store}, which @code{helm-pass} relies on.
13764 @item @code{emacs-pass}, a major mode for @code{pass}.
13765 @item @code{auth-source-pass.el}: integration of Emacs' auth-source with
13766 @code{pass}, included in Emacs 26+).
13767 @end itemize\n")
13768 (license license:gpl3+)))
13769
13770 (define-public emacs-image+
13771 (let ((commit "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc"))
13772 (package
13773 (name "emacs-image+")
13774 (version (git-version "0.6.2" "1" commit))
13775 (source
13776 (origin
13777 (method git-fetch)
13778 (uri (git-reference
13779 (url "https://github.com/mhayashi1120/Emacs-imagex")
13780 (commit commit)))
13781 (file-name (git-file-name name version))
13782 (sha256
13783 (base32
13784 "0v66wk9nh0raih4jhrzmmyi5lbysjnmbv791vm2230ffi2hmwxnd"))))
13785 (build-system emacs-build-system)
13786 (inputs `(("imagemagick" ,imagemagick)))
13787 (arguments
13788 `(#:phases
13789 (modify-phases %standard-phases
13790 (add-after 'unpack 'configure
13791 (lambda* (#:key inputs outputs #:allow-other-keys)
13792 (let ((imagemagick (assoc-ref inputs "imagemagick")))
13793 ;; Specify the absolute file names of the various
13794 ;; programs so that everything works out-of-the-box.
13795 (chmod "image+.el" #o666)
13796 (emacs-substitute-variables
13797 "image+.el"
13798 ("imagex-convert-command"
13799 (string-append imagemagick "/bin/convert"))
13800 ("imagex-identify-command"
13801 (string-append imagemagick "/bin/identify")))))))))
13802 (home-page "https://github.com/mhayashi1120/Emacs-imagex")
13803 (synopsis "Image manipulation extensions for Emacs")
13804 (description
13805 "Image+ provides keybindings allowing you to zoom in or zoom out of an
13806 image, rotate it, save modified images, and more.")
13807 (license license:gpl3+))))
13808
13809 (define-public emacs-package-lint
13810 (let ((commit "69bb89d00ba212b734c676ad056aa793c450b288"))
13811 (package
13812 (name "emacs-package-lint")
13813 (version (git-version "0.5" "1" commit))
13814 (source
13815 (origin
13816 (method git-fetch)
13817 (uri (git-reference
13818 (url "https://github.com/purcell/package-lint")
13819 (commit commit)))
13820 (file-name (git-file-name name version))
13821 (sha256
13822 (base32
13823 "1hfricsgmy3x9snnd2p4xq6vnnv94qdsxxnxp07b3hqc9bhw31rq"))))
13824 (build-system emacs-build-system)
13825 (home-page "https://github.com/purcell/package-lint")
13826 (synopsis "Linting library for elisp package authors")
13827 (description
13828 "This provides a list of issues with the Emacs package metadata of a file,
13829 e.g. the package dependencies it requires. See function
13830 @code{package-lint-buffer}. Checks will currently be enabled only if a
13831 \"Package-Requires:\" or \"Package-Version:\" header is present in the
13832 file.")
13833 (license license:gpl3+))))
13834
13835 (define-public emacs-picpocket
13836 (let ((version "40")
13837 (commit "6fd88b8711c4370662c0f9c462170187d092a046"))
13838 (package
13839 (name "emacs-picpocket")
13840 (version version)
13841 (source
13842 (origin
13843 (method git-fetch)
13844 (uri (git-reference
13845 (url "https://github.com/johanclaesson/picpocket")
13846 (commit commit)))
13847 (file-name (git-file-name name version))
13848 (sha256
13849 (base32 "1mdzzxf7xm7zwrpnqqxa27d1cr31pd72d7ilbwljv13qp177a3yw"))))
13850 (build-system emacs-build-system)
13851 (arguments ; needed for running tests
13852 `(#:tests? #t
13853 #:emacs ,emacs
13854 #:test-command '("emacs" "--batch"
13855 "-l" "picpocket-test.el"
13856 "-f" "ert-run-tests-batch-and-exit")))
13857 (home-page "https://github.com/johanclaesson/picpocket")
13858 (synopsis "Image viewer for Emacs")
13859 (description
13860 "Picpocket is an image viewer for GNU Emacs. It has commands for:
13861
13862 @itemize
13863 @item File operations on the picture files (delete, move, copy, hardlink).
13864 @item Scale and rotate the picture.
13865 @item Associate pictures with tags which are saved to disk.
13866 @item Filter pictures according to tags.
13867 @item Customizing keystrokes for quick tagging and file operations.
13868 @item Undo and browse history of undoable commands.
13869 @end itemize")
13870 (license license:gpl3+))))
13871
13872 (define-public emacs-wgrep-helm
13873 ;; `emacs-wgrep-helm' was mistakenly added.
13874 (deprecated-package "emacs-wgrep-helm" emacs-wgrep))
13875
13876 (define-public emacs-mu4e-conversation
13877 (let ((commit "e7d4bfcb0d392b0aed1f705ccac2419a168d1f5e"))
13878 (package
13879 (name "emacs-mu4e-conversation")
13880 (version (git-version "20181126" "4" commit))
13881 (source
13882 (origin
13883 (method url-fetch)
13884 (uri (string-append
13885 "https://gitlab.com/Ambrevar/mu4e-conversation/"
13886 "repository/archive.tar.gz?ref="
13887 commit))
13888 (file-name (git-file-name name version))
13889 (sha256
13890 (base32
13891 "0b52hf9rm2afba9pvgink9bwqm705sk0y5qikp0ff5sk53wqvy29"))))
13892 (build-system emacs-build-system)
13893 (propagated-inputs
13894 `(("mu" ,mu)))
13895 (home-page
13896 "https://gitlab.com/Ambrevar/mu4e-conversation")
13897 (synopsis
13898 "Show a complete thread in a single buffer")
13899 (description
13900 "This package offers an alternate view to mu4e's e-mail display. It
13901 shows all e-mails of a thread in a single view, where each correspondent has
13902 their own face. Threads can be displayed linearly (in which case e-mails are
13903 displayed in chronological order) or as an Org document where the node tree
13904 maps the thread tree.")
13905 (license license:gpl3+))))
13906
13907 (define-public emacs-pinentry
13908 (let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
13909 (revision "1"))
13910 (package
13911 (name "emacs-pinentry")
13912 (version (git-version "0.1" revision commit))
13913 (source
13914 (origin
13915 (method url-fetch)
13916 (uri (string-append
13917 "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain"
13918 "/packages/pinentry/pinentry.el?id=" commit))
13919 (file-name (string-append "pinentry.el"))
13920 (sha256
13921 (base32
13922 "1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
13923 (build-system emacs-build-system)
13924 (propagated-inputs
13925 `(("gnupg" ,gnupg)))
13926 (home-page "https://elpa.gnu.org/packages/pinentry.html")
13927 (synopsis "GnuPG Pinentry server implementation")
13928 (description
13929 "This package allows GnuPG passphrase to be prompted through the
13930 minibuffer instead of graphical dialog.
13931
13932 To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
13933 reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
13934 server with @code{M-x pinentry-start}.")
13935 (license license:gpl3+))))
13936
13937 (define-public emacs-so-long
13938 (let ((commit "cfae473b1bf65f78ddb015159e667ec0103d881c")
13939 (revision "2"))
13940 (package
13941 (name "emacs-so-long")
13942 (version (git-version "1.0" revision commit))
13943 (source
13944 (origin
13945 (method git-fetch)
13946 (uri (git-reference
13947 (url "https://git.savannah.gnu.org/git/so-long.git")
13948 (commit commit)))
13949 (file-name (git-file-name name version))
13950 (sha256
13951 (base32
13952 "0g943n5cl9lz5s7hszg6yvp10xd1xvd8mfgxyg0yckmp8fqkswin"))))
13953 (build-system emacs-build-system)
13954 (home-page "https://www.emacswiki.org/emacs/SoLong")
13955 (synopsis "Improve performance in files with long lines")
13956 (description "This package improves the performance of Emacs when
13957 viewing files with long lines.")
13958 (license license:gpl3+))))
13959
13960 (define-public emacs-github-review
13961 (let ((commit "9c3ffe30fba5d02e9951e76d1a5be2ed046663da")
13962 (version "0.1")
13963 (revision "1"))
13964 (package
13965 (name "emacs-github-review")
13966 (version (git-version version revision commit))
13967 (source
13968 (origin
13969 (method git-fetch)
13970 (uri (git-reference
13971 (url "https://github.com/charignon/github-review")
13972 (commit commit)))
13973 (file-name (git-file-name name version))
13974 (sha256
13975 (base32
13976 "078rv6f2p3wrznhgvmkhd071bwy72007f5l2m2a0r1k2i3vbfaja"))))
13977 (build-system emacs-build-system)
13978 (inputs
13979 `(("emacs-dash" ,emacs-dash)
13980 ("emacs-s" ,emacs-s)
13981 ("emacs-ghub" ,emacs-ghub)))
13982 (home-page "https://github.com/charignon/github-review")
13983 (synopsis "Review GitHub pull requests within Emacs")
13984 (description "This package provides commands to pull in, comment on, and
13985 accept and reject GitHub pull requests.")
13986 (license license:gpl3+))))
13987
13988 (define-public emacs-deadgrep
13989 ;; We prefer a newer commit (four commits newer than release) because of a
13990 ;; bugfix for globbing.
13991 (let ((commit "329119c65126f7917d3910bc584f4191ba8f21ac")
13992 (revision "1"))
13993 (package
13994 (name "emacs-deadgrep")
13995 (version (git-version "0.8" revision commit))
13996 (source
13997 (origin
13998 (method git-fetch)
13999 (uri (git-reference
14000 (url "https://github.com/Wilfred/deadgrep")
14001 (commit commit)))
14002 (file-name (git-file-name name version))
14003 (sha256
14004 (base32
14005 "0fxf7gq9sjfkgpdfqx10w3l3nd4rwa8kv9plyxk1fqacb3s5m6ai"))))
14006 (build-system emacs-build-system)
14007 (inputs
14008 `(("emacs-dash" ,emacs-dash)
14009 ("emacs-s" ,emacs-s)
14010 ("emacs-spinner" ,emacs-spinner)))
14011 (home-page "https://github.com/Wilfred/deadgrep")
14012 (synopsis "Frontend for @code{ripgrep}")
14013 (description "This package provides an Emacs interface for performing
14014 searches with @code{ripgrep}.")
14015 (license license:gpl3+))))
14016
14017 (define-public emacs-focus
14018 (let ((commit "ab42b8779929beeb7878c7fb3d3ccd80d9327c7f")
14019 (version "0.1.1")
14020 (revision "1"))
14021 (package
14022 (name "emacs-focus")
14023 (version (git-version version revision commit))
14024 (source
14025 (origin
14026 (method git-fetch)
14027 (uri (git-reference
14028 (url "https://github.com/larstvei/Focus")
14029 (commit commit)))
14030 (file-name (git-file-name name version))
14031 (sha256
14032 (base32
14033 "079v1syid7h2vr2ya6hs6hl0pgj60qdsw60mqw4cj2zllmkrkwj4"))))
14034 (build-system emacs-build-system)
14035 (home-page "https://github.com/larstvei/Focus")
14036 (synopsis "Minor mode for focusing in on relevant text")
14037 (description "This package provides a minor mode that dims the color of
14038 text in neighboring sections.")
14039 (license license:gpl3+))))
14040
14041 (define-public emacs-pandoc-mode
14042 (package
14043 (name "emacs-pandoc-mode")
14044 (version "2.27.2")
14045 (source
14046 (origin
14047 (method git-fetch)
14048 (uri (git-reference
14049 (url "https://github.com/joostkremers/pandoc-mode")
14050 (commit version)))
14051 (file-name (git-file-name name version))
14052 (sha256
14053 (base32
14054 "04bqc7mhgkfks3nsvimd3rrriv4nqbksmv5ahlbbd03aqa2b0vrv"))))
14055 (build-system emacs-build-system)
14056 (propagated-inputs
14057 `(("emacs-dash" ,emacs-dash)
14058 ("emacs-hydra" ,emacs-hydra)))
14059 (home-page "https://github.com/joostkremers/pandoc-mode")
14060 (synopsis "Minor mode for interacting with Pandoc")
14061 (description "This package provides a Hydra menu for interacting with the
14062 Pandoc, the document-conversion tool.")
14063 (license license:bsd-3)))
14064
14065 (define-public emacs-ccls
14066 (let ((commit "2764ddd57b03646f0327ea680a954b4a67450aef")
14067 (version "0.1")
14068 (revision "1"))
14069 (package
14070 (name "emacs-ccls")
14071 (version (git-version version revision commit))
14072 (source
14073 (origin
14074 (method git-fetch)
14075 (uri (git-reference
14076 (url "https://github.com/MaskRay/emacs-ccls")
14077 (commit commit)))
14078 (file-name (git-file-name name version))
14079 (sha256
14080 (base32
14081 "16427jvzhjy8kpvlgl3qzkzppv98124hkgi8q8pv1h7m46k9lhh3"))))
14082 (build-system emacs-build-system)
14083 (propagated-inputs
14084 `(("emacs-dash" ,emacs-dash)
14085 ("emacs-projectile" ,emacs-projectile)
14086 ("emacs-lsp-mode" ,emacs-lsp-mode)))
14087 (home-page "https://github.com/MaskRay/emacs-ccls")
14088 (synopsis "Emacs support for the @code{ccls} language server")
14089 (description "This package extends @code{lsp-mode} to work with @code{C}
14090 and @code{C++} files through the @code{ccls} language server.")
14091 (license license:bsd-3))))
14092
14093 (define-public emacs-org-brain
14094 (package
14095 (name "emacs-org-brain")
14096 (version "0.5")
14097 (source
14098 (origin
14099 (method git-fetch)
14100 (uri (git-reference
14101 (url "https://github.com/Kungsgeten/org-brain.git")
14102 (commit "3faf9303af3f2356e3444e69c22dc6c5774047d1")))
14103 (file-name (git-file-name name version))
14104 (sha256
14105 (base32
14106 "1ad681zk6kckw2zbk0r4iaj4bw8cfqrbd1s3gdwgdjlzq81q9mmj"))))
14107 (build-system emacs-build-system)
14108 (home-page "https://github.com/Kungsgeten/org-brain")
14109 (synopsis "Org-mode wiki and concept-mapping for Emacs")
14110 (description "@code{emacs-org-brain} implements a variant of concept
14111 mapping in Emacs, using @code{org-mode}. An org-brain is a network of
14112 org-mode entries, where each entry is a file or a headline, and you can get a
14113 visual overview of the relationships between the entries: parents, children,
14114 siblings and friends. This visual overview can also be used to browse your
14115 entries. You can think of entries as nodes in a mind map, or pages in a
14116 wiki.")
14117 (license license:expat)))
14118
14119 (define-public emacs-recent-addresses
14120 (let ((commit "afbbfdc43b81e620acf827ca20d297e0c517b6eb")
14121 (revision "1"))
14122 (package
14123 (name "emacs-recent-addresses")
14124 (home-page "http://nschum.de/src/emacs/recent-addresses/")
14125 (version (git-version "0.1" revision commit))
14126 (source (origin
14127 (method git-fetch)
14128 (uri (git-reference
14129 ;; Note: Use a branch that works with Helm. Submitted
14130 ;; at <https://github.com/nschum/recent-addresses.el/pull/1>.
14131 (url "https://github.com/civodul/recent-addresses.el")
14132 (commit commit)))
14133 (sha256
14134 (base32
14135 "0ajrq0galjmdyjdjyxazykjyax3gh6hvfk4s7l657pi11g0q5zax"))
14136 (file-name (git-file-name name version))))
14137 (build-system emacs-build-system)
14138 (synopsis "Record recently-used email addressed and auto-complete them")
14139 (description
14140 "@code{recent-addresses} is an Emacs package that allows you to quickly
14141 look up previously used email addresses. It can be used alongside the Gnus
14142 email client.")
14143 (license license:gpl2+))))
14144
14145 (define-public emacs-fold-dwim
14146 (let ((commit "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b")
14147 (revision "0"))
14148 (package
14149 (name "emacs-fold-dwim")
14150 (version (git-version "1.2" revision commit))
14151 (home-page "https://github.com/emacsattic/fold-dwim")
14152 (source (origin
14153 (method git-fetch)
14154 (uri (git-reference (url home-page) (commit commit)))
14155 (sha256
14156 (base32
14157 "1yz1wis31asw6xa5maliyd1ck2q02xnnh7dc6swgj9cb4wi7k6i1"))
14158 (file-name (git-file-name name version))))
14159 (build-system emacs-build-system)
14160 (synopsis "Unified user interface for Emacs folding modes")
14161 (description
14162 "DWIM stands for \"do what I mean\", as in the idea that one keystroke
14163 can do different things depending on the context. In this package, it means
14164 that, if the cursor is in a currently hidden folded construction, we want to
14165 show it; if it's not, we want to hide whatever fold the cursor is in.")
14166 (license license:gpl2+))))
14167
14168 (define-public emacs-markup-faces
14169 (package
14170 (name "emacs-markup-faces")
14171 (version "1.0.0")
14172 (source
14173 (origin
14174 (method url-fetch)
14175 (uri (string-append "https://stable.melpa.org/packages/markup-faces-"
14176 version ".el"))
14177 (sha256
14178 (base32
14179 "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32"))))
14180 (build-system emacs-build-system)
14181 (home-page "https://github.com/sensorflo/markup-faces")
14182 (synopsis "Collection of Emacs faces for markup language modes")
14183 (description "emacs-markup-faces is like font-lock-faces, but tailored for
14184 markup languages instead programming languages. The sub group markup-faces-text
14185 is also intended for 'text viewing modes' such as info or (wo)man. This gives a
14186 common look and feel, or let's say theme, across different markup language modes
14187 and 'text viewing modes' respectively.")
14188 (license license:gpl3+)))
14189
14190 (define-public emacs-adoc-mode
14191 (package
14192 (name "emacs-adoc-mode")
14193 (version "0.6.6")
14194 (source
14195 (origin
14196 (method url-fetch)
14197 (uri (string-append "https://stable.melpa.org/packages/adoc-mode-"
14198 version ".el"))
14199 (sha256
14200 (base32
14201 "1c6hrgxxsnl2c19rgjykpm7r4xg9lp6bmk5z6bi7g8pqlrgwffcy"))))
14202 (build-system emacs-build-system)
14203 (propagated-inputs
14204 `(("emacs-markup-faces" ,emacs-markup-faces)))
14205 (home-page "https://github.com/sensorflo/adoc-mode/wiki")
14206 (synopsis "AsciiDoc mode for Emacs")
14207 (description "This package provides an Emacs major mode for editing AsciiDoc
14208 files. It focuses on highlighting the document to improve readability.")
14209 (license license:gpl2+)))
14210
14211 (define-public emacs-rust-mode
14212 (let ((commit
14213 ;; Last release is old (2016), use more recent commit to get bug
14214 ;; fixes.
14215 "64b4a2450e4d4c47f6307851c9b2598cd2254d68")
14216 (revision "0"))
14217 (package
14218 (name "emacs-rust-mode")
14219 (version (git-version "0.3.0" revision commit))
14220 (source (origin
14221 (method git-fetch)
14222 (uri
14223 (git-reference
14224 (url "https://github.com/rust-lang/rust-mode")
14225 (commit commit)))
14226 (file-name (git-file-name name version))
14227 (sha256
14228 (base32
14229 "0pbz36lljgb7bdgx3h3g0pq1nss1kvn8mhk1l3mknsmynd6w4nd8"))))
14230 (build-system emacs-build-system)
14231 (arguments
14232 `(#:phases
14233 (modify-phases %standard-phases
14234 (replace 'check
14235 (lambda _
14236 (invoke "sh" "run_rust_emacs_tests.sh"))))))
14237 (home-page "https://github.com/rust-lang/rust-mode")
14238 (synopsis "Major Emacs mode for editing Rust source code")
14239 (description "This package provides a major Emacs mode for editing Rust
14240 source code.")
14241 (license (list license:expat
14242 license:asl2.0)))))
14243
14244 (define-public emacs-ztree
14245 (let ((commit "c54425a094353ec40a8179f9eab3596f76c6cf94"))
14246 (package
14247 (name "emacs-ztree")
14248 (version (git-version "1.0.5" "1" commit))
14249 (source
14250 (origin
14251 (method git-fetch)
14252 (uri (git-reference
14253 (url "https://github.com/fourier/ztree")
14254 (commit commit)))
14255 (file-name (git-file-name name version))
14256 (sha256
14257 (base32
14258 "0j8fpxds8m1zi04nrs8vv21091abvh4n8ab76f1sgdxnp4l5cfb0"))))
14259 (build-system emacs-build-system)
14260 (home-page "https://github.com/fourier/ztree")
14261 (synopsis "Directory tree comparison mode for Emacs")
14262 (description "Ztree is a project dedicated to implementation of several
14263 text-tree applications inside GNU Emacs. It consists of 2 subprojects:
14264 @command{ztree-diff} and @command{ztree-dir} (the basis of
14265 @command{ztree-diff}).")
14266 (license license:gpl3))))
14267
14268 (define-public emacs-helm-org-contacts
14269 (let ((commit "0af703bd9a43032b89fdf5559673151d1ac2fffc"))
14270 (package
14271 (name "emacs-helm-org-contacts")
14272 (version (git-version "20180707" "1" commit))
14273 (source
14274 (origin
14275 (method git-fetch)
14276 (uri (git-reference
14277 (url "https://github.com/tmalsburg/helm-org-contacts")
14278 (commit commit)))
14279 (file-name (git-file-name name version))
14280 (sha256
14281 (base32
14282 "1cl7cm2ic9pg4vc9cdh84vzjj1x2lpd5ymimiva8h4l17kiphk4s"))))
14283 (build-system emacs-build-system)
14284 (propagated-inputs
14285 `(("emacs-dash" ,emacs-dash)
14286 ("emacs-helm" ,emacs-helm)
14287 ("emacs-s" ,emacs-s)))
14288 (home-page "https://github.com/tmalsburg/helm-org-contacts")
14289 (synopsis "Helm source for org-contacts")
14290 (description "This Helm source can be used to search contacts stored in
14291 org-contacts format. There are actions for inserting postal addresses, email
14292 addresses, and phone numbers in the buffer where @command{helm-org-contacts}
14293 was called.")
14294 (license license:gpl3))))
14295
14296 (define-public emacs-dired-du
14297 (package
14298 (name "emacs-dired-du")
14299 (version "0.5.1")
14300 (source
14301 (origin
14302 (method url-fetch)
14303 (uri (string-append
14304 "https://elpa.gnu.org/packages/dired-du-"
14305 version ".tar"))
14306 (sha256
14307 (base32
14308 "1091scnrjh0a4gja4z6jxic6ghy1yryv46qk9c76pmh50cpw6766"))))
14309 (build-system emacs-build-system)
14310 (home-page "http://elpa.gnu.org/packages/dired-du.html")
14311 (synopsis "Dired with recursive directory sizes")
14312 (description
14313 "Display the recursive size of directories in Dired.
14314 This file defines a minor mode @command{dired-du-mode} to show the recursive
14315 size of directories in Dired buffers. If @command{du} program is available,
14316 then the directory sizes are obtained with it. Otherwise, the directory sizes
14317 are obtained with Lisp. The former is faster and provide a more precise
14318 value. For directories where the user doesn't have read permission, the
14319 recursive size is not obtained. Once this mode is enabled, every new Dired
14320 buffer displays recursive dir sizes.")
14321 (license license:gpl3+)))
14322
14323 (define-public emacs-dired-rsync
14324 (package
14325 (name "emacs-dired-rsync")
14326 (version "0.4")
14327 (source (origin
14328 (method git-fetch)
14329 (uri (git-reference
14330 (url "https://github.com/stsquad/dired-rsync.git")
14331 (commit version)))
14332 (file-name (git-file-name name version))
14333 (sha256
14334 (base32
14335 "0jzbn0izxqgz719gb6fpr60zbcb6w1ama13ngpvrig82nlhs37fv"))))
14336 (build-system emacs-build-system)
14337 (propagated-inputs
14338 `(("emacs-s" ,emacs-s)
14339 ("emacs-dash" ,emacs-dash)))
14340 (home-page "https://github.com/stsquad/dired-rsync/")
14341 (synopsis "Support for rsync from Emacs dired buffers")
14342 (description "This package adds a single command @code{dired-rsync} which
14343 allows the user to copy marked files in a dired buffer via @code{rsync}. This
14344 is useful, especially for large files, because the copy happens in the
14345 background and doesn’t lock up Emacs. It is also more efficient than using
14346 tramps own encoding methods for moving data between systems.")
14347 (license license:gpl3+)))
14348
14349 (define-public emacs-pcre2el
14350 ;; Last release is very old so we get the latest commit.
14351 (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
14352 (package
14353 (name "emacs-pcre2el")
14354 (version (git-version "1.8" "1" commit))
14355 (source
14356 (origin
14357 (method git-fetch)
14358 (uri (git-reference
14359 (url "https://github.com/joddie/pcre2el")
14360 (commit commit)))
14361 (file-name (git-file-name name version))
14362 (sha256
14363 (base32
14364 "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"))))
14365 (build-system emacs-build-system)
14366 (home-page "https://github.com/joddie/pcre2el")
14367 (synopsis "Convert between PCRE, Emacs and rx regexp syntax")
14368 (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp
14369 Tools) is a utility for working with regular expressions in Emacs, based on a
14370 recursive-descent parser for regexp syntax. In addition to converting (a
14371 subset of) PCRE syntax into its Emacs equivalent, it can do the following:
14372
14373 @itemize
14374 @item convert Emacs syntax to PCRE
14375 @item convert either syntax to @code{rx}, an S-expression based regexp syntax
14376 @item untangle complex regexps by showing the parse tree in @code{rx} form and
14377 highlighting the corresponding chunks of code
14378 @item show the complete list of strings (productions) matching a regexp,
14379 provided the list is finite
14380 @item provide live font-locking of regexp syntax (so far only for Elisp
14381 buffers – other modes on the TODO list).
14382 @end itemize\n")
14383 (license license:gpl3))))
14384
14385 (define-public emacs-magit-todos
14386 (package
14387 (name "emacs-magit-todos")
14388 (version "1.3")
14389 (source
14390 (origin
14391 (method git-fetch)
14392 (uri (git-reference
14393 (url "https://github.com/alphapapa/magit-todos")
14394 (commit version)))
14395 (file-name (git-file-name name version))
14396 (sha256
14397 (base32
14398 "0gfm6wn2a4v5i9lfsvvin0kwpr9n96ddm3z4yf50jd3kg2igzry1"))))
14399 (build-system emacs-build-system)
14400 (propagated-inputs
14401 `(("emacs-async" ,emacs-async)
14402 ("emacs-dash" ,emacs-dash)
14403 ("emacs-f" ,emacs-f)
14404 ("emacs-hl-todo" ,emacs-hl-todo)
14405 ("magit" ,emacs-magit)
14406 ("emacs-pcre2el" ,emacs-pcre2el)
14407 ("emacs-s" ,emacs-s)))
14408 (home-page "https://github.com/alphapapa/magit-todos")
14409 (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer")
14410 (description "This package displays keyword entries from source code
14411 comments and Org files in the Magit status buffer. Activating an item jumps
14412 to it in its file. By default, it uses keywords from @code{hl-todo}, minus a
14413 few (like NOTE).")
14414 (license license:gpl3)))
14415
14416 (define-public emacs-git-annex
14417 ;; Unreleased version has a fontification fix.
14418 (let ((commit "ebdb44aef1883f1b2b8058e05d30fb9315b03707")
14419 (revision "1"))
14420 (package
14421 (name "emacs-git-annex")
14422 (version (string-append "1.1-" revision "." (string-take commit 8)))
14423 (source
14424 (origin
14425 (method git-fetch)
14426 (uri (git-reference
14427 (url "https://github.com/jwiegley/git-annex-el")
14428 (commit commit)))
14429 (file-name (git-file-name name version))
14430 (sha256
14431 (base32
14432 "1mzv40gj7k10h7h5s43my8msgzjpj680qprqa9pp8nbyhl49v3wh"))))
14433 (build-system emacs-build-system)
14434 (home-page "https://github.com/jwiegley/git-annex-el")
14435 (synopsis "Emacs integration for git-annex")
14436 (description "Enhances Dired and buffers visiting annex files with
14437 git-annex functionality. In Dired, the names of annex files are shortened by
14438 hiding the symbolic links and fontified based on whether content is present.
14439 Commands for performing some common operations (e.g., unlocking and adding
14440 files) are provided.")
14441 (license license:gpl2+))))
14442
14443 (define-public emacs-hackernews
14444 (let ((commit "916c3da8da45c757f5ec2faeed57fa370513d4ac"))
14445 (package
14446 (name "emacs-hackernews")
14447 (version (git-version "0.5.0" "1" commit))
14448 (source
14449 (origin
14450 (method git-fetch)
14451 (uri (git-reference
14452 (url "https://github.com/clarete/hackernews.el")
14453 (commit commit)))
14454 (file-name (git-file-name name version))
14455 (sha256
14456 (base32
14457 "09bxaaczana1cfvxyk9aagjvdszkj0j1yldl5r4xa60b59lxihsg"))))
14458 (build-system emacs-build-system)
14459 (home-page "https://github.com/clarete/hackernews.el")
14460 (synopsis "Hacker News client for Emacs")
14461 (description "The @command{hackernews} package is able to fetch stories
14462 from six different Hacker News feeds, namely top, new, best, ask, show and job
14463 stories. The default feed is top stories, which corresponds to the Hacker
14464 News homepage.")
14465 (license license:gpl3))))
14466
14467 (define-public emacs-youtube-dl
14468 (let ((commit "7c9d7a7d05b72a7d1b1257a36c5e2b2567b185dd"))
14469 (package
14470 (name "emacs-youtube-dl")
14471 (version (git-version "1.0" "1" commit))
14472 (source
14473 (origin
14474 (method git-fetch)
14475 (uri (git-reference
14476 (url "https://github.com/skeeto/youtube-dl-emacs/")
14477 (commit commit)))
14478 (file-name (git-file-name name version))
14479 (sha256
14480 (base32
14481 "0mh4s089a4x8s380agzb2306kdp1hl204px1n5rrrrdcls7imnh6"))))
14482 (build-system emacs-build-system)
14483 (inputs
14484 `(("youtube-dl" ,youtube-dl)))
14485 (arguments
14486 `(#:phases
14487 (modify-phases %standard-phases
14488 (add-after 'unpack 'configure
14489 (lambda* (#:key inputs #:allow-other-keys)
14490 (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
14491 ;; .el is read-only in git.
14492 (chmod "youtube-dl.el" #o644)
14493 ;; Specify the absolute file names of the various
14494 ;; programs so that everything works out-of-the-box.
14495 (emacs-substitute-variables
14496 "youtube-dl.el"
14497 ("youtube-dl-program"
14498 (string-append youtube-dl "/bin/youtube-dl")))))))))
14499 (home-page "https://github.com/skeeto/youtube-dl-emacs/")
14500 (synopsis "Emacs youtube-dl download manager")
14501 (description "This package manages a video download queue for
14502 @command{youtube-dl}, which serves as the back end. It manages a single
14503 @command{youtube-dl} subprocess, downloading one video at a time. New videos
14504 can be queued at any time.")
14505 (license license:unlicense))))
14506
14507 (define-public emacs-org-web-tools
14508 (package
14509 (name "emacs-org-web-tools")
14510 (version "1.0")
14511 (source
14512 (origin
14513 (method git-fetch)
14514 (uri (git-reference
14515 (url "https://github.com/alphapapa/org-web-tools")
14516 (commit version)))
14517 (file-name (git-file-name name version))
14518 (sha256
14519 (base32
14520 "0kak9h5ny00d39gnwspv53nadnag01brw2fq9zk5wpfc91h9bjng"))))
14521 (build-system emacs-build-system)
14522 (propagated-inputs
14523 `(("emacs-dash" ,emacs-dash)
14524 ("emacs-esxml" ,emacs-esxml)
14525 ("emacs-s" ,emacs-s)))
14526 (inputs
14527 `(("pandoc" ,ghc-pandoc)))
14528 (arguments
14529 `(#:phases
14530 (modify-phases %standard-phases
14531 (add-after 'unpack 'patch-exec-paths
14532 (lambda* (#:key inputs #:allow-other-keys)
14533 (let ((pandoc (assoc-ref inputs "pandoc")))
14534 (substitute* "org-web-tools.el"
14535 (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))
14536 #t))))))
14537 (home-page "https://github.com/alphapapa/org-web-tools")
14538 (synopsis "Display/Process web page as Org-mode content")
14539 (description "This package contains library functions and commands useful
14540 for retrieving web page content and processing it into Org-mode content.
14541
14542 For example, you can copy a URL to the clipboard or kill-ring, then run a
14543 command that downloads the page, isolates the “readable” content with
14544 @command{eww-readable}, converts it to Org-mode content with Pandoc, and
14545 displays it in an Org-mode buffer. Another command does all of that but
14546 inserts it as an Org entry instead of displaying it in a new buffer.")
14547 (license license:gpl3+)))
14548
14549 (define-public emacs-blimp
14550 (let ((commit "e420763d6d18b5d1be552cdbc47f91418343db03"))
14551 (package
14552 (name "emacs-blimp")
14553 (version (git-version "0.0.0" "1" commit))
14554 (source
14555 (origin
14556 (method git-fetch)
14557 (uri (git-reference
14558 (url "https://github.com/walseb/blimp")
14559 (commit commit)))
14560 (file-name (git-file-name name version))
14561 (sha256
14562 (base32
14563 "09wmhpym516b81dfq8smdmysh1fn610dzlyvyl2rkx8600f0fizd"))))
14564 (build-system emacs-build-system)
14565 (propagated-inputs
14566 `(("emacs-eimp" ,emacs-eimp)))
14567 (home-page "https://github.com/walseb/blimp")
14568 (synopsis "Emacs wrapper around all Imagemagick commands")
14569 (description "Blimp (Bustling Image Manipulation Package) is a complete
14570 wrapper around all Imagemagick commands with descriptions, autocompletion (for
14571 some commands) and hints displayed in prompt using @command{eimp.el} to
14572 execute its commands and resize images.")
14573 (license license:gpl3+))))
14574
14575 (define-public emacs-synosaurus
14576 (let ((commit "8bf95b935976ec0a1964cf175ed57cc5f6f93bdb"))
14577 (package
14578 (name "emacs-synosaurus")
14579 (version (git-version "0.1.0" "1" commit))
14580 (source
14581 (origin
14582 (method git-fetch)
14583 (uri (git-reference
14584 (url "https://github.com/hpdeifel/synosaurus")
14585 (commit commit)))
14586 (file-name (git-file-name name version))
14587 (sha256
14588 (base32
14589 "15by9jccab6kyplxa6k0glzaivxkqdigl33gl2qi2cvy6f2q7gva"))))
14590 (build-system emacs-build-system)
14591 (propagated-inputs
14592 `(("wordnet" ,wordnet)))
14593 (arguments
14594 `(#:phases
14595 (modify-phases %standard-phases
14596 (add-after 'unpack 'configure
14597 (lambda* (#:key inputs outputs #:allow-other-keys)
14598 (let ((wn (assoc-ref inputs "wordnet")))
14599 ;; .el is read-only in git.
14600 (chmod "synosaurus-wordnet.el" #o644)
14601 ;; Specify the absolute file names of the various
14602 ;; programs so that everything works out-of-the-box.
14603 (emacs-substitute-variables
14604 "synosaurus-wordnet.el"
14605 ("wordnet-command"
14606 (string-append wn "/bin/wn")))))))))
14607 (home-page "https://github.com/hpdeifel/synosaurus")
14608 (synopsis "Extensible thesaurus mode for Emacs")
14609 (description "Synosaurus is a thesaurus fontend for Emacs with pluggable
14610 backends, including the @command{wordnet} offline backend.")
14611 (license license:gpl3+))))
14612
14613 (define-public emacs-editorconfig
14614 (package
14615 (name "emacs-editorconfig")
14616 (version "0.8.0")
14617 (source
14618 (origin
14619 (method git-fetch)
14620 (uri (git-reference
14621 (url "https://github.com/editorconfig/editorconfig-emacs")
14622 (commit (string-append "v" version))))
14623 (file-name (git-file-name name version))
14624 (sha256
14625 (base32
14626 "1b2cpqz75pivl323bs60j5rszwi787x6vy68csycikqz9mhpmjn9"))))
14627 (build-system emacs-build-system)
14628 (home-page "https://github.com/editorconfig/editorconfig-emacs")
14629 (synopsis "Define and maintain consistent coding styles between different
14630 editors and IDEs")
14631 (description "The EditorConfig project consists of a file format for
14632 defining coding styles and a collection of text editor plugins that enable
14633 editors to read the file format and adhere to defined styles. EditorConfig
14634 files are easily readable and they work nicely with version control systems.")
14635 (license license:gpl3+)))
14636
14637 (define-public emacs-all-the-icons
14638 (package
14639 (name "emacs-all-the-icons")
14640 (version "3.2.0")
14641 (source
14642 (origin
14643 (method git-fetch)
14644 (uri (git-reference
14645 (url "https://github.com/domtronn/all-the-icons.el.git")
14646 (commit version)))
14647 (file-name (git-file-name name version))
14648 (sha256
14649 (base32
14650 "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn"))))
14651 (build-system emacs-build-system)
14652 (arguments
14653 `(#:include '("\\.el$" "^data/" "^fonts/")
14654 ;; Compiling "test/" fails with "Symbol’s value as variable is void:
14655 ;; all-the-icons--root-code". Ignoring tests.
14656 #:exclude '("^test/")
14657 #:tests? #f))
14658 (propagated-inputs
14659 `(("f" ,emacs-f)
14660 ("memoize" ,emacs-memoize)))
14661 (home-page "https://github.com/domtronn/all-the-icons.el")
14662 (synopsis "Collect icon fonts and propertize them within Emacs")
14663 (description "All-the-icons is a utility package to collect various icon
14664 fonts and propertize them within Emacs. Icon fonts allow you to propertize
14665 and format icons the same way you would normal text. This enables things such
14666 as better scaling of and anti aliasing of the icons.")
14667 ;; Package is released under Expat license. Elisp files are licensed
14668 ;; under GPL3+. Fonts come with various licenses: Expat for
14669 ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
14670 ;; "material-design-icons.ttf", and SIL OFL 1.1 for "fontawesome.ttf",
14671 ;; "ocitcons.ttf" and "weathericons.ttf".
14672 (license
14673 (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
14674
14675 (define-public emacs-powerline
14676 (package
14677 (name "emacs-powerline")
14678 (version "2.4")
14679 (source
14680 (origin
14681 (method git-fetch)
14682 (uri (git-reference
14683 (url "https://github.com/milkypostman/powerline.git")
14684 (commit version)))
14685 (file-name (git-file-name name version))
14686 (sha256
14687 (base32
14688 "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"))))
14689 (build-system emacs-build-system)
14690 (home-page "https://github.com/milkypostman/powerline/")
14691 (synopsis "Mode-line plugin for Emacs")
14692 (description "Powerline is a utility plugin which allows you to create
14693 a better-looking, more functional Emacs mode-line. A collection of predefined
14694 themes comes with the package.")
14695 (license license:gpl3+)))
14696
14697 (define-public emacs-spaceline
14698 (package
14699 (name "emacs-spaceline")
14700 (version "2.0.1")
14701 (source
14702 (origin
14703 (method git-fetch)
14704 (uri (git-reference
14705 (url "https://github.com/TheBB/spaceline.git")
14706 (commit (string-append "v" version))))
14707 (file-name (git-file-name name version))
14708 (sha256
14709 (base32
14710 "1q8r95zfrh0vxna5ml2pq9b9f66clfqcl4d2qy2aizkvzyxg6skl"))))
14711 (build-system emacs-build-system)
14712 (propagated-inputs
14713 `(("dash" ,emacs-dash)
14714 ("powerline" ,emacs-powerline)
14715 ("s" ,emacs-s)))
14716 (home-page "https://github.com/TheBB/spaceline")
14717 (synopsis "Powerline theme from Spacemacs")
14718 (description "Spaceline provides Spacemacs' mode-line theme.
14719 This package provides features for three kinds of users.
14720
14721 @itemize
14722 @item You just want to use the Spacemacs mode-line theme and forget about it.
14723 @item You want to use something similar to the Spacemacs mode-line theme, but
14724 with a handful of easy tweaks.
14725 @item You want an easy-to-use library for building your own mode-line from
14726 scratch, and you think the Spacemacs theme looks good.
14727 @end itemize")
14728 (license license:gpl3+)))
14729
14730 (define-public emacs-column-marker
14731 (package
14732 (name "emacs-column-marker")
14733 (version "9")
14734 (source
14735 (origin
14736 (method url-fetch)
14737 (uri "https://www.emacswiki.org/emacs/download/column-marker.el")
14738 (sha256 (base32 "05bv198zhqw5hqq6cr11mhz02dpca74hhp1ycwq369m0yb2naxy9"))))
14739 (build-system emacs-build-system)
14740 (home-page "https://www.emacswiki.org/emacs/ColumnMarker")
14741 (synopsis "Emacs mode for highlighting columns")
14742 (description
14743 "With @code{column-marker.el} you can highlight any number of text columns.
14744 Three such highlight column markers are provided by default. This is
14745 especially useful for languages like COBOL or Fortran where certain columns
14746 have special meaning. It is also handy for aligning text across long vertical
14747 distances. Multi-column characters, such as @kbd{TAB} are treated
14748 correctly.")
14749 (license license:gpl2+)))
14750
14751 (define-public emacs-slime-repl-ansi-color
14752 (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
14753 (package
14754 (name "emacs-slime-repl-ansi-color")
14755 (version (git-version "0.0.0" "1" commit))
14756 (source (origin
14757 (method git-fetch)
14758 (uri (git-reference
14759 (url "https://github.com/deadtrickster/slime-repl-ansi-color")
14760 (commit commit)))
14761 (file-name (git-file-name name version))
14762 (sha256
14763 (base32
14764 "0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
14765 (build-system emacs-build-system)
14766 (home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
14767 (synopsis "Color ANSI codes in the REPL of SLIME")
14768 (description "Color ANSI codes in the REPL of SLIME")
14769 (license license:gpl2+))))
14770
14771 (define-public emacs-helm-slime
14772 (package
14773 (name "emacs-helm-slime")
14774 (version "0.3.0")
14775 (source (origin
14776 (method git-fetch)
14777 (uri (git-reference
14778 (url "https://github.com/emacs-helm/helm-slime")
14779 (commit version)))
14780 (file-name (git-file-name name version))
14781 (sha256
14782 (base32
14783 "1qhb9446rpj17pm0hi3miy5gs5k3ld43bq29kzy0y26bf7ivfcjv"))))
14784 (build-system emacs-build-system)
14785 (propagated-inputs
14786 `(("emacs-helm" ,emacs-helm)
14787 ("emacs-slime" ,emacs-slime)))
14788 (home-page "https://github.com/emacs-helm/helm-slime")
14789 (synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs")
14790 (description "Helm-SLIME defines a few new commands:
14791
14792 @itemize
14793 @item helm-slime-complete: Select a symbol from the SLIME completion systems.
14794 @item helm-slime-list-connections: Yet another slime-list-connections with Helm.
14795 @item: helm-slime-apropos: Yet another slime-apropos with Helm.
14796 @item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it.
14797 @end itemize\n")
14798 (license license:gpl3+)))
14799
14800 (define-public emacs-gtk-look
14801 (package
14802 (name "emacs-gtk-look")
14803 (version "29")
14804 (source (origin
14805 (method url-fetch)
14806 (uri "https://download.tuxfamily.org/user42/gtk-look.el")
14807 (sha256
14808 (base32
14809 "14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp"))))
14810 (build-system emacs-build-system)
14811 (arguments
14812 `(#:phases
14813 (modify-phases %standard-phases
14814 (add-after 'unpack 'configure
14815 (lambda _
14816 ;; File is read-only.
14817 (chmod "gtk-look.el" #o644)
14818 (emacs-substitute-variables "gtk-look.el"
14819 ("gtk-lookup-devhelp-indices"
14820 '(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*"))))
14821 #t)))))
14822 (home-page "http://user42.tuxfamily.org/gtk-look/index.html")
14823 (synopsis "Find and display HTML documentation for GTK, GNOME and Glib")
14824 (description "@command{gtk-look} finds and displays HTML documentation for
14825 GTK, GNOME and Glib functions and variables in Emacs, similar to what
14826 info-lookup-symbol does for info files (C-h S). The documentation is expected
14827 to be devhelp indexes with HTML files. The location of the indexes can be
14828 customized. In addition to C code development @command{gtk-look} is good for
14829
14830 @itemize
14831 @item @command{perl-gtk2}, recognising class funcs like
14832 @command{Gtk2::Label->new} and bare method names like @command{set_text}.
14833 @item @command{guile-gnome}, recognising methods like @command{set-text} and
14834 classes like @command{<gtk-window>}.
14835 @end itemize\n")
14836 (license license:gpl3+)))
14837
14838 (define-public emacs-ov
14839 (package
14840 (name "emacs-ov")
14841 (version "1.0.6")
14842 (source (origin
14843 (method git-fetch)
14844 (uri (git-reference
14845 (url "https://github.com/ShingoFukuyama/ov.el.git")
14846 (commit version)))
14847 (file-name (git-file-name name version))
14848 (sha256
14849 (base32
14850 "0qxk2rf84j86syxi8xknsq252irwg7sz396v3bb4wqz4prpj0kzc"))))
14851 (build-system emacs-build-system)
14852 (home-page "https://github.com/ShingoFukuyama/ov.el")
14853 (synopsis "Overlay library for Emacs Lisp")
14854 (description "@code{ov.el} provides a simple way to manipulate overlays in
14855 Emacs.")
14856 (license license:gpl3+)))
14857
14858 (define-public emacs-matrix-client
14859 (let ((commit "a0623667b07a4bf60980c97b078e9faed97ace79"))
14860 (package
14861 (name "emacs-matrix-client")
14862 (version (git-version "0.0.0" "4" commit))
14863 (source (origin
14864 (method git-fetch)
14865 (uri (git-reference
14866 (url "https://github.com/jgkamat/matrix-client-el.git")
14867 (commit commit)))
14868 (file-name (git-file-name name version))
14869 (sha256
14870 (base32
14871 "1zya8id3y9wzjaj7nplq7br6nhm3lsskv0fkn1xr1y77fzcfgcdb"))))
14872 (build-system emacs-build-system)
14873 (arguments
14874 `(#:phases
14875 (modify-phases %standard-phases
14876 (add-after 'unpack 'add-missing-require
14877 ;; Fix a filter error at runtime due to a missing require.
14878 ;; Reported upstream:
14879 ;; <https://github.com/alphapapa/matrix-client.el/issues/76>
14880 (lambda _
14881 (substitute* "matrix-client-room.el"
14882 (("\\(require 'dash-functional\\)" all)
14883 (string-append all "\n" "(require 'anaphora)")))
14884 #t)))))
14885 (propagated-inputs
14886 `(("a" ,emacs-a)
14887 ("anaphora" ,emacs-anaphora)
14888 ("dash" ,emacs-dash)
14889 ("esxml" ,emacs-esxml)
14890 ("f" ,emacs-f)
14891 ("frame-purpose" ,emacs-frame-purpose)
14892 ("ht" ,emacs-ht)
14893 ("ov" ,emacs-ov)
14894 ("rainbow-identifiers" ,emacs-rainbow-identifiers)
14895 ("request" ,emacs-request)
14896 ("s" ,emacs-s)
14897 ("tracking" ,emacs-tracking)))
14898 (home-page "https://github.com/jgkamat/matrix-client-el")
14899 (synopsis "Matrix client for Emacs")
14900 (description "@code{matrix-client} is a simple chat UI to Matrix.org
14901 rooms. It also provides an API which allows Emacs to seamlessly create
14902 RPC channels with users and other software.")
14903 (license license:gpl3+))))
14904
14905 (define-public emacs-sesman
14906 (package
14907 (name "emacs-sesman")
14908 (version "0.3.3")
14909 (source
14910 (origin
14911 (method git-fetch)
14912 (uri (git-reference
14913 (url "https://github.com/vspinu/sesman.git")
14914 (commit (string-append "v" version))))
14915 (file-name (git-file-name name version))
14916 (sha256
14917 (base32
14918 "0r32f8ma9ddczxrrdz0nadp14j3zmk10q1ch02gb82synkx3xdra"))))
14919 (build-system emacs-build-system)
14920 (arguments
14921 `(#:tests? #t
14922 #:test-command '("make" "test")))
14923 (home-page "https://github.com/vspinu/sesman")
14924 (synopsis "Session manager for Emacs based IDEs")
14925 (description "Sesman provides facilities for session management and
14926 interactive session association with the current contexts (project, directory,
14927 buffers). While sesman can be used to manage arbitrary sessions, it primary
14928 targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
14929 (license license:gpl3+)))
14930
14931 (define-public emacs-buttercup
14932 (package
14933 (name "emacs-buttercup")
14934 (version "1.16")
14935 (source
14936 (origin
14937 (method git-fetch)
14938 (uri (git-reference
14939 (url "https://github.com/jorgenschaefer/emacs-buttercup.git")
14940 (commit (string-append "v" version))))
14941 (file-name (git-file-name name version))
14942 (sha256
14943 (base32
14944 "0dckgcyzsav6ld78bcyrrygy1cz1jvqgav6vy8f6klpmk3r8xrl1"))))
14945 (build-system emacs-build-system)
14946 (arguments
14947 `(#:tests? #t
14948 #:test-command '("make" "test")
14949 #:phases
14950 (modify-phases %standard-phases
14951 (add-after 'install 'install-bin
14952 (lambda* (#:key outputs #:allow-other-keys)
14953 (install-file "bin/buttercup"
14954 (string-append (assoc-ref outputs "out") "/bin"))
14955 #t)))))
14956 (home-page "https://github.com/jorgenschaefer/emacs-buttercup")
14957 (synopsis "Behavior driven emacs lisp testing framework")
14958 (description "Buttercup is a behavior-driven development framework for
14959 testing Emacs Lisp code. It allows to group related tests so they can share
14960 common set-up and tear-down code, and allows the programmer to \"spy\" on
14961 functions to ensure they are called with the right arguments during testing.")
14962 (license license:gpl3+)))
14963
14964 (define-public emacs-wordnut
14965 (let ((commit "feac531404041855312c1a046bde7ea18c674915")
14966 (revision "0"))
14967 (package
14968 (name "emacs-wordnut")
14969 (version (git-version "0.1" revision commit))
14970 (home-page "https://github.com/gromnitsky/wordnut")
14971 (source (origin
14972 (method git-fetch)
14973 (uri (git-reference (url home-page) (commit commit)))
14974 (sha256
14975 (base32
14976 "1jl0b6g64a9w0q7bfvwha67vgws5xd15b7mkfyb5gkz3pymqhfxn"))
14977 (patches
14978 (search-patches "emacs-wordnut-require-adaptive-wrap.patch"))
14979 (file-name (git-file-name name version))))
14980 (build-system emacs-build-system)
14981 (propagated-inputs
14982 `(("wordnet" ,wordnet)
14983 ("emacs-adaptive-wrap" ,emacs-adaptive-wrap)))
14984 (synopsis "Major mode for WordNet")
14985 (description "This Emacs package provides an interface for
14986 @code{wordnet}. Features include completion, if the query is not found
14987 too ambiguous and navigation in the result buffer.")
14988 (license license:gpl3+))))
14989
14990 (define-public emacs-frame-purpose
14991 (package
14992 (name "emacs-frame-purpose")
14993 (version "1.0")
14994 (source (origin
14995 (method git-fetch)
14996 (uri (git-reference
14997 (url "https://github.com/alphapapa/frame-purpose.el.git")
14998 (commit version)))
14999 (sha256
15000 (base32
15001 "0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"))
15002 (file-name (git-file-name name version))))
15003 (build-system emacs-build-system)
15004 (inputs
15005 `(("dash" ,emacs-dash)))
15006 (synopsis "Purpose-specific frames for Emacs")
15007 (description "@code{frame-purpose} makes it easy to open purpose-specific
15008 frames that only show certain buffers, e.g. by buffers’ major mode, their
15009 filename or directory, etc, with custom frame/X-window titles, icons, and
15010 other frame parameters.")
15011 (home-page "https://github.com/alphapapa/frame-purpose.el")
15012 (license license:gpl3+)))
15013
15014 (define-public emacs-arduino-mode
15015 (let ((commit "3e2bad4569ad26e929e6db2cbcff0d6d36812698")) ;no release yet
15016 (package
15017 (name "emacs-arduino-mode")
15018 (version (git-version "0" "0" commit))
15019 (source (origin
15020 (method git-fetch)
15021 (uri (git-reference
15022 (url "https://github.com/bookest/arduino-mode.git")
15023 (commit commit)))
15024 (sha256
15025 (base32
15026 "1yvaqjc9hadbnnay5fprnh890xsp53kidad1zpb4a5z4a5z61n3c"))
15027 (file-name (git-file-name name version))))
15028 (build-system emacs-build-system)
15029 (synopsis "Emacs major mode for editing Arduino sketches")
15030 (description "Emacs major mode for editing Arduino sketches.")
15031 (home-page "https://github.com/bookest/arduino-mode")
15032 (license license:gpl3+))))
15033
15034 (define-public emacs-general
15035 (let ((commit "675050199b5a30d54a24b58a367db32c0bdc47f5"))
15036 (package
15037 (name "emacs-general")
15038 (version (git-version "0" "0" commit))
15039 (home-page "https://github.com/noctuid/general.el")
15040 (source (origin
15041 (method git-fetch)
15042 (uri (git-reference
15043 (url (string-append home-page ".git"))
15044 (commit commit)))
15045 (sha256
15046 (base32
15047 "175yyhzk57yk1sskxh3d2jzhrh2waiibbcfsll167qxr117yji5h"))
15048 (file-name (git-file-name name version))))
15049 (build-system emacs-build-system)
15050 (synopsis "More convenient key definitions in emacs")
15051 (description "@code{general.el} provides a more convenient method for
15052 binding keys in emacs (for both evil and non-evil users). Like
15053 @code{use-package}, which provides a convenient, unified interface for
15054 managing packages, @code{general.el} is intended to provide a convenient,
15055 unified interface for key definitions. While this package does implement some
15056 completely new functionality (such as the ability to make vim-style
15057 keybindings under non-prefix keys with an optional timeout), its primary
15058 purpose is to build on existing functionality to make key definition more
15059 clear and concise. @code{general-define-key} is user-extensible and supports
15060 defining multiple keys in multiple keymaps at once, implicitly wrapping key
15061 strings with (@code{kbd ...}), using named prefix key sequences (like the
15062 leader key in vim), and much more.")
15063 (license license:gpl3+))))
15064
15065 (define-public emacs-tldr
15066 (let ((commit "398b197c8d2238628b07e1b32d0f373876279f4c"))
15067 (package
15068 (name "emacs-tldr")
15069 (version (git-version "0" "0" commit))
15070 (home-page "https://github.com/kuanyui/tldr.el")
15071 (source (origin
15072 (method git-fetch)
15073 (uri (git-reference
15074 (url (string-append home-page ".git"))
15075 (commit commit)))
15076 (sha256
15077 (base32
15078 "0iq7qlis6c6r2qkdpncrhh5vsihkhvy5x4y1y8cjb7zxkh62w33f"))
15079 (file-name (git-file-name name version))))
15080 (build-system emacs-build-system)
15081 (synopsis "Simplified and community-driven man pages for Emacs")
15082 (description "@code{emacs-tldr} allows the user to access tldr pages
15083 from within emacs. The @code{tldr} pages are a community effort to simplify
15084 the man pages with practical examples.")
15085 (license license:wtfpl2))))
15086
15087 (define-public emacs-window-layout
15088 (package
15089 (name "emacs-window-layout")
15090 (version "1.4")
15091 (home-page "https://github.com/kiwanami/emacs-window-layout")
15092 (source (origin
15093 (method git-fetch)
15094 (uri (git-reference
15095 (url home-page)
15096 (commit (string-append "v" version))))
15097 (sha256
15098 (base32
15099 "0wgqi8r844lbx52fn6az8c1n8m681rp6dkfzd54wmdk1ka7zmvv6"))
15100 (file-name (git-file-name name version))))
15101 (build-system emacs-build-system)
15102 (synopsis "Simple window layout management framework for emacs")
15103 (description "A window-layout management library that can split a frame
15104 or a window into some windows according to a layout recipe.")
15105 (license license:gpl3+)))
15106
15107 (define-public emacs-e2wm
15108 (package
15109 (name "emacs-e2wm")
15110 (version "1.4")
15111 (home-page "https://github.com/kiwanami/emacs-window-manager")
15112 (source (origin
15113 (method git-fetch)
15114 (uri (git-reference
15115 (url home-page)
15116 (commit (string-append "v" version))))
15117 (sha256
15118 (base32
15119 "12midsrx07pdrsr1qbl2rpi7xyhxqx08bkz7n7gf8vsmqkpfp56s"))
15120 (file-name (git-file-name name version))))
15121 (build-system emacs-build-system)
15122 (propagated-inputs
15123 `(("emacs-window-layout" ,emacs-window-layout)))
15124 (synopsis "Equilibrium Emacs Window Manager")
15125 (description "E2WM is a window manager for Emacs. It enables to
15126 customize the place of pop-up window, how the windows are split, how the
15127 buffers are located in the windows, keybinds to manipulate windows and
15128 buffers, etc. It also has plug-ins to help your Emacs life.")
15129 (license license:gpl3+)))
15130
15131 (define-public emacs-ctable
15132 (let ((commit "b8830d1ca95abb100a81bc32011bd17d5ecba000"))
15133 (package
15134 (name "emacs-ctable")
15135 (version (git-version "0.1.2" "1" commit))
15136 (home-page "https://github.com/kiwanami/emacs-ctable")
15137 (source (origin
15138 (method git-fetch)
15139 (uri (git-reference
15140 (url home-page)
15141 (commit commit)))
15142 (sha256
15143 (base32
15144 "0pg303pnqscrsbx9579hc815angszsgf9vpd2z2f8p4f4ka6a00h"))
15145 (file-name (git-file-name name version))))
15146 (build-system emacs-build-system)
15147 (synopsis "Table component for Emacs Lisp")
15148 (description "This program is a table component for Emacs Lisp. Other
15149 programs can use this table component for the application UI.")
15150 (license license:gpl3+))))
15151
15152 (define-public emacs-epc
15153 (let ((commit "e1bfa5ca163273859336e3cc89b4b6460f7f8cda"))
15154 (package
15155 (name "emacs-epc")
15156 (version (git-version "0.1.1" "1" commit))
15157 (home-page "https://github.com/kiwanami/emacs-epc")
15158 (source (origin
15159 (method git-fetch)
15160 (uri (git-reference
15161 (url home-page)
15162 (commit commit)))
15163 (sha256
15164 (base32
15165 "15nkrjgi64f829isfd6xrhl4zw8jirr8pkas7nisrbk1av868hx0"))
15166 (file-name (git-file-name name version))))
15167 (build-system emacs-build-system)
15168 (propagated-inputs
15169 `(("emacs-deferred" ,emacs-deferred)
15170 ("emacs-ctable" ,emacs-ctable)))
15171 (synopsis "RPC stack for Emacs Lisp")
15172 (description "This program is an asynchronous RPC stack for Emacs.
15173 Using this RPC stack, Emacs can communicate with the peer process
15174 smoothly. Because the protocol employs S-expression encoding and consists of
15175 asynchronous communications, the RPC response is fairly good.")
15176 (license license:gpl3+))))
15177
15178 (define-public emacs-edbi
15179 (let ((commit "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))
15180 (package
15181 (name "emacs-edbi")
15182 (version (git-version "0.1.3" "1" commit))
15183 (home-page "https://github.com/kiwanami/emacs-edbi")
15184 (source (origin
15185 (method git-fetch)
15186 (uri (git-reference
15187 (url home-page)
15188 (commit commit)))
15189 (sha256
15190 (base32
15191 "0x0igyvdcm4863n7zndvcv6wgzwgn7324cbfjja6xd7r0k936zdy"))
15192 (file-name (git-file-name name version))))
15193 (build-system emacs-build-system)
15194 (inputs
15195 `(("perl" ,perl)
15196 ("perl-rpc-epc-service" ,perl-rpc-epc-service)
15197 ("perl-dbi" ,perl-dbi)
15198 ;; TODO: Adding support for perl-dbd-mysql and others would
15199 ;; dramatically increase the closure size. Make several packages?
15200 ("perl-dbd-sqlite" ,perl-dbd-sqlite)))
15201 (propagated-inputs
15202 `(("emacs-e2wm" ,emacs-e2wm)
15203 ("emacs-epc" ,emacs-epc)))
15204 (arguments
15205 `(#:include '("\\.el$" "\\.pl$")
15206 #:phases
15207 (modify-phases %standard-phases
15208 (add-after 'install 'patch-path
15209 (lambda* (#:key inputs outputs #:allow-other-keys)
15210 (let ((perl (assoc-ref inputs "perl"))
15211 (dir (string-append (assoc-ref outputs "out")
15212 "/share/emacs/site-lisp/guix.d/edbi-"
15213 ,version)))
15214 (substitute* (string-append dir "/edbi.el")
15215 (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
15216 (chmod (string-append dir "/edbi-bridge.pl") #o555)
15217 (wrap-program (string-append dir "/edbi-bridge.pl")
15218 `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))
15219 #t))))))
15220 (synopsis "Database Interface for Emacs Lisp")
15221 (description "This program connects the database server through Perl's
15222 DBI, and provides DB-accessing API and the simple management UI.")
15223 (license license:gpl3+))))
15224
15225 (define-public emacs-edbi-sqlite
15226 (let ((commit "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f"))
15227 (package
15228 (name "emacs-edbi-sqlite")
15229 (version (git-version "0.1.1" "1" commit))
15230 (home-page "https://github.com/proofit404/edbi-sqlite")
15231 (source (origin
15232 (method git-fetch)
15233 (uri (git-reference
15234 (url home-page)
15235 (commit commit)))
15236 (sha256
15237 (base32
15238 "1vll81386fx90lq5sy4rlxcik6mvw7zx5cc51f0yaca9bkcckp51"))
15239 (file-name (git-file-name name version))))
15240 (build-system emacs-build-system)
15241 (propagated-inputs
15242 `(("emacs-edbi" ,emacs-edbi)))
15243 (synopsis "Open SQLite files in Emacs")
15244 (description "This package is a convenience wrapper for @command{edbi}
15245 to open SQLite databases.")
15246 (license license:gpl3+))))
15247
15248 (define-public emacs-nix-mode
15249 (package
15250 (name "emacs-nix-mode")
15251 (version "1.4.1")
15252 (source
15253 (origin
15254 (method git-fetch)
15255 (uri (git-reference
15256 (url "https://github.com/NixOS/nix-mode.git")
15257 (commit (string-append "v" version))))
15258 (file-name (git-file-name name version))
15259 (sha256
15260 (base32 "04xpgg9nba5m1bl7ci5l456whcb8nfhsbvgxyx89bp0zqgr005q7"))))
15261 (build-system emacs-build-system)
15262 (inputs
15263 `(("emacs-company" ,emacs-company)
15264 ("emacs-json-mode" ,emacs-json-mode)
15265 ("emacs-mmm-mode" ,emacs-mmm-mode)))
15266 (home-page "https://github.com/NixOS/nix-mode")
15267 (synopsis "Emacs major mode for editing Nix expressions")
15268 (description "@code{nixos-mode} provides an Emacs major mode for editing
15269 Nix expressions. It supports syntax highlighting, indenting and refilling of
15270 comments.")
15271 (license license:lgpl2.1+)))
15272
15273 (define-public emacs-simple-mpc
15274 ;; There have been no releases.
15275 (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
15276 (revision "1"))
15277 (package
15278 (name "emacs-simple-mpc")
15279 (version (git-version "0" revision commit))
15280 (source
15281 (origin
15282 (method git-fetch)
15283 (uri (git-reference
15284 (url "https://github.com/jorenvo/simple-mpc.git")
15285 (commit commit)))
15286 (file-name (git-file-name name version))
15287 (sha256
15288 (base32
15289 "1ja06pv007cmzjjgka95jlg31k7d29jrih1yxyblsxv85s9sg21q"))))
15290 (build-system emacs-build-system)
15291 (propagated-inputs `(("emacs-s" ,emacs-s)))
15292 (home-page "https://github.com/jorenvo/simple-mpc")
15293 (synopsis "Simple Emacs frontend to mpc")
15294 (description "This package provides an Emacs major mode which acts as a
15295 front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).")
15296 (license license:gpl3+))))
15297
15298 (define-public emacs-mkmcc-gnuplot-mode
15299 (package
15300 (name "emacs-mkmcc-gnuplot-mode")
15301 (version "1.2.0")
15302 (source
15303 (origin
15304 (method git-fetch)
15305 (uri (git-reference
15306 (url "https://github.com/mkmcc/gnuplot-mode")
15307 (commit "601f6392986f0cba332c87678d31ae0d0a496ce7")))
15308 (file-name (git-file-name name version))
15309 (sha256
15310 (base32
15311 "14f0yh1rjqc3337j4sbqzfb7pjim2c8a7wk1a73xkrdkmjn82vgb"))))
15312 (build-system emacs-build-system)
15313 (home-page "https://mkmcc.github.io/software/gnuplot-mode.html")
15314 (synopsis "Minimal emacs major mode for editing gnuplot scripts")
15315 (description "@code{emacs-mkmcc-gnuplot-mode} is a minimal emacs major
15316 mode for editing gnuplot scripts. It provides syntax highlighting,
15317 indentation and a command to plot the file.")
15318 (license license:gpl3+)))
15319
15320 (define-public emacs-dtrt-indent
15321 (package
15322 (name "emacs-dtrt-indent")
15323 (version "0.8")
15324 (source (origin
15325 (method git-fetch)
15326 (uri (git-reference
15327 (url "https://github.com/jscheid/dtrt-indent")
15328 (commit version)))
15329 (file-name (git-file-name name version))
15330 (sha256
15331 (base32
15332 "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z"))))
15333 (build-system emacs-build-system)
15334 (home-page "https://github.com/jscheid/dtrt-indent")
15335 (synopsis "Minor mode that guesses the indentation offset")
15336 (description "This package provides a minor mode that guesses the
15337 indentation offset originally used for creating source code files and
15338 transparently adjusts the corresponding settings in Emacs, making it more
15339 convenient to edit foreign files.")
15340 (license license:gpl2+)))
15341
15342 (define-public emacs-repo
15343 (package
15344 (name "emacs-repo")
15345 (version "0.1.3")
15346 (source (origin
15347 (method git-fetch)
15348 (uri (git-reference
15349 (url "https://github.com/canatella/repo-el")
15350 (commit version)))
15351 (file-name (git-file-name name version))
15352 (sha256
15353 (base32
15354 "0rbvcvm7bfr6ncji7cllfxyyr6x7n9fx863byp243phsj3n93adz"))))
15355 (build-system emacs-build-system)
15356 (native-inputs
15357 `(("emacs-el-mock" ,emacs-el-mock)
15358 ("ert-runner" ,emacs-ert-runner)))
15359 (propagated-inputs
15360 `(("emacs-f" ,emacs-f)
15361 ("magit" ,emacs-magit)))
15362 (home-page "https://github.com/canatella/repo-el")
15363 (synopsis "Emacs interface for the Google Repo tool")
15364 (description "This package provides integration of the Google Repo tool
15365 with emacs. It displays the output of the @code{repo status} command in a
15366 buffer and launches Magit from the status buffer for the project at point.")
15367 (license license:gpl3+)))
15368
15369 (define-public emacs-alect-themes
15370 (package
15371 (name "emacs-alect-themes")
15372 (version "0.9")
15373 (source (origin
15374 (method git-fetch)
15375 (uri (git-reference
15376 (url "https://github.com/alezost/alect-themes")
15377 (commit (string-append "v" version))))
15378 (file-name (git-file-name name version))
15379 (sha256
15380 (base32
15381 "0nffxpdm0sa7bynwi0rmlwpc4qmvbda5ankhzz7fmk4ap9fkjxv9"))))
15382 (build-system emacs-build-system)
15383 (home-page "https://github.com/alezost/alect-themes")
15384 (synopsis "Low contrast, light, dark and black color theme for Emacs")
15385 (description "@code{emacs-alect-themes} provides configurable light, dark
15386 and black color themes for Emacs. The themes are intended to be used with
15387 GUI.")
15388 (license license:gpl3+)))
15389
15390 (define-public emacs-google-c-style
15391 (let ((commit "6271f3f473ceb3a7fef99388a3040903b1a145f1")
15392 (revision "0"))
15393 (package
15394 (name "emacs-google-c-style")
15395 (version (git-version "0.1" revision commit))
15396 (source (origin
15397 (method git-fetch)
15398 (uri (git-reference
15399 (url "https://github.com/google/styleguide")
15400 (commit commit)))
15401 (file-name (git-file-name name version))
15402 (sha256
15403 (base32
15404 "1jghyyasdl15c4gaqaxmdn43am63k6bykn5ab83f1ahv9zi1krxk"))))
15405 (build-system emacs-build-system)
15406 (home-page "https://github.com/google/styleguide")
15407 (synopsis "Emacs settings file for Google C/C++ style")
15408 (description "@code{emacs-google-c-style} provides an Emacs settings
15409 file for Google C and C++ style.")
15410 (license license:gpl1+))))
15411
15412 (define-public emacs-redshank
15413 (let ((commit "f98e68f532e622bcd464292ca4a9cf5fbea14ebb")
15414 (revision "1"))
15415 (package
15416 (name "emacs-redshank")
15417 (version (git-version "0.1" revision commit))
15418 (source (origin
15419 (method git-fetch)
15420 (uri (git-reference
15421 (url "http://www.foldr.org/~michaelw/projects/redshank.git")
15422 (commit commit)))
15423 (file-name (git-file-name name version))
15424 (sha256
15425 (base32
15426 "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p"))))
15427 (build-system emacs-build-system)
15428 (propagated-inputs
15429 `(("emacs-paredit" ,emacs-paredit)))
15430 (home-page "http://www.foldr.org/~michaelw/emacs/redshank/")
15431 (synopsis "Common Lisp Editing Extensions (for Emacs)")
15432 (description "Redshank is a collection of code-wrangling Emacs macros
15433 mostly geared towards Common Lisp, but some are useful for other Lisp
15434 dialects, too. Redshank's code transformations aim to be expression-based (as
15435 opposed to character-based).")
15436 (license license:gpl1+))))
15437
15438 (define-public emacs-disk-usage
15439 (package
15440 (name "emacs-disk-usage")
15441 (version "1.3.3")
15442 (source
15443 (origin
15444 (method git-fetch)
15445 (uri (git-reference
15446 (url "https://gitlab.com/Ambrevar/emacs-disk-usage.git")
15447 (commit version)))
15448 (file-name (git-file-name name version))
15449 (sha256
15450 (base32
15451 "0hv2gsd8k5fbjgckgiyisq4rn1i7y4rchbjy8kmixjv6mx563bll"))))
15452 (build-system emacs-build-system)
15453 (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
15454 (synopsis "Sort and browse disk usage listings with Emacs")
15455 (description "Disk Usage is a file system analyzer: it offers a tabulated
15456 view of file listings sorted by size. Directory sizes are computed
15457 recursively. The results are cached for speed.")
15458 (license license:gpl3+)))
15459
15460 (define-public emacs-orgit
15461 (package
15462 (name "emacs-orgit")
15463 (version "1.5.3")
15464 (home-page "https://github.com/magit/orgit")
15465 (source (origin
15466 (method git-fetch)
15467 (uri (git-reference
15468 (url home-page)
15469 (commit (string-append "v" version))))
15470 (file-name (git-file-name name version))
15471 (sha256
15472 (base32
15473 "1ywavzki510rslsgfm0cnn3mlh644p61ha2nfb715xhkg7cd3j9g"))))
15474 (build-system emacs-build-system)
15475 (propagated-inputs
15476 `(("emacs-dash" ,emacs-dash)
15477 ("emacs-magit" ,emacs-magit)))
15478 (synopsis "Support for Org links to Magit buffers")
15479 (description "This package defines several Org link types, which can be
15480 used to link to certain Magit buffers. Use the command
15481 @command{org-store-link} while such a buffer is current to store a link.
15482 Later you can insert it into an Org buffer using the command
15483 @code{org-insert-link}.")
15484 (license license:gpl3+)))
15485
15486 (define-public emacs-amx
15487 (package
15488 (name "emacs-amx")
15489 (version "3.2")
15490 (source (origin
15491 (method git-fetch)
15492 (uri (git-reference
15493 (url "https://github.com/DarwinAwardWinner/amx")
15494 (commit (string-append "v" version))))
15495 (file-name (git-file-name name version))
15496 (sha256
15497 (base32
15498 "0bb8y1dmzyqkrb4mg6zndcsxppby3glridv2aap2pv05gv8kx7mj"))))
15499 (build-system emacs-build-system)
15500 (propagated-inputs `(("emacs-s" ,emacs-s)))
15501 (home-page "https://github.com/DarwinAwardWinner/amx")
15502 (synopsis "Alternative interface for M-x")
15503 (description "Amx is an alternative interface for M-x in Emacs. It
15504 provides several enhancements over the ordinary
15505 @code{execute-extended-command}, such as prioritizing your most-used commands
15506 in the completion list and showing keyboard shortcuts, and it supports several
15507 completion systems for selecting commands, such as ido and ivy.")
15508 (license license:gpl3+)))
15509
15510 (define-public emacs-lorem-ipsum
15511 (let ((commit "4b39f6fed455d67f635b3837cf5668bf74d0f6cd"))
15512 (package
15513 (name "emacs-lorem-ipsum")
15514 (version (git-version "0.2" "1" commit))
15515 (home-page "https://github.com/jschaf/emacs-lorem-ipsum/")
15516 (source (origin
15517 (method git-fetch)
15518 (uri (git-reference
15519 (url home-page)
15520 (commit commit)))
15521 (file-name (git-file-name name version))
15522 (sha256
15523 (base32
15524 "0a3b18p3vdjci89prsgdzjnfxsl8p67vjhf8ai4qdng7zvh50lir"))))
15525 (build-system emacs-build-system)
15526 (synopsis "Insert dummy pseudo Latin text in Emacs")
15527 (description "This package provides convenience functions to insert
15528 dummy Latin text into a buffer. This can be useful if you need to produce
15529 paragraphs or pages of text for testing purposes.")
15530 (license license:gpl3+))))
15531
15532 (define-public emacs-lisp-extra-font-lock
15533 (let ((commit "4605eccbe1a7fcbd3cacf5b71249435413b4db4f"))
15534 (package
15535 (name "emacs-lisp-extra-font-lock")
15536 (version (git-version "0.0.6" "1" commit))
15537 (home-page "https://github.com/Lindydancer/lisp-extra-font-lock")
15538 (source (origin
15539 (method git-fetch)
15540 (uri (git-reference
15541 (url home-page)
15542 (commit commit)))
15543 (file-name (git-file-name name version))
15544 (sha256
15545 (base32
15546 "152vcp3mdlv33jf5va4rinl1d0k960gnfhbrqqrafazgx9j3ya8w"))))
15547 (build-system emacs-build-system)
15548 (synopsis "Highlight bound variables and quoted expressions in Emacs")
15549 (description "This package highlight the location where local variables
15550 is created (bound, for example, by let) as well as quoted and backquoted
15551 constant expressions.")
15552 (license license:gpl3+))))
15553
15554 (define-public emacs-docker-tramp
15555 (package
15556 (name "emacs-docker-tramp")
15557 (version "0.1")
15558 (source
15559 (origin
15560 (method git-fetch)
15561 (uri (git-reference
15562 (url "https://github.com/emacs-pe/docker-tramp.el")
15563 (commit (string-append "v" version))))
15564 (file-name (git-file-name name version))
15565 (sha256
15566 (base32
15567 "0lxvzmfg52fhxrhbvp92zwp7cv4i1rlxnkyyzgngj3sjm7y60yvg"))))
15568 (build-system emacs-build-system)
15569 (home-page "https://github.com/emacs-pe/docker-tramp.el")
15570 (synopsis "TRAMP integration for docker containers")
15571 (description
15572 "This package provides a TRAMP method for Docker containers.")
15573 (license license:gpl3+)))
15574
15575 (define-public emacs-docker
15576 (package
15577 (name "emacs-docker")
15578 (version "1.2.0")
15579 (source (origin
15580 (method git-fetch)
15581 (uri (git-reference
15582 (url "https://github.com/Silex/docker.el")
15583 (commit version)))
15584 (file-name (git-file-name name version))
15585 (sha256
15586 (base32
15587 "15kd86kaq1x6giz855q9w6zvnyc742j309j0pmm86rwx398g4rq1"))))
15588 (inputs
15589 `(("emacs-undercover" ,emacs-undercover)))
15590 (propagated-inputs
15591 `(("emacs-dash" ,emacs-dash)
15592 ("emacs-docker-tramp" ,emacs-docker-tramp)
15593 ("emacs-magit-popup" ,emacs-magit-popup)
15594 ("emacs-s" ,emacs-s)
15595 ("emacs-tablist" ,emacs-tablist)
15596 ("emacs-json-mode" ,emacs-json-mode)))
15597 (arguments
15598 `(#:phases
15599 (modify-phases %standard-phases
15600 (delete 'check)))) ;no tests
15601 (build-system emacs-build-system)
15602 (home-page "https://github.com/Silex/docker.el")
15603 (synopsis "Manage docker from Emacs")
15604 (description "This package provides an Emacs interface for Docker.")
15605 (license license:gpl3+)))
15606
15607 (define-public emacs-dockerfile-mode
15608 ;; Latest upstream release is too old.
15609 (let ((commit "7223d92718f78fa3ab15667cdb2ed90cfeb579e7"))
15610 (package
15611 (name "emacs-dockerfile-mode")
15612 (version (git-version "1.2" "1" commit))
15613 (source
15614 (origin
15615 (method git-fetch)
15616 (uri (git-reference
15617 (url "https://github.com/spotify/dockerfile-mode.git")
15618 (commit commit)))
15619 (file-name (git-file-name name version))
15620 (sha256
15621 (base32
15622 "0hmipgl4rk6aih11i8mnspwdijjiwk2y0wns6lzs8bgkvy3c064r"))))
15623 (build-system emacs-build-system)
15624 (propagated-inputs
15625 `(("emacs-s" ,emacs-s)))
15626 (home-page "https://github.com/spotify/dockerfile-mode")
15627 (synopsis "Major mode for editing Dockerfile")
15628 (description
15629 "This package provides a major mode @code{dockerfile-mode} for use with
15630 the standard @code{Dockerfile} file format.")
15631 (license license:asl2.0))))
15632
15633 (define-public emacs-lsp-mode
15634 (package
15635 (name "emacs-lsp-mode")
15636 (version "6.0")
15637 (source (origin
15638 (method git-fetch)
15639 (uri (git-reference
15640 (url "https://github.com/emacs-lsp/lsp-mode.git")
15641 (commit version)))
15642 (file-name (git-file-name name version))
15643 (sha256
15644 (base32
15645 "1v1mq6ixzlgiazj8fmg4xaqhsqn3l89iqy74yndhvzh2rdf0pbkl"))))
15646 (build-system emacs-build-system)
15647 (propagated-inputs
15648 `(("emacs-dash" ,emacs-dash)
15649 ("emacs-f" ,emacs-f)
15650 ("emacs-ht" ,emacs-ht)
15651 ("emacs-spinner" ,emacs-spinner)))
15652 (home-page "https://github.com/emacs-lsp/lsp-mode")
15653 (synopsis "Emacs client and library for the Language Server Protocol")
15654 (description "@code{LSP-mode} is a client and library implementation for
15655 the Language Server Protocol. This mode aims to provide an IDE-like
15656 experience by providing optional integration with other popular Emacs packages
15657 like @code{company}, @code{flycheck}, and @code{projectile}.")
15658 (license license:gpl3+)))
15659
15660 (define-public emacs-lsp-ui
15661 (package
15662 (name "emacs-lsp-ui")
15663 (version "6.0")
15664 (source (origin
15665 (method git-fetch)
15666 (uri (git-reference
15667 (url "https://github.com/emacs-lsp/lsp-ui.git")
15668 (commit version)))
15669 (file-name (git-file-name name version))
15670 (sha256
15671 (base32
15672 "1r4327fd8cvjxfwkddp5c4bdskyncbs4sx9m3z2w4d773y2jrakc"))))
15673 (build-system emacs-build-system)
15674 (propagated-inputs
15675 `(("emacs-dash" ,emacs-dash)
15676 ("emacs-lsp-mode" ,emacs-lsp-mode)
15677 ("emacs-markdown-mode" ,emacs-markdown-mode)
15678 ("emacs-flycheck" ,emacs-flycheck)))
15679 (home-page "https://github.com/emacs-lsp/lsp-ui")
15680 (synopsis "User interface extensions for @code{lsp-mode}")
15681 (description
15682 "@code{LSP-ui} contains several enhancements and integrations for
15683 @code{lsp-mode}, such as visual flychecking, displaying references in-line,
15684 and code peeking.")
15685 (license license:gpl3+)))
15686
15687 (define-public emacs-helm-notmuch
15688 (package
15689 (name "emacs-helm-notmuch")
15690 (version "1.2")
15691 (home-page "https://github.com/emacs-helm/helm-notmuch/")
15692 (source (origin
15693 (method git-fetch)
15694 (uri (git-reference
15695 (url home-page)
15696 (commit version)))
15697 (file-name (git-file-name name version))
15698 (sha256
15699 (base32
15700 "1k038dbdpaa411gl4071x19fklhnizhr346plxw23lsnxir9dhqc"))))
15701 (build-system emacs-build-system)
15702 (propagated-inputs
15703 `(("emacs-helm" ,emacs-helm)
15704 ("notmuch" ,notmuch)))
15705 (synopsis "Search emails with Emacs Notmuch and Helm")
15706 (description
15707 "This package can be used to search emails in Emacs, searching result
15708 displays as you type thanks to Helm, though @command{notmuch-search} does the
15709 real search.")
15710 (license license:gpl3+)))
15711
15712 (define-public emacs-elmacro
15713 (let ((commit "89b9b0feabafd01fee48111d67131c4c9b5fed9a"))
15714 (package
15715 (name "emacs-elmacro")
15716 (version (git-version "1.1.0" "1" commit))
15717 (home-page "https://github.com/Silex/elmacro")
15718 (source (origin
15719 (method git-fetch)
15720 (uri (git-reference
15721 (url home-page)
15722 (commit commit)))
15723 (file-name (git-file-name name version))
15724 (sha256
15725 (base32
15726 "06wkzafh6vbcjf0m3sl253mgcq32p8cdv7vsfmyx51baa36938ha"))))
15727 (build-system emacs-build-system)
15728 (propagated-inputs
15729 `(("emacs-s" ,emacs-s)
15730 ("emacs-dash" ,emacs-dash)))
15731 (synopsis "Convert keyboard macros to Emacs Lisp")
15732 (description
15733 "This package displays keyboard macros or latest interactive commands
15734 as Emacs Lisp.")
15735 (license license:gpl3+))))
15736
15737 (define-public emacs-transient
15738 ;; 0.1.0 depends on lv.el but not later versions.
15739 (let ((commit "7e45a57ec81185631fe763733f64c99021df2a06"))
15740 (package
15741 (name "emacs-transient")
15742 (version (git-version "0.1.0" "1" commit))
15743 (source (origin
15744 (method git-fetch)
15745 (uri (git-reference
15746 (url "https://github.com/magit/transient")
15747 (commit commit)))
15748 (file-name (git-file-name name version))
15749 (sha256
15750 (base32
15751 "0r6d4c1lga3bk0s7q7y4v4hbpxnd9h40cjxybqvax2z902931fz1"))))
15752 (build-system gnu-build-system)
15753 (native-inputs `(("texinfo" ,texinfo)
15754 ("emacs" ,emacs-minimal)))
15755 (propagated-inputs
15756 `(("dash" ,emacs-dash)))
15757 (arguments
15758 `(#:modules ((guix build gnu-build-system)
15759 (guix build utils)
15760 (srfi srfi-26)
15761 (guix build emacs-utils))
15762 #:imported-modules (,@%gnu-build-system-modules
15763 (guix build emacs-utils))
15764 #:tests? #f ; tests are not included in the release
15765 #:make-flags (list "lisp" "info"
15766 (string-append "LOAD_PATH=-L . -L "
15767 (assoc-ref %build-inputs "dash")
15768 "/share/emacs/site-lisp/guix.d/dash-"
15769 ,(package-version emacs-dash)))
15770 #:phases
15771 (modify-phases %standard-phases
15772 (delete 'configure)
15773 (replace 'install
15774 (lambda* (#:key inputs outputs #:allow-other-keys)
15775 (let* ((out (assoc-ref outputs "out"))
15776 (lisp (string-append out "/share/emacs/site-lisp/guix.d/"
15777 "transient" "-" ,version))
15778 (info (string-append out "/share/info")))
15779 (for-each (cut install-file <> lisp)
15780 (find-files "." "\\.elc*$"))
15781 (install-file "docs/transient.info" (string-append info)))
15782 #t)))))
15783 (home-page "https://magit.vc/manual/transient")
15784 (synopsis "Transient commands in Emacs")
15785 (description
15786 "Taking inspiration from prefix keys and prefix arguments in Emacs,
15787 Transient implements a similar abstraction involving a prefix command, infix
15788 arguments and suffix commands. We could call this abstraction a \"transient
15789 command\", but because it always involves at least two commands (a prefix and
15790 a suffix) we prefer to call it just a \"transient\".")
15791 (license license:gpl3+))))
15792
15793 (define-public emacs-matcha
15794 (let ((commit "c7df5cf5cdac9ae369e241342389ccda0205eab9"))
15795 (package
15796 (name "emacs-matcha")
15797 (version (git-version "0.0.1" "1" commit)) ;no upstream release
15798 (source (origin
15799 (method git-fetch)
15800 (uri (git-reference
15801 (url "https://github.com/jojojames/matcha.git")
15802 (commit commit)))
15803 (file-name (git-file-name name version))
15804 (sha256
15805 (base32
15806 "1lfnh1glg6al677m7ci0x8g5wjdhjxlfl3nv1f1ppsw4dpnwsj9b"))))
15807 (propagated-inputs
15808 `(("emacs-hydra" ,emacs-hydra)
15809 ("emacs-transient" ,emacs-transient)))
15810 (build-system emacs-build-system)
15811 (home-page "https://github.com/jojojames/matcha/")
15812 (synopsis "Collection of hydras with a generic interface to launch them")
15813 (description "Matcha provides a collection of transients for various
15814 packages with a consistent way to use them.")
15815 (license license:gpl3+))))
15816
15817 (define-public emacs-undo-propose-el
15818 (let ((commit "5f1fa99a04369a959aad01b476fe4f34229f28cd")
15819 (version "1.0.0")
15820 (revision "1"))
15821 (package
15822 (name "emacs-undo-propose-el")
15823 (version (git-version version revision commit))
15824 (source
15825 (origin
15826 (method git-fetch)
15827 (uri (git-reference
15828 (url "https://github.com/jackkamm/undo-propose-el")
15829 (commit commit)))
15830 (file-name (git-file-name name version))
15831 (sha256
15832 (base32
15833 "1p9h1fqmva07mcs46rqrg9vqn537b615as84s9b7xh76k1r8h1c0"))))
15834 (build-system emacs-build-system)
15835 (home-page "https://github.com/jackkamm/undo-propose-el")
15836 (synopsis "Simple and safe navigation of @code{undo} history")
15837 (description "This package permits navigation of @code{undo} history in a
15838 temporary buffer, which is read-only save for @code{undo} commands, and
15839 subsequent committal of a chain of @code{undo} commands as a single edit in
15840 the @code{undo} history.")
15841 (license license:gpl3+))))
15842
15843 (define-public emacs-elisp-docstring-mode
15844 (let ((commit "f512e509dd690f65133e55563ebbfd2dede5034f")
15845 (version "0.0.1")
15846 (revision "1"))
15847 (package
15848 (name "emacs-elisp-docstring-mode")
15849 (version (git-version version revision commit))
15850 (source
15851 (origin
15852 (method git-fetch)
15853 (uri (git-reference
15854 (url "https://github.com/Fuco1/elisp-docstring-mode")
15855 (commit commit)))
15856 (file-name (git-file-name name version))
15857 (sha256
15858 (base32
15859 "0al8m75p359h4n82rf0dsl22qfdg9cwwywn5pn7x6gb96c7qrqaa"))))
15860 (build-system emacs-build-system)
15861 (home-page "https://github.com/Fuco1/elisp-docstring-mode")
15862 (synopsis "Major mode for editing Emacs Lisp docstrings")
15863 (description "This package provides font lock and automatic escaping and
15864 unescaping of quotes.")
15865 (license license:gpl3+))))
15866
15867 (define-public emacs-vimrc-mode
15868 (let ((commit "13bc150a870d5d4a95f1111e4740e2b22813c30e")
15869 (version "0.3.1")
15870 (revision "1"))
15871 (package
15872 (name "emacs-vimrc-mode")
15873 (version (git-version version revision commit))
15874 (source
15875 (origin
15876 (method git-fetch)
15877 (uri (git-reference
15878 (url "https://github.com/mcandre/vimrc-mode")
15879 (commit commit)))
15880 (file-name (git-file-name name version))
15881 (sha256
15882 (base32
15883 "0026dqs3hwygk2k2xfra90w5sfnxrfj7l69jz7sq5glavbf340pk"))))
15884 (build-system emacs-build-system)
15885 (home-page "https://github.com/mcandre/vimrc-mode")
15886 (synopsis "Major mode for Vimscript")
15887 (description "This package provides font lock and @code{beginning-} and
15888 @code{end-of-defun} functions for Vimscript files.")
15889 (license license:gpl3+))))
15890
15891 (define-public emacs-flycheck-haskell
15892 (let ((commit "32ddff87165a7d3a35e7318bee997b5b4bd41278")
15893 (version "0.8")
15894 (revision "79"))
15895 (package
15896 (name "emacs-flycheck-haskell")
15897 (version (git-version version revision commit))
15898 (source
15899 (origin
15900 (method git-fetch)
15901 (uri (git-reference
15902 (url "https://github.com/flycheck/flycheck-haskell")
15903 (commit commit)))
15904 (file-name (git-file-name name version))
15905 (sha256
15906 (base32
15907 "10pgsbagq6qj4mshq5sypv0q0khck92b30sc793b4g1pfpsxvgjn"))))
15908 (build-system emacs-build-system)
15909 (propagated-inputs
15910 `(("emacs-dash" ,emacs-dash)
15911 ("emacs-seq" ,emacs-seq)
15912 ("emacs-flycheck" ,emacs-flycheck)
15913 ("emacs-haskell-mode" ,emacs-haskell-mode)
15914 ("emacs-let-alist" ,emacs-let-alist)))
15915 (home-page "https://github.com/flycheck/flycheck-haskell")
15916 (synopsis "Flycheck for Haskell")
15917 (description "This package configures syntax-checking for Haskell
15918 buffers.")
15919 (license license:gpl3+))))
15920
15921 (define-public emacs-js2-refactor-el
15922 (let ((commit "79124b3274c43ad1f9ec6205fa362576552db02f")
15923 (version "0.9.0")
15924 (revision "27"))
15925 (package
15926 (name "emacs-js2-refactor-el")
15927 (version (git-version version revision commit))
15928 (source
15929 (origin
15930 (method git-fetch)
15931 (uri (git-reference
15932 (url "https://github.com/magnars/js2-refactor.el")
15933 (commit commit)))
15934 (file-name (git-file-name name version))
15935 (sha256
15936 (base32
15937 "1wswhlpbd3airrhyncb9vblqigwnqg9n96z0iis8jnz37q2whica"))))
15938 (build-system emacs-build-system)
15939 (propagated-inputs
15940 `(("emacs-dash" ,emacs-dash)
15941 ("emacs-s" ,emacs-s)
15942 ("emacs-js2-mode" ,emacs-js2-mode)
15943 ("emacs-yasnippet" ,emacs-yasnippet)
15944 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
15945 (native-inputs
15946 `(("emacs-buttercup" ,emacs-buttercup)
15947 ("emacs-espuds" ,emacs-espuds)))
15948 (home-page "https://github.com/magnars/js2-refactor.el")
15949 (synopsis "JavaScript refactoring in Emacs")
15950 (description "This package provides various refactoring functions for
15951 JavaScript.")
15952 (license license:gpl3+))))
15953
15954 (define-public emacs-prettier
15955 (let ((commit "e9b73e81d3e1642aec682195f127a42dfb0b5774")
15956 (version "0.1.0")
15957 (revision "1"))
15958 (package
15959 (name "emacs-prettier")
15960 (version (git-version version revision commit))
15961 (source
15962 (origin
15963 (method git-fetch)
15964 (uri (git-reference
15965 (url "https://github.com/prettier/prettier-emacs")
15966 (commit commit)))
15967 (file-name (git-file-name name version))
15968 (sha256
15969 (base32
15970 "0hj4fv3fgc60i6jrsx4a81s5c9fsxxafhhs3q2q1dypsscjci9ph"))))
15971 (build-system emacs-build-system)
15972 (home-page "https://github.com/prettier/prettier-emacs")
15973 (synopsis "Automatic formatting of JavaScript code")
15974 (description "This package integrates Prettier with Emacs, and
15975 provides a minor mode that autoformats the buffer upon saving.")
15976 (license license:expat))))
15977
15978 (define-public emacs-fish-mode
15979 (package
15980 (name "emacs-fish-mode")
15981 (version "0.1.4")
15982 (source
15983 (origin
15984 (method git-fetch)
15985 (uri (git-reference
15986 (url "https://github.com/wwwjfy/emacs-fish")
15987 (commit version)))
15988 (file-name (git-file-name name version))
15989 (sha256
15990 (base32
15991 "0a74ghmjjrxfdhk4mvq6lar4w6l6lc4iilabs99smqr2fn5rsslq"))))
15992 (build-system emacs-build-system)
15993 (home-page "https://github.com/wwwjfy/emacs-fish")
15994 (synopsis "Major mode for Fish shell scripts")
15995 (description "This package provides syntax highlighting and indentation
15996 functions for Fish shell scripts.")
15997 (license license:gpl3+)))
15998
15999 (define-public emacs-eshell-up
16000 (let ((commit "9c100bae5c3020e8d9307e4332d3b64e7dc28519")
16001 (version "0.0.3")
16002 (revision "12"))
16003 (package
16004 (name "emacs-eshell-up")
16005 (version (git-version version revision commit))
16006 (source
16007 (origin
16008 (method git-fetch)
16009 (uri (git-reference
16010 (url "https://github.com/peterwvj/eshell-up")
16011 (commit commit)))
16012 (file-name (git-file-name name version))
16013 (sha256
16014 (base32
16015 "00zdbcncjabgj5mp47l1chymx5na18v2g4kj730dgmj3rnl3iz2q"))))
16016 (build-system emacs-build-system)
16017 (home-page "https://github.com/peterwvj/eshell-up")
16018 (synopsis "Quickly go to a parent directory in @code{Eshell}")
16019 (description "This package provides quick navigation to a specific
16020 parent directory using @code{Eshell}.")
16021 (license license:gpl3+))))
16022
16023 (define-public emacs-tco-el
16024 (let ((commit "482db5313f090b17ed22ccd856f0e141dc75afe6")
16025 (version "0.3")
16026 (revision "1"))
16027 (package
16028 (name "emacs-tco-el")
16029 (version (git-version version revision commit))
16030 (source
16031 (origin
16032 (method git-fetch)
16033 (uri (git-reference
16034 (url "https://github.com/Wilfred/tco.el")
16035 (commit commit)))
16036 (file-name (git-file-name name version))
16037 (sha256
16038 (base32
16039 "1z7xkbrqznk6ni687qqknp8labcyhl8y6576hjfri89fn21385y9"))))
16040 (build-system emacs-build-system)
16041 (propagated-inputs
16042 `(("emacs-dash" ,emacs-dash)))
16043 (home-page "https://github.com/Wilfred/tco.el")
16044 (synopsis "Tail-call optimization for Emacs Lisp")
16045 (description "This package provides tail-call optimization for Emacs
16046 Lisp functions that call themselves in tail position.")
16047 (license license:gpl3+))))
16048
16049 (define-public emacs-equake
16050 (let ((commit "ed15fd55cd4f2276161a6f712ed0b83cd10a8cdc")
16051 (version "0.85")
16052 (revision "1"))
16053 (package
16054 (name "emacs-equake")
16055 (version (git-version version revision commit))
16056 (source
16057 (origin
16058 (method git-fetch)
16059 (uri (git-reference
16060 (url "https://gitlab.com/emacsomancer/equake/")
16061 (commit commit)))
16062 (file-name (git-file-name name version))
16063 (sha256
16064 (base32
16065 "04kj88rlnn22gwmmv2gly2ibi6jka6l2cd4979pi6lhlvqqgjdnj"))))
16066 (build-system emacs-build-system)
16067 (propagated-inputs
16068 `(("emacs-dash" ,emacs-dash)
16069 ("emacs-tco-el" ,emacs-tco-el)))
16070 (home-page "https://gitlab.com/emacsomancer/equake/")
16071 (synopsis "Drop-down console for @code{Eshell} and terminal emulators")
16072 (description "This package provides a Quake-style drop-down console
16073 compatible with Emacs' shell modes.")
16074 (license license:gpl3+))))
16075
16076 (define-public emacs-vdiff
16077 (let ((commit "09e15fc932bfd2febe1d4a65780a532394562b07")
16078 (version "0.2.3")
16079 (revision "1"))
16080 (package
16081 (name "emacs-vdiff")
16082 (version (git-version version revision commit))
16083 (source
16084 (origin
16085 (method git-fetch)
16086 (uri (git-reference
16087 (url "https://github.com/justbur/emacs-vdiff/")
16088 (commit commit)))
16089 (file-name (git-file-name name version))
16090 (sha256
16091 (base32
16092 "1gvqi5l4zs872nn4pmj603aza09d81qad2rgijzv268lif8z34db"))))
16093 (build-system emacs-build-system)
16094 (propagated-inputs
16095 `(("emacs-hydra" ,emacs-hydra)))
16096 (home-page "https://github.com/justbur/emacs-vdiff/")
16097 (synopsis "Frontend for diffing based on vimdiff")
16098 (description "This package permits comparisons of two or three buffers
16099 based on diff output.")
16100 (license license:gpl3+))))
16101
16102 (define-public emacs-vdiff-magit
16103 ;; Need to use a more recent commit than the latest release version because
16104 ;; of Magit and Transient
16105 (let ((commit "b100d126c69e5c26a61ae05aa1778bcc4302b597")
16106 (version "0.3.2")
16107 (revision "8"))
16108 (package
16109 (name "emacs-vdiff-magit")
16110 (version (git-version version revision commit))
16111 (source
16112 (origin
16113 (method git-fetch)
16114 (uri (git-reference
16115 (url "https://github.com/justbur/emacs-vdiff-magit/")
16116 (commit commit)))
16117 (file-name (git-file-name name version))
16118 (sha256
16119 (base32
16120 "16cjmrzflf2i1w01973sl944xrfanakba8sb4dpwi79d92xp03xy"))))
16121 (build-system emacs-build-system)
16122 (propagated-inputs
16123 `(("emacs-vdiff" ,emacs-vdiff)
16124 ("emacs-magit" ,emacs-magit)
16125 ("emacs-transient" ,emacs-transient)))
16126 (home-page "https://github.com/justbur/emacs-vdiff-magit/")
16127 (synopsis "Frontend for diffing based on vimdiff")
16128 (description "This package permits comparisons of two or three buffers
16129 based on diff output.")
16130 (license license:gpl3+))))
16131
16132 (define-public emacs-all-the-icons-dired
16133 (let ((commit "980b7747d6c4a7992a1ec56afad908956db0a519")
16134 (version "1.0")
16135 (revision "1"))
16136 (package
16137 (name "emacs-all-the-icons-dired")
16138 (version (git-version version revision commit))
16139 (source
16140 (origin
16141 (method git-fetch)
16142 (uri (git-reference
16143 (url "https://github.com/jtbm37/all-the-icons-dired/")
16144 (commit commit)))
16145 (file-name (git-file-name name version))
16146 (sha256
16147 (base32
16148 "1pvbgyxfj4j205nj1r02045f1y4wgavdsk7f45hxkkhms1rj8jyy"))))
16149 (build-system emacs-build-system)
16150 (propagated-inputs
16151 `(("emacs-all-the-icons" ,emacs-all-the-icons)))
16152 (home-page "https://github.com/jtbm37/all-the-icons-dired/")
16153 (synopsis "Show icons for each file in @code{dired-mode}")
16154 (description "This package allows icons from @file{all-the-icons.el} to
16155 be used in @code{dired-mode}.")
16156 (license license:gpl3+))))
16157
16158 (define-public emacs-exwm-edit
16159 (let ((commit "961c0f3ea45766b888c73d7353da13d329538034")
16160 (version "0.0.1")
16161 (revision "1"))
16162 (package
16163 (name "emacs-exwm-edit")
16164 (version (git-version version revision commit))
16165 (source
16166 (origin
16167 (method git-fetch)
16168 (uri (git-reference
16169 (url "https://github.com/agzam/exwm-edit/")
16170 (commit commit)))
16171 (file-name (git-file-name name version))
16172 (sha256
16173 (base32
16174 "087pk5ckx753qrn6xpka9khhlp7iqlz76w7861x90av2f5cgy6fw"))))
16175 (build-system emacs-build-system)
16176 (propagated-inputs
16177 `(("emacs-exwm" ,emacs-exwm)))
16178 (home-page "https://github.com/agzam/exwm-edit/")
16179 (synopsis "Open temp buffers for editing text from EXWM buffers")
16180 (description "This package facilitates editing text from EXWM buffers by
16181 generating a temp buffer in which any useful Emacs utilities and modes can be
16182 invoked.")
16183 (license license:gpl3+))))
16184
16185 (define-public emacs-ert-async
16186 (package
16187 (name "emacs-ert-async")
16188 (version "0.1.2")
16189 (source
16190 (origin
16191 (method git-fetch)
16192 (uri (git-reference
16193 (url "https://github.com/rejeep/ert-async.el")
16194 (commit (string-append "v" version))))
16195 (file-name (git-file-name name version))
16196 (sha256
16197 (base32
16198 "0hn9i405nfhjd1h9vnwj43nxbbz00khrwkjq0acfyxjaz1shfac9"))))
16199 (build-system emacs-build-system)
16200 (home-page "https://github.com/rejeep/ert-async.el")
16201 (synopsis "Async support for ERT")
16202 (description "This package allows ERT to work with asynchronous tests.")
16203 (license license:gpl3+)))
16204
16205 (define-public emacs-prodigy-el
16206 (let ((commit "701dccaa56de9e6a330c05bde33bce4f3b3d6a97")
16207 (version "0.7.0")
16208 (revision "28"))
16209 (package
16210 (name "emacs-prodigy-el")
16211 (version (git-version version revision commit))
16212 (source
16213 (origin
16214 (method git-fetch)
16215 (uri (git-reference
16216 (url "https://github.com/rejeep/prodigy.el")
16217 (commit commit)))
16218 (file-name (git-file-name name version))
16219 (sha256
16220 (base32
16221 "1vyvxawlayp2nra0q83146q2nzv8qwn5a4nj0sx1jc90a0a83vgj"))))
16222 (build-system emacs-build-system)
16223 (propagated-inputs
16224 `(("emacs-dash" ,emacs-dash)
16225 ("emacs-s" ,emacs-s)
16226 ("emacs-f" ,emacs-f)))
16227 (native-inputs
16228 `(("emacs-el-mock" ,emacs-el-mock)
16229 ("emacs-ert-async" ,emacs-ert-async)))
16230 (home-page "https://github.com/rejeep/prodigy.el")
16231 (synopsis "Manage external services from within Emacs")
16232 (description "This package provides a GUI for defining and monitoring services.")
16233 (license license:gpl3+))))
16234
16235 (define-public emacs-web-server
16236 (let ((commit "cafa5b7582c57252a0884b2c33da9b18fb678713")
16237 (version "0.1.1")
16238 (revision "1"))
16239 (package
16240 (name "emacs-web-server")
16241 (version (git-version version revision commit))
16242 (source
16243 (origin
16244 (method git-fetch)
16245 (uri (git-reference
16246 (url "https://github.com/eschulte/emacs-web-server/")
16247 (commit commit)))
16248 (file-name (git-file-name name version))
16249 (sha256
16250 (base32
16251 "1c0lfqmbs5hvz3fh3c8wgp6ipwmxrwx9xj264bjpj3phixd5419y"))))
16252 (build-system emacs-build-system)
16253 (home-page "https://github.com/eschulte/emacs-web-server/")
16254 (synopsis "Web server with handlers in Emacs Lisp")
16255 (description "This package supports HTTP GET and POST requests with
16256 url-encoded parameters, as well as web sockets.")
16257 (license license:gpl3+))))
16258
16259 (define-public emacs-markdown-preview-mode
16260 (package
16261 (name "emacs-markdown-preview-mode")
16262 (version "0.9.2")
16263 (source
16264 (origin
16265 (method git-fetch)
16266 (uri (git-reference
16267 (url "https://github.com/ancane/markdown-preview-mode")
16268 (commit (string-append "v" version))))
16269 (file-name (git-file-name name version))
16270 (sha256
16271 (base32
16272 "1d1id99gagymvzdfa1mwqh8y3szm8ii47rpijkfi1qnifjg5jaq9"))))
16273 (build-system emacs-build-system)
16274 (propagated-inputs
16275 `(("emacs-markdown-mode" ,emacs-markdown-mode)
16276 ("emacs-websocket" ,emacs-websocket)
16277 ("emacs-web-server" ,emacs-web-server)))
16278 (arguments '(#:include '("\\.el$" "\\.html$")))
16279 (home-page "https://github.com/ancane/markdown-preview-mode")
16280 (synopsis "Live web development in Emacs")
16281 (description "This package provides a minor mode for preview of Markdown
16282 files, and sends rendered Markdown to a web browser.")
16283 (license license:gpl3+)))
16284
16285 (define-public emacs-dotenv-mode
16286 (package
16287 (name "emacs-dotenv-mode")
16288 (version "0.2.4")
16289 (source
16290 (origin
16291 (method git-fetch)
16292 (uri (git-reference
16293 (url "https://github.com/preetpalS/emacs-dotenv-mode")
16294 (commit (string-append "v" version))))
16295 (file-name (git-file-name name version))
16296 (sha256
16297 (base32
16298 "1fplkhxnsgdrg10iqsmw162zny2idz4vvv35spsb9j0hsk8imclc"))))
16299 (build-system emacs-build-system)
16300 (home-page "https://github.com/preetpalS/emacs-dotenv-mode")
16301 (synopsis "Major mode for @file{.env} files")
16302 (description "This package provides syntax highlighting for @file{.env}
16303 files.")
16304 (license license:gpl3+)))
16305
16306 (define-public emacs-add-node-modules-path
16307 (let ((commit "f31e69ccb681f882aebb806ce6e9478e3ac39708")
16308 (version "1.2.0")
16309 (revision "10"))
16310 (package
16311 (name "emacs-add-node-modules-path")
16312 (version (git-version version revision commit))
16313 (source
16314 (origin
16315 (method git-fetch)
16316 (uri (git-reference
16317 (url "https://github.com/codesuki/add-node-modules-path")
16318 (commit commit)))
16319 (file-name (git-file-name name version))
16320 (sha256
16321 (base32
16322 "0p106bqmvdr8by5iv02bshm339qbrjcch2d15mrm4h3nav03v306"))))
16323 (build-system emacs-build-system)
16324 (home-page "https://github.com/codesuki/add-node-modules-path")
16325 (synopsis "Add @file{node_modules} to the buffer-local @file{exec-path}")
16326 (description "This package searches the parent directories of the
16327 current file for the project's @file{node_modules/.bin/} directory, allowing
16328 Emacs to find project-specific installations of packages.")
16329 (license license:expat))))
16330
16331 (define-public emacs-flow-minor-mode
16332 (let ((commit "d1b32a7dd0d33c6a00a106da5f4b2323602cbd3e")
16333 (version "0.3")
16334 (revision "4"))
16335 (package
16336 (name "emacs-flow-minor-mode")
16337 (version (git-version version revision commit))
16338 (source
16339 (origin
16340 (method git-fetch)
16341 (uri (git-reference
16342 (url "https://github.com/an-sh/flow-minor-mode")
16343 (commit commit)))
16344 (file-name (git-file-name name version))
16345 (sha256
16346 (base32
16347 "169r4ib9qg9q6fm3p0p23qs1qx4pa9pg1qvyq4ysr85i7kwygppl"))))
16348 (build-system emacs-build-system)
16349 (home-page "https://github.com/an-sh/flow-minor-mode")
16350 (synopsis "Minor mode for JavaScript Flow files")
16351 (description "This package integrates Flow with Emacs, allowing for
16352 definition-jumping and type-checking on demand.")
16353 (license license:bsd-3))))
16354
16355 (define-public emacs-rjsx-mode
16356 (let ((commit "03dd8d1683501e81b58674d64c3032b7b718402c")
16357 (version "0.4.0")
16358 (revision "35"))
16359 (package
16360 (name "emacs-rjsx-mode")
16361 (version (git-version version revision commit))
16362 (source
16363 (origin
16364 (method git-fetch)
16365 (uri (git-reference
16366 (url "https://github.com/felipeochoa/rjsx-mode")
16367 (commit commit)))
16368 (file-name (git-file-name name version))
16369 (sha256
16370 (base32
16371 "1kc44g9f38klpjklmz9n50a28nqv7prz6ck6ghdr6bnj1s98pb8a"))))
16372 (build-system emacs-build-system)
16373 (propagated-inputs
16374 `(("emacs-js2-mode" ,emacs-js2-mode)))
16375 (home-page "https://github.com/felipeochoa/rjsx-mode")
16376 (synopsis "Major mode for JSX files")
16377 (description "This package extends the parser of @code{js2-mode} to
16378 support JSX syntax.")
16379 (license license:expat))))
16380
16381 (define-public emacs-origami-el
16382 (let ((commit "1f38085c8f9af7842765ed63f7d6dfe4dab59366")
16383 (version "1.0")
16384 (revision "1"))
16385 (package
16386 (name "emacs-origami-el")
16387 (version (git-version version revision commit))
16388 (source
16389 (origin
16390 (method git-fetch)
16391 (uri (git-reference
16392 (url "https://github.com/gregsexton/origami.el")
16393 (commit commit)))
16394 (file-name (git-file-name name version))
16395 (sha256
16396 (base32
16397 "0ha1qsz2p36pqa0sa2sp83lspbgx5lr7930qxnwd585liajzdd9x"))))
16398 (build-system emacs-build-system)
16399 (propagated-inputs
16400 `(("emacs-dash" ,emacs-dash)
16401 ("emacs-s" ,emacs-s)))
16402 (home-page "https://github.com/gregsexton/origami.el")
16403 (synopsis "Flexible text-folding")
16404 (description "This package provides a minor mode for collapsing and
16405 expanding regions of text without modifying the actual contents.")
16406 (license license:expat))))
16407
16408 (define-public emacs-peep-dired
16409 (let ((commit "c88a9a3050197840edfe145f11e0bb9488de32f4")
16410 (version "0")
16411 (revision "1"))
16412 (package
16413 (name "emacs-peep-dired")
16414 (version (git-version version revision commit))
16415 (source
16416 (origin
16417 (method git-fetch)
16418 (uri (git-reference
16419 (url "https://github.com/asok/peep-dired")
16420 (commit commit)))
16421 (file-name (git-file-name name version))
16422 (sha256
16423 (base32
16424 "1wy5qpnfri1gha2cnl6q20qar8dbl2mimpb43bnhmm2g3wgjyad6"))))
16425 (build-system emacs-build-system)
16426 (home-page "https://github.com/asok/peep-dired")
16427 (synopsis "Preview files in another window")
16428 (description "This package provides a minor mode that allows files to be
16429 previewed by scrolling up and down within a @code{dired} buffer.")
16430 (license license:gpl3+))))
16431
16432 (define-public emacs-counsel-etags
16433 (package
16434 (name "emacs-counsel-etags")
16435 (version "1.8.7")
16436 (source
16437 (origin
16438 (method git-fetch)
16439 (uri (git-reference
16440 (url "https://github.com/redguardtoo/counsel-etags")
16441 (commit version)))
16442 (file-name (git-file-name name version))
16443 (sha256
16444 (base32
16445 "0vjcjspfrz1csnmfi6r7p7f070a496adxkqnsxwx1gx8cpylwp1g"))))
16446 (build-system emacs-build-system)
16447 (propagated-inputs
16448 `(("emacs-ivy" ,emacs-ivy)))
16449 (home-page "https://github.com/redguardtoo/counsel-etags")
16450 (synopsis "Fast @code{Ctags}/@code{Etags} solution with @code{ivy-mode}")
16451 (description "This package uses @code{ivy-mode} to facilitate navigating
16452 and searching through @code{Ctags} files.")
16453 (license license:gpl3+)))
16454
16455 (define-public emacs-org-download
16456 (let ((commit "ac72bf8fce3e855da60687027b6b8601cf1de480")
16457 (version "0.1.0")
16458 (revision "1"))
16459 (package
16460 (name "emacs-org-download")
16461 (version (git-version version revision commit))
16462 (source (origin
16463 (method git-fetch)
16464 (uri (git-reference
16465 (url "https://github.com/abo-abo/org-download")
16466 (commit commit)))
16467 (sha256
16468 (base32
16469 "0ax5wd44765wnwabkam1g2r62gq8crx2qq733s2mg1z72cfvwxqb"))
16470 (file-name (git-file-name name version))))
16471 (build-system emacs-build-system)
16472 (propagated-inputs
16473 `(("emacs-org" ,emacs-org)
16474 ("emacs-async" ,emacs-async)))
16475 (home-page "https://github.com/abo-abo/org-download")
16476 (synopsis "Facilitate moving images")
16477 (description "This package provides utilities for managing image files
16478 copied into @code{org-mode} buffers.")
16479 (license license:gpl3+))))
16480
16481 (define-public emacs-helm-dash
16482 (let ((commit "192b862185df661439a06de644791171e899348a")
16483 (version "1.3.0")
16484 (revision "18"))
16485 (package
16486 (name "emacs-helm-dash")
16487 (version (git-version version revision commit))
16488 (source
16489 (origin
16490 (method git-fetch)
16491 (uri (git-reference
16492 (url "https://github.com/areina/helm-dash")
16493 (commit commit)))
16494 (file-name (git-file-name name version))
16495 (sha256
16496 (base32
16497 "06am5vnr4hsxkvh2b8q8kb80y5x1h3qyv7gwggswwhfa7w2vba3w"))))
16498 (build-system emacs-build-system)
16499 (propagated-inputs
16500 `(("emacs-helm" ,emacs-helm)))
16501 (home-page "https://github.com/areina/helm-dash")
16502 (synopsis "Offline documentation browser for APIs using Dash docsets")
16503 (description "This package uses Helm to install and navigate through
16504 Dash docsets.")
16505 (license license:gpl3+))))
16506
16507 (define-public emacs-counsel-dash
16508 (let ((commit "07fa74a94ff4da5b6c8c4810f5e143e701b480d2")
16509 (version "0.1.3")
16510 (revision "3"))
16511 (package
16512 (name "emacs-counsel-dash")
16513 (version (git-version version revision commit))
16514 (source
16515 (origin
16516 (method git-fetch)
16517 (uri (git-reference
16518 (url "https://github.com/nathankot/counsel-dash")
16519 (commit commit)))
16520 (file-name (git-file-name name version))
16521 (sha256
16522 (base32
16523 "17h2m9zsadq270mkq12kmdzmpbfjiwjbg8n1rg2apqnm1ndgcwf8"))))
16524 (build-system emacs-build-system)
16525 (propagated-inputs
16526 `(("emacs-helm-dash" ,emacs-helm-dash)
16527 ("emacs-dash" ,emacs-dash)
16528 ("emacs-ivy" ,emacs-ivy)))
16529 (home-page "https://github.com/nathankot/counsel-dash")
16530 (synopsis "Offline documentation browser for APIs using Dash docsets")
16531 (description "This package uses @code{ivy-mode} to install and navigate
16532 through Dash docsets.")
16533 (license license:expat))))
16534
16535 (define-public emacs-el-patch
16536 (package
16537 (name "emacs-el-patch")
16538 (version "2.2.3")
16539 (source
16540 (origin
16541 (method git-fetch)
16542 (uri (git-reference
16543 (url "https://github.com/raxod502/el-patch")
16544 (commit version)))
16545 (file-name (git-file-name name version))
16546 (sha256
16547 (base32
16548 "18djslz177q6q33y82zmg2v6n9236a76kiqfvxdk4vbqzjbq82f7"))))
16549 (build-system emacs-build-system)
16550 (home-page "https://github.com/raxod502/el-patch")
16551 (synopsis "Future-proof your Emacs customizations")
16552 (description "This package allows for an alternate definition of an Elisp
16553 function to be specified and for any differences from the original definition
16554 to be examined using Ediff.")
16555 (license license:expat)))
16556
16557 (define-public emacs-info-plus
16558 (let ((commit "b837d710f7d58db586116cf6f75e75a9a074bc4b")
16559 (version "5101")
16560 (revision "55"))
16561 (package
16562 (name "emacs-info-plus")
16563 (version (git-version version revision commit))
16564 (source
16565 (origin
16566 (method git-fetch)
16567 (uri (git-reference
16568 (url "https://github.com/emacsmirror/info-plus")
16569 (commit commit)))
16570 (file-name (git-file-name name version))
16571 (sha256
16572 (base32
16573 "1knyjkdm4rcs3qrc51jllw46ph7ycq5zxnvl70ydchzfwava43h6"))))
16574 (build-system emacs-build-system)
16575 (home-page "https://github.com/emacsmirror/info-plus")
16576 (synopsis "Extensions to @file{info.el}")
16577 (description "This package extends Emacs' @file{info.el} by allowing
16578 outline-enabled table of contents, additional metadata association for Info
16579 nodes, and more.")
16580 (license license:gpl2+))))
16581
16582 (define-public emacs-eval-sexp-fu-el
16583 (package
16584 (name "emacs-eval-sexp-fu-el")
16585 (version "0.5.0")
16586 (source
16587 (origin
16588 (method git-fetch)
16589 (uri (git-reference
16590 (url "https://github.com/hchbaw/eval-sexp-fu.el")
16591 (commit (string-append "v" version))))
16592 (file-name (git-file-name name version))
16593 (sha256
16594 (base32
16595 "01mpnpgmlnfbi2yw9dxz5iw72mw3lk223bj172i4fnx3xdrrxbij"))))
16596 (build-system emacs-build-system)
16597 (home-page "https://github.com/hchbaw/eval-sexp-fu.el")
16598 (synopsis "Enhancements for evaluating s-expressions")
16599 (description "This package provides provides variants of
16600 @code{eval-last-sexp} that work on the containing list or s-expression, as
16601 well as an option for visually flashing evaluated s-expressions.")
16602 (license license:gpl3+)))
16603
16604 (define-public emacs-counsel-tramp
16605 (package
16606 (name "emacs-counsel-tramp")
16607 (version "0.6.3")
16608 (source
16609 (origin
16610 (method git-fetch)
16611 (uri (git-reference
16612 (url "https://github.com/masasam/emacs-counsel-tramp")
16613 (commit version)))
16614 (file-name (git-file-name name version))
16615 (sha256
16616 (base32
16617 "1qy9lf7cyv6hp9mmpwh92cpdcffbxzyzchx6878d5pmk9qh6xy92"))))
16618 (build-system emacs-build-system)
16619 (propagated-inputs
16620 `(("emacs-ivy" ,emacs-ivy)))
16621 (home-page "https://github.com/masasam/emacs-counsel-tramp")
16622 (synopsis "Ivy interface for TRAMP")
16623 (description "This package allows @code{ivy-mode} to display and filter
16624 SSH servers.")
16625 (license license:gpl3+)))
16626
16627 (define-public emacs-eacl
16628 (package
16629 (name "emacs-eacl")
16630 (version "2.0.1")
16631 (source
16632 (origin
16633 (method git-fetch)
16634 (uri (git-reference
16635 (url "https://github.com/redguardtoo/eacl")
16636 (commit version)))
16637 (file-name (git-file-name name version))
16638 (sha256
16639 (base32
16640 "0ksn11sm3g1ja5lpjz3hrzzw8b480mfcb3q589m52qjgvvn5iyfv"))))
16641 (build-system emacs-build-system)
16642 (propagated-inputs
16643 `(("emacs-ivy" ,emacs-ivy)))
16644 (home-page "https://github.com/redguardtoo/eacl")
16645 (synopsis "Auto-complete lines by using @code{grep} on a project")
16646 (description "This package provides auto-completion cammands for single
16647 and multiple lines of code in a project.")
16648 (license license:gpl3+)))
16649
16650 (define-public emacs-semantic-refactor
16651 ;; The last release, 0.5, was made on 2015-07-26 and there have been 47
16652 ;; commits since then.
16653 (let ((commit "6f2c97d17fb70f4ca2112f5a2b99a8ec162004f5"))
16654 (package
16655 (name "emacs-semantic-refactor")
16656 (version (git-version "0.5" "1" commit))
16657 (source
16658 (origin
16659 (method git-fetch)
16660 (uri (git-reference
16661 (url "https://github.com/tuhdo/semantic-refactor")
16662 (commit commit)))
16663 (file-name (git-file-name name version))
16664 (sha256
16665 (base32
16666 "1lyz3zjkx2csh0xdy1zpx8s32qp1p3sig57mwi9xhgpqjyf0axmb"))))
16667 (build-system emacs-build-system)
16668 (home-page "https://github.com/tuhdo/semantic-refactor")
16669 (synopsis "Refactoring tool for C/C++ and Lisp dialects")
16670 (description "This package provides a refactoring tool based on the
16671 Emacs Semantic parser framework. For C and C++ it supports operations such as:
16672
16673 @enumerate
16674 @item Generating class implementations
16675 @item Generating function prototypes
16676 @item Converting functions to function pointers
16677 @item Moving semantic units
16678 @item etc...
16679 @end enumerate
16680
16681 For Lisp dialects like Clojure, ELisp, and Scheme, it supports operations such
16682 as:
16683
16684 @enumerate
16685 @item Formatting the whole buffer
16686 @item Converting sexpressions to one or multiple lines
16687 @item etc...
16688 @end enumerate\n")
16689 (license license:gpl3+))))
16690
16691 (define-public emacs-nhexl-mode
16692 (package
16693 (name "emacs-nhexl-mode")
16694 (version "1.2")
16695 (source
16696 (origin
16697 (method url-fetch)
16698 (uri (string-append
16699 "https://elpa.gnu.org/packages/nhexl-mode-"
16700 version ".el"))
16701 (sha256
16702 (base32
16703 "031h22p564qdvr9khs05qcba06pmsk68cr7zyc7c04hfr3y3ziaf"))))
16704 (build-system emacs-build-system)
16705 (home-page "http://elpa.gnu.org/packages/nhexl-mode.html")
16706 (synopsis "Minor mode to edit files via hex-dump format")
16707 (description
16708 "This package implements NHexl mode, a minor mode for editing files
16709 in hex dump format. The mode command is called @command{nhexl-mode}.
16710
16711 This minor mode implements similar functionality to @command{hexl-mode},
16712 but using a different implementation technique, which makes it
16713 usable as a \"plain\" minor mode. It works on any buffer, and does
16714 not mess with the undo log or with the major mode.
16715
16716 It also comes with:
16717
16718 @itemize
16719 @item @command{nhexl-nibble-edit-mode}: a \"nibble editor\" minor mode, where
16720 the cursor pretends to advance by nibbles (4-bit) and the self-insertion keys
16721 (which only work for hex-digits) will only modify the nibble under point.
16722 @item @command{nhexl-overwrite-only-mode}: a minor mode to try and avoid
16723 moving text. In this minor mode, not only self-inserting keys overwrite
16724 existing text, but commands like `yank' and @command{kill-region} as well.
16725 @item It overrides @code{C-u} to use hexadecimal, so you can do @code{C-u a 4
16726 C-f} to advance by #xa4 characters.
16727 @end itemize\n")
16728 (license license:gpl3+)))
16729
16730 (define-public emacs-helm-wikipedia
16731 (let ((commit "126f044e0a0e1432e0791c33ce2a41875d704a9b"))
16732 (package
16733 (name "emacs-helm-wikipedia")
16734 (version (git-version "0.0.0" "1" commit))
16735 (home-page "https://github.com/emacs-helm/helm-wikipedia/")
16736 (source
16737 (origin
16738 (method git-fetch)
16739 (uri (git-reference
16740 (url home-page)
16741 (commit commit)))
16742 (file-name (git-file-name name version))
16743 (sha256
16744 (base32
16745 "148a5xsnbsiddhf9cl7yxdk41lrv38h0pip91kcflw9d7l0dp7pr"))))
16746 (build-system emacs-build-system)
16747 (inputs
16748 `(("helm" ,emacs-helm)))
16749 (synopsis "Search suggestions and article extracts from Wikipedia for Emacs")
16750 (description
16751 "This package provides an Emacs Helm interface for search suggestions
16752 and article extracts for Wikipedia.")
16753 (license license:gpl3+))))
16754
16755 (define-public emacs-webfeeder
16756 (package
16757 (name "emacs-webfeeder")
16758 (version "1.0.0")
16759 (source
16760 (origin
16761 (method url-fetch)
16762 (uri (string-append
16763 "https://elpa.gnu.org/packages/webfeeder-"
16764 version
16765 ".tar"))
16766 (sha256
16767 (base32
16768 "06y5vxw9m6pmbrzb8v2i3w9dnhgqxz06vyx1knmgi9cczlrj4a64"))))
16769 (build-system emacs-build-system)
16770 (home-page "https://gitlab.com/Ambrevar/emacs-webfeeder")
16771 (synopsis "Build RSS and Atom webfeeds from HTML files")
16772 (description
16773 "Webfeeder is an Emacs library to generate RSS and Atom feeds from HTML
16774 files. The various elements of the HTML input are parsed with customizable
16775 functions (e.g. @code{webfeeder-title-function}).")
16776 (license license:gpl3+)))
16777
16778 (define-public emacs-evil-numbers
16779 (let ((commit "6ea1c8c3a9b37bed63d48f1128e9a4910e68187e"))
16780 (package
16781 (name "emacs-evil-numbers")
16782 (version (git-version "0.4" "1" commit))
16783 (source (origin
16784 (method git-fetch)
16785 (uri (git-reference
16786 (url "https://github.com/dieggsy/evil-numbers")
16787 (commit commit)))
16788 (file-name (git-file-name name version))
16789 (sha256
16790 (base32
16791 "1aq95hj8x13py0pwsnc6wvd8cc5yv5qin8ym9js42y5966vwj4np"))))
16792 (build-system emacs-build-system)
16793 (home-page "https://github.com/dieggsy/evil-numbers")
16794 (synopsis "Increment and decrement numbers in Emacs")
16795 (description "This package increments and decrements binary, octal,
16796 decimal and hex literals. It works like C-a/C-x in Vim, i.e. searches for
16797 number up to EOL and then increments or decrements and keeps zero padding up
16798 (unlike in Vim). When a region is active, as in Evil's visual mode, all the
16799 numbers within that region will be incremented/decremented (unlike in Vim).
16800
16801 It is a fork of https://github.com/cofi/evil-numbers, which is unmaintained.")
16802 (license license:gpl3+))))
16803
16804 (define-public emacs-rotate-text
16805 (package
16806 (name "emacs-rotate-text")
16807 (version "0.1")
16808 (source (origin
16809 (method git-fetch)
16810 (uri (git-reference
16811 (url "https://github.com/nschum/rotate-text.el.git")
16812 (commit version)))
16813 (file-name (git-file-name name version))
16814 (sha256
16815 (base32
16816 "1cgxv4aibkvv6lnssynn0438a615fz3zq8hg9sb0lhfgsr99pxln"))))
16817 (build-system emacs-build-system)
16818 (home-page "http://nschum.de/src/emacs/rotate-text/")
16819 (synopsis "Cycle through words, symbols and patterns in Emacs")
16820 (description "@code{rotate-text} allows you rotate to commonly
16821 interchanged text with a single keystroke. For example, you can toggle
16822 between \"frame-width\" and \"frame-height\", between \"public\",
16823 \"protected\" and \"private\" and between \"variable1\", \"variable2\" through
16824 \"variableN\".")
16825 (license license:gpl2+)))
16826
16827 (define-public emacs-ediprolog
16828 (package
16829 (name "emacs-ediprolog")
16830 (version "1.2")
16831 (source
16832 (origin
16833 (method url-fetch)
16834 (uri (string-append
16835 "https://elpa.gnu.org/packages/ediprolog-"
16836 version
16837 ".el"))
16838 (sha256
16839 (base32
16840 "039ffvp7c810mjyargmgw1i87g0z8qs8qicq826sd9aiz9hprfaz"))))
16841 (build-system emacs-build-system)
16842 (home-page "http://elpa.gnu.org/packages/ediprolog.html")
16843 (synopsis "Emacs Does Interactive Prolog")
16844 (description "This package provides a major mode that let the user
16845 interact with SWI-Prolog in all buffers. For instance, one can consult Prolog
16846 programs and evaluate embedded queries. This mode is focused on the command
16847 @code{ediprolog-dwim} (Do What I Mean) which is supposed to, depending on the
16848 context, carry out the appropriate action.")
16849 (license license:gpl3+)))
16850
16851 (define-public emacs-evil-cleverparens
16852 (let ((commit "8c45879d49bfa6d4e414b6c1df700a4a51cbb869")
16853 (revision "1"))
16854 (package
16855 (name "emacs-evil-cleverparens")
16856 (version (git-version "2017-07-17" revision commit))
16857 (source (origin
16858 (method git-fetch)
16859 (uri (git-reference
16860 (url "https://github.com/luxbock/evil-cleverparens.git")
16861 (commit commit)))
16862 (sha256 (base32 "0lhnybpnk4n2yhlcnj9zxn0vi5hpjfaqfhvyfy7ckzz74g8v7iyw"))
16863 (file-name (git-file-name name version))))
16864 (build-system emacs-build-system)
16865 (propagated-inputs
16866 `(("emacs-evil" ,emacs-evil)
16867 ("emacs-paredit" ,emacs-paredit)
16868 ("emacs-smartparens" ,emacs-smartparens)))
16869 (home-page "https://github.com/luxbock/evil-cleverparens")
16870 (synopsis "Emacs modal editing optimized for editing Lisp")
16871 (description "@code{evil-cleverparens} remaps Evil keybindings to allow
16872 modal editing with screwing up the structure of Lisp code. Alternatives for
16873 verb commands which would are normally destructive (such as deletion) are
16874 provided. Those alternative commands are and bound by default to their
16875 corresponding Evil keys.")
16876 (license license:expat))))
16877
16878 (define-public emacs-evil-traces
16879 (let ((commit "b41b7432b8110378c199a3d25af464083777f453")
16880 (revision "1"))
16881 (package
16882 (name "emacs-evil-traces")
16883 (version (git-version "0.0.1" revision commit))
16884 (source (origin
16885 (method git-fetch)
16886 (uri (git-reference
16887 (url "https://github.com/mamapanda/evil-traces.git")
16888 (commit commit)))
16889 (file-name (git-file-name name version))
16890 (sha256
16891 (base32
16892 "0a15f2saynz9fws1h5s7py3cshsk4xs1kwgwj1m5rsin36g0j6hc"))))
16893 (build-system emacs-build-system)
16894 (propagated-inputs
16895 `(("emacs-evil" ,emacs-evil)))
16896 (home-page "https://github.com/mamapanda/evil-traces")
16897 (synopsis "Visual hints for @code{evil-ex}")
16898 (description "This package adds visual hints to certain @code{ex}
16899 commands in @code{evil-mode}.")
16900 (license license:gpl3+))))
16901
16902 (define-public emacs-xterm-color
16903 (let ((commit "a452ab38a7cfae97078062ff8885b5d74fd1e5a6")
16904 (version "1.8")
16905 (revision "1"))
16906 (package
16907 (name "emacs-xterm-color")
16908 (version (git-version version revision commit))
16909 (source (origin
16910 (method git-fetch)
16911 (uri (git-reference
16912 (url "https://github.com/atomontage/xterm-color.git")
16913 (commit commit)))
16914 (sha256
16915 (base32
16916 "02kpajb993yshhjhsizpfcbrcndyzkf4dqfipifhxxng50dhp95i"))
16917 (file-name (git-file-name name version))))
16918 (build-system emacs-build-system)
16919 (home-page "https://github.com/atomontage/xterm-color")
16920 (synopsis "ANSI & xterm-256 color text property translator for Emacs")
16921 (description "@code{xterm-color.el} is an ANSI control sequence to
16922 text-property translator.")
16923 (license license:bsd-2))))
16924
16925 (define-public emacs-org-noter
16926 (package
16927 (name "emacs-org-noter")
16928 (version "1.3.0")
16929 (source
16930 (origin
16931 (method url-fetch)
16932 (uri (string-append
16933 "https://stable.melpa.org/packages/org-noter-"
16934 version
16935 ".el"))
16936 (sha256
16937 (base32
16938 "1hczwva73gsyanl1ldhdvql01gy0hy2g861yzkaklyb763sx58x4"))))
16939 (build-system emacs-build-system)
16940 (propagated-inputs `(("emacs-org" ,emacs-org)))
16941 (home-page "https://github.com/weirdNox/org-noter")
16942 (synopsis "Synchronized, Org-mode, document annotator")
16943 (description
16944 "This package lets you create notes that are kept in sync when you
16945 scroll through the document, but that are external to it---the notes
16946 themselves live in an Org-mode file. As such, this leverages the power of
16947 Org-mode (the notes may have outlines, latex fragments, babel, etc...) while
16948 acting like notes that are made @emph{in} the document.")
16949 (license license:gpl3+)))
16950
16951 (define-public emacs-org-redmine
16952 (let ((commit "e77d013bc3784947c46a5c53f03cd7d3c68552fc"))
16953 (package
16954 (name "emacs-org-redmine")
16955 (version (git-version "0.1" "1" commit))
16956 (source (origin
16957 (method git-fetch)
16958 (uri (git-reference
16959 (url "https://github.com/gongo/org-redmine.git")
16960 (commit commit)))
16961 (file-name (git-file-name name version))
16962 (sha256
16963 (base32
16964 "06miv3mf2a39vkf6mmm5ssc47inqh7dq82khsyc03anz4d4lj822"))))
16965 (build-system emacs-build-system)
16966 (home-page "https://github.com/gongo/org-redmine/")
16967 (synopsis "Redmine tools using Emacs")
16968 (description "This program provides an Emacs client for Redmine.")
16969 (license license:gpl3+))))
16970
16971 (define-public emacs-multi-term
16972 (let ((commit "0804b11e52b960c80f5cd0712ee1e53ae70d83a4"))
16973 (package
16974 (name "emacs-multi-term")
16975 (version "1.2")
16976 (source (origin
16977 (method git-fetch)
16978 (uri (git-reference
16979 (url "https://github.com/manateelazycat/multi-term.git")
16980 (commit commit)))
16981 (file-name (git-file-name name version))
16982 (sha256
16983 (base32
16984 "0apvidmvb7rv05qjnjhax42ma8wrimik5vxx620dlbv17svz7iyf"))))
16985 (build-system emacs-build-system)
16986 (inputs `(("zsh" ,zsh)))
16987 (home-page "https://github.com/manateelazycat/multi-term")
16988 (synopsis "Manage multiple terminal buffers in Emacs")
16989 (description
16990 "This package enhances @code{term.el} with the following features:
16991
16992 @enumerate
16993 @item Functions to switch between multiple terminal buffers
16994 @item List of keys to be intercepted by @code{emacs-multi-term} instead of by
16995 the underlying terminal
16996 @item Kills the unused buffer left after exiting the terminal
16997 @item Kills the running sub-processes along with the terminal when killing the
16998 it forcibly
16999 @item Dedicated window for debugging program.
17000 @end enumerate")
17001 (license license:gpl3+))))
17002
17003 (define-public emacs-elpher
17004 (package
17005 (name "emacs-elpher")
17006 (version "1.4.6")
17007 (source
17008 (origin
17009 (method git-fetch)
17010 (uri (git-reference
17011 (url "https://github.com/tgvaughan/elpher")
17012 (commit (string-append "v" version))))
17013 (file-name (git-file-name name version))
17014 (sha256
17015 (base32
17016 "07xansmhn4l0b9ghzf56vyx8cqg0q01aq3pz5ikx2i19v5f0rc66"))))
17017 (build-system emacs-build-system)
17018 (native-inputs
17019 `(("texinfo" ,texinfo)))
17020 (arguments
17021 `(#:phases
17022 (modify-phases %standard-phases
17023 (add-before 'install 'build-doc
17024 (lambda _
17025 (invoke "makeinfo" "elpher.texi"))))))
17026 (home-page "https://github.com/tgvaughan/elpher")
17027 (synopsis "Gopher client for Emacs")
17028 (description "Elpher is a full-featured gopher client for Emacs. Its
17029 features include intuitive keyboard and mouse-driven browsing, out-of-the-box
17030 compatibility with evil-mode, clickable web and gopher links in plain text,
17031 caching of visited sites, pleasant and configurable visualization of Gopher
17032 directories, direct visualisation of image files, jumping directly to links by
17033 name (with autocompletion), a simple bookmark management system and
17034 connections using TLS encryption.")
17035 (license license:gpl3+)))
17036
17037 (define-public emacs-zerodark-theme
17038 (package
17039 (name "emacs-zerodark-theme")
17040 (version "4.5")
17041 (source
17042 (origin
17043 (method git-fetch)
17044 (uri (git-reference
17045 (url "https://gitlab.petton.fr/nico/zerodark-theme.git")
17046 (commit version)))
17047 (file-name (git-file-name name version))
17048 (sha256
17049 (base32
17050 "0nnlxzsmhsbszqigcyxak9i1a0digrd13gv6v18ck4h760mihh1m"))))
17051 (build-system emacs-build-system)
17052 (propagated-inputs
17053 `(("emacs-all-the-icons" ,emacs-all-the-icons)))
17054 (home-page
17055 "https://gitlab.petton.fr/nico/zerodark-theme")
17056 (synopsis
17057 "Dark, medium contrast theme for Emacs")
17058 (description
17059 "Zerodark is a dark theme inspired from One Dark and Niflheim.
17060 An optional mode-line format can be enabled with @code{zerodark-setup-modeline-format}.")
17061 (license license:gpl3+)))
17062
17063 (define-public emacs-gnus-alias
17064 (package
17065 (name "emacs-gnus-alias")
17066 (version "20150316")
17067 (source (origin
17068 (method git-fetch)
17069 (uri (git-reference
17070 (url "https://github.com/hexmode/gnus-alias.git")
17071 (commit "9447d3ccb4c0e75d0468899cccff7aa249657bac")))
17072 (file-name (git-file-name name version))
17073 (sha256
17074 (base32
17075 "1i278npayv3kfxxd1ypi9n83q5l402sbc1zkm11pf8g006ifqsp4"))))
17076 (build-system emacs-build-system)
17077 (home-page "https://melpa.org/#/gnus-alias")
17078 (synopsis "Alternative to @code{gnus-posting-styles}")
17079 (description "This Emacs add-on provides a simple mechanism to switch
17080 Identities when using a @code{message-mode} or a @code{message-mode} derived
17081 mode. Identities can include @code{From} and @code{Organisation} headers,
17082 extra headers, body and signature. Other features include:
17083
17084 @itemize
17085 @item Switch Identities in a message buffer.
17086 @item Access original message to help determine Identity of the followup/reply
17087 message.
17088 @item Act on a forwarded message as if it were a message being replied to.
17089 @item Start a new message with a given Identity pre-selected.
17090 @end itemize")
17091 (license license:gpl2+)))
17092
17093 (define-public emacs-ox-epub
17094 (package
17095 (name "emacs-ox-epub")
17096 (version "0.3")
17097 (source (origin
17098 (method git-fetch)
17099 (uri (git-reference
17100 (url "https://github.com/ofosos/ox-epub.git")
17101 (commit (string-append "v" version))))
17102 (file-name (git-file-name name version))
17103 (sha256
17104 (base32
17105 "057sqmvm8hwkhcg3yd4i8zz2xlqsqrpyiklyiw750s3i5mxdn0k7"))))
17106 (build-system emacs-build-system)
17107 (home-page "https://github.com/ofosos/ox-epub")
17108 (synopsis "Export org mode projects to EPUB")
17109 (description "@code{ox-epub} extends the (X)HTML exporter to generate
17110 @code{.epub} files directly from OrgMode. This will export EPUB version 2,
17111 which should give broad compatibility. It should also be relatiely easy to
17112 convert the resulting @code{.epub} to a @code{.mobi} file. Needs a working
17113 zip utility (default is @code{zip}).")
17114 (license license:gpl3+)))
17115
17116 (define-public emacs-ox-hugo
17117 (package
17118 (name "emacs-ox-hugo")
17119 (version "0.8")
17120 (source
17121 (origin
17122 (method git-fetch)
17123 (uri (git-reference
17124 (url "https://github.com/kaushalmodi/ox-hugo.git")
17125 (commit (string-append "v" version))))
17126 (file-name (git-file-name name version))
17127 (sha256
17128 (base32
17129 "11h464cyc28ld0b0zridgm4drydc1qjxbm1y24zrwlkyqqjk6yr7"))))
17130 (build-system emacs-build-system)
17131 (home-page "https://ox-hugo.scripter.co")
17132 (synopsis "Hugo markdown back-end for Org export engine")
17133 (description
17134 "Ox-hugo is an Org exporter backend that exports Org to Hugo-compatible
17135 Markdown, Blackfriday, and also generates the front-matter in TOML or YAML
17136 format.")
17137 (license license:gpl3+)))
17138
17139 (define-public emacs-ox-pandoc
17140 (package
17141 (name "emacs-ox-pandoc")
17142 (version "20180510")
17143 (source (origin
17144 (method git-fetch)
17145 (uri (git-reference
17146 (url "https://github.com/kawabata/ox-pandoc.git")
17147 (commit "aa37dc7e94213d4ebedb85c384c1ba35007da18e")))
17148 (file-name (git-file-name name version))
17149 (sha256
17150 (base32
17151 "0iibxplgdp34bpq1yll2gmqjd8d8lnqn4mqjvx6cdf0y438yr4jz"))))
17152 (build-system emacs-build-system)
17153 (inputs
17154 `(("pandoc" ,ghc-pandoc)))
17155 (propagated-inputs
17156 `(("emacs-dash" ,emacs-dash)
17157 ("emacs-ht" ,emacs-ht)))
17158 (home-page "https://github.com/kawabata/ox-pandoc")
17159 (synopsis "Org exporter for Pandoc")
17160 (description "@code{ox-pandoc} is an exporter for converting Org-mode
17161 files to numerous other formats via Pandoc.")
17162 (license license:gpl3+)))
17163
17164 (define-public emacs-wc-mode
17165 (package
17166 (name "emacs-wc-mode")
17167 (version "1.3")
17168 (source (origin
17169 (method git-fetch)
17170 (uri (git-reference
17171 (url "https://github.com/bnbeckwith/wc-mode.git")
17172 (commit (string-append "v" version))))
17173 (file-name (git-file-name name version))
17174 (sha256
17175 (base32
17176 "0pjlxv46zzqdq6q131jb306vqlg4sfqls1x8vag7mmfw462hafqp"))))
17177 (build-system emacs-build-system)
17178 (home-page "https://github.com/bnbeckwith/wc-mode")
17179 (synopsis "Running word count with goals (minor mode)")
17180 (description "@code{wc-mode} is a minor mode, providing a ‘wc’ function
17181 for Emacs buffers as well as a modeline addition with live word, line and
17182 character counts. Additionally, a user can set specific goals for adding or
17183 deleting words. These goals were partly inspired by 750words.com where the
17184 goal of the site is to encourage writing by setting a goal of 750 words at a
17185 time.")
17186 (license license:gpl3+)))
17187
17188 (define-public emacs-mastodon
17189 (package
17190 (name "emacs-mastodon")
17191 (version "0.9.0")
17192 (source (origin
17193 (method git-fetch)
17194 (uri (git-reference
17195 (url "https://github.com/jdenen/mastodon.el.git")
17196 (commit version)))
17197 (file-name (git-file-name name version))
17198 (sha256
17199 (base32
17200 "0hwax6y9dghqwsbnb6f1bnc7gh8xsh5cvcnayk2sn49x8b0zi5h1"))))
17201 (build-system emacs-build-system)
17202 (arguments
17203 `(#:phases
17204 (modify-phases %standard-phases
17205 ;; Move the source files to the top level, which is included in
17206 ;; the EMACSLOADPATH.
17207 (add-after 'unpack 'move-source-files
17208 (lambda _
17209 (let ((el-files (find-files "./lisp" ".*\\.el$")))
17210 (for-each (lambda (f)
17211 (rename-file f (basename f)))
17212 el-files))
17213 #t)))))
17214 (home-page "https://github.com/jdenen/mastodon.el")
17215 (synopsis "Emacs client for Mastodon")
17216 (description "@code{mastodon.el} is an Emacs client for Mastodon, the
17217 federated microblogging social network.")
17218 (license license:gpl3+)))
17219
17220 ;; The last release tarball is for version 0.6. We pick a commit close to
17221 ;; version 0.6.10, which doesn't have a release tarball.
17222 (define-public emacs-ebdb
17223 (let ((commit "2a87f5ed2a53e3a4e91e8c88ba5afc49f5e945df")
17224 (revision "0"))
17225 (package
17226 (name "emacs-ebdb")
17227 (version (git-version "0.6.10" revision commit))
17228 (source (origin
17229 (method git-fetch)
17230 (uri (git-reference
17231 (url "https://github.com/girzel/ebdb.git")
17232 (commit commit)))
17233 (file-name (git-file-name name version))
17234 (sha256
17235 (base32
17236 "0fidy7z0c86dpqiss97sg5s92fd3fj4bdl8pqqdgg2m00jx4mrjz"))))
17237 (build-system emacs-build-system)
17238 (home-page "https://github.com/girzel/ebdb")
17239 (synopsis "EIEIO port of BBDB, Emacs's contact-management package")
17240 (description "EBDB is a contact management/addressbook package for
17241 Emacs. It's a re-write of the Insidious Big Brother Database (BBDB) using
17242 Emacs Lisp's (relatively new) EIEIO object oriented libraries.")
17243 (license license:gpl3+))))