gnu: Use HTTPS for sphinx-doc.org.
[jackhill/guix/guix.git] / gnu / packages / emacs-xyz.scm
CommitLineData
eeb883cb
RW
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>
db2badeb 7;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
0bc010da 8;;; Copyright © 2016, 2017, 2018, 2019 Chris Marusich <cmmarusich@gmail.com>
eeb883cb
RW
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>
47956fa0 15;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
9989e06f 16;;; Copyright © 2016, 2019 Alex Griffin <a@ajgrf.com>
eeb883cb
RW
17;;; Copyright © 2016, 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
18;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
43af5f9d 19;;; Copyright © 2016, 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
eeb883cb 20;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
71066710 21;;; Copyright © 2017, 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
eeb883cb
RW
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>
34e3d028 29;;; Copyright © 2017, 2018, 2019 Oleg Pykhalov <go.wigust@gmail.com>
eeb883cb
RW
30;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
31;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
766bfda1 32;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
eeb883cb 33;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
82328c01 34;;; Copyright © 2017, 2018, 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
eeb883cb 35;;; Copyright © 2018 Sohom Bhattacharjee <soham.bhattacharjee15@gmail.com>
4a54ed77 36;;; Copyright © 2018, 2019 Mathieu Lirzin <mthl@gnu.org>
9830f1a2 37;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
eeb883cb 38;;; Copyright © 2018, 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
ea4a1e5d 39;;; Copyright © 2018, 2019 Jack Hill <jackhill@jackhill.us>
eeb883cb
RW
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>
e3da630b 44;;; Copyright © 2018, 2019 Brett Gilio <brettg@posteo.net>
d97283c3 45;;; Copyright © 2019 Dimakakos Dimos <bendersteed@teknik.io>
d2f555f5 46;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
cfcec4ab 47;;; Copyright © 2019 mikadoZero <mikadozero@yandex.com>
62f6f3bb 48;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com>
dcc3d403 49;;; Copyright © 2019 LaFreniere, Joseph <joseph@lafreniere.xyz>
a3852578 50;;; Copyright © 2019 Amar Singh <nly@disroot.org>
e6e2f4a0 51;;; Copyright © 2019 Baptiste Strazzulla <bstrazzull@hotmail.fr>
eeb883cb
RW
52;;;
53;;; This file is part of GNU Guix.
54;;;
55;;; GNU Guix is free software; you can redistribute it and/or modify it
56;;; under the terms of the GNU General Public License as published by
57;;; the Free Software Foundation; either version 3 of the License, or (at
58;;; your option) any later version.
59;;;
60;;; GNU Guix is distributed in the hope that it will be useful, but
61;;; WITHOUT ANY WARRANTY; without even the implied warranty of
62;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
63;;; GNU General Public License for more details.
64;;;
65;;; You should have received a copy of the GNU General Public License
66;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
67
68(define-module (gnu packages emacs-xyz)
69 #:use-module ((guix licenses) #:prefix license:)
70 #:use-module (guix packages)
71 #:use-module (guix cvs-download)
72 #:use-module (guix download)
73 #:use-module (guix git-download)
74 #:use-module (guix build-system gnu)
75 #:use-module (guix build-system cmake)
76 #:use-module (guix build-system emacs)
77 #:use-module (guix build-system glib-or-gtk)
c010ec65 78 #:use-module (guix build-system perl)
eeb883cb
RW
79 #:use-module (guix build-system trivial)
80 #:use-module (gnu packages)
81 #:use-module (gnu packages admin)
82 #:use-module (gnu packages audio)
83 #:use-module (gnu packages bash)
84 #:use-module (gnu packages cmake)
85 #:use-module (gnu packages code)
86 #:use-module (gnu packages databases)
87 #:use-module (gnu packages emacs)
88 #:use-module (gnu packages guile)
89 #:use-module (gnu packages gtk)
90 #:use-module (gnu packages gnome)
91 #:use-module (gnu packages ncurses)
92 #:use-module (gnu packages python)
93 #:use-module (gnu packages python-xyz)
94 #:use-module (gnu packages tex)
95 #:use-module (gnu packages texinfo)
96 #:use-module (gnu packages tcl)
97 #:use-module (gnu packages tls)
98 #:use-module (gnu packages pkg-config)
99 #:use-module (gnu packages xorg)
100 #:use-module (gnu packages lesstif)
101 #:use-module (gnu packages llvm)
102 #:use-module (gnu packages image)
103 #:use-module (gnu packages linux)
c010ec65 104 #:use-module (gnu packages libevent)
b7489004 105 #:use-module (gnu packages music)
eeb883cb
RW
106 #:use-module (gnu packages version-control)
107 #:use-module (gnu packages imagemagick)
108 #:use-module (gnu packages w3m)
109 #:use-module (gnu packages wget)
110 #:use-module (gnu packages autotools)
111 #:use-module (gnu packages base)
112 #:use-module (gnu packages compression)
113 #:use-module (gnu packages xml)
114 #:use-module (gnu packages glib)
115 #:use-module (gnu packages acl)
116 #:use-module (gnu packages mail)
117 #:use-module (gnu packages package-management)
118 #:use-module (gnu packages perl)
119 #:use-module (gnu packages pdf)
120 #:use-module (gnu packages scheme)
b8098cc6 121 #:use-module (gnu packages speech)
eeb883cb
RW
122 #:use-module (gnu packages xiph)
123 #:use-module (gnu packages mp3)
124 #:use-module (gnu packages gettext)
125 #:use-module (gnu packages fribidi)
126 #:use-module (gnu packages gd)
127 #:use-module (gnu packages fontutils)
128 #:use-module (gnu packages password-utils)
129 #:use-module (gnu packages pulseaudio)
9d0c291e 130 #:use-module (gnu packages sphinx)
eeb883cb
RW
131 #:use-module (gnu packages xdisorg)
132 #:use-module (gnu packages shells)
133 #:use-module (gnu packages sqlite)
134 #:use-module (gnu packages gnupg)
135 #:use-module (gnu packages video)
136 #:use-module (gnu packages haskell)
137 #:use-module (gnu packages wordnet)
138 #:use-module (guix utils)
139 #:use-module (srfi srfi-1)
140 #:use-module (ice-9 match))
141
142;;;
143;;; Emacs hacking.
144;;;
145
146(define-public emacs-geiser
147 (package
148 (name "emacs-geiser")
149 (version "0.10")
150 (source (origin
151 (method url-fetch)
152 (uri (string-append "mirror://savannah/geiser/" version
153 "/geiser-" version ".tar.gz"))
154 (sha256
155 (base32
156 "0pj3l7p8d60c9b4vfprnv6g5l61d74pls4b5dvd84cn4ky9mzwjv"))))
157 (build-system gnu-build-system)
158 (arguments
159 '(#:phases
160 (modify-phases %standard-phases
161 (add-after 'install 'post-install
162 (lambda* (#:key outputs #:allow-other-keys)
163 (symlink "geiser-install.el"
164 (string-append (assoc-ref outputs "out")
165 "/share/emacs/site-lisp/"
166 "geiser-autoloads.el"))
167 #t)))))
168 (inputs `(("guile" ,guile-2.2)))
169 (native-inputs `(("emacs" ,emacs-minimal)))
170 (home-page "https://nongnu.org/geiser/")
171 (synopsis "Collection of Emacs modes for Guile and Racket hacking")
172 (description
173 "Geiser is a collection of Emacs major and minor modes that conspire with
174one or more Scheme implementations to keep the Lisp Machine Spirit alive. The
175continuously running Scheme interpreter takes the center of the stage in
176Geiser. A bundle of Elisp shims orchestrates the dialog between the Scheme
177implementation, Emacs and, ultimately, the schemer, giving them access to live
178metadata.")
179 (license license:bsd-3)))
180
181(define-public geiser
182 (deprecated-package "geiser" emacs-geiser))
183
184(define-public emacs-paredit
185 (package
186 (name "emacs-paredit")
187 (version "24")
188 (source (origin
189 (method url-fetch)
190 (uri (string-append "http://mumble.net/~campbell/emacs/paredit-"
191 version ".el"))
192 (sha256
193 (base32
194 "0pp3n8q6kc70blqsaw0zlzp6bc327dpgdrjr0cnh7hqg1lras7ka"))))
195 (build-system emacs-build-system)
196 (home-page "http://mumble.net/~campbell/emacs/paredit/")
197 (synopsis "Emacs minor mode for editing parentheses")
198 (description
199 "ParEdit (paredit.el) is a minor mode for performing structured editing
200of S-expression data. The typical example of this would be Lisp or Scheme
201source code.
202
203ParEdit helps **keep parentheses balanced** and adds many keys for moving
204S-expressions and moving around in S-expressions. Its behavior can be jarring
205for those who may want transient periods of unbalanced parentheses, such as
206when typing parentheses directly or commenting out code line by line.")
207 (license license:gpl3+)))
208
209(define-public paredit
210 (deprecated-package "paredit" emacs-paredit))
211
212(define-public git-modes
213 (package
214 (name "emacs-git-modes")
215 (version "1.2.8")
216 (source (origin
8b9fab8f
EF
217 (method git-fetch)
218 (uri (git-reference
219 (url "https://github.com/magit/git-modes")
220 (commit version)))
221 (file-name (git-file-name name version))
eeb883cb
RW
222 (sha256
223 (base32
8b9fab8f 224 "08hy7rbfazs6grkpk54i82bz0i0c74zcjk96cip8970h6jn3mj72"))))
eeb883cb
RW
225 (build-system emacs-build-system)
226 (home-page "https://github.com/magit/git-modes")
227 (synopsis "Emacs major modes for Git configuration files")
228 (description
229 "This package provides Emacs major modes for editing various Git
230configuration files, such as .gitattributes, .gitignore, and .git/config.")
231 (license license:gpl3+)))
232
233(define-public git-modes/old-name
234 (deprecated-package "git-modes" git-modes))
235
236(define-public emacs-with-editor
237 (package
238 (name "emacs-with-editor")
239 (version "2.8.0")
240 (source (origin
241 (method git-fetch)
242 (uri (git-reference
243 (url "https://github.com/magit/with-editor.git")
244 (commit (string-append "v" version))))
245 (file-name (git-file-name name version))
246 (sha256
247 (base32
248 "1bbzvxnjpxqyvi808isld025b3pcidn4r2xf8hnk9bmzcfdvdr6q"))))
249 (build-system emacs-build-system)
250 (propagated-inputs
251 `(("emacs-dash" ,emacs-dash)))
252 (home-page "https://github.com/magit/with-editor")
253 (synopsis "Emacs library for using Emacsclient as EDITOR")
254 (description
255 "This package provides an Emacs library to use the Emacsclient as
256@code{$EDITOR} of child processes, making sure they know how to call home.
257For remote processes a substitute is provided, which communicates with Emacs
258on stdout instead of using a socket as the Emacsclient does.")
259 (license license:gpl3+)))
260
261(define-public emacs-magit
3a7ca60a
PN
262 ;; Version 2.90.1 has trouble loading the transient library,
263 ;; so we use a more recent commit that fixes it.
264 (let ((commit "b4aec016b5577afa8d889f258b499814d1bb1d94"))
265 (package
266 (name "emacs-magit")
267 (version (git-version "2.90.1" "1" commit))
268 (source (origin
269 (method git-fetch)
270 (uri (git-reference
271 (url "https://github.com/magit/magit")
272 (commit commit)))
273 (file-name (git-file-name name version))
274 (sha256
275 (base32
276 "0zl7v6z0y50pcgqsf2r8c1k3r5nwjad9ba7r6sgrnf4rc62br7jv"))))
277 (build-system gnu-build-system)
278 (native-inputs `(("texinfo" ,texinfo)
279 ("emacs" ,emacs-minimal)))
280 (inputs
281 `(("git" ,git)
282 ("perl" ,perl)))
283 (propagated-inputs
284 `(("dash" ,emacs-dash)
285 ("with-editor" ,emacs-with-editor)
286 ("transient" ,emacs-transient)))
287 (arguments
288 `(#:modules ((guix build gnu-build-system)
289 (guix build utils)
290 (guix build emacs-utils))
291 #:imported-modules (,@%gnu-build-system-modules
292 (guix build emacs-utils))
293 #:test-target "test"
294 #:tests? #f ; tests are not included in the release
eeb883cb 295
3a7ca60a
PN
296 #:make-flags
297 (list (string-append "PREFIX=" %output)
298 ;; Don't put .el files in a sub-directory.
299 (string-append "lispdir=" %output "/share/emacs/site-lisp")
300 (string-append "DASH_DIR="
301 (assoc-ref %build-inputs "dash")
302 "/share/emacs/site-lisp/guix.d/dash-"
303 ,(package-version emacs-dash))
304 (string-append "WITH_EDITOR_DIR="
305 (assoc-ref %build-inputs "with-editor")
306 "/share/emacs/site-lisp/guix.d/with-editor-"
307 ,(package-version emacs-with-editor))
308 (string-append "TRANSIENT_DIR="
309 (assoc-ref %build-inputs "transient")
310 "/share/emacs/site-lisp/guix.d/transient-"
311 ,(package-version emacs-transient)))
eeb883cb 312
3a7ca60a
PN
313 #:phases
314 (modify-phases %standard-phases
315 (delete 'configure)
316 (add-before
317 'build 'patch-exec-paths
318 (lambda* (#:key inputs #:allow-other-keys)
319 (let ((perl (assoc-ref inputs "perl")))
320 (make-file-writable "lisp/magit-sequence.el")
321 (emacs-substitute-variables "lisp/magit-sequence.el"
322 ("magit-perl-executable" (string-append perl "/bin/perl")))
323 #t))))))
324 (home-page "https://magit.vc/")
325 (synopsis "Emacs interface for the Git version control system")
326 (description
327 "With Magit, you can inspect and modify your Git repositories with Emacs.
eeb883cb
RW
328You can review and commit the changes you have made to the tracked files, for
329example, and you can browse the history of past changes. There is support for
330cherry picking, reverting, merging, rebasing, and other common Git
331operations.")
3a7ca60a 332 (license license:gpl3+))))
eeb883cb
RW
333
334(define-public magit
335 (deprecated-package "magit" emacs-magit))
336
337(define-public emacs-magit-svn
65fc1932
PN
338 (let ((commit "9e33ceee32f665db59909e1c00a667ccdd04178f"))
339 (package
340 (name "emacs-magit-svn")
341 (version (git-version "2.2.1" "1" commit))
342 (source (origin
343 (method git-fetch)
344 (uri (git-reference
345 (url "https://github.com/magit/magit-svn")
346 (commit commit)))
347 (file-name (git-file-name name version))
348 (sha256
349 (base32
350 "1mlqz8dh6jy5rv72lgkxv253dgh73fmbaidskicypapvbl3lr6xy"))))
351 (build-system trivial-build-system)
352 (native-inputs `(("emacs" ,emacs-minimal)))
353 (propagated-inputs `(("dash" ,emacs-dash)
354 ("with-editor" ,emacs-with-editor)
355 ("magit" ,emacs-magit)
356 ("transient" ,emacs-transient)))
357 (arguments
358 `(#:modules ((guix build utils)
359 (guix build emacs-utils))
eeb883cb 360
65fc1932
PN
361 #:builder
362 (begin
363 (use-modules (guix build utils)
364 (guix build emacs-utils))
eeb883cb 365
65fc1932
PN
366 (let ((emacs (string-append (assoc-ref %build-inputs "emacs")
367 "/bin/emacs"))
368 (magit (string-append (assoc-ref %build-inputs "magit")
369 "/share/emacs/site-lisp"))
370 (transient (string-append (assoc-ref %build-inputs "transient")
371 "/share/emacs/site-lisp/guix.d/transient-"
372 ,(package-version emacs-transient)))
373 (dash (string-append (assoc-ref %build-inputs "dash")
374 "/share/emacs/site-lisp/guix.d/dash-"
375 ,(package-version emacs-dash)))
376 (with-editor (string-append (assoc-ref %build-inputs "with-editor")
377 "/share/emacs/site-lisp/guix.d/with-editor-"
378 ,(package-version emacs-with-editor)))
379 (source (assoc-ref %build-inputs "source"))
380 (lisp-dir (string-append %output "/share/emacs/site-lisp")))
eeb883cb 381
65fc1932
PN
382 (install-file (string-append source "/magit-svn.el")
383 lisp-dir)
eeb883cb 384
65fc1932
PN
385 (with-directory-excursion lisp-dir
386 (parameterize ((%emacs emacs))
387 (emacs-generate-autoloads ,name lisp-dir)
388 (setenv "EMACSLOADPATH"
389 (string-append ":" magit ":" transient
390 ":" dash ":" with-editor))
391 (emacs-batch-eval '(byte-compile-file "magit-svn.el"))))
392 #t))))
393 (home-page "https://github.com/magit/magit-svn")
394 (synopsis "Git-SVN extension to Magit")
395 (description
396 "This package is an extension to Magit, the Git Emacs mode, providing
eeb883cb 397support for Git-SVN.")
65fc1932 398 (license license:gpl3+))))
eeb883cb
RW
399
400(define-public magit-svn
401 (deprecated-package "magit-svn" emacs-magit-svn))
402
403(define-public emacs-magit-popup
404 (package
405 (name "emacs-magit-popup")
406 (version "2.12.5")
407 (source (origin
408 (method git-fetch)
409 (uri (git-reference
410 (url "https://github.com/magit/magit-popup.git")
411 (commit (string-append "v" version))))
412 (file-name (git-file-name name version))
413 (sha256
414 (base32
415 "13riknyqr6vxqll80sfhvz165flvdz367rbd0pr5slb01bnfsi2i"))))
416 (build-system emacs-build-system)
417 (arguments
418 `(#:phases
419 (modify-phases %standard-phases
420 (add-before 'install 'make-info
421 (lambda _
422 (invoke "make" "info"))))))
423 (native-inputs
424 `(("texinfo" ,texinfo)))
425 (propagated-inputs
426 `(("emacs-dash" ,emacs-dash)))
427 (home-page "https://github.com/magit/magit-popup")
428 (synopsis "Define prefix-infix-suffix command combos")
429 (description
430 "This library implements a generic interface for toggling switches and
431setting options and then invoking an Emacs command which does something with
432these arguments. The prototypical use is for the command to call an external
433process, passing on the arguments as command line arguments.")
434 (license license:gpl3+)))
435
436(define-public emacs-treepy
437 (package
438 (name "emacs-treepy")
439 (version "0.1.1")
440 (source (origin
441 (method git-fetch)
442 (uri (git-reference
443 (url "https://github.com/volrath/treepy.el.git")
444 (commit version)))
445 (file-name (git-file-name name version))
446 (sha256
447 (base32
448 "04zwm6gx9pxfvgfkizx6pvb1ql8pqxjyzqp8flz0432x0gq5nlxk"))))
449 (build-system emacs-build-system)
450 (home-page
451 "https://github.com/volrath/treepy.el")
452 (synopsis "Tree traversal tools")
453 (description
454 "Generic tools for recursive and iterative tree traversal based on
455clojure.walk and clojure.zip respectively.")
456 (license license:gpl3+)))
457
458(define-public emacs-graphql
459 (package
460 (name "emacs-graphql")
461 (version "0.1.1")
462 (source (origin
463 (modules '((guix build utils)))
464 ;; Remove examples file with references to external packages as
465 ;; they do not exist at compilation time.
466 (snippet
467 '(begin (delete-file "examples.el")
468 #t))
469 (method git-fetch)
470 (uri (git-reference
471 (url "https://github.com/vermiculus/graphql.el.git")
472 (commit version)))
473 (file-name (git-file-name name version))
474 (sha256
475 (base32
476 "0sp0skc1rnhi39szfbq1i99pdgd3bhn4c15cff05iqhjy2d4hniw"))))
477 (build-system emacs-build-system)
478 (home-page
479 "https://github.com/vermiculus/graphql.el")
480 (synopsis "GraphQL utilities")
481 (description
482 "GraphQL.el provides a generally-applicable domain-specific language for
483creating and executing GraphQL queries against your favorite web services.
484GraphQL is a data query language and runtime designed and used to request and
485deliver data to mobile and web apps.")
486 (license license:gpl3+)))
487
488(define-public emacs-ghub
489 (package
490 (name "emacs-ghub")
ae848798 491 (version "3.2.0")
eeb883cb 492 (source (origin
0c662875
EF
493 (method git-fetch)
494 (uri (git-reference
495 (url "https://github.com/magit/ghub")
496 (commit (string-append "v" version))))
497 (file-name (git-file-name name version))
eeb883cb
RW
498 (sha256
499 (base32
ae848798 500 "0lp52qygyavddl1lrgsyb6mq7hcf9h89dy2pzya3mb2va49f0vvl"))))
eeb883cb
RW
501 (build-system emacs-build-system)
502 (arguments
503 `(#:phases
504 (modify-phases %standard-phases
505 (add-before 'install 'make-info
506 (lambda _
507 (invoke "make" "info"))))))
508 (native-inputs
509 `(("texinfo" ,texinfo)))
ae848798
EF
510 (propagated-inputs
511 `(("dash" ,emacs-dash)
512 ("graphql" ,emacs-graphql)
513 ("treepy" ,emacs-treepy)))
eeb883cb 514 (home-page "https://github.com/magit/ghub")
ae848798 515 (synopsis "Emacs client libraries for the APIs of various Git forges")
eeb883cb 516 (description
ae848798
EF
517 "Ghub provides basic support for using the APIs of various Git forges from
518Emacs packages. It supports the REST APIs of Github, Github GraphQL, Gitlab,
519Gitea, Gogs and Bitbucket. It abstracts access to API resources using only a
520handful of functions that are not resource-specific.")
eeb883cb
RW
521 (license license:gpl3+)))
522
523(define-public emacs-scribble-mode
524 (let ((commit "34e9e5edb921813b6483e0fefa848efb6ee4b314")
525 (version "0.0")
526 (revision 0))
527 (package
528 (name "emacs-scribble-mode")
529 (version (if (zero? revision)
530 version
531 (string-append version "-"
532 (number->string revision)
533 "." (string-take commit 7))))
534 (source (origin
535 (method git-fetch)
536 (uri (git-reference
537 (url "https://github.com/emacs-pe/scribble-mode.git")
538 (commit commit)))
539 (sha256
540 (base32
541 "0598byqpz2q6yi2q4dwd77jj9z3n99z34d3an51s9m2za0nh1qvp"))))
542 (build-system emacs-build-system)
543 (home-page "https://github.com/emacs-pe/scribble-mode")
544 (synopsis "Emacs mode for editing the Scribble documentation syntax.")
545 (description
546 "This package provides basic syntax highlighting and editing support
547for editing Racket's Scribble documentation syntax in Emacs.")
548 (license license:gpl3+))))
549
a3852578
AS
550(define-public emacs-shroud
551 (package
552 (name "emacs-shroud")
553 (version "1.15.1")
554 (source
555 (origin
556 (method git-fetch)
557 (uri (git-reference
558 (url "https://github.com/o-nly/emacs-shroud.git")
559 (commit version)))
560 (file-name (git-file-name name version))
561 (sha256
562 (base32 "0wvm4lxqcc1p8v7rpqal3bnqgnpk1gs7v18i83f6cvi5d88jkgdg"))))
563 (build-system emacs-build-system)
564 (propagated-inputs
565 `(("emacs-bui" ,emacs-bui)
566 ("emacs-dash" ,emacs-dash)
567 ("emacs-f" ,emacs-f)
568 ("emacs-s" ,emacs-s)
569 ("gnupg" ,gnupg)
570 ("shroud" ,shroud)))
571 (home-page "https://github.com/o-nly/emacs-shroud")
572 (synopsis "Emacs interface to the Shroud password manager")
573 (description
574 "This package provides an Emacs interface to the Shroud password manager,
575using the Buffers User Interface library. You can view, copy, and edit secrets
576from within Emacs.")
577 (license license:gpl3+)))
578
54f51df6
BL
579(define-public emacs-unpackaged-el
580 (let ((commit "f4df7f8dfea715e893b2223adda32545803f5cce")
581 (revision "1"))
582 (package
583 (name "emacs-unpackaged-el")
584 (version (git-version "0" revision commit))
585 (source
586 (origin
587 (method git-fetch)
588 (uri (git-reference
589 (url "https://github.com/alphapapa/unpackaged.el")
590 (commit commit)))
591 (file-name (git-file-name name version))
592 (sha256
593 (base32
8785a71f
BL
594 "1yf3zrgqfhnr0az8gn1kqqwnhfi3nc0vbjkcagwcqwk3sp1jda86"))
595 (patches
596 (search-patches "emacs-unpackaged-req.patch"))))
54f51df6
BL
597 (build-system emacs-build-system)
598 (propagated-inputs
599 `(("emacs-dash" ,emacs-dash)
600 ("emacs-org" ,emacs-org)
601 ("emacs-s" ,emacs-s)
8785a71f 602 ("emacs-hydra" ,emacs-hydra)
54f51df6
BL
603 ("emacs-use-package" ,emacs-use-package)))
604 (home-page "https://github.com/alphapapa/unpackaged.el")
605 (synopsis "Useful snippets of Emacs Lisp code")
606 (description "This package provides Emacs Lisp utilities for a variety
607of tasks, including version control, task management, and regex-based
608replacement.")
609 (license license:gpl3+))))
610
eeb883cb
RW
611(define-public emacs-haskell-mode
612 (package
613 (name "emacs-haskell-mode")
614 (version "16.1")
615 (source (origin
f5350a07
EF
616 (method git-fetch)
617 (uri (git-reference
618 (url "https://github.com/haskell/haskell-mode")
619 (commit (string-append "v" version))))
620 (file-name (git-file-name name version))
eeb883cb 621 (sha256
f5350a07 622 (base32 "1qk36y0v9fzass6785il65c6wb5cfj4ihhwkvgnzmbafpa8p4dvq"))
eeb883cb
RW
623 (patches
624 (search-patches ; backport test failure fixes
625 "haskell-mode-unused-variables.patch"
626 "haskell-mode-make-check.patch"))))
627 (inputs
628 `(("emacs-el-search" ,emacs-el-search) ; for tests
629 ("emacs-stream" ,emacs-stream))) ; for tests
630 (propagated-inputs
631 `(("emacs-dash" ,emacs-dash)))
632 (native-inputs
633 `(("emacs" ,emacs-minimal)
634 ("texinfo" ,texinfo)))
635 (build-system gnu-build-system)
636 (arguments
637 `(#:make-flags (list (string-append "EMACS="
638 (assoc-ref %build-inputs "emacs")
639 "/bin/emacs"))
640 #:modules ((ice-9 match)
641 (srfi srfi-26)
642 ,@%gnu-build-system-modules)
643 #:phases
644 (modify-phases %standard-phases
645 (delete 'configure)
646 (add-before
647 'build 'pre-build
648 (lambda* (#:key inputs #:allow-other-keys)
649 (define (el-dir store-dir)
650 (match (find-files store-dir "\\.el$")
651 ((f1 f2 ...) (dirname f1))
652 (_ "")))
653
654 (let ((sh (string-append (assoc-ref inputs "bash") "/bin/sh")))
655 (define emacs-prefix? (cut string-prefix? "emacs-" <>))
656
657 (setenv "SHELL" "sh")
658 (setenv "EMACSLOADPATH"
659 (string-concatenate
660 (map (match-lambda
661 (((? emacs-prefix? name) . dir)
662 (string-append (el-dir dir) ":"))
663 (_ ""))
664 inputs)))
665 (substitute* (find-files "." "\\.el") (("/bin/sh") sh))
666 ;; embed filename to fix test failure
667 (let ((file "tests/haskell-cabal-tests.el"))
668 (substitute* file
669 (("\\(buffer-file-name\\)")
670 (format #f "(or (buffer-file-name) ~s)" file))))
671 #t)))
672 (replace
673 'install
674 (lambda* (#:key outputs #:allow-other-keys)
675 (let* ((out (assoc-ref outputs "out"))
676 (el-dir (string-append out "/share/emacs/site-lisp"))
677 (doc (string-append
678 out "/share/doc/haskell-mode-" ,version))
679 (info (string-append out "/share/info")))
680 (define (copy-to-dir dir files)
681 (for-each (lambda (f)
682 (install-file f dir))
683 files))
684
685 (with-directory-excursion "doc"
686 (invoke "makeinfo" "haskell-mode.texi")
687 (install-file "haskell-mode.info" info))
688 (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
689 (copy-to-dir el-dir (find-files "." "\\.elc?"))
690 ;; These are part of other packages.
691 (with-directory-excursion el-dir
692 (for-each delete-file '("dash.el" "ert.el")))
693 #t))))))
694 (home-page "https://github.com/haskell/haskell-mode")
695 (synopsis "Haskell mode for Emacs")
696 (description
697 "This is an Emacs mode for editing, debugging and developing Haskell
698programs.")
699 (license license:gpl3+)))
700
701(define-public haskell-mode
702 (deprecated-package "haskell-mode" emacs-haskell-mode))
703
3fef2a9d
BL
704(define-public emacs-dante
705 (let ((commit "149dded24ca9cdff09a3d859e4b62638db4aadda")
706 (revision "1"))
707 (package
708 (name "emacs-dante")
709 (version (git-version "1.5" revision commit))
710 (source (origin
711 (method git-fetch)
712 (uri (git-reference
713 (url "https://github.com/jyp/dante")
714 (commit commit)))
715 (sha256
716 (base32
717 "0i7kj3d6pfys6si9va5f36qzifyac9mahdl0qh40rya9m0syrkla"))
718 (file-name (git-file-name name version))))
719 (build-system emacs-build-system)
720 (propagated-inputs
721 `(("emacs-dash" ,emacs-dash)
722 ("emacs-f" ,emacs-f)
723 ("emacs-flycheck" ,emacs-flycheck)
724 ("emacs-haskell-mode" ,emacs-haskell-mode)
725 ("emacs-s" ,emacs-s)
726 ("emacs-company" ,emacs-company)
727 ("emacs-lcr" ,emacs-lcr)))
728 (home-page "https://github.com/jyp/dante")
729 (synopsis "Minor mode for interactive Haskell")
730 (description
731 "This package provides a minor mode for Haskell development that
732supports type hints, definition-jumping, completion, and more.")
733 (license license:gpl3+))))
734
eeb883cb
RW
735(define-public emacs-flycheck
736 (package
737 (name "emacs-flycheck")
738 (version "31")
739 (source (origin
740 (method url-fetch)
741 (uri (string-append
742 "https://github.com/flycheck/flycheck/releases/download/"
743 version "/flycheck-" version ".tar"))
744 (sha256
745 (base32
746 "01rnwan16m7cyyrfca3c5c60mbj2r3knkpzbhji2fczsf0wns240"))
747 (modules '((guix build utils)))
748 (snippet `(begin
749 ;; Change 'flycheck-version' so that it does not
750 ;; attempt to get its version from pkg-info.el.
751 (substitute* "flycheck.el"
752 (("\\(pkg-info-version-info 'flycheck\\)")
753 (string-append "\"" ,version "\"")))
754 #t))))
755 (build-system emacs-build-system)
756 (propagated-inputs
757 `(("emacs-dash" ,emacs-dash)))
758 (home-page "https://www.flycheck.org")
759 (synopsis "On-the-fly syntax checking")
760 (description
761 "This package provides on-the-fly syntax checking for GNU Emacs. It is a
762replacement for the older Flymake extension which is part of GNU Emacs, with
763many improvements and additional features.
764
765Flycheck provides fully-automatic, fail-safe, on-the-fly background syntax
766checking for over 30 programming and markup languages with more than 70
767different tools. It highlights errors and warnings inline in the buffer, and
768provides an optional IDE-like error list.")
769 (license license:gpl3+))) ;+GFDLv1.3+ for the manual
770
771(define-public emacs-a
772 (package
773 (name "emacs-a")
774 (version "0.1.1")
775 (source (origin
776 (method git-fetch)
777 (uri (git-reference
778 (url "https://github.com/plexus/a.el.git")
779 (commit (string-append "v" version))))
780 (file-name (git-file-name name version))
781 (sha256
782 (base32
783 "00v9w6qg3bkwdhypq0ssf0phdh0f4bcq59c20lngd6vhk0204dqi"))))
784 (build-system emacs-build-system)
785 (home-page "https://github.com/plexus/a.el/")
786 (synopsis
787 "Emacs library for dealing with association lists and hash tables")
788 (description "@code{emacs-a} provides Emacs Lisp functions for dealing
789with associative structures in a uniform and functional way. These functions
790can take association lists, hash tables, and in some cases vectors (where the
791index is considered the key).")
792 (license license:gpl3+)))
793
79bd0e4f
TG
794(define-public emacs-ace-jump-mode
795 (package
796 (name "emacs-ace-jump-mode")
797 (version "2.0")
798 (home-page "https://github.com/winterTTr/ace-jump-mode")
799 (source (origin
800 (method git-fetch)
801 (uri (git-reference
802 (url home-page)
803 (commit (string-append "v" version))))
804 (sha256
805 (base32
806 "1bwvzh056ls2v7y26a0s4j5mj582dmds04lx4x6iqihs04ss74bb"))
807 (file-name (git-file-name name version))))
808 (build-system emacs-build-system)
809 (synopsis "Cursor location minor mode for fast navigation")
810 (description "Ace-jump-mode is a fast/direct cursor location minor
811mode. It creates an N-Branch search tree internally and marks all
812the possible position with predefined keys in within the whole Emacs
813view. This allows you to move to the character, word, or line almost
814directly.")
815 (license license:gpl3+)))
816
60ceff7e
NG
817(define-public emacs-anaphora
818 (package
819 (name "emacs-anaphora")
820 (version "1.0.4")
821 (source
822 (origin
823 (method git-fetch)
824 (uri (git-reference
825 (url "https://github.com/rolandwalker/anaphora.git")
826 (commit (string-append "v" version))))
827 (file-name (git-file-name name version))
828 (sha256
829 (base32
830 "11fgiy029sqz7nvdm7dcal95lacryz9zql0x5h05z48nrrcl4bib"))))
831 (build-system emacs-build-system)
832 (home-page "https://github.com/rolandwalker/anaphora/")
833 (synopsis "Anaphoric expressions for Emacs Lisp")
834 (description "@code{emacs-anaphora} implements anaphoric expressions for
835Emacs Lisp.
836
837Anaphoric expressions implicitly create one or more temporary variables which
838can be referred to during the expression. This technique can improve clarity
839in certain cases. It also enables recursion for anonymous functions.")
840 (license license:public-domain)))
841
5dfbf562
NG
842(define-public emacs-xr
843 (package
844 (name "emacs-xr")
d8d896c5 845 (version "1.12")
5dfbf562
NG
846 (source
847 (origin
848 (method url-fetch)
849 (uri (string-append
850 "https://elpa.gnu.org/packages/xr-" version ".tar"))
851 (sha256
852 (base32
d8d896c5 853 "1vv87h0h8ldc1mbsn45w5z1m6jq8j2js4xz23a9ixdby06g60y3g"))))
5dfbf562
NG
854 (build-system emacs-build-system)
855 (home-page "http://elpa.gnu.org/packages/xr.html")
856 (synopsis "Convert string regexp to rx notation")
857 (description
858 "This is an inverse companion to the @code{rx} package for translating
859regexps in string form to the @code{rx} notation. Its chief uses are:
860
861@itemize
862@item Migrating existing code to @code{rx} form, for better readability and
863maintainability
864@item Understanding complex regexp strings and finding errors in them
865@end itemize
866
867In addition to Emacs regexps, this package can also parse and troubleshoot
868skip set strings, which are arguments to @code{skip-chars-forward} and
24540c31
NG
869@code{skip-chars-backward}.")
870 (license license:gpl3+)))
871
8ae48674
LJ
872(define-public emacs-reformatter
873 (package
874 (name "emacs-reformatter")
875 (version "0.4")
876 (source
877 (origin
878 (method git-fetch)
879 (uri (git-reference
880 (url "https://github.com/purcell/reformatter.el.git")
881 (commit version)))
882 (file-name (git-file-name name version))
883 (sha256
884 (base32
885 "0hhy6x1bkwlhdlarsgm06g3am4yh02yqv8qs34szpzgy53x84qah"))))
886 (build-system emacs-build-system)
887 (home-page "https://github.com/purcell/reformatter.el")
888 (synopsis "Define commands which run reformatters on the current buffer")
889 (description
890 "This library lets elisp authors easily define an idiomatic command to
891reformat the current buffer using a command-line program, together with an
892optional minor mode which can apply this command automatically on save.")
893 (license license:gpl3+)))
894
24540c31
NG
895(define-public emacs-relint
896 (package
897 (name "emacs-relint")
70fa77d8 898 (version "1.8")
24540c31
NG
899 (source
900 (origin
901 (method url-fetch)
902 (uri (string-append
903 "https://elpa.gnu.org/packages/relint-" version ".el"))
904 (sha256
905 (base32
70fa77d8 906 "1bl6m2h7131acbmr0kqfnjjpv2syiv2mxfnm61g874ynnvkmmkm3"))))
24540c31
NG
907 (build-system emacs-build-system)
908 (propagated-inputs `(("emacs-xr" ,emacs-xr)))
909 (home-page "https://github.com/mattiase/relint")
910 (synopsis "Elisp regexp mistake finder")
911 (description
912 "Relint (regular expression lint) scans Elisp files for mistakes in
913regexps, including deprecated syntax and bad practice. It also checks the
914regexp-like arguments to @code{skip-chars-forward} and
5dfbf562
NG
915@code{skip-chars-backward}.")
916 (license license:gpl3+)))
917
eeb883cb
RW
918\f
919;;;
920;;; Web browsing.
921;;;
922
923(define-public emacs-w3m
924 ;; Emacs-w3m follows a "rolling release" model.
925 (package
926 (name "emacs-w3m")
927 (version "2018-11-11")
928 (source (origin
929 (method cvs-fetch)
930 (uri (cvs-reference
931 (root-directory
932 ":pserver:anonymous@cvs.namazu.org:/storage/cvsroot")
933 (module "emacs-w3m")
934 (revision version)))
935 (file-name (string-append name "-" version "-checkout"))
936 (sha256
937 (base32
938 "0nvahdbjs12zg7zsk4gql02mvnv56cf1rwj2f5p42lwp3xvswiwp"))))
939 (build-system gnu-build-system)
940 (native-inputs `(("autoconf" ,autoconf)
941 ("texinfo" ,texinfo)
942 ("emacs" ,emacs-minimal)))
943 (inputs `(("w3m" ,w3m)
944 ("imagemagick" ,imagemagick)))
945 (arguments
946 `(#:modules ((guix build gnu-build-system)
947 (guix build utils)
948 (guix build emacs-utils))
949 #:imported-modules (,@%gnu-build-system-modules
950 (guix build emacs-utils))
951 #:configure-flags
952 (let ((out (assoc-ref %outputs "out")))
953 (list (string-append "--with-lispdir="
954 out "/share/emacs/site-lisp")
955 (string-append "--with-icondir="
956 out "/share/images/emacs-w3m")
957 ;; Leave .el files uncompressed, otherwise GC can't
958 ;; identify run-time dependencies. See
959 ;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
960 "--without-compress-install"))
961 #:tests? #f ; no check target
962 #:phases
963 (modify-phases %standard-phases
964 (add-after 'unpack 'autoconf
965 (lambda _
966 (invoke "autoconf")))
967 (add-before 'configure 'support-emacs!
968 (lambda _
969 ;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
970 ;; unsupported.
971 (substitute* "configure"
972 (("EMACS_FLAVOR=unsupported")
973 "EMACS_FLAVOR=emacs"))
974 #t))
975 (add-before 'build 'patch-exec-paths
976 (lambda* (#:key inputs outputs #:allow-other-keys)
977 (let ((out (assoc-ref outputs "out"))
978 (w3m (assoc-ref inputs "w3m"))
979 (imagemagick (assoc-ref inputs "imagemagick"))
980 (coreutils (assoc-ref inputs "coreutils")))
981 (make-file-writable "w3m.el")
982 (emacs-substitute-variables "w3m.el"
983 ("w3m-command" (string-append w3m "/bin/w3m"))
984 ("w3m-touch-command"
985 (string-append coreutils "/bin/touch"))
986 ("w3m-icon-directory"
987 (string-append out "/share/images/emacs-w3m")))
988 (make-file-writable "w3m-image.el")
989 (emacs-substitute-variables "w3m-image.el"
990 ("w3m-imagick-convert-program"
991 (string-append imagemagick "/bin/convert"))
992 ("w3m-imagick-identify-program"
993 (string-append imagemagick "/bin/identify")))
994 #t)))
995 (replace 'install
996 (lambda* (#:key outputs #:allow-other-keys)
997 (invoke "make" "install" "install-icons")
998 (with-directory-excursion
999 (string-append (assoc-ref outputs "out")
1000 "/share/emacs/site-lisp")
1001 (for-each delete-file '("ChangeLog" "ChangeLog.1"))
1002 (symlink "w3m-load.el" "w3m-autoloads.el")
1003 #t))))))
1004 (home-page "http://emacs-w3m.namazu.org/")
1005 (synopsis "Simple Web browser for Emacs based on w3m")
1006 (description
1007 "Emacs-w3m is an emacs interface for the w3m web browser.")
1008 (license license:gpl2+)))
1009
1010(define-public emacs-wget
1011 (package
1012 (name "emacs-wget")
1013 (version "0.5.0")
1014 (source (origin
1015 (method url-fetch)
1016 (uri (string-append "mirror://debian/pool/main/w/wget-el/wget-el_"
1017 version ".orig.tar.gz"))
1018 (sha256
1019 (base32 "10byvyv9dk0ib55gfqm7bcpxmx2qbih1jd03gmihrppr2mn52nff"))))
1020 (build-system gnu-build-system)
1021 (inputs `(("wget" ,wget)))
1022 (native-inputs `(("emacs" ,emacs-minimal)))
1023 (arguments
1024 `(#:modules ((guix build gnu-build-system)
1025 (guix build utils)
1026 (guix build emacs-utils))
1027 #:imported-modules (,@%gnu-build-system-modules
1028 (guix build emacs-utils))
1029 #:tests? #f ; no check target
1030 #:phases
1031 (modify-phases %standard-phases
1032 (replace 'configure
1033 (lambda* (#:key outputs #:allow-other-keys)
1034 (substitute* "Makefile"
1035 (("/usr/local") (assoc-ref outputs "out"))
1036 (("/site-lisp/emacs-wget") "/site-lisp"))
1037 #t))
1038 (add-before 'build 'patch-exec-paths
1039 (lambda* (#:key inputs outputs #:allow-other-keys)
1040 (let ((wget (assoc-ref inputs "wget")))
1041 (emacs-substitute-variables "wget.el"
1042 ("wget-command" (string-append wget "/bin/wget"))))
1043 #t))
1044 (add-after 'install 'post-install
1045 (lambda* (#:key outputs #:allow-other-keys)
1046 (emacs-generate-autoloads
1047 "wget" (string-append (assoc-ref outputs "out")
1048 "/share/emacs/site-lisp/"))
1049 #t)))))
1050 (home-page "http://www.emacswiki.org/emacs/EmacsWget")
1051 (synopsis "Simple file downloader for Emacs based on wget")
1052 (description
1053 "Emacs-wget is an emacs interface for the wget file downloader.")
1054 (license license:gpl2+)))
1055
1056\f
1057;;;
1058;;; Multimedia.
1059;;;
1060
1061(define-public emacs-emms
1062 (package
1063 (name "emacs-emms")
d5f4d5b6 1064 (version "5.2")
eeb883cb
RW
1065 (source (origin
1066 (method url-fetch)
1067 (uri (string-append "mirror://gnu/emms/emms-"
1068 version ".tar.gz"))
1069 (sha256
1070 (base32
d5f4d5b6 1071 "0cvpfdkagkpi8g02w8f7wzrpdk2ihas0mn5m9fr882xjdfshl21z"))
eeb883cb
RW
1072 (modules '((guix build utils)))
1073 (snippet
1074 '(begin
1075 (substitute* "Makefile"
1076 (("/usr/bin/install-info")
1077 ;; No need to use 'install-info' since it would create a
1078 ;; useless 'dir' file.
1079 "true")
1080 (("^INFODIR=.*")
1081 ;; Install Info files to $out/share/info, not $out/info.
1082 "INFODIR := $(PREFIX)/share/info\n")
1083 (("/site-lisp/emms")
1084 ;; Install directly in share/emacs/site-lisp, not in a
1085 ;; sub-directory.
1086 "/site-lisp")
1087 (("^all: (.*)\n" _ rest)
1088 ;; Build 'emms-print-metadata'.
1089 (string-append "all: " rest " emms-print-metadata\n")))
1090 #t))))
1091 (build-system gnu-build-system)
1092 (arguments
1093 `(#:modules ((guix build gnu-build-system)
1094 (guix build utils)
1095 (guix build emacs-utils)
1096 (ice-9 ftw))
1097 #:imported-modules (,@%gnu-build-system-modules
1098 (guix build emacs-utils))
1099
1100 #:phases
1101 (modify-phases %standard-phases
1102 (replace 'configure
1103 (lambda* (#:key inputs outputs #:allow-other-keys)
1104 (let ((out (assoc-ref outputs "out"))
1105 (flac (assoc-ref inputs "flac"))
1106 (vorbis (assoc-ref inputs "vorbis-tools"))
1107 (alsa (assoc-ref inputs "alsa-utils"))
1108 (mpg321 (assoc-ref inputs "mpg321"))
1109 (mp3info (assoc-ref inputs "mp3info"))
b7489004 1110 (mutagen (assoc-ref inputs "mutagen"))
eeb883cb
RW
1111 (opus (assoc-ref inputs "opus-tools")))
1112 ;; Specify the installation directory.
1113 (substitute* "Makefile"
1114 (("PREFIX=.*$")
1115 (string-append "PREFIX := " out "\n")))
1116
1117 (setenv "SHELL" (which "sh"))
1118 (setenv "CC" "gcc")
1119
1120 ;; Specify the absolute file names of the various
1121 ;; programs so that everything works out-of-the-box.
1122 (with-directory-excursion "lisp"
1123 (emacs-substitute-variables
1124 "emms-player-mpg321-remote.el"
1125 ("emms-player-mpg321-remote-command"
1126 (string-append mpg321 "/bin/mpg321")))
1127 (substitute* "emms-player-simple.el"
1128 (("\"ogg123\"")
1129 (string-append "\"" vorbis "/bin/ogg123\"")))
1130 (substitute* "emms-player-simple.el"
1131 (("\"mpg321\"")
1132 (string-append "\"" mpg321 "/bin/mpg321\"")))
1133 (emacs-substitute-variables "emms-info-ogginfo.el"
1134 ("emms-info-ogginfo-program-name"
1135 (string-append vorbis "/bin/ogginfo")))
1136 (emacs-substitute-variables "emms-info-opusinfo.el"
1137 ("emms-info-opusinfo-program-name"
1138 (string-append opus "/bin/opusinfo")))
1139 (emacs-substitute-variables "emms-info-libtag.el"
1140 ("emms-info-libtag-program-name"
1141 (string-append out "/bin/emms-print-metadata")))
1142 (emacs-substitute-variables "emms-info-mp3info.el"
1143 ("emms-info-mp3info-program-name"
1144 (string-append mp3info "/bin/mp3info")))
1145 (emacs-substitute-variables "emms-info-metaflac.el"
1146 ("emms-info-metaflac-program-name"
1147 (string-append flac "/bin/metaflac")))
1148 (emacs-substitute-variables "emms-source-file.el"
1149 ("emms-source-file-gnu-find" (which "find")))
1150 (substitute* "emms-volume-amixer.el"
1151 (("\"amixer\"")
1152 (string-append "\"" alsa "/bin/amixer\"")))
1153 (substitute* "emms-tag-editor.el"
b7489004
LC
1154 (("\"mid3v2\"")
1155 (string-append "\"" mutagen "/bin/mid3v2\"")))
1156 #t))))
eeb883cb
RW
1157 (add-before 'install 'pre-install
1158 (lambda* (#:key outputs #:allow-other-keys)
1159 ;; The 'install' rule expects the target directories to exist.
1160 (let* ((out (assoc-ref outputs "out"))
1161 (bin (string-append out "/bin"))
1162 (man1 (string-append out "/share/man/man1")))
1163 (mkdir-p bin)
1164 (mkdir-p man1)
1165
1166 ;; Ensure that files are not rejected by gzip
1167 (let ((early-1980 315619200)) ; 1980-01-02 UTC
1168 (ftw "." (lambda (file stat flag)
1169 (unless (<= early-1980 (stat:mtime stat))
1170 (utime file early-1980 early-1980))
1171 #t)))
1172 #t)))
1173 (add-after 'install 'post-install
1174 (lambda* (#:key outputs #:allow-other-keys)
1175 (let ((out (assoc-ref outputs "out")))
1176 (symlink "emms-auto.el"
1177 (string-append out "/share/emacs/site-lisp/"
1178 "emms-autoloads.el")))
1179 #t)))
1180 #:tests? #f))
1181 (native-inputs `(("emacs" ,emacs-minimal) ;for (guix build emacs-utils)
1182 ("texinfo" ,texinfo)))
1183 (inputs `(("alsa-utils" ,alsa-utils)
1184 ("flac" ,flac) ;for metaflac
1185 ("vorbis-tools" ,vorbis-tools)
1186 ("mpg321" ,mpg321)
1187 ("taglib" ,taglib)
1188 ("mp3info" ,mp3info)
b7489004 1189 ("mutagen" ,python-mutagen)
eeb883cb
RW
1190 ("opus-tools" ,opus-tools)))
1191 (properties '((upstream-name . "emms")))
1192 (synopsis "Emacs Multimedia System")
1193 (description
1194 "EMMS is the Emacs Multimedia System. It is a small front-end which
1195can control one of the supported external players. Thus, it supports
1196whatever formats are supported by your music player. It also
1197supports tagging and playlist management, all behind a clean and
1198light user interface.")
1199 (home-page "https://www.gnu.org/software/emms/")
1200 (license license:gpl3+)))
1201
1202(define-public emacs-emms-player-mpv
1203 ;; A new mpv backend is included in Emms from 5.0.
1204 (deprecated-package "emacs-emms-player-mpv" emacs-emms))
1205
1206(define-public emacs-emms-mode-line-cycle
1207 (package
1208 (name "emacs-emms-mode-line-cycle")
1209 (version "0.2.5")
1210 (source
1211 (origin
b2c08402
EF
1212 (method git-fetch)
1213 (uri (git-reference
1214 (url "https://github.com/momomo5717/emms-mode-line-cycle")
1215 (commit version)))
1216 (file-name (git-file-name name version))
eeb883cb
RW
1217 (sha256
1218 (base32
b2c08402 1219 "0q80f0plch6k4lhs8c9qm3mfycfbp3kn5sjrk9zxgxwnn901y9mp"))))
eeb883cb
RW
1220 (build-system emacs-build-system)
1221 (propagated-inputs
1222 `(("emms" ,emacs-emms)))
1223 (home-page "https://github.com/momomo5717/emms-mode-line-cycle")
1224 (synopsis "Display the EMMS mode line as a ticker")
1225 (description
1226 "This is a minor mode for updating the EMMS mode-line string cyclically
1227within a specified width. It is useful for displaying long track titles.")
1228 (license license:gpl3+)))
1229
1230\f
1231;;;
1232;;; Miscellaneous.
1233;;;
1234
cfcec4ab 1235(define-public emacs-ace-link
1236 (package
1237 (name "emacs-ace-link")
1238 (version "0.5.0")
1239 (source
1240 (origin
1241 (method git-fetch)
1242 (uri (git-reference
1243 (url "https://github.com/abo-abo/ace-link.git")
1244 (commit version)))
1245 (file-name (git-file-name name version))
1246 (sha256
1247 (base32
1248 "147dz79vg4ym5wg3d544bw2khdb2j3hr73rw4qfm64wf0q2dj0vk"))))
1249 (build-system emacs-build-system)
1250 (propagated-inputs
1251 `(("emacs-avy" ,emacs-avy)))
1252 (home-page "https://github.com/abo-abo/ace-link")
1253 (synopsis "Quickly follow links in Emacs")
1254 (description
1255 "Currently, to jump to a link in a @code{Info-mode}, @code{help-mode},
1256@code{woman-mode}, @code{org-mode}, @code{eww-mode}, @code{compilation-mode},
1257@code{goto-address-mode} buffer, you can tab through the links to select the
1258one you want. This is an O(N) operation, where the N is the amount of links.
1259This package turns this into an O(1) operation. It does so by assigning a
1260letter to each link using avy.")
1261 (license license:gpl3+)))
1262
eeb883cb
RW
1263(define-public emacs-bbdb
1264 (package
1265 (name "emacs-bbdb")
1266 (version "3.1.2")
1267 (source (origin
1268 (method url-fetch)
1269 (uri (string-append "mirror://savannah/bbdb/bbdb-"
1270 version ".tar.gz"))
1271 (sha256
1272 (base32
1273 "1gs16bbpiiy01w9pyg12868r57kx1v3hnw04gmqsmpc40l1hyy05"))
1274 (modules '((guix build utils)))
1275 (snippet
1276 ;; We don't want to build and install the PDF.
1277 '(begin
1278 (substitute* "doc/Makefile.in"
1279 (("^doc_DATA = .*$")
1280 "doc_DATA =\n"))
1281 #t))))
1282 (build-system gnu-build-system)
1283 (arguments
1284 '(#:phases
1285 (modify-phases %standard-phases
1286 (add-after 'install 'post-install
1287 (lambda* (#:key outputs #:allow-other-keys)
1288 ;; Add an autoloads file with the right name for guix.el.
1289 (let* ((out (assoc-ref outputs "out"))
1290 (site (string-append out "/share/emacs/site-lisp")))
1291 (with-directory-excursion site
1292 (symlink "bbdb-loaddefs.el" "bbdb-autoloads.el")))
1293 #t)))))
1294 (native-inputs `(("emacs" ,emacs-minimal)))
1295 (home-page "https://savannah.nongnu.org/projects/bbdb/")
1296 (synopsis "Contact management utility for Emacs")
1297 (description
1298 "BBDB is the Insidious Big Brother Database for GNU Emacs. It provides
1299an address book for email and snail mail addresses, phone numbers and the
1300like. It can be linked with various Emacs mail clients (Message and Mail
1301mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
1302 (license license:gpl3+)))
1303
1304(define-public bbdb
1305 (deprecated-package "bbdb" emacs-bbdb))
1306
1307(define-public emacs-aggressive-indent
1308 (package
1309 (name "emacs-aggressive-indent")
1310 (version "1.8.3")
1311 (source (origin
1312 (method url-fetch)
1313 (uri (string-append "https://elpa.gnu.org/packages/"
1314 "aggressive-indent-" version ".el"))
1315 (sha256
1316 (base32
1317 "0jnzccl50x0wapprgwxinp99pwwa6j43q6msn4gv437j7swy8wnj"))))
1318 (build-system emacs-build-system)
1319 (home-page "https://elpa.gnu.org/packages/aggressive-indent.html")
1320 (synopsis "Minor mode to aggressively keep your code always indented")
1321 (description
1322 "@code{aggressive-indent-mode} is a minor mode that keeps your code
1323always indented. It reindents after every change, making it more reliable
1324than @code{electric-indent-mode}.")
1325 (license license:gpl2+)))
1326
d2df92e4
BL
1327(define-public emacs-link-hint
1328 ;; Last release was in 2015.
1329 (let ((commit "d74a483652486260c052941fedeadddb1ea71f88")
1330 (revision "1"))
1331 (package
1332 (name "emacs-link-hint")
1333 (version (git-version "0.1" revision commit))
1334 (source
1335 (origin
1336 (method git-fetch)
1337 (uri (git-reference
1338 (url "https://github.com/noctuid/link-hint.el")
1339 (commit commit)))
1340 (file-name (git-file-name name version))
1341 (sha256
1342 (base32
1343 "0dghxd165fbds6czy9bfwpid3i4irgp3q08n9mg57sfifi0cmij0"))))
1344 (build-system emacs-build-system)
1345 (propagated-inputs
1346 `(("emacs-avy" ,emacs-avy)))
1347 (home-page "https://github.com/noctuid/link-hint.el")
1348 (synopsis "Vimperator-style link-hinting in Emacs")
1349 (description "This package provides commands for visiting and acting on
1350links.")
1351 (license license:gpl3+))))
1352
eeb883cb
RW
1353(define-public emacs-ag
1354 (package
1355 (name "emacs-ag")
1356 (version "0.47")
1357 (source (origin
3cf9a85b
EF
1358 (method git-fetch)
1359 (uri (git-reference
1360 (url "https://github.com/Wilfred/ag.el.git")
1361 (commit version)))
1362 (file-name (git-file-name name version))
eeb883cb
RW
1363 (sha256
1364 (base32
3cf9a85b 1365 "15kp99vwyi7hb1jkq3lwvqzw3v62ycixsq6y4pd1x0nn2v5p5m5r"))))
eeb883cb
RW
1366 (build-system emacs-build-system)
1367 (arguments
1368 `(#:phases
1369 (modify-phases %standard-phases
1370 (add-before 'install 'make-info
1371 (lambda _
1372 (with-directory-excursion "docs"
1373 (invoke "make" "info"))))
1374 (add-after 'install 'install-info
1375 (lambda* (#:key outputs #:allow-other-keys)
1376 (let* ((out (assoc-ref outputs "out"))
1377 (info (string-append out "/share/info")))
1378 (install-file "docs/_build/texinfo/agel.info" info)
1379 #t))))))
1380 (native-inputs
1381 `(("python-sphinx" ,python-sphinx)
1382 ("texinfo" ,texinfo)))
1383 (propagated-inputs
1384 `(("dash" ,emacs-dash)
1385 ("s" ,emacs-s)
1386 ;; We need to use 'ag' as the executable on remote systems.
1387 ("the-silver-searcher" ,the-silver-searcher)))
1388 (home-page "https://github.com/Wilfred/ag.el")
1389 (synopsis "Front-end for ag (the-silver-searcher) for Emacs")
1390 (description "This package provides the ability to use the silver
1391searcher, a code searching tool, sometimes abbreviated to @code{ag}. Features
1392include version control system awareness, use of Perl compatible regular
1393expressions, editing the search results directly and searching file names
1394rather than the contents of files.")
1395 (license license:gpl3+)))
1396
1397(define-public emacs-async
1398 (package
1399 (name "emacs-async")
1400 (home-page "https://github.com/jwiegley/emacs-async")
1401 (version "1.9.3")
1402 (source (origin
1403 (method git-fetch)
1404 (uri (git-reference
1405 (url home-page)
1406 (commit (string-append "v" version))))
1407 (file-name (git-file-name name version))
1408 (sha256
1409 (base32
1410 "1zsnb6dy8p6y68xgidv3dfxaga4biramfw8fq7wac0sc50vc98vq"))))
1411 (build-system emacs-build-system)
1412 (synopsis "Asynchronous processing in Emacs")
1413 (description
1414 "This package provides the ability to call asynchronous functions and
1415processes. For example, it can be used to run dired commands (for copying,
1416moving, etc.) asynchronously using @code{dired-async-mode}. Also it is used
1417as a library for other Emacs packages.")
1418 (license license:gpl3+)))
1419
1420(define-public emacs-auctex
1421 (package
1422 (name "emacs-auctex")
7a9158f8 1423 (version "12.1.2")
eeb883cb
RW
1424 (source
1425 (origin
1426 (method url-fetch)
1427 (uri (string-append
1428 "https://elpa.gnu.org/packages/auctex-"
1429 version
1430 ".tar"))
1431 (sha256
1432 (base32
7a9158f8 1433 "1yibg2anpmyr2a27wm4xqjsvsi9km2jzb56bf7cwyj8dnjfsd11n"))))
eeb883cb
RW
1434 (build-system emacs-build-system)
1435 ;; We use 'emacs' because AUCTeX requires dbus at compile time
1436 ;; ('emacs-minimal' does not provide dbus).
1437 (arguments
1438 `(#:emacs ,emacs
1439 #:include '("\\.el$" "^images/" "^latex/" "\\.info$")
1440 #:exclude '("^tests/" "^latex/README")))
1441 (native-inputs
1442 `(("perl" ,perl)))
1443 (home-page "https://www.gnu.org/software/auctex/")
1444 (synopsis "Integrated environment for TeX")
1445 (description
1446 "AUCTeX is a comprehensive customizable integrated environment for
1447writing input files for TeX, LaTeX, ConTeXt, Texinfo, and docTeX using Emacs
1448or XEmacs.")
1449 (license license:gpl3+)))
1450
1451(define-public emacs-autothemer
1452 (package
1453 (name "emacs-autothemer")
1454 (version "0.2.2")
1455 (source
1456 (origin
b4f96f3b
EF
1457 (method git-fetch)
1458 (uri (git-reference
1459 (url "https://github.com/sebastiansturm/autothemer.git")
1460 (commit version)))
1461 (file-name (git-file-name name version))
eeb883cb
RW
1462 (sha256
1463 (base32
b4f96f3b 1464 "0cd2pqh6k32sjidkcd8682y4l6mx52xw4a05f38kk8nsrk28m74k"))))
eeb883cb
RW
1465 (build-system emacs-build-system)
1466 (propagated-inputs
1467 `(("emacs-dash" ,emacs-dash)))
1468 (home-page "https://github.com/sebastiansturm/autothemer")
1469 (synopsis "Conveniently create Emacs themes")
1470 (description
1471 "Autothemer provides a thin layer on top of @code{deftheme} and
1472@code{custom-theme-set-faces} that creates a new custom color theme, based on
1473a set of simplified face specifications and a user-supplied color palette")
1474 (license license:gpl3+)))
1475
1476(define-public emacs-howm
1477 (package
1478 (name "emacs-howm")
1479 (version "1.4.4")
1480 (source
1481 (origin
1482 (method url-fetch)
1483 (uri (string-append "http://howm.sourceforge.jp/a/howm-"
1484 version ".tar.gz"))
1485 (sha256
1486 (base32
1487 "0ddm91l6z58j7x59fa966j6q1rg4cinyza4r8ibg80hprn5h31qk"))))
1488 (build-system gnu-build-system)
1489 (native-inputs
1490 `(("emacs" ,emacs-minimal)))
1491 (arguments
1492 `(#:configure-flags
1493 (list (string-append "--with-howmdir=" %output
1494 "/share/emacs/site-lisp/guix.d/howm-" ,version))
1495 #:modules ((guix build gnu-build-system)
1496 ((guix build emacs-build-system) #:prefix emacs:)
1497 (guix build utils))
1498 #:imported-modules (,@%gnu-build-system-modules
1499 (guix build emacs-build-system)
1500 (guix build emacs-utils))
1501 #:phases
1502 (modify-phases %standard-phases
1503 (add-after 'install 'make-autoloads
1504 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1505 (home-page "http://howm.osdn.jp/")
1506 (synopsis "Note-taking tool for Emacs")
1507 (description "Howm is a note-taking tool for Emacs. Like
1508code@{emacs-wiki.el}, it facilitates using hyperlinks and doing full-text
1509searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
1510 (license license:gpl1+)))
1511
1512(define-public emacs-calfw
1513 (package
1514 (name "emacs-calfw")
1515 (version "1.6")
1516 (source
1517 (origin
39a46a1f
EF
1518 (method git-fetch)
1519 (uri (git-reference
1520 (url "https://github.com/kiwanami/emacs-calfw.git")
1521 (commit (string-append "v" version))))
1522 (file-name (git-file-name name version))
eeb883cb
RW
1523 (sha256
1524 (base32
39a46a1f 1525 "0r42cagvmvvib76kd15nd9ix55ys6i549vxnls4z16s864695zpa"))))
eeb883cb
RW
1526 (build-system emacs-build-system)
1527 (propagated-inputs
1528 `(("emacs-howm" ,emacs-howm)))
1529 (home-page "https://github.com/kiwanami/emacs-calfw/")
1530 (synopsis "Calendar framework for Emacs")
1531 (description
1532 "This package displays a calendar view with various schedule data in the
1533Emacs buffer.")
1534 (license license:gpl3+)))
1535
1536(define-public emacs-direnv
1537 (package
1538 (name "emacs-direnv")
21d56a82 1539 (version "1.5.0")
eeb883cb
RW
1540 (source
1541 (origin
2c19ff18
EF
1542 (method git-fetch)
1543 (uri (git-reference
1544 (url "https://github.com/wbolster/emacs-direnv.git")
1545 (commit version)))
1546 (file-name (git-file-name name version))
eeb883cb
RW
1547 (sha256
1548 (base32
21d56a82 1549 "02blhinkkfh3iai6j1k5swplf5mkwijy3p7wy38rnd1gnyj2z4la"))))
eeb883cb
RW
1550 (build-system emacs-build-system)
1551 (propagated-inputs
1552 `(("dash" ,emacs-dash)
1553 ("with-editor" ,emacs-with-editor)))
1554 (home-page "https://github.com/wbolster/emacs-direnv")
1555 (synopsis "Direnv integration for Emacs")
1556 (description
1557 "This package provides support for invoking direnv to get the environment
1558for the current file and updating the environment within Emacs to match.
1559
1560Direnv can be invoked manually, and a global minor mode is included that will
1561update the environment when the active buffer changes.
1562
1563Using emacs-direnv means that programs started from Emacs will use the
1564environment set through Direnv.")
1565 (license license:gpl3+)))
1566
1567(define-public emacs-ggtags
1568 (package
1569 (name "emacs-ggtags")
1570 (version "0.8.13")
1571 (source
1572 (origin
1573 (method url-fetch)
1574 (uri (string-append "http://elpa.gnu.org/packages/ggtags-"
1575 version ".el"))
1576 (sha256
1577 (base32
1578 "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"))))
1579 (build-system emacs-build-system)
1580 (inputs
1581 `(("global" ,global)))
1582 (arguments
1583 `(#:phases
1584 (modify-phases %standard-phases
1585 (add-after 'unpack 'configure
1586 (lambda* (#:key inputs #:allow-other-keys)
1587 (chmod "ggtags.el" #o644)
1588 (emacs-substitute-variables "ggtags.el"
1589 ("ggtags-executable-directory"
1590 (string-append (assoc-ref inputs "global") "/bin")))
1591 #t)))))
1592 (home-page "https://github.com/leoliu/ggtags")
1593 (synopsis "Frontend to the GNU Global source code tagging system")
1594 (description "@code{ggtags} provides a frontend to the GNU Global source
1595code tagging system.
1596
1597Features:
1598
1599@itemize
1600@item Build on @code{compile.el} for asynchronicity and its large feature-set.
1601@item Automatically update Global's tag files when needed with tuning for
1602large source trees.
1603@item Intuitive navigation among multiple matches with mode-line display of
1604current match, total matches and exit status.
1605@item Read tag with completion.
1606@item Show definition at point.
1607@item Jump to #include files.
1608@item Support search history and saving a search to register/bookmark.
1609@item Query replace.
1610@item Manage Global's environment variables on a per-project basis.
1611@item Highlight (definition) tag at point.
1612@item Abbreviated display of file names.
1613@item Support all Global search backends: @code{grep}, @code{idutils}, etc.
1614@item Support exuberant ctags @url{http://ctags.sourceforge.net/} and
1615@code{pygments} backend.
1616@item Support all Global's output formats: @code{grep}, @code{ctags-x},
1617@code{cscope} etc.
1618@item Support projects on remote hosts (e.g. via @code{tramp}).
1619@item Support eldoc.
1620@item Search @code{GTAGSLIBPATH} for references and symbols.
1621@end itemize\n")
1622 (license license:gpl3+)))
1623
1624(define-public emacs-go-mode
1625 (package
1626 (name "emacs-go-mode")
1627 (version "1.5.0")
1628 (source (origin
1629 (method git-fetch)
1630 (uri (git-reference
1631 (url "https://github.com/dominikh/go-mode.el.git")
1632 (commit (string-append "v" version))))
1633 (file-name (git-file-name name version))
1634 (sha256
1635 (base32
1636 "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf"))))
1637 (build-system emacs-build-system)
1638 (arguments
1639 `(#:phases
1640 (modify-phases %standard-phases
1641 (add-after 'unpack 'make-writable
1642 (lambda _
1643 (for-each make-file-writable (find-files "." "\\.el$"))
1644 #t)))))
1645 (home-page "https://github.com/dominikh/go-mode.el")
1646 (synopsis "Go mode for Emacs")
1647 (description
1648 "This package provides go-mode, an Emacs mode for working with software
1649written in the Go programming language.")
1650 (license license:bsd-3)))
1651
1652(define-public emacs-google-maps
1653 (package
1654 (name "emacs-google-maps")
1655 (version "1.0.0")
1656 (source (origin
49464d2b
EF
1657 (method git-fetch)
1658 (uri (git-reference
1659 (url "https://github.com/jd/google-maps.el.git")
1660 (commit version)))
1661 (file-name (git-file-name name version))
eeb883cb
RW
1662 (sha256
1663 (base32
49464d2b 1664 "183igr5lp20zcqi7rc01fk76sfxdhksd74i11v16gdsifdkjimd0"))))
eeb883cb
RW
1665 (build-system emacs-build-system)
1666 (home-page "https://github.com/jd/google-maps.el")
1667 (synopsis "Access Google Maps from Emacs")
1668 (description "The @code{google-maps} package allows to display Google
1669Maps directly inside Emacs.")
1670 (license license:gpl3+)))
1671
1672(define-public emacs-graphviz-dot-mode
1673 (let ((commit "c456a2b65c734089e6c44e87209a5a432a741b1a")
1674 (revision "1"))
1675 (package
1676 (name "emacs-graphviz-dot-mode")
1677 (version (string-append "0.3.11-" revision "."
1678 (string-take commit 7)))
1679 (source (origin
1680 (method git-fetch)
1681 (uri (git-reference
1682 (url "https://github.com/ppareit/graphviz-dot-mode.git")
1683 (commit commit)))
16469d9a 1684 (file-name (git-file-name name version))
eeb883cb
RW
1685 (sha256
1686 (base32
1687 "0j1r2rspaakw37b0mx7pwpvdsvixq9sw3xjbww5piihzpdxz58z1"))))
1688 (build-system emacs-build-system)
1689 (arguments
1690 `(#:phases
1691 (modify-phases %standard-phases
1692 (add-before 'install 'make-info
1693 (lambda* (#:key inputs #:allow-other-keys)
1694 (with-directory-excursion "texinfo"
1695 (substitute* "Makefile"
1696 (("\\/usr\\/bin\\/gzip")
1697 (string-append (assoc-ref inputs "gzip") "/bin/gzip")))
1698 (invoke "make"
1699 "clean"
1700 "info"
1701 (string-append "TEXINFODIR="
1702 (assoc-ref inputs "texinfo")
1703 "/bin")))))
1704 (add-after 'install 'install-info
1705 (lambda* (#:key outputs #:allow-other-keys)
1706 (let* ((out (assoc-ref outputs "out"))
1707 (info (string-append out "/share/info")))
1708 (install-file "texinfo/graphviz-dot-mode.info.gz" info)
1709 #t))))))
1710 (native-inputs
1711 `(("texinfo" ,texinfo)
1712 ("gzip" ,gzip)))
1713 (home-page "http://ppareit.github.com/graphviz-dot-mode")
1714 (synopsis "Major mode for editing Graphviz Dot files")
1715 (description
1716 "This Emacs packages helps you to create @file{.dot} or @file{.gv}
1717files using the dot syntax, and use Graphviz to convert these files to
1718diagrams.")
1719 (license license:gpl2+))))
1720
1721(define-public emacs-mmm-mode
1722 (package
1723 (name "emacs-mmm-mode")
b762dde9 1724 (version "0.5.7")
eeb883cb
RW
1725 (source
1726 (origin
8cd07b72
EF
1727 (method git-fetch)
1728 (uri (git-reference
1729 (url "https://github.com/purcell/mmm-mode.git")
1730 (commit version)))
1731 (file-name (git-file-name name version))
eeb883cb
RW
1732 (sha256
1733 (base32
b762dde9 1734 "0lxd55yhz0ag7v1ydff55bg4h8snq5lbk8cjwxqpyq6gh4v7md1h"))))
eeb883cb 1735 (build-system gnu-build-system)
eeb883cb
RW
1736 (native-inputs
1737 `(("autoconf" ,autoconf)
1738 ("automake" ,automake)
1739 ("emacs" ,emacs-minimal)
1740 ("texinfo" ,texinfo)))
1741 (home-page "https://github.com/purcell/mmm-mode")
1742 (synopsis "Allow multiple major modes in an Emacs buffer")
1743 (description
1744 "MMM Mode is a minor mode that allows multiple major modes to coexist in a
1745single buffer.")
1746 (license license:gpl3+)))
1747
1748(define-public emacs-tablist
1749 (package
1750 (name "emacs-tablist")
1751 (version "0.70")
1752 (source (origin
0f8ff555
EF
1753 (method git-fetch)
1754 (uri (git-reference
1755 (url "https://github.com/politza/tablist.git")
1756 (commit (string-append "v" version))))
1757 (file-name (git-file-name name version))
eeb883cb
RW
1758 (sha256
1759 (base32
0f8ff555 1760 "0gy9hxm7bca0l1hfy2pzn86avpifrz3bs8xzpicj4kxw5wi4ygns"))))
eeb883cb
RW
1761 (build-system emacs-build-system)
1762 (home-page "https://github.com/politza/tablist")
1763 (synopsis "Extension for @code{tabulated-list-mode}")
1764 (description "Tablist is the Emacs package that provides several
1765additional features to @code{tabulated-list-mode}: it adds marks,
1766filters, new key bindings and faces. It can be enabled by
1767@code{tablist-mode} or @code{tablist-minor-mode} commands.")
1768 (license license:gpl3+)))
1769
1770(define-public emacs-pdf-tools
1771 (package
1772 (name "emacs-pdf-tools")
2becddeb 1773 (version "0.90")
eeb883cb
RW
1774 (home-page "https://github.com/politza/pdf-tools")
1775 (source (origin
1776 (method git-fetch)
1777 (uri (git-reference (url home-page)
1778 (commit (string-append "v" version))))
1779 (file-name (git-file-name name version))
1780 (sha256
1781 (base32
2becddeb 1782 "0iv2g5kd14zk3r5dzdw7b7hk4b5w7qpbilcqkja46jgxbb6xnpl9"))))
eeb883cb
RW
1783 (build-system gnu-build-system)
1784 (arguments
2becddeb 1785 `(#:tests? #f ; there are no tests
eeb883cb
RW
1786 #:modules ((guix build gnu-build-system)
1787 ((guix build emacs-build-system) #:prefix emacs:)
1788 (guix build utils)
1789 (guix build emacs-utils))
1790 #:imported-modules (,@%gnu-build-system-modules
1791 (guix build emacs-build-system)
1792 (guix build emacs-utils))
1793 #:phases
1794 (modify-phases %standard-phases
1795 ;; Build server side using 'gnu-build-system'.
1796 (add-after 'unpack 'enter-server-dir
1797 (lambda _ (chdir "server") #t))
1798 (add-after 'enter-server-dir 'autogen
1799 (lambda _
1800 (invoke "bash" "autogen.sh")))
1801
1802 ;; Build emacs side using 'emacs-build-system'.
1803 (add-after 'compress-documentation 'enter-lisp-dir
1804 (lambda _ (chdir "../lisp") #t))
1805 (add-after 'enter-lisp-dir 'emacs-patch-variables
1806 (lambda* (#:key outputs #:allow-other-keys)
1807 (for-each make-file-writable (find-files "."))
1808
1809 ;; Set path to epdfinfo program.
1810 (emacs-substitute-variables "pdf-info.el"
1811 ("pdf-info-epdfinfo-program"
1812 (string-append (assoc-ref outputs "out")
1813 "/bin/epdfinfo")))
1814 ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto
1815 ;; upgrading" that pdf-tools tries to perform.
1816 (emacs-substitute-variables "pdf-tools.el"
1817 ("pdf-tools-handle-upgrades" '()))))
1818 (add-after 'emacs-patch-variables 'emacs-set-emacs-load-path
1819 (assoc-ref emacs:%standard-phases 'set-emacs-load-path))
1820 (add-after 'emacs-set-emacs-load-path 'emacs-install
1821 (assoc-ref emacs:%standard-phases 'install))
1822 (add-after 'emacs-install 'emacs-build
1823 (assoc-ref emacs:%standard-phases 'build))
1824 (add-after 'emacs-install 'emacs-make-autoloads
1825 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1826 (native-inputs `(("autoconf" ,autoconf)
1827 ("automake" ,automake)
1828 ("pkg-config" ,pkg-config)
1829 ("emacs" ,emacs-minimal)))
1830 (inputs `(("poppler" ,poppler)
1831 ("cairo" ,cairo)
1832 ("glib" ,glib)
1833 ("libpng" ,libpng)
1834 ("zlib" ,zlib)))
1835 (propagated-inputs `(("tablist" ,emacs-tablist)))
1836 (synopsis "Emacs support library for PDF files")
1837 (description
1838 "PDF Tools is, among other things, a replacement of DocView for PDF
1839files. The key difference is that pages are not pre-rendered by
1840e.g. ghostscript and stored in the file-system, but rather created on-demand
1841and stored in memory.")
1842 (license license:gpl3+)))
1843
1844(define-public emacs-dash
1845 (package
1846 (name "emacs-dash")
935568d5 1847 (version "2.16.0")
eeb883cb
RW
1848 (source (origin
1849 (method git-fetch)
1850 (uri (git-reference
1851 (url "https://github.com/magnars/dash.el.git")
1852 (commit version)))
1853 (file-name (git-file-name name version))
1854 (sha256
1855 (base32
935568d5 1856 "150k48llqz2mb66vbznpyj47r6g16amfl7hbg8q46djq8mp7zc2v"))))
eeb883cb
RW
1857 (build-system emacs-build-system)
1858 (arguments
1859 `(#:tests? #t
1860 #:test-command '("./run-tests.sh")))
1861 (home-page "https://github.com/magnars/dash.el")
1862 (synopsis "Modern list library for Emacs")
1863 (description "This package provides a modern list API library for Emacs.")
1864 (license license:gpl3+)))
1865
1866(define-public emacs-bui
1867 (package
1868 (name "emacs-bui")
1869 (version "1.2.1")
1870 (source (origin
1871 (method git-fetch)
1872 (uri (git-reference
1873 (url "https://notabug.org/alezost/emacs-bui.git")
1874 (commit (string-append "v" version))))
7efe17f2 1875 (file-name (git-file-name name version))
eeb883cb
RW
1876 (sha256
1877 (base32
1878 "0sszdl4kvqbihdh8d7mybpp0d8yw2p3gyiipjcxz9xhvvmw3ww4x"))))
1879 (build-system emacs-build-system)
1880 (propagated-inputs
1881 `(("dash" ,emacs-dash)))
1882 (home-page "https://notabug.org/alezost/emacs-bui")
1883 (synopsis "Buffer interface library for Emacs")
1884 (description
1885 "BUI (Buffer User Interface) is a library for making @code{list} and
1886@code{info} interfaces to display an arbitrary data of the same
1887type, for example: packages, buffers, files, etc.")
1888 (license license:gpl3+)))
1889
1890(define-public emacs-guix
1891 (package
1892 (name "emacs-guix")
1893 (version "0.5.1.1")
1894 (source (origin
1895 (method url-fetch)
1896 (uri (string-append "https://emacs-guix.gitlab.io/website/"
1897 "releases/emacs-guix-" version ".tar.gz"))
1898 (sha256
1899 (base32
1900 "1gxg7lan3njc2yg2d02b2zij0d2cm2pv2q08nqz86s85jk3b6m03"))))
1901 (build-system gnu-build-system)
1902 (arguments
1903 `(#:configure-flags
1904 (let ((guix (assoc-ref %build-inputs "guix"))
1905 (gcrypt (assoc-ref %build-inputs "guile-gcrypt"))
1906 (geiser (assoc-ref %build-inputs "geiser"))
1907 (dash (assoc-ref %build-inputs "dash"))
1908 (bui (assoc-ref %build-inputs "bui"))
1909 (magit-popup (assoc-ref %build-inputs "magit-popup"))
1910 (edit-indirect (assoc-ref %build-inputs "edit-indirect"))
1911 (site-lisp "/share/emacs/site-lisp")
1912 (site-scm "/share/guile/site")
1913 (site-go "/lib/guile")
1914 (guile-dir (lambda (dir)
1915 (car (find-files dir
1916 (lambda (file stat)
1917 (string-prefix?
1918 "2." (basename file)))
1919 #:directories? #t)))))
1920 (list (string-append "--with-guix-site-dir="
1921 (guile-dir (string-append guix site-scm)))
1922 (string-append "--with-guix-site-ccache-dir="
1923 (guile-dir (string-append guix site-go))
1924 "/site-ccache")
1925 (string-append "--with-guile-gcrypt-site-dir="
1926 (guile-dir (string-append gcrypt site-scm)))
1927 (string-append "--with-guile-gcrypt-site-ccache-dir="
1928 (guile-dir (string-append gcrypt site-go))
1929 "/site-ccache")
1930 (string-append "--with-geiser-lispdir=" geiser site-lisp)
1931 (string-append "--with-dash-lispdir="
1932 dash site-lisp "/guix.d/dash-"
1933 ,(package-version emacs-dash))
1934 (string-append "--with-bui-lispdir="
1935 bui site-lisp "/guix.d/bui-"
1936 ,(package-version emacs-bui))
1937 (string-append "--with-editindirect-lispdir="
1938 edit-indirect site-lisp "/guix.d/edit-indirect-"
1939 ,(package-version emacs-edit-indirect))
1940 (string-append "--with-popup-lispdir="
1941 magit-popup site-lisp "/guix.d/magit-popup-"
1942 ,(package-version emacs-magit-popup))))))
1943 (native-inputs
1944 `(("pkg-config" ,pkg-config)
1945 ("emacs" ,emacs-minimal)))
1946 (inputs
1947 `(("guile" ,guile-2.2)
1948 ("guix" ,guix)))
1949 (propagated-inputs
1950 `(("geiser" ,emacs-geiser)
1951 ("guile-gcrypt" ,guile-gcrypt)
1952 ("dash" ,emacs-dash)
1953 ("bui" ,emacs-bui)
1954 ("edit-indirect" ,emacs-edit-indirect)
1955 ("magit-popup" ,emacs-magit-popup)))
1956 (home-page "https://emacs-guix.gitlab.io/website/")
1957 (synopsis "Emacs interface for GNU Guix")
1958 (description
1959 "Emacs-Guix provides a visual interface, tools and features for the GNU
1960Guix package manager. Particularly, it allows you to do various package
1961management tasks from Emacs. To begin with, run @code{M-x guix-about} or
1962@code{M-x guix-help} command.")
1963 (license license:gpl3+)))
1964
1965(define-public emacs-build-farm
1966 (package
1967 (name "emacs-build-farm")
1968 (version "0.2.2")
1969 (source (origin
1970 (method git-fetch)
1971 (uri (git-reference
1972 (url "https://notabug.org/alezost/emacs-build-farm.git")
1973 (commit (string-append "v" version))))
57191617 1974 (file-name (git-file-name name version))
eeb883cb
RW
1975 (sha256
1976 (base32
1977 "0i0bwbav5861j2y15j9nd5m9rdqg9q97zgcbld8pivr9nyxy63lz"))))
1978 (build-system emacs-build-system)
1979 (propagated-inputs
1980 `(("bui" ,emacs-bui)
1981 ("magit-popup" ,emacs-magit-popup)))
1982 (home-page "https://notabug.org/alezost/emacs-build-farm")
1983 (synopsis "Emacs interface for Hydra and Cuirass build farms")
1984 (description
1985 "This Emacs package provides an interface for Hydra and
1986Cuirass (build farms used by Nix and Guix). It allows you to look at
1987various data related to the build farm projects, jobsets, builds and
1988evaluations. The entry point is @code{M-x build-farm} command.")
1989 (license license:gpl3+)))
1990
1991(define-public emacs-d-mode
1992 (package
1993 (name "emacs-d-mode")
1994 (version "2.0.9")
1e2d1712
TGR
1995 (source
1996 (origin
1997 (method git-fetch)
1998 (uri (git-reference
1999 (url "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode.git")
2000 (commit version)))
2001 (file-name (git-file-name name version))
2002 (sha256
2003 (base32 "0fzplvi1sm8k2sabfdvrd7j2xypwqh0g9v1mxa75dajdmcd85zpj"))))
eeb883cb
RW
2004 (build-system emacs-build-system)
2005 (propagated-inputs
2006 `(("emacs-undercover" ,emacs-undercover)))
2007 (home-page "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode")
2008 (synopsis "Emacs major mode for editing D code")
2009 (description "This package provides an Emacs major mode for highlighting
2010code written in the D programming language. This mode is currently known to
2011work with Emacs 24 and 25.")
2012 (license license:gpl2+)))
2013
2014(define-public emacs-keyfreq
2015 (package
2016 (name "emacs-keyfreq")
2017 (version "20160516.716")
2018 (source
2019 (origin
2020 (method url-fetch)
2021 (uri (string-append "http://melpa.org/packages/keyfreq-"
2022 version ".el"))
2023 (sha256
2024 (base32
2025 "008hd7d06qskc3mx0bbdgpgy2pwxr8185fzlyqf9qjg49y74p6g8"))))
2026 (build-system emacs-build-system)
2027 (home-page "https://github.com/dacap/keyfreq")
2028 (synopsis "Track Emacs command frequencies")
2029 (description "@code{emacs-keyfeq} tracks and shows how many times you used
2030a command.")
2031 (license license:gpl3+)))
2032
2033(define-public emacs-olivetti
2034 (package
2035 (name "emacs-olivetti")
2036 (version "1.5.7")
2037 (source (origin
2038 (method url-fetch)
2039 (uri (string-append
2040 "https://stable.melpa.org/packages/olivetti-"
2041 version ".el"))
2042 (sha256
2043 (base32
2044 "1yj2ylg46q0pw1xzlv2b0fv9x8p56x25284s9v2smwjr4vf0nwcj"))))
2045 (build-system emacs-build-system)
2046 (home-page "https://github.com/rnkn/olivetti")
2047 (synopsis "Emacs minor mode for a nice writing environment")
2048 (description "This package provides an Emacs minor mode that puts writing
2049in the center.")
2050 (license license:gpl3+)))
2051
2052(define-public emacs-undo-tree
2053 (package
2054 (name "emacs-undo-tree")
2055 (version "0.6.6")
2056 (source (origin
2057 (method git-fetch)
2058 (uri (git-reference
2059 (url "http://dr-qubit.org/git/undo-tree.git")
2060 (commit (string-append "release/" version))))
bcee4a0d 2061 (file-name (git-file-name name version))
eeb883cb
RW
2062 (sha256
2063 (base32
2064 "1hnh2mnmw179gr094r561w6cw1haid0lpvpqvkc24wpj82vphzpa"))))
2065 (build-system emacs-build-system)
2066 (home-page "http://www.dr-qubit.org/emacs.php")
2067 (synopsis "Treat undo history as a tree")
2068 (description "Tree-like interface to Emacs undo system, providing
2069graphical tree presentation of all previous states of buffer that
2070allows easily move between them.")
2071 (license license:gpl3+)))
2072
2073(define-public emacs-s
2074 (package
2075 (name "emacs-s")
2076 (version "1.12.0")
5496aa12
TGR
2077 (source
2078 (origin
2079 (method git-fetch)
2080 (uri (git-reference
2081 (url "https://github.com/magnars/s.el.git")
2082 (commit version)))
2083 (file-name (git-file-name name version))
2084 (sha256
2085 (base32 "1g8mqd13llj007al4nlxxx4z2lcsg3wk970mgjn0avwrhjjgdmmv"))))
eeb883cb
RW
2086 (build-system emacs-build-system)
2087 (arguments
2088 `(#:tests? #t
5496aa12 2089 #:emacs ,emacs ; FIXME: tests fail with emacs-minimal
eeb883cb
RW
2090 #:test-command '("./run-tests.sh")))
2091 (home-page "https://github.com/magnars/s.el")
2092 (synopsis "Emacs string manipulation library")
2093 (description "This package provides an Emacs library for manipulating
2094strings.")
2095 (license license:gpl3+)))
2096
2097(define-public emacs-symon
2098 (package
2099 (name "emacs-symon")
2100 (version "20160630")
2101 (source
2102 (origin
866b23f8
TGR
2103 (method git-fetch)
2104 (uri (git-reference
2105 (url "https://github.com/zk-phi/symon.git")
2106 (commit version)))
2107 (file-name (git-file-name name version))
eeb883cb 2108 (sha256
866b23f8 2109 (base32 "1q7di9s8k710nx98wnqnbkkhdimrn0jf6z4xkm4c78l6s5idjwlz"))))
eeb883cb
RW
2110 (build-system emacs-build-system)
2111 (home-page "https://github.com/zk-phi/symon")
2112 (synopsis "Tiny graphical system monitor")
2113 (description
2114 "Tiny graphical system monitor for the Emacs minibuffer when idle.")
2115 (license license:gpl2+)))
2116
2117(define-public emacs-sx
2118 (let ((version "20180212")
2119 (revision "1")
2120 (commit "833435fbf90d1c9e927d165b155f3b1ef39271de"))
2121 (package
2122 (name "emacs-sx")
2123 (version (git-version version revision commit))
2124 (source
2125 (origin
2126 (method git-fetch)
2127 (uri (git-reference
2128 (url "https://github.com/vermiculus/sx.el")
2129 (commit commit)))
2130 (file-name (git-file-name name version))
2131 (sha256
2132 (base32
2133 "1369xaxq1vy3d9yh862ddnhddikdpg2d0wv1ly00pnvdp9v4cqgd"))))
2134 (build-system emacs-build-system)
2135 (propagated-inputs
2136 `(("emacs-markdown-mode" ,emacs-markdown-mode)))
2137 (home-page "https://github.com/vermiculus/sx.el")
2138 (synopsis "Emacs StackExchange client")
2139 (description
2140 "Emacs StackExchange client. Ask and answer questions on
2141Stack Overflow, Super User, and other StackExchange sites.")
2142 (license license:gpl3+))))
2143
2144(define-public emacs-f
2145 (package
2146 (name "emacs-f")
2147 (version "0.20.0")
2148 (source (origin
2149 (method git-fetch)
2150 (uri (git-reference
2151 (url "https://github.com/rejeep/f.el.git")
2152 (commit (string-append "v" version))))
2153 (file-name (git-file-name name version))
2154 (sha256
2155 (base32
2156 "1a47xk3yp1rp17fqg7ldl3d3fb888h0fz3sysqfdz1bfdgs8a9bk"))))
2157 (build-system emacs-build-system)
2158 (propagated-inputs
2159 `(("emacs-s" ,emacs-s)
2160 ("emacs-dash" ,emacs-dash)))
2161 (home-page "https://github.com/rejeep/f.el")
2162 (synopsis "Emacs API for working with files and directories")
2163 (description "This package provides an Emacs library for working with
2164files and directories.")
2165 (license license:gpl3+)))
2166
2167(define-public emacs-git-gutter
2168 (package
2169 (name "emacs-git-gutter")
2170 (version "0.90")
1acdb763
TGR
2171 (source
2172 (origin
2173 (method git-fetch)
2174 (uri (git-reference
2175 (url "https://github.com/syohex/emacs-git-gutter.git")
2176 (commit version)))
2177 (file-name (git-file-name name version))
2178 (sha256
2179 (base32 "1abagq0psip7cgsqbfjv72qy60ywsny0ibsfcn74ldj6a9v17mz5"))))
eeb883cb
RW
2180 (build-system emacs-build-system)
2181 (home-page "https://github.com/syohex/emacs-git-gutter")
2182 (synopsis "See and manage hunks of text in a version control system")
2183 (description
2184 "This package is an Emacs minor mode for displaying and interacting with
2185hunks of text managed in a version control system. Added modified and deleted
2186areas can be indicated with symbols on the edge of the buffer, and commands
2187can be used to move between and perform actions on these hunks.
2188
2189Git, Mercurial, Subversion and Bazaar are supported, and many parts of the
2190display and behaviour is easily customisable.")
2191 (license license:gpl3+)))
2192
2193(define-public emacs-git-timemachine
2194 (package
2195 (name "emacs-git-timemachine")
2196 (version "4.5")
2197 (source
2198 (origin
2199 (method url-fetch)
2200 (uri (string-append "https://gitlab.com/pidu/git-timemachine"
2201 "/-/archive/" version
2202 "/git-timemachine-" version ".tar.gz"))
2203 (file-name (string-append name "-" version ".tar.gz"))
2204 (sha256
2205 (base32
2206 "0ii40qcincasg7s1yrvqcxkqcqzb4sfs7gcxscn6m4x4ans165zy"))))
2207 (build-system emacs-build-system)
2208 (home-page "https://gitlab.com/pidu/git-timemachine")
2209 (synopsis "Step through historic versions of Git-controlled files")
2210 (description "This package enables you to step through historic versions
2211of files under Git version control from within Emacs.")
2212 (license license:gpl3+)))
2213
2214(define-public emacs-minitest
2215 (let ((commit "1aadb7865c1dc69c201cecee275751ecec33a182")
2216 (revision "1"))
2217 (package
2218 (name "emacs-minitest")
2219 (version (git-version "0.8.0" revision commit))
2220 (source (origin
2221 (method git-fetch)
2222 (uri (git-reference
2223 (url "https://github.com/arthurnn/minitest-emacs")
2224 (commit commit)))
2225 (file-name (git-file-name name commit))
2226 (sha256
2227 (base32
2228 "1l18zqpdzbnqj2qawq8hj7z7pl8hr8z9d8ihy8jaiqma915hmhj1"))))
2229 (build-system emacs-build-system)
2230 (arguments
2231 '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include)
2232 #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude)))
2233 (propagated-inputs
2234 `(("emacs-dash" ,emacs-dash)
2235 ("emacs-f" ,emacs-f)))
2236 (home-page "https://github.com/arthurnn/minitest-emacs")
2237 (synopsis "Emacs minitest mode")
2238 (description
2239 "The minitest mode provides commands to run the tests for the current
2240file or line, as well as rerunning the previous tests, or all the tests for a
2241project.
2242
2243This package also includes relevant snippets for yasnippet.")
2244 (license license:expat))))
2245
2246(define-public emacs-el-mock
2247 (package
2248 (name "emacs-el-mock")
2249 (version "1.25.1")
2250 (source
2251 (origin
353fea6a
TGR
2252 (method git-fetch)
2253 (uri (git-reference
2254 (url "https://github.com/rejeep/el-mock.el.git")
2255 (commit (string-append "v" version))))
2256 (file-name (git-file-name name version))
eeb883cb 2257 (sha256
353fea6a 2258 (base32 "13mv1rhgkwiww2wh5w926jz7idppp492wir1vdl245c5x50dh4f7"))))
eeb883cb
RW
2259 (build-system emacs-build-system)
2260 (home-page "https://github.com/rejeep/el-mock.el")
2261 (synopsis "Tiny mock and stub framework in Emacs Lisp")
2262 (description
2263 "Emacs Lisp Mock is a library for mocking and stubbing using readable
2264syntax. Most commonly Emacs Lisp Mock is used in conjunction with Emacs Lisp
2265Expectations, but it can be used in other contexts.")
2266 (license license:gpl3+)))
2267
2268(define-public emacs-espuds
2269 (package
2270 (name "emacs-espuds")
2271 (version "0.3.3")
2272 (source
2273 (origin
09059c11
TGR
2274 (method git-fetch)
2275 (uri (git-reference
2276 (url "https://github.com/ecukes/espuds.git")
2277 (commit (string-append "v" version))))
2278 (file-name (git-file-name name version))
eeb883cb 2279 (sha256
09059c11 2280 (base32 "16r4j27j9yfdiy841w9q5ykkc6n3wrm7hvfacagb32mydk821ijg"))))
eeb883cb
RW
2281 (build-system emacs-build-system)
2282 (propagated-inputs
2283 `(("emacs-s" ,emacs-s)
2284 ("emacs-dash" ,emacs-dash)
2285 ("emacs-f" ,emacs-f)))
2286 (home-page "https://github.com/ecukes/espuds")
2287 (synopsis "Common step definitions for Ecukes")
2288 (description "Espuds is a collection of the most commonly used step
2289definitions for testing with the Ecukes framework.")
2290 (license license:gpl3+)))
2291
2292(define-public emacs-spark
2293 (let ((version "20160503") ; no proper tag, use date of commit
2294 (commit "0bf148c3ede3b31d56fd75f347cdd0b0eae60025")
2295 (revision "1"))
2296 (package
2297 (name "emacs-spark")
2298 (version (git-version version revision commit))
2299 (source
2300 (origin
2301 (method git-fetch)
2302 (uri (git-reference
2303 (url "https://github.com/alvinfrancis/spark.git")
2304 (commit commit)))
2305 (file-name (git-file-name name version))
2306 (sha256
2307 (base32
2308 "1ykqr86j17mi95s08d9fp02d7ych1331b04dcqxzxnmpkhwngyj1"))))
2309 (build-system emacs-build-system)
2310 (home-page "https://github.com/alvinfrancis/spark")
2311 (synopsis "Sparkline generation library for Emacs Lisp")
2312 (description "@code{emacs-spark} is a sparkline generation library for
2313Emacs Lisp. It generates a sparkline string given a list of numbers. It is a
2314port of @code{cl-spark} to Emacs Lisp.")
2315 (license license:expat))))
2316
2317(define-public emacs-es-mode
2318 (package
2319 (name "emacs-es-mode")
2320 (version "4.3.0")
f233efa7
TGR
2321 (source
2322 (origin
2323 (method git-fetch)
2324 (uri (git-reference
2325 (url "https://github.com/dakrone/es-mode.git")
2326 (commit version)))
2327 (file-name (git-file-name name version))
2328 (sha256
2329 (base32 "1qhfnd5anp5qrmravv7ks5ix763xnki2f5jwcyj70qyxwr0l60cg"))))
eeb883cb
RW
2330 (build-system emacs-build-system)
2331 (propagated-inputs
2332 ;; The version of org in Emacs 24.5 is not sufficient, and causes tables
2333 ;; to be rendered incorrectly
2334 `(("emacs-dash" ,emacs-dash)
2335 ("emacs-org" ,emacs-org)
2336 ("emacs-spark" ,emacs-spark)))
2337 (home-page "https://github.com/dakrone/es-mode")
2338 (synopsis "Major mode for editing Elasticsearch queries")
2339 (description "@code{es-mode} includes highlighting, completion and
2340indentation support for Elasticsearch queries. Also supported are
2341@code{es-mode} blocks in @code{org-mode}, for which the results of queries can
2342be processed through @code{jq}, or in the case of aggregations, can be
2343rendered in to a table. In addition, there is an @code{es-command-center}
2344mode, which displays information about Elasticsearch clusters.")
2345 (license license:gpl3+)))
2346
2347(define-public emacs-expand-region
2348 (package
2349 (name "emacs-expand-region")
2350 (version "0.11.0")
2351 (source
2352 (origin
e2ad36d0
TGR
2353 (method git-fetch)
2354 (uri (git-reference
2355 (url "https://github.com/magnars/expand-region.el.git")
2356 (commit version)))
2357 (file-name (git-file-name name version))
eeb883cb 2358 (sha256
e2ad36d0 2359 (base32 "0h40dhc3kn8fq86xnwi5lz7ql8my8737y7wkqr897p15y90swr35"))))
eeb883cb
RW
2360 (build-system emacs-build-system)
2361 (home-page "https://github.com/magnars/expand-region.el")
2362 (synopsis "Increase selected region by semantic units")
2363 (description
2364 "Expand region increases the selected region by semantic units. Just
2365keep pressing the key until it selects what you want. There's also
2366@code{er/contract-region} if you expand too far.")
2367 (license license:gpl3+)))
2368
2369(define-public emacs-fill-column-indicator
2370 (package
2371 (name "emacs-fill-column-indicator")
2372 (version "1.89")
2373 (source
2374 (origin
35db8f4e
TGR
2375 (method git-fetch)
2376 (uri (git-reference
2377 (url "https://github.com/alpaker/Fill-Column-Indicator.git")
2378 (commit (string-append "v" version))))
2379 (file-name (git-file-name name version))
eeb883cb 2380 (sha256
35db8f4e 2381 (base32 "010kf8jsly74y7m6mmkn1h6y205kz23zphs50zgy2nag2p88rz9y"))))
eeb883cb
RW
2382 (build-system emacs-build-system)
2383 (home-page "https://www.emacswiki.org/emacs/FillColumnIndicator")
2384 (synopsis "Graphically indicate the fill column")
2385 (description
2386 "Fill-column-indicator graphically indicates the location of the fill
2387column by drawing a thin line down the length of the editing window.")
2388 (license license:gpl3+)))
2389
2390(define-public emacs-grep-a-lot
2391 (package
2392 (name "emacs-grep-a-lot")
2393 (version "1.0.7")
5d8e43bb
TGR
2394 (source
2395 (origin
2396 (method git-fetch)
2397 (uri (git-reference
2398 (url "https://github.com/ZungBang/emacs-grep-a-lot.git")
2399 (commit "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad")))
2400 (file-name (git-file-name name version))
2401 (sha256
2402 (base32 "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw"))))
eeb883cb
RW
2403 (build-system emacs-build-system)
2404 (home-page "https://github.com/ZungBang/emacs-grep-a-lot")
2405 (synopsis "Enables multiple grep buffers in Emacs")
2406 (description
2407 "This Emacs package allows managing multiple grep buffers.")
2408 (license license:gpl3+)))
2409
2410(define-public emacs-inf-ruby
2411 (package
2412 (name "emacs-inf-ruby")
2413 (version "2.5.1")
2414 (source
2415 (origin
5234760d
TGR
2416 (method git-fetch)
2417 (uri (git-reference
2418 (url "https://github.com/nonsequitur/inf-ruby.git")
2419 (commit version)))
2420 (file-name (git-file-name name version))
eeb883cb 2421 (sha256
5234760d 2422 (base32 "1r452h6cyypqlc59q8dx5smkwhck4qjcg1pf9qdw539cpva5q77z"))))
eeb883cb
RW
2423 (build-system emacs-build-system)
2424 (home-page "https://github.com/nonsequitur/inf-ruby")
2425 (synopsis "Provides a REPL buffer connected to a Ruby subprocess in Emacs")
2426 (description
2427 "@code{inf-ruby} provides a Read Eval Print Loop (REPL) buffer, allowing
2428for easy interaction with a ruby subprocess. Features include support for
2429detecting specific uses of Ruby, e.g. when using rails, and using a
2430appropriate console.")
2431 (license license:gpl3+)))
2432
2433(define-public emacs-znc
2434 (package
2435 (name "emacs-znc")
2436 (version "0.0.2")
2437 (source
2438 (origin
2439 (method url-fetch)
2440 (uri (string-append "https://marmalade-repo.org/packages/znc-"
2441 version ".el"))
2442 (sha256
2443 (base32
2444 "1d8lqvybgyazin5z0g1c4l3rg1vzrrvf0saqs53jr1zcdg0lianh"))))
2445 (build-system emacs-build-system)
2446 (home-page "https://github.com/sshirokov/ZNC.el")
2447 (synopsis "Make ERC and ZNC get along better")
2448 (description
2449 "This is a thin wrapper around @code{erc} that enables one to use the ZNC
2450IRC bouncer with ERC.")
2451 (license license:expat)))
2452
2453(define-public emacs-shut-up
2454 (package
2455 (name "emacs-shut-up")
2456 (version "0.3.2")
2457 (source
2458 (origin
0639d6fc
TGR
2459 (method git-fetch)
2460 (uri (git-reference
2461 (url "https://github.com/cask/shut-up.git")
2462 (commit (string-append "v" version))))
2463 (file-name (git-file-name name version))
eeb883cb 2464 (sha256
0639d6fc 2465 (base32 "103yvfgkj78i4bnv1fwk76izsa8h4wyj3vwj1vq7xggj607hkxzq"))))
eeb883cb
RW
2466 (build-system emacs-build-system)
2467 (home-page "https://github.com/cask/shut-up")
2468 (synopsis "Silence Emacs")
2469 (description "This package silences most output of Emacs when running an
2470Emacs shell script.")
2471 (license license:expat)))
2472
2473(define-public emacs-undercover
2474 (package
2475 (name "emacs-undercover")
2476 (version "0.6.0")
2477 (source
2478 (origin
d8ddc91c
TGR
2479 (method git-fetch)
2480 (uri (git-reference
2481 (url "https://github.com/sviridov/undercover.el.git")
2482 (commit (string-append "v" version))))
2483 (file-name (git-file-name name version))
eeb883cb 2484 (sha256
d8ddc91c 2485 (base32 "06qcvbp5rd0kh3ibrxj5p6r578lwsrgd7yj5c6slwmkdmna2fj33"))))
eeb883cb
RW
2486 (build-system emacs-build-system)
2487 (propagated-inputs
2488 `(("emacs-dash" ,emacs-dash)
2489 ("emacs-shut-up" ,emacs-shut-up)))
2490 (home-page "https://github.com/sviridov/undercover.el")
2491 (synopsis "Test coverage library for Emacs Lisp")
2492 (description
2493 "Undercover is a test coverage library for software written in Emacs
2494Lisp.")
2495 (license license:expat)))
2496
2497(define-public emacs-paren-face
2498 (package
2499 (name "emacs-paren-face")
2500 (version "1.0.0")
2501 (source
2502 (origin
be7344be
TGR
2503 (method git-fetch)
2504 (uri (git-reference
2505 (url "https://github.com/tarsius/paren-face.git")
2506 (commit version)))
2507 (file-name (git-file-name name version))
eeb883cb 2508 (sha256
be7344be 2509 (base32 "0f128gqn170s6hl62n44i9asais75ns1mpvb4l8vzy1sc0v16c0k"))))
eeb883cb
RW
2510 (build-system emacs-build-system)
2511 (home-page "https://github.com/tarsius/paren-face")
2512 (synopsis "Face for parentheses in lisp modes")
2513 (description
2514 "This library defines a face named @code{parenthesis} used just for
2515parentheses. The intended purpose of this face is to make parentheses less
2516visible in Lisp code by dimming them. Lispers probably don't need to be
2517constantly made aware of the existence of the parentheses. Dimming them might
2518be even more useful for people new to lisp who have not yet learned to
2519subconsciously blend out the parentheses.")
2520 (license license:gpl3+)))
2521
2522(define-public emacs-page-break-lines
2523 (package
2524 (name "emacs-page-break-lines")
2525 (version "0.11")
2526 (source
2527 (origin
517da530
TGR
2528 (method git-fetch)
2529 (uri (git-reference
2530 (url "https://github.com/purcell/page-break-lines.git")
2531 (commit version)))
2532 (file-name (git-file-name name version))
eeb883cb 2533 (sha256
517da530 2534 (base32 "1wp974716ih2cz9kdmdz7xwjy1qnnfzdzlfr9kchknagw8d9nn12"))))
eeb883cb
RW
2535 (build-system emacs-build-system)
2536 (home-page "https://github.com/purcell/page-break-lines")
2537 (synopsis "Display page breaks as tidy horizontal lines")
2538 (description
2539 "This library provides a global mode which displays form feed characters
2540as horizontal rules.")
2541 (license license:gpl3+)))
2542
2543(define-public emacs-simple-httpd
2544 (package
2545 (name "emacs-simple-httpd")
2546 (version "1.4.6")
2547 (source
2548 (origin
8d7c4b61
TGR
2549 (method git-fetch)
2550 (uri (git-reference
2551 (url "https://github.com/skeeto/emacs-web-server.git")
2552 (commit version)))
2553 (file-name (git-file-name name version))
eeb883cb 2554 (sha256
8d7c4b61 2555 (base32 "1qmkc0w28l53zzf5yd2grrk1sq222g5qnsm35ph25s1cfvc1qb2g"))))
eeb883cb
RW
2556 (build-system emacs-build-system)
2557 (home-page "https://github.com/skeeto/emacs-http-server")
2558 (synopsis "HTTP server in pure Emacs Lisp")
2559 (description
2560 "This package provides a simple HTTP server written in Emacs Lisp to
2561serve files and directory listings.")
2562 (license license:unlicense)))
2563
2564(define-public emacs-skewer-mode
2565 (package
2566 (name "emacs-skewer-mode")
2567 (version "1.6.2")
2568 (source
2569 (origin
9d0cc890
TGR
2570 (method git-fetch)
2571 (uri (git-reference
2572 (url "https://github.com/skeeto/skewer-mode.git")
2573 (commit version)))
2574 (file-name (git-file-name name version))
eeb883cb 2575 (sha256
9d0cc890 2576 (base32 "05jndz0c26q60s416vqgvr66axdmxb7qsr2g70fvl5iqavnayhpv"))))
eeb883cb
RW
2577 (build-system emacs-build-system)
2578 (propagated-inputs
2579 `(("emacs-simple-httpd" ,emacs-simple-httpd)
2580 ("emacs-js2-mode" ,emacs-js2-mode)))
2581 (arguments '(#:include '("\\.el$" "\\.js$" "\\.html$")))
2582 (home-page "https://github.com/skeeto/skewer-mode")
2583 (synopsis "Live web development in Emacs")
2584 (description
2585 "Skewer-mode provides live interaction with JavaScript, CSS, and HTML in
2586a web browser. Expressions are sent on-the-fly from an editing buffer to be
2587evaluated in the browser, just like Emacs does with an inferior Lisp process
2588in Lisp modes.")
2589 (license license:unlicense)))
2590
9b99b349
OP
2591(define-public emacs-litable
2592 (let ((commit "b0278f3f8dcff424bfbdfdefb545b1fbff33206f"))
2593 (package
2594 (name "emacs-litable")
2595 (version (git-version "0.1" "0" commit))
2596 (source (origin
2597 (method git-fetch)
2598 (uri (git-reference
2599 (url "https://github.com/Fuco1/litable.git")
2600 (commit commit)))
2601 (file-name (git-file-name name version))
2602 (sha256
2603 (base32
2604 "0bny40hv9a024n01clxns351cs4j4ifhgcc7m4743xncqf612p7g"))))
2605 (build-system emacs-build-system)
2606 (propagated-inputs
2607 `(("emacs-dash" ,emacs-dash)))
2608 (home-page "https://github.com/Fuco1/litable/")
2609 (synopsis "Dynamic evaluation replacement with Emacs")
2610 (description "This packages provides dynamic evaluation in Emacs.")
2611 (license license:gpl3+))))
2612
eeb883cb
RW
2613(define-public emacs-string-inflection
2614 (package
2615 (name "emacs-string-inflection")
2616 (version "1.0.6")
2617 (source (origin
2618 (method git-fetch)
2619 (uri (git-reference
2620 (url "https://github.com/akicho8/string-inflection")
2621 (commit "a150e7bdda60b7824d3a936750ce23f73b0e4edd")))
7854a8aa 2622 (file-name (git-file-name name version))
eeb883cb
RW
2623 (sha256
2624 (base32
2625 "1k0sm552iawi49v4zis6dbb81d1rzgky9v0dpv7nj31gnb7bmy7k"))))
2626 (build-system emacs-build-system)
2627 (native-inputs
2628 `(("ert-runner" ,emacs-ert-runner)))
2629 (arguments
2630 `(#:tests? #t
2631 #:test-command '("ert-runner")))
2632 (home-page "https://github.com/akicho8/string-inflection")
2633 (synopsis "Convert symbol names between different naming conventions")
2634 (description
2635 "This Emacs package provides convenient methods for manipulating the
2636naming style of a symbol. It supports different naming conventions such as:
2637
2638@enumerate
2639@item camel case
2640@item Pascal case
2641@item all upper case
2642@item lower case separated by underscore
2643@item etc...
2644@end enumerate\n")
2645 (license license:gpl2+)))
2646
2647(define-public emacs-stripe-buffer
2648 (package
2649 (name "emacs-stripe-buffer")
2650 (version "0.2.5")
2651 (source
2652 (origin
b6a3009b
TGR
2653 (method git-fetch)
2654 (uri (git-reference
2655 (url "https://github.com/sabof/stripe-buffer.git")
2656 (commit version)))
2657 (file-name (git-file-name name version))
eeb883cb 2658 (sha256
b6a3009b 2659 (base32 "035ym1c1vzg6hjsnd258z4dkrfc11lj4c0y4gpgybhk54dq3w9dk"))))
eeb883cb
RW
2660 (build-system emacs-build-system)
2661 (home-page "https://github.com/sabof/stripe-buffer/")
2662 (synopsis "Add stripes to list buffers")
2663 (description
2664 "This Emacs package adds faces to add stripes to list buffers and org
2665tables.")
2666 (license license:gpl2+)))
2667
2668(define-public emacs-rich-minority
2669 (package
2670 (name "emacs-rich-minority")
2671 (version "1.0.1")
2672 (source
2673 (origin
4ae7e106
TGR
2674 (method git-fetch)
2675 (uri (git-reference
2676 (url "https://github.com/Malabarba/rich-minority.git")
2677 (commit version)))
2678 (file-name (git-file-name name version))
eeb883cb 2679 (sha256
4ae7e106 2680 (base32 "11hwf9y5ax207w6rwrsmi3pmn7pn7ap6iys0z8hni2f5zzxjrmx3"))))
eeb883cb
RW
2681 (build-system emacs-build-system)
2682 (home-page "https://github.com/Malabarba/rich-minority")
2683 (synopsis "Clean-up and beautify the list of minor modes")
2684 (description
2685 "This Emacs package hides and/or highlights minor modes in the
2686mode-line.")
2687 (license license:gpl2+)))
2688
2689(define-public emacs-robe
2690 (package
2691 (name "emacs-robe")
2692 (version "0.8.1")
2693 (source
2694 (origin
ea0194fc
TGR
2695 (method git-fetch)
2696 (uri (git-reference
2697 (url "https://github.com/dgutov/robe.git")
2698 (commit version)))
2699 (file-name (git-file-name name version))
eeb883cb 2700 (sha256
ea0194fc 2701 (base32 "0ll7ivxqnglfb0i70ly6qq2yfw9cyi3vq3lmj4s6h6c1c7rm3gcq"))))
eeb883cb
RW
2702 (build-system emacs-build-system)
2703 (arguments
2704 '(#:include (cons "^lib\\/" %default-include)))
2705 (propagated-inputs
2706 `(("emacs-inf-ruby" ,emacs-inf-ruby)))
2707 (home-page "https://github.com/dgutov/robe")
2708 (synopsis "Ruby code assistance tool for Emacs")
2709 (description
2710 "Robe can provide information on loaded classes and modules in Ruby code,
2711as well as where methods are defined. This allows the user to jump to method
2712definitions, modules and classes, display method documentation and provide
2713method and constant name completion.")
2714 (license license:gpl3+)))
2715
73326e74
MC
2716(define-public emacs-robot-mode
2717 (let ((commit "32846e7e80ae3471b7c07f9709dcaa4f9b9ed4a0")
2718 (revision "1"))
2719 (package
2720 (name "emacs-robot-mode")
2721 (version (git-version "0.0.0" revision commit))
2722 (source (origin
2723 (method git-fetch)
2724 (uri (git-reference
2725 ;; A better maintained fork of robot-mode.
2726 (url "https://github.com/jvalkeejarvi/robot-mode.git")
2727 (commit commit)))
2728 (file-name (git-file-name name version))
2729 (sha256
2730 (base32
2731 "1i8wf7m0gml8zvvmlgppjzv78b432686p1qdbzgclc7qfcvzag0d"))))
2732 (build-system emacs-build-system)
2733 (propagated-inputs `(("emacs-s" ,emacs-s)))
2734 (home-page "https://github.com/jvalkeejarvi/robot-mode")
2735 (synopsis "Emacs mode for Robot Framework")
2736 (description "This major mode facilitates editing Robot Framework source
2737files with features such as syntax highlighting, comments, finding keywords,
2738completing keywords and smart indentation.")
2739 (license license:gpl3+))))
2740
eeb883cb
RW
2741(define-public emacs-rspec
2742 (package
2743 (name "emacs-rspec")
2744 (version "1.11")
2745 (source
2746 (origin
349eb1bc
TGR
2747 (method git-fetch)
2748 (uri (git-reference
2749 (url "https://github.com/pezra/rspec-mode.git")
2750 (commit (string-append "v" version))))
2751 (file-name (git-file-name name version))
eeb883cb 2752 (sha256
349eb1bc 2753 (base32 "0hrn5n7aaymwimk511kjij44vqaxbmhly1gwmlmsrnbvvma7f2mp"))))
eeb883cb
RW
2754 (build-system emacs-build-system)
2755 (home-page "https://github.com/pezra/rspec-mode")
2756 (synopsis "Provides a rspec mode for working with RSpec")
2757 (description
2758 "The Emacs RSpec mode provides keybindings for Ruby source files, e.g. to
2759verify the spec associated with the current buffer, or entire project, as well
028dab34 2760as moving between the spec files, and corresponding code files.
eeb883cb
RW
2761
2762Also included are keybindings for spec files and Dired buffers, as well as
2763snippets for yasnippet.")
2764 (license license:gpl3+)))
2765
2766(define-public emacs-smart-mode-line
2767 (package
2768 (name "emacs-smart-mode-line")
2769 (version "2.12.0")
2770 (source
2771 (origin
b3093d1c
TGR
2772 (method git-fetch)
2773 (uri (git-reference
2774 (url "https://github.com/Malabarba/smart-mode-line.git")
2775 (commit version)))
2776 (file-name (git-file-name name version))
eeb883cb 2777 (sha256
b3093d1c 2778 (base32 "1gs4ay9hdg8gmia4ir74qawk80pqwv99hp4yhy108kpfry5mrq6z"))))
eeb883cb
RW
2779 (build-system emacs-build-system)
2780 (propagated-inputs
2781 `(("emacs-rich-minority" ,emacs-rich-minority)))
2782 (home-page "https://github.com/Malabarba/smart-mode-line")
2783 (synopsis "Color-coded smart mode-line")
2784 (description
2785 "Smart Mode Line is a mode-line theme for Emacs. It aims to be easy to
2786read from small to large monitors by using colors, a prefix feature, and smart
2787truncation.")
2788 (license license:gpl2+)))
2789
2790(define-public emacs-sr-speedbar
2791 (let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
2792 (revision "0"))
2793 (package
2794 (name "emacs-sr-speedbar")
2795 (version (git-version "20161025" revision commit))
2796 (source
2797 (origin
2798 (method git-fetch)
2799 (uri (git-reference
2800 (url "https://github.com/emacsorphanage/sr-speedbar.git")
2801 (commit commit)))
2802 (file-name (git-file-name name version))
2803 (sha256
2804 (base32
2805 "0sd12555hk7z721y00kv3crdybvcn1i08wmd148z5imayzibj153"))))
2806 (build-system emacs-build-system)
2807 (home-page "https://www.emacswiki.org/emacs/SrSpeedbar")
2808 (synopsis "Same frame Emacs @code{speedbar}")
2809 (description
2810 "This Emacs package allows you to show @code{M-x speedbar} in the
2811same frame (in an extra window). You can customize the initial width of
2812the speedbar window.")
2813 (license license:gpl3+))))
2814
2815(define-public emacs-shell-switcher
2816 (package
2817 (name "emacs-shell-switcher")
2818 (version "1.0.1")
2819 (source
2820 (origin
bf562613
TGR
2821 (method git-fetch)
2822 (uri (git-reference
2823 (url "https://github.com/DamienCassou/shell-switcher.git")
2824 (commit (string-append "v" version))))
2825 (file-name (git-file-name name version))
eeb883cb 2826 (sha256
bf562613 2827 (base32 "0ia7sdip4hl27avckv3qpqgm3k4ynvp3xxq1cy53bqfzzx0gcria"))))
eeb883cb
RW
2828 (build-system emacs-build-system)
2829 (home-page "https://github.com/DamienCassou/shell-switcher")
2830 (synopsis "Provide fast switching between shell buffers")
2831 (description
2832 "This package provides commands to quickly switch between shell buffers.")
2833 (license license:gpl3+)))
2834
a08530df
BL
2835(define-public emacs-names
2836 (let ((commit "d8baba5360e5253938a25d3e005455b6d2d86971")
2837 (version "20151201.0")
2838 (revision "8"))
2839 (package
2840 (name "emacs-names")
2841 (version (git-version version revision commit))
2842 (source
2843 (origin
2844 (method git-fetch)
2845 (uri (git-reference
2846 (url "https://github.com/Malabarba/names")
2847 (commit commit)))
2848 (file-name (git-file-name name version))
2849 (sha256
2850 (base32
2851 "11wyha2q8y7bzqq3jrzix8n97ywvsibvddrahqcps1a1yqk4hzfz"))))
2852 (build-system emacs-build-system)
2853 (home-page "https://github.com/Malabarba/names/")
2854 (synopsis "Namespace implementation for Emacs Lisp")
2855 (description
2856 "This package provides a macro that writes your namespaces for you.")
2857 (license license:gpl3+))))
2858
df7d0dce
BL
2859(define-public emacs-evil-textobj-syntax
2860 (let ((commit "2d9ba8c75c754b409aea7469f46a5cfa52a872f3")
2861 (version "0")
2862 (revision "1"))
2863 (package
2864 (name "emacs-evil-textobj-syntax")
2865 (version (git-version version revision commit))
2866 (source
2867 (origin
2868 (method git-fetch)
2869 (uri (git-reference
2870 (url "https://github.com/laishulu/evil-textobj-syntax/")
2871 (commit commit)))
2872 (file-name (git-file-name name version))
2873 (sha256
2874 (base32
2875 "031p5i3274dazp7rz6m5y38shfgszm1clmkcf58qfqlvy978ammc"))))
2876 (build-system emacs-build-system)
2877 (propagated-inputs `(("emacs-evil" ,emacs-evil)
2878 ("emacs-names" ,emacs-names)))
2879 (home-page "https://github.com/laishulu/evil-textobj-syntax/")
2880 (synopsis "Text objects based on syntax highlighting")
2881 (description
2882 "This package provides text objects for @code{evil-mode} with
2883boundaries defined by syntax highlighting.")
2884 (license license:gpl3+))))
2885
0209661e
BL
2886(define-public emacs-flycheck-flow
2887 (let ((commit "9e8e52cfc98af6a23fd906f9cb5d5d470d8cf82d")
2888 (version "1.1")
2889 (revision "1"))
2890 (package
2891 (name "emacs-flycheck-flow")
2892 (version (git-version version revision commit))
2893 (source
2894 (origin
2895 (method git-fetch)
2896 (uri (git-reference
2897 (url "https://github.com/lbolla/emacs-flycheck-flow")
2898 (commit commit)))
2899 (file-name (git-file-name name version))
2900 (sha256
2901 (base32
2902 "14qldlisbmxzammr500gyha2hiv2xgyzfc6mysqii06kbcqn1ik1"))))
2903 (build-system emacs-build-system)
2904 (propagated-inputs
2905 `(("emacs-flycheck" ,emacs-flycheck)))
2906 (home-page "https://github.com/lbolla/emacs-flycheck-flow")
2907 (synopsis "Flow support for @code{flycheck-mode}")
2908 (description
2909 "This package allows @code{flycheck-mode} to provide syntax-checking
2910for Flow files.")
2911 (license license:gpl3+))))
2912
a0219813
BL
2913(define-public emacs-elisp-demos
2914 (let ((commit "4c1fbc392668662890b685ab297e950259227e06")
2915 (version "0.1")
2916 (revision "1"))
2917 (package
2918 (name "emacs-elisp-demos")
2919 (version (git-version version revision commit))
2920 (source
2921 (origin
2922 (method git-fetch)
2923 (uri (git-reference
2924 (url "https://github.com/xuchunyang/elisp-demos")
2925 (commit commit)))
2926 (file-name (git-file-name name version))
2927 (sha256
2928 (base32
2929 "01cbkmjgmzxdf02w9xgbf4bhnx1mh53vvpkri13yxfksym5zizp4"))))
2930 (build-system emacs-build-system)
2931 (arguments '(#:include '("\\.el$" "\\.org$")))
2932 (home-page "https://github.com/xuchunyang/elisp-demos/")
2933 (synopsis "Enhance @code{*Help*} buffers with additional examples")
2934 (description
2935 "This package injects example uses of Elisp functions into their
2936respective @code{*Help*} buffers.")
2937 (license license:gpl3+))))
2938
d2ca86f3
BL
2939(define-public emacs-docker-compose-mode
2940 (package
2941 (name "emacs-docker-compose-mode")
2942 (version "1.1.0")
2943 (source
2944 (origin
2945 (method git-fetch)
2946 (uri (git-reference
2947 (url "https://github.com/meqif/docker-compose-mode")
2948 (commit version)))
2949 (file-name (git-file-name name version))
2950 (sha256
2951 (base32
2952 "1fbcxwfvm33xcdj3cs26d9i1zyrryyjjkv7sc3mfxd45nq8d3ivj"))))
2953 (build-system emacs-build-system)
2954 (propagated-inputs
2955 `(("emacs-dash" ,emacs-dash)
2956 ("emacs-f" ,emacs-f)))
2957 (home-page "https://github.com/meqif/docker-compose-mode/")
2958 (synopsis "Major mode for editing @file{docker-compose} files")
2959 (description
2960 "This is a major mode for @file{docker-compose} files that provides
2961completion of relevant keywords.")
2962 (license license:expat)))
2963
cc1d1fc8
BL
2964(define-public emacs-sudo-edit
2965 (let ((commit "cc3d478937b1accd38742bfceba92af02ee9357d")
2966 (version "0.1.0")
2967 (revision "6"))
2968 (package
2969 (name "emacs-sudo-edit")
2970 (version (git-version version revision commit))
2971 (source
2972 (origin
2973 (method git-fetch)
2974 (uri (git-reference
2975 (url "https://github.com/nflath/sudo-edit")
2976 (commit commit)))
2977 (file-name (git-file-name name version))
2978 (sha256
2979 (base32
2980 "1qv58x5j5a3v1s2ylhck1ykbfclq0mbi0gsvaql3nyv8cxazqlwl"))))
2981 (build-system emacs-build-system)
2982 (home-page "https://github.com/nflath/sudo-edit/")
2983 (synopsis "Open files as another user")
2984 (description
2985 "This package allows editing files as another user, including the root
2986user.")
2987 (license license:gpl3+))))
2988
fc7d6328
BL
2989(define-public emacs-miniedit
2990 (package
2991 (name "emacs-miniedit")
2992 (version "2.0")
2993 (source
2994 (origin
2995 (method git-fetch)
2996 (uri (git-reference
2997 (url "https://github.com/emacsmirror/miniedit")
2998 (commit version)))
2999 (file-name (git-file-name name version))
3000 (sha256
3001 (base32
3002 "1850z96gly0jnr50472idqz1drzqarr0n23bbasslrc501xkg0bq"))))
3003 (build-system emacs-build-system)
3004 (home-page "https://github.com/emacsmirror/miniedit/")
3005 (synopsis "Enhanced editing for minibuffer fields")
3006 (description
3007 "This package provides a function that can be called from the
3008minibuffer to enable editing the minibuffer input in another buffer with
3009@code{text-mode} enabled.")
3010 (license license:gpl2+)))
3011
eeb883cb
RW
3012(define-public emacs-ob-ipython
3013 (package
3014 (name "emacs-ob-ipython")
3015 (version "20150704.8807064693")
3016 (source (origin
3017 (method git-fetch)
3018 (uri (git-reference
3019 (commit "880706469338ab59b5bb7dbe8460016f89755364")
3020 (url "https://github.com/gregsexton/ob-ipython.git")))
a8193ec3 3021 (file-name (git-file-name name version))
eeb883cb
RW
3022 (sha256
3023 (base32
3024 "1scf25snbds9ymagpny30ijbsg479r3nm0ih01dy4m9d0g7qryb7"))))
3025 (build-system emacs-build-system)
3026 (propagated-inputs
3027 `(("emacs-f" ,emacs-f)))
3028 (home-page "http://www.gregsexton.org")
3029 (synopsis "Org-Babel functions for IPython evaluation")
3030 (description "This package adds support to Org-Babel for evaluating Python
3031source code using IPython.")
3032 (license license:gpl3+)))
3033
3034(define-public emacs-debbugs
3035 (package
3036 (name "emacs-debbugs")
de1206dc 3037 (version "0.18")
eeb883cb
RW
3038 (source (origin
3039 (method url-fetch)
3040 (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
3041 version ".tar"))
3042 (sha256
3043 (base32
de1206dc 3044 "00kich80zdg7v3v613f9prqddkpwpm1nf9sj10f0n6wh15rzwv07"))))
eeb883cb
RW
3045 (build-system emacs-build-system)
3046 (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
3047 (propagated-inputs
3048 `(("emacs-async" ,emacs-async)))
3049 (home-page "https://elpa.gnu.org/packages/debbugs.html")
3050 (synopsis "Access the Debbugs bug tracker in Emacs")
3051 (description
3052 "This package lets you access the @uref{http://bugs.gnu.org,GNU Bug
3053Tracker} from within Emacs.
3054
3055For instance, it defines the command @code{M-x debbugs-gnu} for listing bugs,
3056and the command @code{M-x debbugs-gnu-search} for bug searching. If you
3057prefer the listing of bugs as TODO items of @code{org-mode}, you could use
3058@code{M-x debbugs-org} and related commands.
3059
3060A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
3061Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
3062 (license license:gpl3+)))
3063
3064(define-public emacs-ert-expectations
3065 (package
3066 (name "emacs-ert-expectations")
3067 (version "0.2")
3068 (source
3069 (origin
3070 (method url-fetch)
3071 (uri "https://www.emacswiki.org/emacs/download/ert-expectations.el")
3072 (sha256
3073 (base32
3074 "0cwy3ilsid90abzzjb7ha2blq9kmv3gfp3icwwfcz6qczgirq6g7"))))
3075 (build-system emacs-build-system)
3076 (home-page "https://www.emacswiki.org/emacs/ert-expectations.el")
3077 (synopsis "Simple unit test framework for Emacs Lisp")
3078 (description "@code{emacs-ert-expectations} is a simple unit test
3079framework for Emacs Lisp to be used with @code{ert}.")
3080 (license license:gpl3+)))
3081
3082(define-public emacs-deferred
3083 (package
3084 (name "emacs-deferred")
3085 (version "0.5.1")
3086 (home-page "https://github.com/kiwanami/emacs-deferred")
3087 (source (origin
3088 (method git-fetch)
3089 (uri (git-reference
3090 (url home-page)
3091 (commit (string-append "v" version))))
b4d6107c 3092 (file-name (git-file-name name version))
eeb883cb
RW
3093 (sha256
3094 (base32
b4d6107c 3095 "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h"))))
eeb883cb
RW
3096 (build-system emacs-build-system)
3097 (arguments
3098 `(#:phases
3099 (modify-phases %standard-phases
3100 (add-after 'unpack 'set-shell
3101 ;; Setting the SHELL environment variable is required for the tests
3102 ;; to find sh.
3103 (lambda _
3104 (setenv "SHELL" (which "sh"))
3105 #t))
3106 (add-before 'check 'fix-makefile
3107 (lambda _
3108 (substitute* "Makefile"
3109 (("\\$\\(CASK\\) exec ") ""))
3110 #t)))
3111 #:tests? #t
3112 #:test-command '("make" "test")))
3113 (native-inputs
3114 `(("emacs-ert-expectations" ,emacs-ert-expectations)
3115 ("emacs-undercover" ,emacs-undercover)
3116 ("ert-runner" ,emacs-ert-runner)))
3117 (synopsis "Simple asynchronous functions for Emacs Lisp")
3118 (description
3119 "The @code{deferred.el} library provides support for asynchronous tasks.
3120The API is almost the same as that of
3121@uref{https://github.com/cho45/jsdeferred, JSDeferred}, a JavaScript library
3122for asynchronous tasks.")
3123 (license license:gpl3+)))
3124
3125(define-public emacs-butler
3126 (package
3127 (name "emacs-butler")
3128 (version "0.2.4")
3129 (home-page "https://github.com/AshtonKem/Butler")
3130 (source (origin
3131 (method git-fetch)
3132 (uri (git-reference
3133 (url home-page)
3134 (commit version)))
7d41e373 3135 (file-name (git-file-name name version))
eeb883cb
RW
3136 (sha256
3137 (base32
7d41e373 3138 "1pii9dw4skq7nr4na6qxqasl36av8cwjp71bf1fgppqpcd9z8skj"))))
eeb883cb
RW
3139 (build-system emacs-build-system)
3140 (propagated-inputs
3141 `(("emacs-deferred" ,emacs-deferred)))
3142 (synopsis "Emacs client for Jenkins")
3143 (description
3144 "Butler provides an interface to connect to Jenkins continuous
3145integration servers. Users can specify a list of server in the
3146@code{butler-server-list} variable and then use @code{M-x butler-status} to
3147view the build status of those servers' build jobs, and possibly to trigger
3148build jobs.")
3149 (license license:gpl3+)))
3150
3151(define-public emacs-company
3152 (package
3153 (name "emacs-company")
3154 (version "0.9.7")
3155 (source
3156 (origin
d98ac61b
TGR
3157 (method git-fetch)
3158 (uri (git-reference
3159 (url "https://github.com/company-mode/company-mode.git")
3160 (commit version)))
3161 (file-name (git-file-name name version))
eeb883cb 3162 (sha256
d98ac61b 3163 (base32 "1gpapjxs4l6fmmj22q0q1pyhj1yd9j5iqfqnjf1abskkj69lqkpj"))))
eeb883cb
RW
3164 (build-system emacs-build-system)
3165 (arguments
3166 `(#:phases
3167 (modify-phases %standard-phases
3168 (add-before 'check 'fix-bin-dir
3169 (lambda _
3170 ;; The company-files-candidates-normal-root test looks
3171 ;; for the /bin directory, but the build environment has
3172 ;; no /bin directory. Modify the test to look for the
3173 ;; /tmp directory.
3174 (substitute* "test/files-tests.el"
3175 (("/bin/") "/tmp/"))
3176 #t)))
3177 #:tests? #t
3178 #:test-command '("make" "test-batch")))
3179 (home-page "http://company-mode.github.io/")
3180 (synopsis "Modular text completion framework")
3181 (description
3182 "Company is a modular completion mechanism. Modules for retrieving
3183completion candidates are called back-ends, modules for displaying them are
3184front-ends. Company comes with many back-ends, e.g. @code{company-elisp}.
3185These are distributed in separate files and can be used individually.")
3186 (license license:gpl3+)))
3187
3188(define-public emacs-irony-mode
3189 (package
3190 (name "emacs-irony-mode")
3191 (version "1.2.0")
3192 (home-page "https://github.com/Sarcasm/irony-mode")
3193 (source (origin
3194 (method git-fetch)
3195 (uri (git-reference
3196 (url (string-append home-page ".git"))
3197 (commit (string-append "v" version))))
95903f29 3198 (file-name (git-file-name name version))
eeb883cb
RW
3199 (sha256
3200 (base32
95903f29 3201 "0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8"))))
eeb883cb
RW
3202 (build-system emacs-build-system)
3203 (inputs `(("server" ,emacs-irony-mode-server)))
3204 (arguments `(#:phases
3205 (modify-phases %standard-phases
3206 (add-after 'unpack 'configure
3207 (lambda* (#:key inputs #:allow-other-keys)
3208 (chmod "irony.el" #o644)
3209 (emacs-substitute-variables "irony.el"
3210 ("irony-server-install-prefix"
3211 (assoc-ref inputs "server")))
3212 #t)))))
3213 (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
3214 (description "Irony-mode provides Clang-assisted syntax checking and
3215completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can
3216provide syntax checking and autocompletion on compiler level which is very
881a3521 3217resistant against false positives. It also integrates well with other
eeb883cb
RW
3218packages like @code{eldoc-mode} and especially @code{company-mode} as
3219described on the homepage.")
3220 (license license:gpl3+)))
3221
3222(define-public emacs-irony-mode-server
3223 (package (inherit emacs-irony-mode)
3224 (name "emacs-irony-mode-server")
3225 (inputs
3226 `(("clang" ,clang)))
3227 (arguments
3228 `(#:phases
3229 (modify-phases %standard-phases
3230 (replace 'configure
3231 (lambda* (#:key outputs #:allow-other-keys)
3232 (let ((out (assoc-ref outputs "out")))
3233 (invoke "cmake"
3234 "server"
3235 (string-append "-DCMAKE_INSTALL_PREFIX=" out)) #t))))))
3236 (build-system cmake-build-system)
3237 (synopsis "Server for the Emacs @dfn{irony mode}")))
3238
3239(define-public emacs-company-irony
3240 (package
3241 (name "emacs-company-irony")
3242 (version "1.1.0")
3243 (source (origin
3244 (method git-fetch)
3245 (uri (git-reference
3246 (url "https://github.com/Sarcasm/company-irony.git")
3247 (commit (string-append "v" version))))
3248 (sha256 (base32
3249 "1qgyam2vyjw90kpxns5cd6bq3qiqjhzpwrlvmi18vyb69qcgqd8a"))
3250 (file-name (git-file-name name version))))
3251 (build-system emacs-build-system)
3252 (inputs
3253 `(("emacs-irony-mode" ,emacs-irony-mode)
3254 ("emacs-company" ,emacs-company)))
3255 (synopsis "C++ completion backend for Company using irony-mode")
3256 (description "This backend for company-mode allows for C++ code completion
3257with irony-mode using clang-tooling.")
3258 (home-page "https://github.com/Sarcasm/company-irony")
3259 (license license:gpl3+)))
3260
3261(define-public emacs-flycheck-irony
3262 (package
3263 (name "emacs-flycheck-irony")
3264 (version "0.1.0")
3265 (source (origin
3266 (method git-fetch)
3267 (uri (git-reference
3268 (url "https://github.com/Sarcasm/flycheck-irony.git")
3269 (commit (string-append "v" version))))
50c0635a 3270 (file-name (git-file-name name version))
eeb883cb 3271 (sha256
50c0635a 3272 (base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996"))))
eeb883cb
RW
3273 (build-system emacs-build-system)
3274 (inputs
3275 `(("irony-mode" ,emacs-irony-mode)
3276 ("flycheck-mode" ,emacs-flycheck)
3277 ("emacs-company" ,emacs-company)))
3278 (synopsis "Live syntax checking frontend for Flycheck using irony-mode")
3279 (description "This package provides a frontend for Flycheck that lets
3280irony-mode do the syntax checking.")
3281 (home-page "https://github.com/Sarcasm/flycheck-irony")
3282 (license license:gpl3+)))
3283
3284(define-public emacs-irony-eldoc
3285 (package
3286 (name "emacs-irony-eldoc")
3287 (version (package-version emacs-irony-mode))
3288 (source
3289 (origin
3290 (method git-fetch)
3291 (uri (git-reference
3292 (url "https://github.com/ikirill/irony-eldoc.git")
3293 (commit "0df5831eaae264a25422b061eb2792aadde8b3f2")))
264c773e
TGR
3294 (file-name (git-file-name name version))
3295 (sha256
3296 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd"))))
eeb883cb
RW
3297 (build-system emacs-build-system)
3298 (inputs
3299 `(("irony-mode" ,emacs-irony-mode)))
3300 (synopsis "Eldoc integration for irony-mode")
3301 (description "Irony-eldoc is an eldoc extension that shows documentation
3302for the current function or variable in the minibuffer.")
3303 (home-page "https://github.com/ikirill/irony-eldoc")
3304 (license license:gpl3+)))
3305
3306(define-public emacs-company-quickhelp
3307 (package
3308 (name "emacs-company-quickhelp")
3309 (version "2.3.0")
3310 (source
3311 (origin
6859cac4
TGR
3312 (method git-fetch)
3313 (uri (git-reference
3314 (url "https://github.com/expez/company-quickhelp.git")
3315 (commit version)))
3316 (file-name (git-file-name name version))
eeb883cb 3317 (sha256
6859cac4 3318 (base32 "08ccsfvwdpzpj0gai3xrdb2bv1nl6myjkxsc5774pbvlq9nkfdvr"))))
eeb883cb
RW
3319 (build-system emacs-build-system)
3320 (propagated-inputs
3321 `(("emacs-pos-tip" ,emacs-pos-tip)
3322 ("emacs-company" ,emacs-company)))
3323 (home-page "https://github.com/expez/company-quickhelp")
3324 (synopsis "Popup documentation for completion candidates")
3325 (description "@code{company-quickhelp} shows documentation for the
3326completion candidate when using the Company text completion framework.")
3327 (license license:gpl3+)))
3328
3329(define-public emacs-multiple-cursors
3330 (package
3331 (name "emacs-multiple-cursors")
3332 (version "1.4.0")
3333 (source
3334 (origin
976d475a
TGR
3335 (method git-fetch)
3336 (uri (git-reference
3337 (url "https://github.com/magnars/multiple-cursors.el.git")
3338 (commit version)))
3339 (file-name (git-file-name name version))
eeb883cb 3340 (sha256
976d475a 3341 (base32 "1ijgvzv5r44xqvz751fd5drbvrspapw6xwv47582w255j363r6ss"))))
eeb883cb
RW
3342 (build-system emacs-build-system)
3343 (home-page "https://github.com/magnars/multiple-cursors.el")
3344 (synopsis "Multiple cursors for Emacs")
3345 (description
3346 "This package adds support to Emacs for editing text with multiple
3347simultaneous cursors.")
3348 (license license:gpl3+)))
3349
3350(define-public emacs-typo
3351 (package
3352 (name "emacs-typo")
3353 (version "1.1")
3354 (home-page "https://github.com/jorgenschaefer/typoel")
3355 (source (origin
3356 (method git-fetch)
3357 (uri (git-reference
3358 (url home-page)
3359 (commit (string-append "v" version))))
d9eaecf2 3360 (file-name (git-file-name name version))
eeb883cb
RW
3361 (sha256
3362 (base32
d9eaecf2 3363 "1jhd4grch5iz12gyxwfbsgh4dmz5hj4bg4gnvphccg8dsnni05k2"))))
eeb883cb
RW
3364 (build-system emacs-build-system)
3365 (synopsis "Minor mode for typographic editing")
3366 (description
3367 "This package provides two Emacs modes, @code{typo-mode} and
3368@code{typo-global-mode}. These modes automatically insert Unicode characters
3369for quotation marks, dashes, and ellipses. For example, typing @kbd{\"}
3370automatically inserts a Unicode opening or closing quotation mark, depending
3371on context.")
3372 (license license:gpl3+)))
3373
bb034ab0
BL
3374(define-public emacs-company-lsp
3375 (package
3376 (name "emacs-company-lsp")
3377 (version "2.1.0")
3378 (source (origin
3379 (method git-fetch)
3380 (uri (git-reference
3381 (url "https://github.com/tigersoldier/company-lsp.git")
3382 (commit version)))
3383 (file-name (git-file-name name version))
3384 (sha256
3385 (base32
3386 "1hy1x2w0yp5brm7714d1hziz3rpkywb5jp3yj78ibmi9ifny9vri"))))
3387 (build-system emacs-build-system)
3388 (propagated-inputs
3389 `(("emacs-dash" ,emacs-dash)
3390 ("emacs-lsp-mode" ,emacs-lsp-mode)
3391 ("emacs-company" ,emacs-company)
3392 ("emacs-s" ,emacs-s)
3393 ("emacs-dash" ,emacs-dash)))
3394 (home-page "https://github.com/tigersoldier/company-lsp")
3395 (synopsis "Completion for @code{lsp-mode}")
3396 (description
3397 "This package provides completion features that are not possible with
3398@code{lsp-mode} and @code{company-capf} alone, including support for trigger
3399characters and asynchronous fetching of completion candidates.")
3400 (license license:gpl3+)))
3401
eeb883cb
RW
3402(define-public emacs-scheme-complete
3403 (let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5"))
3404 (package
3405 (name "emacs-scheme-complete")
3406 (version (string-append "20151223." (string-take commit 8)))
3407 (source
3408 (origin
eeb883cb
RW
3409 (method git-fetch)
3410 (uri (git-reference
3411 (url "https://github.com/ashinn/scheme-complete.git")
3412 (commit commit)))
5d89919b 3413 (file-name (git-file-name name version))
eeb883cb
RW
3414 (sha256
3415 (base32
3416 "141wn9l0m33w0g3dqmx8nxbfdny1r5xbr6ak61rsz21bk0qafs7x"))
3417 (patches
3418 (search-patches "emacs-scheme-complete-scheme-r5rs-info.patch"))))
3419 (build-system emacs-build-system)
3420 (home-page "https://github.com/ashinn/scheme-complete")
3421 (synopsis "Smart tab completion for Scheme in Emacs")
3422 (description
3423 "This file provides a single function, @code{scheme-smart-complete},
3424which you can use for intelligent, context-sensitive completion for any Scheme
3425implementation in Emacs. To use it just load this file and bind that function
3426to a key in your preferred mode.")
3427 (license license:public-domain))))
3428
3429(define-public emacs-scel
3430 (let ((version "20170629")
3431 (revision "1")
3432 (commit "aeea3ad4be9306d14c3a734a4ff54fee10ac135b"))
3433 (package
3434 (name "emacs-scel")
3435 (version (git-version version revision commit))
3436 (source
3437 (origin
3438 (method git-fetch)
3439 (uri (git-reference
3440 (url "https://github.com/supercollider/scel.git")
3441 (commit commit)))
f08f7419 3442 (file-name (git-file-name name version))
eeb883cb
RW
3443 (sha256
3444 (base32
3445 "0jvmzs1lsjyndqshhii2y4mnr3wghai26i3p75453zrpxpg0zvvw"))))
3446 (build-system emacs-build-system)
3447 (arguments
3448 `(#:modules ((guix build emacs-build-system)
3449 ((guix build cmake-build-system) #:prefix cmake:)
3450 (guix build utils))
3451 #:imported-modules (,@%emacs-build-system-modules
3452 (guix build cmake-build-system))
3453 #:phases
3454 (modify-phases %standard-phases
3455 (add-after 'unpack 'configure
3456 (lambda* (#:key outputs #:allow-other-keys)
3457 (substitute* "el/CMakeLists.txt"
3458 (("share/emacs/site-lisp/SuperCollider")
3459 (string-append
3460 "share/emacs/site-lisp/guix.d/scel-" ,version)))
3461 ((assoc-ref cmake:%standard-phases 'configure)
3462 #:outputs outputs
3463 #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF"))))
3464 (add-after 'set-emacs-load-path 'add-el-dir-to-emacs-load-path
3465 (lambda _
3466 (setenv "EMACSLOADPATH"
3467 (string-append (getcwd) "/el:" (getenv "EMACSLOADPATH")))
3468 #t))
3469 (replace 'install (assoc-ref cmake:%standard-phases 'install)))))
3470 (inputs
3471 `(("supercollider" ,supercollider)))
3472 (native-inputs
3473 `(("cmake" ,cmake)))
3474 (home-page "https://github.com/supercollider/scel")
3475 (synopsis "SuperCollider Emacs interface")
3476 (description "@code{emacs-scel} is an Emacs interface to SuperCollider.
3477SuperCollider is a platform for audio synthesis and algorithmic composition.")
3478 (license license:gpl2+))))
3479
5247cd2a
BL
3480(define-public emacs-company-auctex
3481 (let ((commit "48c42c58ce2f0e693301b0cb2d085055410c1b25")
3482 (revision "1"))
3483 (package
3484 (name "emacs-company-auctex")
3485 (version (git-version "0" revision commit))
3486 (source (origin
3487 (method git-fetch)
3488 (uri (git-reference
3489 (url "https://github.com/alexeyr/company-auctex")
3490 (commit commit)))
3491 (file-name (git-file-name name version))
3492 (sha256
3493 (base32
3494 "10qn7frn5wcmrlci3v6iliqzj7r9dls87h9zp3xkgrgn4bqprfp8"))))
3495 (build-system emacs-build-system)
3496 (propagated-inputs
3497 `(("emacs-yasnippet" ,emacs-yasnippet)
3498 ("emacs-auctex" ,emacs-auctex)
3499 ("emacs-company" ,emacs-company)))
3500 (home-page "https://github.com/alexeyr/company-auctex/")
3501 (synopsis "Completion for @code{AUCTeX}")
3502 (description
3503 "This package provides a group of backends permitting auto-completion
3504for @code{AUCTeX}.")
3505 (license license:gpl3+))))
3506
eeb883cb
RW
3507(define-public emacs-mit-scheme-doc
3508 (package
3509 (name "emacs-mit-scheme-doc")
3510 (version "20140203")
3511 (source
3512 (origin
3513 (modules '((guix build utils)))
3514 (snippet
3515 ;; keep only file of interest
3516 '(begin
3517 (for-each delete-file '("dot-emacs.el" "Makefile"))
3518 (install-file "6.945-config/mit-scheme-doc.el" ".")
3519 (delete-file-recursively "6.945-config")
3520 #t))
3521 (file-name (string-append name "-" version ".tar.bz2"))
3522 (method url-fetch)
3523 (uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/"
3524 "6.945/dont-panic/emacs-basic-config.tar.bz2"))
3525 (sha256
3526 (base32
3527 "0dqidg2bd66pawqfarvwca93w5gqf9mikn1k2a2rmd9ymfjpziq1"))))
3528 (build-system emacs-build-system)
3529 (inputs `(("mit-scheme" ,mit-scheme)))
3530 (arguments
3531 `(#:phases
3532 (modify-phases %standard-phases
3533 (add-after 'unpack 'configure-doc
3534 (lambda* (#:key inputs #:allow-other-keys)
3535 (let* ((mit-scheme-dir (assoc-ref inputs "mit-scheme"))
3536 (doc-dir (string-append mit-scheme-dir "/share/doc/"
3537 "mit-scheme-"
3538 ,(package-version mit-scheme))))
3539 (substitute* "mit-scheme-doc.el"
3540 (("http://www\\.gnu\\.org/software/mit-scheme/documentation/mit-scheme-ref/")
3541 (string-append "file:" doc-dir "/mit-scheme-ref/")))))))))
3542 (home-page "http://groups.csail.mit.edu/mac/users/gjs/6.945/dont-panic/")
3543 (synopsis "MIT-Scheme documentation lookup for Emacs")
3544 (description
3545 "This package provides a set of Emacs functions to search definitions of
3546identifiers in the MIT-Scheme documentation.")
3547 (license license:gpl2+)))
3548
3549(define-public emacs-constants
3550 (package
3551 (name "emacs-constants")
3552 (version "2.6")
3553 (home-page "https://staff.fnwi.uva.nl/c.dominik/Tools/constants")
3554 (source
3555 (origin
fd0ec422
TGR
3556 (method git-fetch)
3557 (uri (git-reference
3558 (url "https://github.com/fedeinthemix/emacs-constants.git")
3559 (commit (string-append "v" version))))
3560 (file-name (git-file-name name version))
eeb883cb 3561 (sha256
fd0ec422 3562 (base32 "0f5sh6b45a8p9kancjp9jk44ws8ww6x50a0i6zgyyvr7dbvii1a0"))))
eeb883cb
RW
3563 (build-system emacs-build-system)
3564 (synopsis "Enter definition of constants into an Emacs buffer")
3565 (description
3566 "This package provides functions for inserting the definition of natural
3567constants and units into an Emacs buffer.")
3568 (license license:gpl2+)))
3569
3570(define-public emacs-tagedit
3571 (package
3572 (name "emacs-tagedit")
3573 (version "1.4.0")
3574 (source
3575 (origin
60306e45
TGR
3576 (method git-fetch)
3577 (uri (git-reference
3578 (url "https://github.com/magnars/tagedit.git")
3579 (commit version)))
3580 (file-name (git-file-name name version))
eeb883cb 3581 (sha256
60306e45 3582 (base32 "0kq40g46s8kgiafrhdq99h79rz9h5fvgz59k7ralmf86bl4sdmdb"))))
eeb883cb
RW
3583 (build-system emacs-build-system)
3584 (propagated-inputs
3585 `(("emacs-s" ,emacs-s)
3586 ("emacs-dash" ,emacs-dash)))
3587 (home-page "https://github.com/magnars/tagedit")
3588 (synopsis "Some paredit-like features for html-mode")
3589 (description
3590 "This package provides a collection of paredit-like functions for editing
3591in @code{html-mode}.")
3592 (license license:gpl3+)))
3593
3594(define-public emacs-slime
3595 (package
3596 (name "emacs-slime")
c4e4b853 3597 (version "2.23")
eeb883cb
RW
3598 (source
3599 (origin
c234cf61
TGR
3600 (method git-fetch)
3601 (uri (git-reference
3602 (url "https://github.com/slime/slime.git")
3603 (commit (string-append "v" version))))
3604 (file-name (git-file-name name version))
eeb883cb 3605 (sha256
c234cf61 3606 (base32 "0i637n0ragpbj39hqx65nx5k99xf0464c4w6w1qpzykm6z42grky"))))
eeb883cb
RW
3607 (build-system emacs-build-system)
3608 (native-inputs
3609 `(("texinfo" ,texinfo)))
3610 (arguments
3611 `(#:include '("\\.el$" "\\.lisp$" "\\.asd$" "contrib")
3612 #:exclude '("^slime-tests.el" "^contrib/test/"
3613 "^contrib/Makefile$" "^contrib/README.md$")
3614 #:phases
3615 (modify-phases %standard-phases
c234cf61
TGR
3616 (add-after 'unpack 'make-git-checkout-writable
3617 (lambda _
3618 (for-each make-file-writable (find-files "."))
3619 #t))
eeb883cb
RW
3620 (add-before 'install 'configure
3621 (lambda* _
3622 (emacs-substitute-variables "slime.el"
3623 ("inferior-lisp-program" "sbcl"))
3624 #t))
3625 (add-before 'install 'install-doc
3626 (lambda* (#:key outputs #:allow-other-keys)
3627 (let* ((out (assoc-ref outputs "out"))
3628 (info-dir (string-append out "/share/info"))
3629 (doc-dir (string-append out "/share/doc/"
3630 ,name "-" ,version))
3631 (doc-files '("doc/slime-refcard.pdf"
3632 "README.md" "NEWS" "PROBLEMS"
3633 "CONTRIBUTING.md")))
3634 (with-directory-excursion "doc"
3635 (substitute* "Makefile"
3636 (("infodir=/usr/local/info")
3637 (string-append "infodir=" info-dir)))
3638 (invoke "make" "html/index.html")
3639 (invoke "make" "slime.info")
3640 (install-file "slime.info" info-dir)
3641 (copy-recursively "html" (string-append doc-dir "/html")))
3642 (for-each (lambda (f)
3643 (install-file f doc-dir)
3644 (delete-file f))
3645 doc-files)
3646 (delete-file-recursively "doc")
3647 #t))))))
3648 (home-page "https://github.com/slime/slime")
3649 (synopsis "Superior Lisp Interaction Mode for Emacs")
3650 (description
3651 "SLIME extends Emacs with support for interactive programming in
3652Common Lisp. The features are centered around @command{slime-mode},
3653an Emacs minor mode that complements the standard @command{lisp-mode}.
3654While lisp-mode supports editing Lisp source files, @command{slime-mode}
3655adds support for interacting with a running Common Lisp process
3656for compilation, debugging, documentation lookup, and so on.")
3657 (license (list license:gpl2+ license:public-domain))))
3658
3659(define-public emacs-popup
3660 (package
3661 (name "emacs-popup")
3662 (version "0.5.3")
f2e3d0a9
TGR
3663 (source
3664 (origin
3665 (method git-fetch)
3666 (uri (git-reference
3667 (url "https://github.com/auto-complete/popup-el.git")
3668 (commit (string-append "v" version))))
3669 (file-name (git-file-name name version))
3670 (sha256
3671 (base32 "1y538siabcf1n00wr4iz5gbxfndw661kx2mn9w1g4lg7yi4n0h0h"))))
eeb883cb
RW
3672 (build-system emacs-build-system)
3673 (home-page "https://github.com/auto-complete/popup-el")
3674 (synopsis "Visual Popup User Interface for Emacs")
3675 (description
3676 "Popup.el is a visual popup user interface library for Emacs.
3677This provides a basic API and common UI widgets such as popup tooltips
3678and popup menus.")
3679 (license license:gpl3+)))
3680
16f6a75d
BL
3681(define-public emacs-python-environment
3682 (package
3683 (name "emacs-python-environment")
3684 (version "0.0.2")
95cf8077
TGR
3685 (source
3686 (origin
3687 (method git-fetch)
3688 (uri (git-reference
3689 (url "https://github.com/tkf/emacs-python-environment/")
3690 (commit version)))
3691 (file-name (git-file-name name version))
3692 (sha256
3693 (base32 "0q6bib9nr6xiq6npzbngyfcjk87yyvwzq1zirr3z1h5wadm34lsk"))))
16f6a75d
BL
3694 (build-system emacs-build-system)
3695 (propagated-inputs
3696 `(("emacs-deferred" ,emacs-deferred)))
3697 (home-page "https://github.com/tkf/emacs-python-environment")
3698 (synopsis "Provides a @code{virtualenv} API in Emacs Lisp")
3699 (description
3700 "This package permits automated installation of tools written in Python.")
3701 (license license:gpl3+)))
3702
06aff738
BL
3703(define-public emacs-jedi
3704 (package
3705 (name "emacs-jedi")
3706 (version "0.2.7")
3707 (source (origin
3708 (method git-fetch)
3709 (uri (git-reference
3710 (url "https://github.com/tkf/emacs-jedi/")
3711 (commit (string-append "v" version))))
3712 (file-name (git-file-name name version))
3713 (sha256
3714 (base32
3715 "0xbp9fcxgbf298w05hvf52z41kk7r52975ailgdn8sg60xc98fa7"))))
3716 (build-system emacs-build-system)
3717 (native-inputs
3718 `(("emacs-mocker" ,emacs-mocker)))
3719 (propagated-inputs
3720 `(("emacs-auto-complete" ,emacs-auto-complete)
3721 ("emacs-python-environment" ,emacs-python-environment)
3722 ("emacs-epc" ,emacs-epc)))
3723 (home-page "https://github.com/tkf/emacs-jedi")
3724 (synopsis "Provides Python completion in Emacs")
3725 (description
3726 "This package provides completion in Python buffers and also helps find
3727the locations of docstrings, arguments, and functions.")
3728 (license license:gpl3+)))
3729
8dc32965
BL
3730(define-public emacs-company-jedi
3731 (package
3732 (name "emacs-company-jedi")
3733 (version "0.04")
3734 (source (origin
3735 (method git-fetch)
3736 (uri (git-reference
3737 (url "https://github.com/syohex/emacs-company-jedi")
3738 (commit version)))
3739 (file-name (git-file-name name version))
3740 (sha256
3741 (base32
3742 "1ihqapp4dv92794rsgyq0rmhwika60cmradqd4bn9b72ss6plxs1"))))
3743 (build-system emacs-build-system)
3744 (propagated-inputs
3745 `(("emacs-jedi" ,emacs-jedi)
3746 ("emacs-company" ,emacs-company)))
3747 (home-page "https://github.com/syohex/emacs-company-jedi")
3748 (synopsis "Provides Python completion in @code{company-mode}")
3749 (description
3750 "This package provides a Company backend for Python.")
3751 (license license:gpl3+)))
3752
eeb883cb
RW
3753(define-public emacs-puppet-mode
3754 (let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2")
3755 (revision "1"))
3756 (package
3757 (name "emacs-puppet-mode")
3758 ;; The last release, 0.3 was several years ago, and there have been many
3759 ;; commits since
3760 (version (git-version "0.3" revision commit))
3761 (source
3762 (origin
3763 (method url-fetch)
3764 (uri (string-append
3765 "https://raw.githubusercontent.com/voxpupuli/puppet-mode/"
3766 commit "/puppet-mode.el"))
3767 (sha256
3768 (base32
3769 "1indycxawsl0p2aqqg754f6735q3cmah9vd886rpn0ncc3ipi1xm"))))
3770 (build-system emacs-build-system)
3771 (home-page "https://github.com/voxpupuli/puppet-mode")
3772 (synopsis "Emacs major mode for the Puppet configuration language")
3773 (description
3774 "This package provides support for the Puppet configuration language,
3775including syntax highlighting, indentation of expressions and statements,
3776linting of manifests and integration with Puppet Debugger.")
3777 ;; Also incorporates work covered by the Apache License, Version 2.0
3778 (license license:gpl3+))))
3779
3780(define-public emacs-god-mode
3781 (let ((commit "6cf0807b6555eb6fcf8387a4e3b667071ef38964")
3782 (revision "1"))
3783 (package
3784 (name "emacs-god-mode")
3785 (version (string-append "20151005.925."
3786 revision "-" (string-take commit 9)))
3787 (source
3788 (origin
3789 (method git-fetch)
3790 (uri (git-reference
3791 (url "https://github.com/chrisdone/god-mode.git")
3792 (commit commit)))
51646a02 3793 (file-name (git-file-name name version))
eeb883cb
RW
3794 (sha256
3795 (base32
3796 "1am415k4xxcva6y3vbvyvknzc6bma49pq3p85zmpjsdmsp18qdix"))))
3797 (build-system emacs-build-system)
3798 (home-page "https://github.com/chrisdone/god-mode")
3799 (synopsis "Minor mode for entering commands without modifier keys")
3800 (description
3801 "This package provides a global minor mode for entering Emacs commands
3802without modifier keys. It's similar to Vim's separation of commands and
3803insertion mode. When enabled all keys are implicitly prefixed with
3804@samp{C-} (among other helpful shortcuts).")
3805 (license license:gpl3+))))
3806
3807(define-public emacs-jinja2-mode
3808 (package
3809 (name "emacs-jinja2-mode")
3810 (version "0.2")
3811 (source
3812 (origin
d4d2492a
TGR
3813 (method git-fetch)
3814 (uri (git-reference
3815 (url "https://github.com/paradoxxxzero/jinja2-mode.git")
3816 (commit (string-append "v" version))))
3817 (file-name (git-file-name name version))
eeb883cb 3818 (sha256
d4d2492a 3819 (base32 "0l26wcy496k6xk7q5sf905xir0p73ziy6c44is77854lv3y0z381"))))
eeb883cb
RW
3820 (build-system emacs-build-system)
3821 (home-page "https://github.com/paradoxxxzero/jinja2-mode")
3822 (synopsis "Major mode for jinja2")
3823 (description
3824 "Emacs major mode for jinja2 with: syntax highlighting,
3825sgml/html integration, and indentation (working with sgml).")
3826 (license license:gpl3+)))
3827
6cd504ce
BL
3828(define-public emacs-company-cabal
3829 ;; The latest version is 0.3.0, but no release has been provided after 0.2.1.
3830 (let ((commit "62112a7259e24bd6c08885629a185afe512b7d3d")
3831 (revision "1"))
3832 (package
3833 (name "emacs-company-cabal")
3834 (version (git-version "0.3.0" revision commit))
3835 (source (origin
3836 (method git-fetch)
3837 (uri (git-reference
3838 (url "https://github.com/iquiw/company-cabal/")
3839 (commit commit)))
3840 (file-name (git-file-name name version))
3841 (sha256
3842 (base32
3843 "1gf45xwjzdm8i4q6c6khk4dbg1mmp2r0awz2sjr4dcr2dbd1n7mg"))))
3844 (build-system emacs-build-system)
3845 (propagated-inputs
3846 `(("emacs-company" ,emacs-company)))
3847 (home-page "https://github.com/iquiw/company-cabal/")
3848 (synopsis "Company completion for Haskell Cabal files")
3849 (description
3850 "This package allows for completion of field names, section names,
3851field values, and more within @code{haskell-cabal-mode}.")
3852 (license license:gpl3+))))
3853
eeb883cb
RW
3854(define-public emacs-rfcview
3855 (package
3856 (name "emacs-rfcview")
3857 (version "0.13")
3858 (home-page "http://www.loveshack.ukfsn.org/emacs")
3859 (source (origin
3860 (method url-fetch)
3861 (uri "http://www.loveshack.ukfsn.org/emacs/rfcview.el")
3862 (sha256
3863 (base32
3864 "0ympj5rxig383zl2jf0pzdsa80nnq0dpvjiriq0ivfi98fj7kxbz"))))
3865 (build-system emacs-build-system)
3866 (synopsis "Prettify Request for Comments (RFC) documents")
3867 (description "The Internet Engineering Task Force (IETF) and the Internet
3868Society (ISOC) publish various Internet-related protocols and specifications
3869as \"Request for Comments\" (RFC) documents and Internet Standard (STD)
3870documents. RFCs and STDs are published in a simple text form. This package
3871provides an Emacs major mode, rfcview-mode, which makes it more pleasant to
3872read these documents in Emacs. It prettifies the text and adds
3873hyperlinks/menus for easier navigation. It also provides functions for
3874browsing the index of RFC documents and fetching them from remote servers or
3875local directories.")
3876 (license license:gpl3+)))
3877
3878(define-public emacs-ffap-rfc-space
3879 (package
3880 (name "emacs-ffap-rfc-space")
3881 (version "12")
3882 (home-page "http://user42.tuxfamily.org/ffap-rfc-space/index.html")
3883 (source (origin
3884 (method url-fetch)
3885 (uri "http://download.tuxfamily.org/user42/ffap-rfc-space.el")
3886 (sha256
3887 (base32
3888 "1iv61dv57a73mdps7rn6zmgz7nqh14v0ninidyrasy45b1nv6gck"))))
3889 (build-system emacs-build-system)
3890 (synopsis "Make ffap recognize an RFC with a space before its number")
3891 (description "The Internet Engineering Task Force (IETF) and the
3892Internet Society (ISOC) publish various Internet-related protocols and
3893specifications as \"Request for Comments\" (RFC) documents. The
3894built-in Emacs module \"ffap\" (Find File at Point) has the ability to
3895recognize names at point which look like \"RFC1234\" and \"RFC-1234\"
3896and load the appropriate RFC from a remote server. However, it fails
3897to recognize a name like \"RFC 1234\". This package enhances ffap so
3898that it correctly finds RFCs even when a space appears before the
3899number.")
3900 (license license:gpl3+)))
3901
3902(define-public emacs-org-bullets
3903 (package
3904 (name "emacs-org-bullets")
3905 (version "0.2.4")
3906 (source
3907 (origin
d2cdc595
TGR
3908 (method git-fetch)
3909 (uri (git-reference
3910 (url "https://github.com/sabof/org-bullets.git")
3911 (commit version)))
3912 (file-name (git-file-name name version))
eeb883cb 3913 (sha256
d2cdc595 3914 (base32 "10nr4sjffnqbllv6gmak6pviyynrb7pi5nvrq331h5alm3xcpq0w"))))
eeb883cb
RW
3915 (build-system emacs-build-system)
3916 (home-page "https://github.com/sabof/org-bullets")
3917 (synopsis "Show bullets in org-mode as UTF-8 characters")
3918 (description
3919 "This package provides an Emacs minor mode causing bullets in
3920@code{org-mode} to be rendered as UTF-8 characters.")
3921 (license license:gpl3+)))
3922
3923(define-public emacs-org-pomodoro
3924 (package
3925 (name "emacs-org-pomodoro")
3926 (version "2.1.0")
3927 (source
3928 (origin
2e455d32
TGR
3929 (method git-fetch)
3930 (uri (git-reference
3931 (url "https://github.com/lolownia/org-pomodoro.git")
3932 (commit version)))
3933 (file-name (git-file-name name version))
eeb883cb 3934 (sha256
2e455d32 3935 (base32 "0r5shgikm34d66i2hblyknbblpg92lb2zc9x4bcb28xkh7m9d0xv"))))
eeb883cb
RW
3936 (build-system emacs-build-system)
3937 (propagated-inputs
3938 `(("emacs-alert" ,emacs-alert)))
3939 (home-page "https://github.com/lolownia/org-pomodoro")
3940 (synopsis "Pomodoro technique for org-mode")
3941 (description "@code{emacs-org-pomodoro} adds very basic support for
3942Pomodoro technique in Emacs org-mode.
3943
3944Run @code{M-x org-pomodoro} for the task at point or select one of the
3945last tasks that you clocked time for. Each clocked-in pomodoro starts
3946a timer of 25 minutes and after each pomodoro a break timer of 5
3947minutes is started automatically. Every 4 breaks a long break is
3948started with 20 minutes. All values are customizable.")
3949 (license license:gpl3+)))
3950
3951(define-public emacs-org-trello
3952 (package
3953 (name "emacs-org-trello")
3954 (version "0.8.0")
f5f72d8d
TGR
3955 (source
3956 (origin
3957 (method git-fetch)
3958 (uri (git-reference
3959 (url "https://github.com/org-trello/org-trello.git")
3960 (commit version)))
3961 (file-name (git-file-name name version))
3962 (sha256
3963 (base32 "0m5hyhb6211hdmyp1bq6f3fklfgw3957knd96bfdafj727vdnlzm"))))
eeb883cb
RW
3964 (build-system emacs-build-system)
3965 (propagated-inputs
3966 `(("emacs-dash" ,emacs-dash)
3967 ("emacs-deferred" ,emacs-deferred)
3968 ("emacs-f" ,emacs-f)
3969 ("emacs-helm" ,emacs-helm)
3970 ("emacs-request" ,emacs-request)
3971 ("emacs-s" ,emacs-s)))
3972 (home-page "https://org-trello.github.io")
3973 (synopsis "Emacs minor mode for interacting with Trello")
3974 (description "This package provides an Emacs minor mode to extend
3975@code{org-mode} with Trello abilities. Trello is an online project
3976organizer.")
3977 (license license:gpl3+)))
3978
1172d914
BL
3979(define-public emacs-company-flow
3980 (let ((commit "76ef585c70d2a3206c2eadf24ba61e59124c3a16")
3981 (revision "1"))
3982 (package
3983 (name "emacs-company-flow")
3984 (version (git-version "0.1.0" revision commit))
3985 (source (origin
3986 (method git-fetch)
3987 (uri (git-reference
3988 (url "https://github.com/aaronjensen/company-flow/")
3989 (commit commit)))
3990 (file-name (git-file-name name version))
3991 (sha256
3992 (base32
3993 "0zs9cblnbkxa0dxw4lyllmybqizxcdx96gv8jlhx20nrjpi78piw"))))
3994 (build-system emacs-build-system)
3995 (propagated-inputs
3996 `(("emacs-company" ,emacs-company)
3997 ("emacs-dash" ,emacs-dash)))
3998 (home-page "https://github.com/aaronjensen/company-flow/")
3999 (synopsis "Flow backend for @code{company-mode}")
4000 (description
4001 "This package provides completion for JavaScript files utilizing Flow.")
4002 (license license:gpl3+))))
4003
eeb883cb
RW
4004(define-public emacs-atom-one-dark-theme
4005 (let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
4006 (revision "0"))
4007 (package
4008 (name "emacs-atom-one-dark-theme")
4009 (version (git-version "0.4.0" revision commit))
4010 (source (origin
4011 (method git-fetch)
4012 (uri (git-reference
4013 (url "https://github.com/jonathanchu/atom-one-dark-theme.git")
4014 (commit commit)))
4015 (sha256
4016 (base32
4017 "1alma16hg3mfjly8a9s3mrswkjjx4lrpdnf43869hn2ibkn7zx9z"))
4018 (file-name (git-file-name name version))))
4019 (build-system emacs-build-system)
4020 (home-page "https://github.com/jonathanchu/atom-one-dark-theme")
4021 (synopsis "Atom One Dark color theme for Emacs")
4022 (description "An Emacs port of the Atom One Dark theme from Atom.io.")
4023 (license license:gpl3+))))
4024
4025(define-public emacs-zenburn-theme
4026 (package
4027 (name "emacs-zenburn-theme")
4028 (version "2.6")
e6745025
TGR
4029 (source
4030 (origin
4031 (method git-fetch)
4032 (uri (git-reference
4033 (url "https://github.com/bbatsov/zenburn-emacs.git")
4034 (commit (string-append "v" version))))
4035 (file-name (git-file-name name version))
4036 (sha256
4037 (base32 "1n87r5hs7h5r8dgfid66skpzcypl9hssr9m3npp916g6jfsi782f"))))
eeb883cb
RW
4038 (build-system emacs-build-system)
4039 (home-page "https://github.com/bbatsov/zenburn-emacs")
4040 (synopsis "Low contrast color theme for Emacs")
4041 (description
4042 "Zenburn theme is a port of the popular Vim Zenburn theme for Emacs.
4043It is built on top of the custom theme support in Emacs 24 or later.")
4044 (license license:gpl3+)))
4045
4046(define-public emacs-solarized-theme
4047 (package
4048 (name "emacs-solarized-theme")
4049 (version "1.2.2")
4050 (source (origin
4051 (method url-fetch)
4052 (uri (string-append "https://github.com/bbatsov/solarized-emacs/"
4053 "archive/v" version ".tar.gz"))
4054 (file-name (string-append name "-" version ".tar.gz"))
4055 (sha256
4056 (base32
4057 "1ha3slc6d9wi9ilkhmwrzkvf308n6ph7b0k69pk369s9304awxzx"))))
4058 (build-system emacs-build-system)
4059 (propagated-inputs
4060 `(("emacs-dash" ,emacs-dash)))
4061 (home-page "https://github.com/bbatsov/solarized-emacs")
4062 (synopsis "Port of the Solarized theme for Emacs")
4063 (description
4064 "Solarized for Emacs is a port of the Solarized theme for Vim. This
4065package provides a light and a dark variant.")
4066 (license license:gpl3+)))
4067
4068(define-public emacs-ahungry-theme
4069 (package
4070 (name "emacs-ahungry-theme")
4071 (version "1.10.0")
4072 (source
4073 (origin (method url-fetch)
4074 (uri (string-append "https://elpa.gnu.org/packages/ahungry-theme-"
4075 version ".tar"))
4076 (sha256
4077 (base32
4078 "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm"))))
4079 (build-system emacs-build-system)
4080 (home-page "https://github.com/ahungry/color-theme-ahungry")
4081 (synopsis "Ahungry color theme for Emacs")
4082 (description "Ahungry theme for Emacs provides bright and bold colors.
4083If you load it from a terminal, you will be able to make use of the
4084transparent background. If you load it from a GUI, it will default to a
4085dark background.")
4086 (license license:gpl3+)))
4087
e6e2f4a0
Z
4088(define-public emacs-gruvbox-theme
4089 (package
4090 (name "emacs-gruvbox-theme")
4091 (version "1.28.0")
4092 (source (origin
4093 (method git-fetch)
4094 (uri (git-reference
4095 (url "https://github.com/greduan/emacs-theme-gruvbox.git")
4096 (commit version)))
4097 (file-name (git-file-name name version))
4098 (sha256
4099 (base32
4100 "00qq92gp1g55pzm97rh7k0dgxy44pxziridl8kqm4rbpi31r7k9p"))))
4101 (build-system emacs-build-system)
4102 (propagated-inputs
4103 `(("emacs-autothemer" ,emacs-autothemer)))
4104 (home-page "https://github.com/greduan/emacs-theme-gruvbox")
4105 (synopsis "Gruvbox is a retro groove color scheme ported from Vim")
4106 (description
4107 "Gruvbox is heavily inspired by badwolf, jellybeans and solarized.
4108
4109Designed as a bright theme with pastel 'retro groove' colors and light/dark
4110mode switching in the way of solarized. The main focus when developing gruvbox
4111is to keep colors easily distinguishable, contrast enough and still pleasant
4112for the eyes.")
4113 (license license:expat))) ; MIT license
4114
eeb883cb
RW
4115(define-public emacs-2048-game
4116 (package
4117 (name "emacs-2048-game")
4118 (version "20151026.1233")
4119 (source
4120 (origin
4121 (method url-fetch)
4122 (uri (string-append "https://melpa.org/packages/2048-game-"
4123 version ".el"))
4124 (sha256
4125 (base32
4126 "0gy2pvz79whpavp4jmz8h9krzn7brmvv3diixi1d4w51pcdvaldd"))))
4127 (build-system emacs-build-system)
4128 (home-page "https://bitbucket.org/zck/2048.el")
4129 (synopsis "Implementation of the game 2048 in Emacs Lisp")
4130 (description
4131 "This program is an implementation of 2048 for Emacs.
4132The goal of this game is to create a tile with value 2048. The size of the
4133board and goal value can be customized.")
4134 (license license:gpl3+)))
4135
4136(define-public emacs-base16-theme
4137 (package
4138 (name "emacs-base16-theme")
4139 (version "2.1")
4140 (source
4141 (origin
4142 (method url-fetch)
4143 (uri (string-append "https://stable.melpa.org/packages/base16-theme-"
4144 version ".tar"))
4145 (sha256
4146 (base32
4147 "0z6hrwz2jlz6jbr381rcqcqvx6hss5cad352klx07rark7zccacj"))))
4148 (build-system emacs-build-system)
4149 (home-page "https://github.com/belak/base16-emacs")
4150 (synopsis "Base16 color themes for Emacs")
4151 (description
4152 "Base16 provides carefully chosen syntax highlighting and a default set
4153of sixteen colors suitable for a wide range of applications. Base16 is not a
4154single theme but a set of guidelines with numerous implementations.")
4155 (license license:expat)))
4156
6bb5a7e0
AG
4157(define-public emacs-solaire-mode
4158 (package
4159 (name "emacs-solaire-mode")
4160 (version "1.0.9")
4161 (source
4162 (origin
4163 (method git-fetch)
4164 (uri (git-reference
4165 (url "https://github.com/hlissner/emacs-solaire-mode.git")
4166 (commit (string-append "v" version))))
4167 (file-name (git-file-name name version))
4168 (sha256
4169 (base32 "011m4r7s6i9lgjymh7jgq5jwwrpz4vmpvp3c8d4ix96v5hi04kzg"))))
4170 (build-system emacs-build-system)
4171 (home-page "https://github.com/hlissner/emacs-solaire-mode")
4172 (synopsis "Change background of file-visiting buffers in Emacs")
4173 (description
4174 "@code{solaire-mode} is inspired by editors which visually distinguish
4175code-editing windows from sidebars, popups, terminals, ecetera. It changes the
4176background of file-visiting buffers (and certain aspects of the UI) to make
4177them easier to distinguish from other, less important buffers.")
4178 (license license:expat)))
4179
13e99cfc
BL
4180(define-public emacs-prescient
4181 (package
4182 (name "emacs-prescient")
4183 (version "2.2.2")
4184 (source (origin
4185 (method git-fetch)
4186 (uri (git-reference
4187 (url "https://github.com/raxod502/prescient.el/")
4188 (commit (string-append "v" version))))
4189 (file-name (git-file-name name version))
4190 (sha256
4191 (base32
4192 "1ncplx5p3cffyzg9ygzqqxj0vpvwrz9rp2n4z6c375a78fyydrk0"))))
4193 (build-system emacs-build-system)
4194 (propagated-inputs
4195 `(("emacs-company" ,emacs-company)
4196 ("emacs-ivy" ,emacs-ivy)))
4197 (home-page "https://github.com/raxod502/prescient.el/")
4198 (synopsis "Library that sorts and filters lists of candidates")
4199 (description
4200 "This package provides a library for sorting and filtering, as well as
4201extensions for @code{ivy-mode} and @code{company-mode} that make use of the
4202library.")
4203 (license license:gpl3+)))
4204
eeb883cb
RW
4205(define-public emacs-smartparens
4206 (package
4207 (name "emacs-smartparens")
4208 (version "1.11.0")
d8e9ae64
TGR
4209 (source
4210 (origin
4211 (method git-fetch)
4212 (uri (git-reference
4213 (url "https://github.com/Fuco1/smartparens.git")
4214 (commit version)))
4215 (file-name (git-file-name name version))
4216 (sha256
4217 (base32 "0zij2f2rjjym98w68jkp10n1ckpfprlkk217c3fg16hz5nq4vnm6"))))
eeb883cb
RW
4218 (build-system emacs-build-system)
4219 (propagated-inputs
4220 `(("emacs-dash" ,emacs-dash)
4221 ("emacs-markdown-mode" ,emacs-markdown-mode)))
4222 (home-page "https://github.com/Fuco1/smartparens")
4223 (synopsis "Paredit-like insertion, wrapping and navigation with user
4224defined pairs")
4225 (description
4226 "Smartparens is a minor mode for Emacs that deals with parens pairs
4227and tries to be smart about it. It started as a unification effort to
4228combine functionality of several existing packages in a single,
4229compatible and extensible way to deal with parentheses, delimiters, tags
4230and the like. Some of these packages include autopair, textmate,
4231wrap-region, electric-pair-mode, paredit and others. With the basic
4232features found in other packages it also brings many improvements as
4233well as completely new features.")
4234 (license license:gpl3+)))
4235
4236(define-public emacs-highlight-symbol
eea4ed98
BL
4237 ;; We prefer a more recent commit that provides an option to squelch
4238 ;; echo-area alerts that can drown out useful information like eldoc
4239 ;; messages.
4240 (let ((commit "7a789c779648c55b16e43278e51be5898c121b3a")
4241 (version "1.3")
4242 (revision "1"))
4243 (package
4244 (name "emacs-highlight-symbol")
4245 (version (git-version version revision commit))
4246 (source
4247 (origin
4248 (method git-fetch)
4249 (uri (git-reference
4250 (url "https://github.com/nschum/highlight-symbol.el.git")
4251 (commit commit)))
4252 (file-name (git-file-name name version))
4253 (sha256
4254 (base32 "19cgyk0sh8nsmf3jbi92i8qsdx4l4yilfq5jj9zfdbj9p5gvwx96"))))
4255 (build-system emacs-build-system)
4256 (home-page "https://nschum.de/src/emacs/highlight-symbol/")
4257 (synopsis "Automatic and manual symbol highlighting for Emacs")
4258 (description
4259 "Use @code{highlight-symbol} to toggle highlighting of the symbol at
eeb883cb
RW
4260point throughout the current buffer. Use @code{highlight-symbol-mode} to keep
4261the symbol at point highlighted.
4262
4263The functions @code{highlight-symbol-next}, @code{highlight-symbol-prev},
4264@code{highlight-symbol-next-in-defun} and
4265@code{highlight-symbol-prev-in-defun} allow for cycling through the locations
4266of any symbol at point. Use @code{highlight-symbol-nav-mode} to enable key
4267bindings @code{M-p} and @code{M-p} for navigation. When
4268@code{highlight-symbol-on-navigation-p} is set, highlighting is triggered
4269regardless of @code{highlight-symbol-idle-delay}.
4270
4271@code{highlight-symbol-query-replace} can be used to replace the symbol. ")
eea4ed98 4272 (license license:gpl2+))))
eeb883cb
RW
4273
4274(define-public emacs-hl-todo
4275 (package
4276 (name "emacs-hl-todo")
e77787ca 4277 (version "3.0.0")
eeb883cb 4278 (source (origin
e77787ca
BL
4279 (method git-fetch)
4280 (uri (git-reference
4281 (url "https://github.com/tarsius/hl-todo")
4282 (commit (string-append "v" version))))
4283 (file-name (git-file-name name version))
eeb883cb
RW
4284 (sha256
4285 (base32
e77787ca 4286 "07xcc04ivpl5sbgb55qz84mz6wa500h0awzw1zq1ba5mfjjq8hls"))))
eeb883cb
RW
4287 (build-system emacs-build-system)
4288 (home-page "https://github.com/tarsius/hl-todo")
4289 (synopsis "Emacs mode to highlight TODO and similar keywords")
4290 (description
4291 "This package provides an Emacs mode to highlight TODO and similar
4292keywords in comments and strings. This package also provides commands for
4293moving to the next or previous keyword and to invoke @code{occur} with a
4294regexp that matches all known keywords.")
4295 (license license:gpl3+)))
4296
4297(define-public emacs-perspective
4298 (package
4299 (name "emacs-perspective")
aa86c3ad 4300 (version "2.2")
eeb883cb
RW
4301 (source
4302 (origin
aa86c3ad
LJ
4303 (method git-fetch)
4304 (uri (git-reference
4305 (url "https://github.com/nex3/perspective-el.git")
4306 (commit version)))
4307 (file-name (git-file-name name version))
eeb883cb
RW
4308 (sha256
4309 (base32
aa86c3ad 4310 "0pd5sqrrz6y3md20yh6ffy32jdcgb1gc9b4j14pm6r54bqxik68h"))))
eeb883cb
RW
4311 (build-system emacs-build-system)
4312 (home-page "https://github.com/nex3/perspective-el")
4313 (synopsis "Switch between named \"perspectives\"")
4314 (description
4315 "This package provides tagged workspaces in Emacs, similar to workspaces in
4316windows managers such as Awesome and XMonad. @code{perspective.el} provides
4317multiple workspaces (or \"perspectives\") for each Emacs frame. Each
4318perspective is composed of a window configuration and a set of buffers.
4319Switching to a perspective activates its window configuration, and when in a
4320perspective only its buffers are available by default.")
4321 ;; This package is released under the same license as Emacs (GPLv3+) or
4322 ;; the Expat license.
4323 (license license:gpl3+)))
4324
4325(define-public emacs-test-simple
4326 (package
4327 (name "emacs-test-simple")
4328 (version "1.3.0")
4329 (source
4330 (origin
4331 (method url-fetch)
4332 (uri (string-append "https://elpa.gnu.org/packages/test-simple-"
4333 version ".el"))
4334 (sha256
4335 (base32
4336 "1yd61jc9ds95a5n09052kwc5gasy57g4lxr0jsff040brlyi9czz"))))
4337 (build-system emacs-build-system)
4338 (home-page "https://github.com/rocky/emacs-test-simple")
4339 (synopsis "Simple unit test framework for Emacs Lisp")
4340 (description
4341 "Test Simple is a simple unit test framework for Emacs Lisp. It
4342alleviates the need for context macros, enclosing specifications or required
4343test tags. It supports both interactive and non-interactive use.")
4344 (license license:gpl3+)))
4345
4346(define-public emacs-load-relative
4347 (package
4348 (name "emacs-load-relative")
4349 (version "1.3")
4350 (source
4351 (origin
4352 (method url-fetch)
4353 (uri (string-append "https://elpa.gnu.org/packages/load-relative-"
4354 version ".el"))
4355 (sha256
4356 (base32
4357 "1hfxb2436jdsi9wfmsv47lkkpa5galjf5q81bqabbsv79rv59dps"))))
4358 (build-system emacs-build-system)
4359 (home-page "http://github.com/rocky/emacs-load-relative")
4360 (synopsis "Emacs Lisp relative file loading related functions")
4361 (description
4362 "Provides functions which facilitate writing multi-file Emacs packages
4363and running from the source tree without having to \"install\" code or fiddle
4364with @{load-path}.
4365
4366The main function, @code{load-relative}, loads an Emacs Lisp file relative to
4367another (presumably currently running) Emacs Lisp file.")
4368 (license license:gpl3+)))
4369
4370(define-public emacs-loc-changes
4371 (package
4372 (name "emacs-loc-changes")
4373 (version "1.2")
4374 (source
4375 (origin
4376 (method url-fetch)
4377 (uri (string-append "https://elpa.gnu.org/packages/loc-changes-"
4378 version ".el"))
4379 (sha256
4380 (base32
4381 "1x8fn8vqasayf1rb8a6nma9n6nbvkx60krmiahyb05vl5rrsw6r3"))))
4382 (build-system emacs-build-system)
4383 (home-page "https://github.com/rocky/emacs-loc-changes")
4384 (synopsis "Keeps track of positions even after buffer changes")
4385 (description
4386 "This Emacs package provides a mean to track important buffer positions
4387after buffer changes.")
4388 (license license:gpl3+)))
4389
4390(define-public emacs-realgud
4391 (package
4392 (name "emacs-realgud")
0882c491 4393 (version "1.5.0")
eeb883cb
RW
4394 (source
4395 (origin
0882c491
BL
4396 (method git-fetch)
4397 (uri (git-reference
4398 (url "https://github.com/realgud/realgud/")
4399 (commit version)))
eeb883cb
RW
4400 (sha256
4401 (base32
0ddf17dc
LC
4402 "0xnick9016wxrgi8v0lycvxhyz8l2k4nfvdpjc5yq476vwrjfzbz"))
4403 (file-name (git-file-name name version))))
eeb883cb
RW
4404 (build-system emacs-build-system)
4405 (arguments
4406 `(#:tests? #t
4407 #:phases
4408 (modify-phases %standard-phases
4409 (add-after 'set-emacs-load-path 'fix-autogen-script
4410 (lambda _
4411 (substitute* "autogen.sh"
4412 (("./configure") "sh configure"))))
4413 (add-after 'fix-autogen-script 'autogen
4414 (lambda _
4415 (setenv "CONFIG_SHELL" "sh")
4416 (invoke "sh" "autogen.sh")))
4417 (add-after 'fix-autogen-script 'set-home
4418 (lambda _
4419 (setenv "HOME" (getenv "TMPDIR"))))
4420 (add-before 'patch-el-files 'remove-realgud-pkg.el
4421 (lambda _
eeb883cb
RW
4422 ;; FIXME: `patch-el-files' crashes on this file with error:
4423 ;; unable to locate "bashdb".
4424 (delete-file "./test/test-regexp-bashdb.el"))))
4425 #:include (cons* ".*\\.el$" %default-include)))
4426 (native-inputs
4427 `(("autoconf" ,autoconf)
4428 ("automake" ,automake)
4429 ("emacs-test-simple" ,emacs-test-simple)))
4430 (propagated-inputs
4431 `(("emacs-load-relative" ,emacs-load-relative)
4432 ("emacs-loc-changes" ,emacs-loc-changes)))
4433 (home-page "https://github.com/realgud/realgud/")
4434 (synopsis
4435 "Modular front-end for interacting with external debuggers")
4436 (description
4437 "RealGUD is a modular, extensible GNU Emacs front-end for interacting
4438with external debuggers. It integrates various debuggers such as gdb, pdb,
4439ipdb, jdb, lldb, bashdb, zshdb, etc. and allows to visually step code in the
4440sources. Unlike GUD, it also supports running multiple debug sessions in
4441parallel.")
4442 (license license:gpl3+)))
4443
4444(define-public emacs-request
4445 (package
4446 (name "emacs-request")
4447 (version "0.3.0")
4448 (source (origin
4449 (method git-fetch)
4450 (uri (git-reference
4451 (url "https://github.com/tkf/emacs-request.git")
4452 (commit (string-append "v" version))))
c2e0193e 4453 (file-name (git-file-name name version))
eeb883cb
RW
4454 (sha256
4455 (base32
4456 "0wyxqbb35yqf6ci47531lk32d6fppamx9d8826kdz983vm87him7"))))
4457 (build-system emacs-build-system)
4458 (propagated-inputs
4459 `(("emacs-deferred" ,emacs-deferred)))
4460 (home-page "https://github.com/tkf/emacs-request")
4461 (synopsis "Package for speaking HTTP in Emacs Lisp")
4462 (description "This package provides a HTTP request library with multiple
4463backends. It supports url.el which is shipped with Emacs and the curl command
4464line program.")
4465 (license license:gpl3+)))
4466
4467(define-public emacs-rudel
4468 (package
4469 (name "emacs-rudel")
4470 (version "0.3.1")
4471 (source
4472 (origin
4473 (method url-fetch)
4474 (uri (string-append "http://elpa.gnu.org/packages/rudel-"
4475 version ".tar"))
4476 (sha256
4477 (base32
4478 "0glqa68g509p0s2vcc0i8kzlddnc9brd9jqhnm5rzxz4i050cvnz"))))
4479 (build-system emacs-build-system)
4480 (home-page "http://rudel.sourceforge.net/")
4481 (synopsis "Collaborative editing framework")
4482 (description
4483 "Rudel is a collaborative editing environment for GNU Emacs. Its purpose
4484is to share buffers with other users in order to edit the contents of those
4485buffers collaboratively. Rudel supports multiple backends to enable
4486communication with other collaborative editors using different protocols,
4487though currently Obby (for use with the Gobby editor) is the only
4488fully-functional one.")
4489 (license license:gpl3+)))
4490
4491(define-public emacs-hydra
4492 (package
4493 (name "emacs-hydra")
4494 (version "0.14.0")
4495 (source
4496 (origin
4497 (method git-fetch)
4498 (uri (git-reference
4499 (url "https://github.com/abo-abo/hydra")
4500 (commit version)))
4501 (file-name (git-file-name name version))
4502 (sha256
4503 (base32
4504 "0ln4z2796ycy33g5jcxkqvm7638qxy4sipsab7d2864hh700cikg"))))
4505 (build-system emacs-build-system)
4506 (home-page "https://github.com/abo-abo/hydra")
4507 (synopsis "Make Emacs bindings that stick around")
4508 (description
4509 "This package can be used to tie related commands into a family of short
4510bindings with a common prefix---a Hydra. Once you summon the Hydra (through
4511the prefixed binding), all the heads can be called in succession with only a
4512short extension. Any binding that isn't the Hydra's head vanquishes the
4513Hydra. Note that the final binding, besides vanquishing the Hydra, will still
4514serve its original purpose, calling the command assigned to it. This makes
4515the Hydra very seamless; it's like a minor mode that disables itself
4516automatically.")
4517 (license license:gpl3+)))
4518
4519(define-public emacs-ivy
4520 (package
4521 (name "emacs-ivy")
db2badeb 4522 (version "0.11.0")
eeb883cb
RW
4523 (source
4524 (origin
4525 (method git-fetch)
4526 (uri (git-reference
4527 (url "https://github.com/abo-abo/swiper.git")
4528 (commit version)))
6a6cfbaf 4529 (file-name (git-file-name name version))
eeb883cb
RW
4530 (sha256
4531 (base32
db2badeb 4532 "009n8zjycs62cv4i1k9adbb284wz2w3r13xki2740sj34k683v13"))))
eeb883cb
RW
4533 (build-system emacs-build-system)
4534 (arguments
4535 `(#:phases
4536 (modify-phases %standard-phases
4537 (add-after 'install 'install-doc
4538 (lambda* (#:key outputs #:allow-other-keys)
4539 (let* ((out (assoc-ref outputs "out"))
4540 (info (string-append out "/share/info")))
4541 (with-directory-excursion "doc"
4542 (invoke "makeinfo" "ivy.texi")
4543 (install-file "ivy.info" info)
4544 #t)))))))
4545 (propagated-inputs
4546 `(("emacs-hydra" ,emacs-hydra)))
4547 (native-inputs
4548 `(("texinfo" ,texinfo)))
4549 (home-page "http://oremacs.com/swiper/")
4550 (synopsis "Incremental vertical completion for Emacs")
4551 (description
4552 "This package provides @code{ivy-read} as an alternative to
4553@code{completing-read} and similar functions. No attempt is made to determine
4554the best candidate. Instead, the user can navigate candidates with
4555@code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
4556splitting the input text by spaces and re-building it into a regular
4557expression.")
4558 (license license:gpl3+)))
4559
b0eaead5
JL
4560(define-public emacs-ivy-pass
4561 (let ((commit "5b523de1151f2109fdd6a8114d0af12eef83d3c5")
4562 (revision "1"))
4563 (package
4564 (name "emacs-ivy-pass")
4565 (version (git-version "0.1" revision commit))
4566 (source
4567 (origin
4568 (method git-fetch)
4569 (uri (git-reference
4570 (url "https://github.com/ecraven/ivy-pass.git")
4571 (commit commit)))
4572 (file-name (git-file-name name version))
4573 (sha256
4574 (base32
4575 "18crb4zh2pjf0cmv3b913m9vfng27girjwfqc3mk7vqd1r5a49yk"))))
4576 (build-system emacs-build-system)
4577 (propagated-inputs
4578 `(("emacs-ivy" ,emacs-ivy)
4579 ("emacs-password-store" ,emacs-password-store)
4580 ("password-store" ,password-store)))
4581 (home-page "https://github.com/ecraven/ivy-pass")
4582 (synopsis "Ivy interface for password store (pass)")
4583 (description "This package provides an Ivy interface for working with
4584the password store @code{pass}.")
4585 (license license:gpl3))))
4586
eeb883cb
RW
4587(define-public emacs-ivy-yasnippet
4588 (let ((commit "32580b4fd23ebf9ca7dde96704f7d53df6e253cd")
4589 (revision "2"))
4590 (package
4591 (name "emacs-ivy-yasnippet")
4592 (version (git-version "0.1" revision commit))
4593 (source
4594 (origin
4595 (method git-fetch)
4596 (uri (git-reference
4597 (url "https://github.com/mkcms/ivy-yasnippet.git")
4598 (commit commit)))
4599 (file-name (git-file-name name version))
4600 (sha256
4601 (base32
4602 "1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"))))
4603 (build-system emacs-build-system)
4604 (propagated-inputs
4605 `(("emacs-ivy" ,emacs-ivy)
4606 ("emacs-yasnippet" ,emacs-yasnippet)
4607 ("emacs-dash" ,emacs-dash)))
4608 (home-page "https://github.com/mkcms/ivy-yasnippet")
4609 (synopsis "Preview @code{yasnippets} with @code{ivy}")
4610 (description "This package allows you to select @code{yasnippet}
4611snippets using @code{ivy} completion. When current selection changes in the
4612minibuffer, the snippet contents are temporarily expanded in the buffer. To
4613use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
4614@code{yas-minor-mode} first).")
4615 (license license:gpl3+))))
4616
4617(define-public emacs-ivy-rich
4618 (package
4619 (name "emacs-ivy-rich")
4620 (version "0.1.0")
4621 (source
4622 (origin
9273ae24
TGR
4623 (method git-fetch)
4624 (uri (git-reference
4625 (url "https://github.com/Yevgnen/ivy-rich.git")
4626 (commit version)))
4627 (file-name (git-file-name name version))
eeb883cb 4628 (sha256
9273ae24 4629 (base32 "0ayf3dwfhafcbqnckm65zy8nc1rv9ji939qfn53wbhxkrgqdicgz"))))
eeb883cb
RW
4630 (build-system emacs-build-system)
4631 (propagated-inputs
4632 `(("emacs-ivy" ,emacs-ivy)))
4633 (home-page "https://github.com/Yevgnen/ivy-rich")
4634 (synopsis "More friendly interface for @code{ivy}")
4635 (description
4636 "This package extends @code{ivy} by showing more information in the
4637minibuffer for each candidate. It adds columns showing buffer modes, file
4638sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can
4639show icons as well.")
4640 (license license:gpl3+)))
4641
4642(define-public emacs-avy
4643 (package
4644 (name "emacs-avy")
c799fd63 4645 (version "0.5.0")
eeb883cb
RW
4646 (source
4647 (origin
5fe21149
TGR
4648 (method git-fetch)
4649 (uri (git-reference
4650 (url "https://github.com/abo-abo/avy.git")
4651 (commit version)))
4652 (file-name (git-file-name name version))
eeb883cb 4653 (sha256
c799fd63 4654 (base32 "09qdni1s74i5pv8741szl5g4ynj8fxn0x65qmwa9rmfkbimnc0fs"))))
eeb883cb
RW
4655 (build-system emacs-build-system)
4656 (home-page "https://github.com/abo-abo/avy")
4657 (synopsis "Tree-based completion for Emacs")
4658 (description
4659 "This package provides a generic completion method based on building a
4660balanced decision tree with each candidate being a leaf. To traverse the tree
4661from the root to a desired leaf, typically a sequence of @code{read-key} can
4662be used.
4663
4664In order for @code{read-key} to make sense, the tree needs to be visualized
4665appropriately, with a character at each branch node. So this completion
4666method works only for things that you can see on your screen, all at once,
4667such as the positions of characters, words, line beginnings, links, or
4668windows.")
4669 (license license:gpl3+)))
4670
4671(define-public emacs-ace-window
4672 (package
4673 (name "emacs-ace-window")
4674 (version "0.9.0")
4675 (source
4676 (origin
d3253d73
TGR
4677 (method git-fetch)
4678 (uri (git-reference
4679 (url "https://github.com/abo-abo/ace-window.git")
4680 (commit version)))
4681 (file-name (git-file-name name version))
eeb883cb 4682 (sha256
d3253d73 4683 (base32 "07mcdzjmgrqdvjs94f2n5bkrf5vrq2fwzz256wbm3wzqxqkfy1q6"))))
eeb883cb
RW
4684 (build-system emacs-build-system)
4685 (propagated-inputs
4686 `(("emacs-avy" ,emacs-avy)))
4687 (home-page "https://github.com/abo-abo/ace-window")
4688 (synopsis "Quickly switch windows in Emacs")
4689 (description
4690 "@code{ace-window} is meant to replace @code{other-window}.
4691In fact, when there are only two windows present, @code{other-window} is
4692called. If there are more, each window will have its first character
4693highlighted. Pressing that character will switch to that window.")
4694 (license license:gpl3+)))
4695
4696(define-public emacs-iedit
4697 (package
4698 (name "emacs-iedit")
4699 (version "0.9.9.9")
4700 (source
4701 (origin
f646bf1a
TGR
4702 (method git-fetch)
4703 (uri (git-reference
4704 (url "https://github.com/victorhge/iedit.git")
4705 (commit (string-append "v" version))))
4706 (file-name (git-file-name name version))
eeb883cb 4707 (sha256
f646bf1a 4708 (base32 "1pwkrm98vlpzsy5iwwfksdaz3zzyi7bvdf5fglhsn4ssf47p787g"))))
eeb883cb
RW
4709 (build-system emacs-build-system)
4710 (home-page "http://www.emacswiki.org/emacs/Iedit")
4711 (synopsis "Edit multiple regions in the same way simultaneously")
4712 (description
4713 "This package is an Emacs minor mode and allows you to edit one
4714occurrence of some text in a buffer (possibly narrowed) or region, and
4715simultaneously have other occurrences edited in the same way.
4716
4717You can also use Iedit mode as a quick way to temporarily show only the buffer
4718lines that match the current text being edited. This gives you the effect of
4719a temporary @code{keep-lines} or @code{occur}.")
4720 (license license:gpl3+)))
4721
4722(define-public emacs-zoutline
4723 (let ((commit "b3ee0f0e0b916838c2d2c249beba74ffdb8d5699")
4724 (revision "0"))
4725 (package
4726 (name "emacs-zoutline")
4727 (version (git-version "0.1" revision commit))
4728 (home-page "https://github.com/abo-abo/zoutline")
4729 (source (origin
4730 (method git-fetch)
4731 (uri (git-reference (url home-page) (commit commit)))
4732 (sha256
4733 (base32
4734 "0sd0017piw0dis6dhpq5dkqd3acisxqgipl7dj8gmc1vnswhdwr8"))
4735 (file-name (git-file-name name version))))
4736 (build-system emacs-build-system)
4737 (synopsis "Simple outline library")
4738 (description
4739 "This library provides helpers for outlines. Outlines allow users to
4740navigate code in a tree-like fashion.")
4741 (license license:gpl3+))))
4742
4743(define-public emacs-lispy
75476480
BL
4744 (package
4745 (name "emacs-lispy")
4746 (version "0.27.0")
4747 (home-page "https://github.com/abo-abo/lispy")
4748 (source (origin
4749 (method git-fetch)
4750 (uri (git-reference
4751 (url "https://github.com/abo-abo/lispy")
4752 (commit version)))
4753 (sha256
4754 (base32
4755 "1cm7f4pyl73f3vhkb7ah6bbbrj2sa7n0p31g09k7dy4zgx04bgw6"))
4756 (file-name (git-file-name name version))))
4757 (build-system emacs-build-system)
4758 (propagated-inputs
4759 `(("emacs-ace-window" ,emacs-ace-window)
4760 ("emacs-iedit" ,emacs-iedit)
4761 ("emacs-ivy" ,emacs-ivy)
4762 ("emacs-hydra" ,emacs-hydra)
4763 ("emacs-zoutline" ,emacs-zoutline)))
4764 (synopsis "Modal S-expression editing")
4765 (description
4766 "Due to the structure of Lisp syntax it's very rare for the programmer
eeb883cb
RW
4767to want to insert characters right before \"(\" or right after \")\". Thus
4768unprefixed printable characters can be used to call commands when the point is
4769at one of these special locations. Lispy provides unprefixed keybindings for
4770S-expression editing when point is at the beginning or end of an
4771S-expression.")
75476480 4772 (license license:gpl3+)))
eeb883cb
RW
4773
4774(define-public emacs-lispyville
808136bd
PN
4775 (let ((commit "d28b937f0cabd8ce61e2020fe9a733ca80d82c74")
4776 (revision "1"))
eeb883cb
RW
4777 (package
4778 (name "emacs-lispyville")
4779 (version (git-version "0.1" revision commit))
4780 (home-page "https://github.com/noctuid/lispyville")
4781 (source (origin
4782 (method git-fetch)
4783 (uri (git-reference (url home-page) (commit commit)))
4784 (sha256
4785 (base32
808136bd 4786 "0f6srwj1qqkfkbmp5n5pjvi6gm7b7xav05p5hrs2i83rjrakzzqx"))
eeb883cb
RW
4787 (file-name (git-file-name name version))))
4788 (propagated-inputs
4789 `(("emacs-evil" ,emacs-evil)
4790 ("emacs-lispy" ,emacs-lispy)))
4791 (build-system emacs-build-system)
4792 (synopsis "Minor mode for integrating Evil with lispy")
4793 (description
4794 "LispyVille's main purpose is to provide a Lisp editing environment
4795suited towards Evil users. It can serve as a minimal layer on top of lispy
4796for better integration with Evil, but it does not require the use of lispy’s
4797keybinding style. The provided commands allow for editing Lisp in normal
4798state and will work even without lispy being enabled.")
4799 (license license:gpl3+))))
4800
4801(define-public emacs-clojure-mode
4802 (package
4803 (name "emacs-clojure-mode")
4804 (version "5.6.1")
eba7c513
TGR
4805 (source
4806 (origin
4807 (method git-fetch)
4808 (uri (git-reference
4809 (url "https://github.com/clojure-emacs/clojure-mode.git")
4810 (commit version)))
4811 (file-name (git-file-name name version))
4812 (sha256
4813 (base32 "1qadymqzs5fn1sb347xzfw8lqq6s85vvkh4kzm35m61g5i2lm86y"))))
eeb883cb
RW
4814 (build-system emacs-build-system)
4815 (native-inputs
4816 `(("emacs-dash" ,emacs-dash)
4817 ("emacs-s" ,emacs-s)
4818 ("ert-runner" ,emacs-ert-runner)))
4819 (arguments
4820 `(#:tests? #t
4821 #:test-command '("ert-runner")))
4822 (home-page "https://github.com/clojure-emacs/clojure-mode")
4823 (synopsis "Major mode for Clojure code")
4824 (description
4825 "This Emacs package provides font-lock, indentation, navigation and basic
4826refactoring for the @uref{http://clojure.org, Clojure programming language}.
4827It is recommended to use @code{clojure-mode} with paredit or smartparens.")
4828 (license license:gpl3+)))
4829
4830(define-public emacs-epl
4831 (package
4832 (name "emacs-epl")
4833 (version "0.8")
d95ec770
TGR
4834 (source
4835 (origin
4836 (method git-fetch)
4837 (uri (git-reference
4838 (url "https://github.com/cask/epl.git")
4839 (commit version)))
4840 (file-name (git-file-name name version))
4841 (sha256
4842 (base32 "0sjxd5y5hxhrbgfkpwx6m724r3841b53hgc61a0g5zwispw5pmrr"))))
eeb883cb
RW
4843 (build-system emacs-build-system)
4844 (home-page "https://github.com/cask/epl")
4845 (synopsis "Emacs Package Library")
4846 (description
4847 "A package management library for Emacs, based on @code{package.el}.
4848
4849The purpose of this library is to wrap all the quirks and hassle of
4850@code{package.el} into a sane API.")
4851 (license license:gpl3+)))
4852
29a9eb9e
BL
4853(define-public emacs-counsel-projectile
4854 (package
4855 (name "emacs-counsel-projectile")
4856 (version "0.3.0")
4857 (source (origin
4858 (method git-fetch)
4859 (uri (git-reference
4860 (url "https://github.com/ericdanan/counsel-projectile")
4861 (commit version)))
4862 (file-name (git-file-name name version))
4863 (sha256
4864 (base32
4865 "1inc4ndl0ysfwvxk4avbgpj4qi9rc93da6476a5c81xmwpsv8wmq"))))
4866 (build-system emacs-build-system)
4867 (propagated-inputs
4868 `(("emacs-ivy" ,emacs-ivy)
4869 ("emacs-projectile" ,emacs-projectile)))
4870 (home-page "https://github.com/ericdanan/counsel-projectile")
4871 (synopsis "Enhance Projectile with Ivy")
4872 (description
4873 "This package uses Ivy to provide additional actions for Projectile
4874commands and replacements for existing functions.")
4875 (license license:gpl3+)))
4876
eeb883cb
RW
4877(define-public emacs-queue
4878 (package
4879 (name "emacs-queue")
4880 (version "0.2")
4881 (source (origin
4882 (method url-fetch)
4883 (uri (string-append "https://elpa.gnu.org/packages/queue-"
4884 version ".el"))
4885 (sha256
4886 (base32
4887 "0cx2848sqnnkkr4zisvqadzxngjyhmb36mh0q3if7q19yjjhmrkb"))))
4888 (build-system emacs-build-system)
4889 (home-page "http://www.dr-qubit.org/tags/computing-code-emacs.html")
4890 (synopsis "Queue data structure for Emacs")
4891 (description
4892 "This Emacs library provides queue data structure. These queues can be
4893used both as a first-in last-out (FILO) and as a first-in first-out (FIFO)
4894stack, i.e. elements can be added to the front or back of the queue, and can
4895be removed from the front. This type of data structure is sometimes called an
4896\"output-restricted deque\".")
4897 (license license:gpl3+)))
4898
4899(define-public emacs-pkg-info
4900 (package
4901 (name "emacs-pkg-info")
4902 (version "0.6")
45c6a664
TGR
4903 (source
4904 (origin
4905 (method git-fetch)
4906 (uri (git-reference
4907 (url "https://github.com/lunaryorn/pkg-info.el.git")
4908 (commit version)))
4909 (file-name (git-file-name name version))
4910 (sha256
4911 (base32 "0nk12dcppdyhav6m6yf7abpywyd7amxd4237zsfd32w4zxsx39k1"))))
eeb883cb
RW
4912 (build-system emacs-build-system)
4913 (propagated-inputs `(("emacs-epl" ,emacs-epl)))
4914 (home-page "https://github.com/lunaryorn/pkg-info.el")
4915 (synopsis "Information about Emacs packages")
4916 (description
4917 "This library extracts information from the installed Emacs packages.")
4918 (license license:gpl3+)))
4919
4920(define-public emacs-spinner
4921 (package
4922 (name "emacs-spinner")
4923 (version "1.7.3")
4924 (source (origin
4925 (method url-fetch)
4926 (uri (string-append "https://elpa.gnu.org/packages/spinner-"
4927 version ".el"))
4928 (sha256
4929 (base32
4930 "19kp1mmndbmw11sgvv2ggfjl4pyf5zrsbh3871f0965pw9z8vahd"))))
4931 (build-system emacs-build-system)
4932 (home-page "https://github.com/Malabarba/spinner.el")
4933 (synopsis "Emacs mode-line spinner for operations in progress")
4934 (description
4935 "This Emacs package adds spinners and progress-bars to the mode-line for
4936ongoing operations.")
4937 (license license:gpl3+)))
4938
4939(define-public emacs-sparql-mode
4940 (package
4941 (name "emacs-sparql-mode")
4942 (version "2.0.1")
2d965d82
TGR
4943 (source
4944 (origin
4945 (method git-fetch)
4946 (uri (git-reference
4947 (url "https://github.com/ljos/sparql-mode.git")
4948 (commit (string-append "v" version))))
4949 (file-name (git-file-name name version))
4950 (sha256
4951 (base32 "0ywhqk6n5k0l85zjwbnrivnvxjzqipqrggv06lify6yv18qmyl6s"))))
eeb883cb
RW
4952 (build-system emacs-build-system)
4953 (home-page "https://github.com/ljos/sparql-mode")
4954 (synopsis "SPARQL mode for Emacs")
4955 (description "This package provides a major mode for Emacs that provides
4956syntax highlighting for SPARQL. It also provides a way to execute queries
4957against a SPARQL HTTP endpoint, such as is provided by Fuseki. It is also
4958possible to query other endpoints like DBPedia.")
4959 (license license:gpl3+)))
4960
4961(define-public emacs-better-defaults
4962 (package
4963 (name "emacs-better-defaults")
4964 (version "0.1.3")
4965 (source
4966 (origin
4967 (method url-fetch)
4968 (uri (string-append "https://github.com/technomancy/better-defaults"
4969 "/archive/" version ".tar.gz"))
4970 (file-name (string-append name "-" version ".tar.gz"))
4971 (sha256
4972 (base32
4973 "08fg4zslzlxbvyil5g4gwvwd22fh4zsgqprs5wh9hv1rgc6757m2"))))
4974 (build-system emacs-build-system)
4975 (home-page "https://github.com/technomancy/better-defaults")
4976 (synopsis "Better defaults for Emacs")
4977 (description
4978 "Better defaults attempts to address the most obvious deficiencies of the
4979Emacs default configuration in uncontroversial ways that nearly everyone can
4980agree upon.")
4981 (license license:gpl3+)))
4982
3dbd2409
BL
4983(define-public emacs-undohist-el
4984 (let ((commit "d2239a5f736724ceb9e3b6bcaa86f4064805cda0")
4985 (revision "1"))
4986 (package
4987 (name "emacs-undohist-el")
4988 (version (git-version "0" revision commit))
4989 (source
4990 (origin
4991 (method git-fetch)
4992 (uri (git-reference
4993 (url "https://github.com/m2ym/undohist-el")
4994 (commit commit)))
4995 (file-name (git-file-name name version))
4996 (sha256
4997 (base32
37aaf9a8
OP
4998 "1c0daw246ky7b1x5b8h55x79pl1pjqk1k348l487bdd8zdj4w9wx"))
4999 (patches
5000 (search-patches "emacs-undohist-ignored.patch"))))
3dbd2409
BL
5001 (build-system emacs-build-system)
5002 (home-page "https://github.com/m2ym/undohist-el")
5003 (synopsis "Save undo history between sessions")
5004 (description "This package allows persistent use of undo history for
5005individual file buffers.")
5006 (license license:gpl3+))))
5007
eeb883cb
RW
5008(define-public emacs-eprime
5009 (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f"))
5010 (package
5011 (name "emacs-eprime")
5012 (version (string-append "20140513-" (string-take commit 7)))
5013 (source (origin
5014 (method url-fetch)
5015 (uri (string-append "https://raw.githubusercontent.com"
5016 "/AndrewHynes/eprime-mode/"
5017 commit "/eprime-mode.el"))
5018 (file-name (string-append "eprime-" version ".el"))
5019 (sha256
5020 (base32
5021 "0v68lggkyq7kbcr9zyi573m2g2x251xy3jadlaw8kx02l8krwq8d"))))
5022 (build-system emacs-build-system)
5023 (home-page "https://github.com/AndrewHynes/eprime-mode")
5024 (synopsis "E-prime checking mode for Emacs")
5025 (description "This package provides an E-prime checking mode for Emacs
5026that highlights non-conforming text. The subset of the English language called
5027E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
5028 (license license:gpl3+))))
5029
5030(define-public emacs-julia-mode
5031 ;; XXX: Upstream version remained stuck at 0.3. See
5032 ;; <https://github.com/JuliaEditorSupport/julia-emacs/issues/46>.
5033 (let ((commit "115d4dc8a07445301772da8376b232fa8c7168f4")
5034 (revision "1"))
5035 (package
5036 (name "emacs-julia-mode")
5037 (version (string-append "0.3-" revision "." (string-take commit 8)))
5038 (source
5039 (origin
5040 (method git-fetch)
5041 (uri (git-reference
5042 (url "https://github.com/JuliaEditorSupport/julia-emacs.git")
5043 (commit commit)))
91556301 5044 (file-name (git-file-name name version))
eeb883cb
RW
5045 (sha256
5046 (base32
5047 "1is4dcv6blslpzbjcg8l2jpxi8xj96q4cm0nxjxsyswpm8bw8ki0"))))
5048 (build-system emacs-build-system)
5049 (arguments
5050 `(#:tests? #t
5051 #:test-command '("emacs" "--batch"
5052 "-l" "julia-mode-tests.el"
5053 "-f" "ert-run-tests-batch-and-exit")))
5054 (home-page "https://github.com/JuliaEditorSupport/julia-emacs")
5055 (synopsis "Major mode for Julia")
5056 (description "This Emacs package provides a mode for the Julia
5057programming language.")
5058 (license license:expat))))
5059
5060(define-public emacs-smex
5061 (package
5062 (name "emacs-smex")
5063 (version "3.0")
5064 (source (origin
5065 (method url-fetch)
5066 (uri (string-append "https://raw.githubusercontent.com"
5067 "/nonsequitur/smex/" version "/smex.el"))
5068 (file-name (string-append "smex-" version ".el"))
5069 (sha256
5070 (base32
5071 "0ar310zx9k5y4i1vl2rawvi712xj9gx77160860jbs691p77cxqp"))))
5072 (build-system emacs-build-system)
5073 (home-page "https://github.com/nonsequitur/smex/")
5074 (synopsis "M-x interface with Ido-style fuzzy matching")
5075 (description
5076 "Smex is a M-x enhancement for Emacs. Built on top of Ido, it provides a
5077convenient interface to your recently and most frequently used commands. And
5078to all the other commands, too.")
5079 (license license:gpl3+)))
5080
5081(define-public emacs-js2-mode
5082 (package
5083 (name "emacs-js2-mode")
b8a5c108 5084 (version "20190219")
0fe46015
TGR
5085 (source
5086 (origin
5087 (method git-fetch)
5088 (uri (git-reference
5089 (url "https://github.com/mooz/js2-mode.git")
5090 (commit version)))
5091 (file-name (git-file-name name version))
5092 (sha256
5093 (base32 "0766bbr4piia9vfr4ivd2gwi8dxah654adv6h28ylz4q8xmfzm1b"))))
eeb883cb
RW
5094 (build-system emacs-build-system)
5095 (home-page "https://github.com/mooz/js2-mode/")
5096 (synopsis "Improved JavaScript editing mode for Emacs")
5097 (description
5098 "Js2-mode provides a JavaScript major mode for Emacs that is more
5099advanced than the built-in javascript-mode. Features include accurate syntax
5100highlighting using a recursive-descent parser, on-the-fly reporting of syntax
5101errors and strict-mode warnings, smart line-wrapping within comments and
5102strings, and code folding.")
5103 (license license:gpl3+)))
5104
5105(define-public emacs-nodejs-repl
5106 (package
5107 (name "emacs-nodejs-repl")
5108 (version "0.2.0")
5109 (source (origin
5110 (method url-fetch)
5111 (uri (string-append "https://github.com/abicky/nodejs-repl.el"
5112 "/archive/" version ".tar.gz"))
5113 (sha256
5114 (base32
5115 "0hq2cqdq2668yf48g7qnkci90nhih1gnhacsgz355jnib56lhmkz"))
5116 (file-name (string-append name "-" version ".tar.gz"))))
5117 (build-system emacs-build-system)
5118 (home-page "https://github.com/abicky/nodejs-repl.el")
5119 (synopsis "Node.js REPL inside Emacs")
5120 (description
5121 "This program is derived from comint-mode and provides the following
5122features:
5123
5124@itemize
5125@item TAB completion same as Node.js REPL
5126@item file name completion in string
5127@item incremental history search
5128@end itemize")
5129 (license license:gpl3+)))
5130
5131(define-public emacs-typescript-mode
5132 (package
5133 (name "emacs-typescript-mode")
5134 (version "0.3")
5135 (source (origin
5136 (method url-fetch)
5137 (uri (string-append
5138 "https://github.com/ananthakumaran/typescript.el"
5139 "/archive/v" version ".tar.gz"))
5140 (sha256
5141 (base32
5142 "1gqjirm8scf0wysm7x97zdfbs4qa5nqdl64jfbkd18iskv5mg3rj"))
5143 (file-name (string-append name "-" version ".tar.gz"))))
5144 (build-system emacs-build-system)
5145 (home-page "https://github.com/ananthakumaran/typescript.el")
5146 (synopsis "Emacs major mode for editing Typescript code")
5147 (description
5148 "This is based on Karl Landstrom's barebones @code{typescript-mode}.
5149This is much more robust and works with @code{cc-mode}'s comment
5150filling (mostly). The modifications to the original @code{javascript.el} mode
5151mainly consisted in replacing \"javascript\" with \"typescript\"
5152
5153The main features of this Typescript mode are syntactic highlighting (enabled
5154with @code{font-lock-mode} or @code{global-font-lock-mode}), automatic
5155indentation and filling of comments and C preprocessor fontification.")
5156 (license license:gpl3+)))
5157
5158(define-public emacs-tide
5159 (package
5160 (name "emacs-tide")
608b922f 5161 (version "3.2.3")
eeb883cb
RW
5162 (source (origin
5163 (method url-fetch)
5164 (uri (string-append "https://github.com/ananthakumaran/tide"
5165 "/archive/v" version ".tar.gz"))
5166 (sha256
5167 (base32
608b922f 5168 "1c600myr2yqbkmy9lify38lz0zzjdqk1733db5n7vsay16vn6fzi"))
eeb883cb
RW
5169 (file-name (string-append name "-" version ".tar.gz"))))
5170 (build-system emacs-build-system)
5171 (propagated-inputs
5172 `(("emacs-dash" ,emacs-dash)
5173 ("emacs-s" ,emacs-s)
5174 ("emacs-flycheck" ,emacs-flycheck)
5175 ("emacs-typescript-mode" ,emacs-typescript-mode)))
5176 (home-page "https://github.com/ananthakumaran/tide")
5177 (synopsis "Typescript IDE for Emacs")
5178 (description
5179 "Tide is an Interactive Development Environment (IDE) for Emacs which
5180provides the following features:
5181
5182@itemize
5183@item ElDoc
5184@item Auto complete
5185@item Flycheck
5186@item Jump to definition, Jump to type definition
5187@item Find occurrences
5188@item Rename symbol
5189@item Imenu
5190@item Compile On Save
5191@item Highlight Identifiers
5192@item Code Fixes
5193@item Code Refactor
5194@item Organize Imports
5195@end itemize")
5196 (license license:gpl3+)))
5197
5198(define-public emacs-markdown-mode
5199 (package
5200 (name "emacs-markdown-mode")
5201 (version "2.3")
5202 (source (origin
5203 (method url-fetch)
5204 (uri (string-append "https://raw.githubusercontent.com/jrblevin"
5205 "/markdown-mode/v" version
5206 "/markdown-mode.el"))
5207 (file-name (string-append "markdown-mode-" version ".el"))
5208 (sha256
5209 (base32
5210 "152whyrq3dqlqy5wv4mdd94kmal19hs5kwaxjcp2gp2r97lsmdmi"))))
5211 (build-system emacs-build-system)
5212 (home-page "http://jblevins.org/projects/markdown-mode/")
5213 (synopsis "Emacs Major mode for Markdown files")
5214 (description
5215 "Markdown-mode is a major mode for editing Markdown-formatted text files
5216in Emacs.")
5217 (license license:gpl3+)))
5218
5219(define-public emacs-edit-indirect
5220 (package
5221 (name "emacs-edit-indirect")
5222 (version "0.1.5")
5223 (source
5224 (origin
5225 (method git-fetch)
5226 (uri (git-reference
5227 (url "https://github.com/Fanael/edit-indirect")
5228 (commit version)))
5229 (file-name (git-file-name name version))
5230 (sha256
5231 (base32
5232 "0by1x53pji39fjrj5bd446kz831nv0vdgw2jqasbym4pc1p2947r"))))
5233 (build-system emacs-build-system)
5234 (home-page "https://github.com/Fanael/edit-indirect")
5235 (synopsis "Edit regions in separate buffers")
5236 (description "This package allows you to edit regions in separate buffers,
5237like @code{org-edit-src-code} but for arbitrary regions.")
5238 (license license:gpl3+)))
5239
5240(define-public emacs-projectile
5241 (package
5242 (name "emacs-projectile")
d97283c3 5243 (version "2.0.0")
eeb883cb
RW
5244 (source (origin
5245 (method url-fetch)
5246 (uri (string-append "https://raw.githubusercontent.com/bbatsov"
5247 "/projectile/v" version "/projectile.el"))
5248 (file-name (string-append "projectile-" version ".el"))
5249 (sha256
5250 (base32
d97283c3 5251 "149hablms6n9b4wp78dz4pjz1rzyylfw9ayghq5p9d7k661mvyby"))))
eeb883cb
RW
5252 (build-system emacs-build-system)
5253 (propagated-inputs
5254 `(("emacs-dash" ,emacs-dash)
5255 ("emacs-pkg-info" ,emacs-pkg-info)))
5256 (home-page "https://github.com/bbatsov/projectile")
5257 (synopsis "Manage and navigate projects in Emacs easily")
5258 (description
5259 "This library provides easy project management and navigation. The
5260concept of a project is pretty basic - just a folder containing special file.
5261Currently git, mercurial and bazaar repos are considered projects by default.
5262If you want to mark a folder manually as a project just create an empty
5263.projectile file in it.")
5264 (license license:gpl3+)))
5265
5266(define-public emacs-elfeed
5267 (package
5268 (name "emacs-elfeed")
869eb264 5269 (version "3.1.0")
bde24d5e
TGR
5270 (source
5271 (origin
5272 (method git-fetch)
5273 (uri (git-reference
5274 (url "https://github.com/skeeto/elfeed.git")
5275 (commit version)))
5276 (file-name (git-file-name name version))
5277 (sha256
869eb264 5278 (base32 "1bzpl6lc7kq9bph4bfz1fn19207blrnhjr2g7yinhn0nnnjmxi8i"))))
eeb883cb
RW
5279 (build-system emacs-build-system)
5280 (arguments
5281 `(#:tests? #t
5282 #:test-command '("make" "test")))
5283 (home-page "https://github.com/skeeto/elfeed")
5284 (synopsis "Atom/RSS feed reader for Emacs")
5285 (description
5286 "Elfeed is an extensible web feed reader for Emacs, supporting both Atom
5287and RSS, with a user interface inspired by notmuch.")
5288 (license license:gpl3+)))
5289
9989e06f
AG
5290(define-public emacs-elfeed-org
5291 (let ((commit "77b6bbf222487809813de260447d31c4c59902c9"))
5292 (package
5293 (name "emacs-elfeed-org")
5294 (version (git-version "0.1" "1" commit))
5295 (source
5296 (origin
5297 (method git-fetch)
5298 (uri (git-reference
5299 (url "https://github.com/remyhonig/elfeed-org.git")
5300 (commit commit)))
5301 (file-name (git-file-name name version))
5302 (sha256
5303 (base32 "0a2ibka82xq1dhy2z7rd2y9zhcj8rna8357881yz49wf55ccgm53"))))
5304 (build-system emacs-build-system)
5305 (propagated-inputs
5306 `(("emacs-elfeed" ,emacs-elfeed)
5307 ("emacs-org" ,emacs-org)
5308 ("emacs-dash" ,emacs-dash)
5309 ("emacs-s" ,emacs-s)))
5310 (native-inputs
5311 `(("ert-runner" ,emacs-ert-runner)
5312 ("emacs-xtest" ,emacs-xtest)))
5313 (arguments
5314 `(#:tests? #t
5315 #:test-command '("ert-runner" "-L" "org-mode/lisp")
5316 #:phases
5317 (modify-phases %standard-phases
5318 (add-before 'check 'chmod
5319 (lambda _
5320 (chmod "test/fixture-mark-feed-ignore.org" #o644)
5321 #t)))))
5322 (home-page "https://github.com/remyhonig/elfeed-org")
5323 (synopsis "Configure Elfeed with an Org-mode file")
5324 (description
5325 "@code{elfeed-org} lets you manage your Elfeed subscriptions
5326in Org-mode. Maintaining tags for all RSS feeds is cumbersome using
5327the regular flat list, where there is no hierarchy and tag names are
5328duplicated a lot. Org-mode makes the book keeping of tags and feeds
5329much easier.")
5330 (license license:gpl3+))))
5331
eeb883cb
RW
5332(define-public emacs-el-x
5333 (package
5334 (name "emacs-el-x")
5335 (version "0.3.1")
5336 (source (origin
5337 (method git-fetch)
5338 (uri (git-reference
5339 (url "https://github.com/sigma/el-x.git")
5340 (commit (string-append "v" version))))
dc858977 5341 (file-name (git-file-name name version))
eeb883cb
RW
5342 (sha256
5343 (base32
5344 "1i6j44ssxm1xdg0mf91nh1lnprwsaxsx8vsrf720nan7mfr283h5"))))
5345 (build-system emacs-build-system)
5346 (arguments
5347 `(#:phases
5348 (modify-phases %standard-phases
5349 ;; Move the source files to the top level, which is included in
5350 ;; the EMACSLOADPATH.
5351 (add-after 'unpack 'move-source-files
5352 (lambda _
5353 (let ((el-files (find-files "./lisp" ".*\\.el$")))
5354 (for-each (lambda (f)
5355 (rename-file f (basename f)))
5356 el-files))
5357 #t)))))
5358 (home-page "https://github.com/sigma/el-x")
5359 (synopsis "Emacs Lisp extensions")
5360 (description "command@{emacs-el-x} defines the @code{dflet} macro to
5361provide the historic behavior of @code{flet}, as well as
5362@code{declare-function} stub for older Emacs.")
5363 (license license:gpl2+)))
5364
5365(define-public emacs-mocker
5366 (package
5367 (name "emacs-mocker")
5368 (version "0.3.1")
5369 (source (origin
5370 (method git-fetch)
5371 (uri (git-reference
5372 (url "https://github.com/sigma/mocker.el.git")
5373 (commit (string-append "v" version))))
5696dc23 5374 (file-name (git-file-name name version))
eeb883cb
RW
5375 (sha256
5376 (base32
5377 "1lav7am41v63xgavq8pr88y828jmd1cxd4prjq7jlbxm6nvrwxh2"))))
5378 (build-system emacs-build-system)
5379 (arguments
5380 `(#:tests? #t
5381 #:test-command '("ert-runner")))
5382 (native-inputs
5383 `(("ert-runner" ,emacs-ert-runner)))
5384 (propagated-inputs
5385 `(("emacs-el-x" ,emacs-el-x)))
5386 (home-page "https://github.com/sigma/mocker.el")
5387 (synopsis "Mocking framework for Emacs Lisp")
5388 (description "Mocker.el is a framework for writing tests in Emacs Lisp.
5389It uses regular Lisp rather than a domain specific language (DSL), which
5390maximizes flexibility (at the expense of conciseness).")
5391 (license license:gpl2+)))
5392
5393(define-public emacs-find-file-in-project
5394 (package
5395 (name "emacs-find-file-in-project")
5396 (version "5.4.7")
5397 (source (origin
5398 (method git-fetch)
5399 (uri (git-reference
5400 (url "https://github.com/technomancy/find-file-in-project.git")
5401 (commit version)))
f7f5a403 5402 (file-name (git-file-name name version))
eeb883cb
RW
5403 (sha256
5404 (base32
5405 "1sdnyqv69mipbgs9yax88m9b6crsa59rjhwrih197pifl4089awr"))))
5406 (build-system emacs-build-system)
5407 (arguments
5408 `(#:phases
5409 (modify-phases %standard-phases
5410 (add-before 'check 'set-shell
5411 ;; Otherwise Emacs shell-file-name is set to "/bin/sh", which doesn't
5412 ;; work.
5413 (lambda _
5414 (setenv "SHELL" (which "sh"))
5415 #t)))
5416 #:tests? #t
5417 #:test-command '("./tests/test.sh")))
5418 (home-page "https://github.com/technomancy/find-file-in-project")
5419 (synopsis "File/directory finder for Emacs")
5420 (description "@code{find-file-in-project} allows to find files or
5421directories quickly in the current project. The project root is detected
5422automatically when Git, Subversion or Mercurial are used. It also provides
5423functions to assist in reviewing changes on files.")
5424 (license license:gpl3+)))
5425
5426(define-public emacs-pyvenv
5427 (package
5428 (name "emacs-pyvenv")
1275f9ef 5429 (version "1.20")
eeb883cb
RW
5430 (source (origin
5431 (method git-fetch)
5432 (uri (git-reference
5433 (url "https://github.com/jorgenschaefer/pyvenv.git")
5434 (commit (string-append "v" version))))
5da3df8f 5435 (file-name (git-file-name name version))
eeb883cb
RW
5436 (sha256
5437 (base32
1275f9ef 5438 "1x052fsavb94x3scpqd6n9spqgzaahzbdxhg4qa5sy6hqsabn6zh"))))
eeb883cb
RW
5439 (build-system emacs-build-system)
5440 (arguments
5441 `(#:phases
5442 (modify-phases %standard-phases
5443 ;; This phase incorrectly attempts to substitute "activate" and fails
5444 ;; doing so.
5445 (delete 'patch-el-files))
5446 #:tests? #t
5447 #:test-command '("ert-runner")))
5448 (native-inputs
5449 `(("ert-runner" ,emacs-ert-runner)
5450 ("emacs-mocker" ,emacs-mocker)))
5451 (home-page "https://github.com/jorgenschaefer/pyvenv")
1275f9ef 5452 (synopsis "Python virtual environment interface for Emacs")
eeb883cb
RW
5453 (description "pyvenv.el is a minor mode to support using Python virtual
5454environments (virtualenv) inside Emacs.")
5455 (license license:gpl3+)))
5456
5457(define-public emacs-highlight-indentation
5458 (package
5459 (name "emacs-highlight-indentation")
5460 (version "0.7.0")
5461 (source (origin
5462 (method git-fetch)
5463 (uri (git-reference
5464 (url "https://github.com/antonj/Highlight-Indentation-for-Emacs.git")
5465 (commit (string-append "v" version))))
1dc4c043 5466 (file-name (git-file-name name version))
eeb883cb
RW
5467 (sha256
5468 (base32
5469 "00l54k75qk24a0znzl4ij3s3nrnr2wy9ha3za8apphzlm98m907k"))))
5470 (build-system emacs-build-system)
5471 (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/")
5472 (synopsis "Highlighting indentation for Emacs")
5473 (description "Provides two minor modes to highlight indentation guides in Emacs:
5474@enumerate
5475@item @code{highlight-indentation-mode}, which displays guidelines
5476indentation (space indentation only).
5477@item @code{highlight-indentation-current-column-mode}, which displays guidelines for the current-point indentation (space indentation only).
5478@end enumerate")
5479 (license license:gpl2+)))
5480
5481(define-public emacs-elpy
5482 (package
5483 (name "emacs-elpy")
d79e0b3a 5484 (version "1.28.0")
eeb883cb
RW
5485 (source (origin
5486 (method git-fetch)
5487 (uri (git-reference
5488 (url "https://github.com/jorgenschaefer/elpy.git")
5489 (commit version)))
64e9f696 5490 (file-name (git-file-name name version))
eeb883cb
RW
5491 (sha256
5492 (base32
d79e0b3a 5493 "073bwxwjzcbmvpcz9q2xjwzx9x7hkvjni6fwvikh6yawzjp56jis"))))
eeb883cb
RW
5494 (build-system emacs-build-system)
5495 (arguments
5496 `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
5497 #:phases
5498 ;; TODO: Make `elpy-config' display Guix commands :)
5499 (modify-phases %standard-phases
5500 ;; One elpy test depends on being run inside a Python virtual
5501 ;; environment to pass. We have nothing to gain from doing so here,
5502 ;; so we just trick Elpy into thinking we are (see:
5503 ;; https://github.com/jorgenschaefer/elpy/pull/1293).
5504 (add-before 'check 'fake-virtualenv
5505 (lambda _
5506 (setenv "VIRTUAL_ENV" "/tmp")
5507 #t))
5508 (add-before 'check 'build-doc
5509 (lambda _
5510 (with-directory-excursion "docs"
5511 (invoke "make" "info" "man"))
5512 ;; Move .info file at the root so that it can installed by the
5513 ;; 'move-doc phase.
5514 (rename-file "docs/_build/texinfo/Elpy.info" "Elpy.info")
5515 #t))
5516 (add-after 'build-doc 'install-manpage
5517 (lambda* (#:key outputs #:allow-other-keys)
5518 (let* ((out (assoc-ref outputs "out"))
5519 (man1 (string-append out "/share/man/man1")))
5520 (mkdir-p man1)
5521 (copy-file "docs/_build/man/elpy.1"
5522 (string-append man1 "/elpy.1")))
5523 #t)))
5524 #:tests? #t
5525 #:test-command '("ert-runner")))
5526 (propagated-inputs
5527 `(("emacs-company" ,emacs-company)
5528 ("emacs-find-file-in-project" ,emacs-find-file-in-project)
5529 ("emacs-highlight-indentation" ,emacs-highlight-indentation)
5530 ("emacs-yasnippet" ,emacs-yasnippet)
5531 ("pyvenv" ,emacs-pyvenv)
5532 ("s" ,emacs-s)))
5533 (native-inputs
5534 `(("ert-runner" ,emacs-ert-runner)
5535 ("emacs-f" ,emacs-f)
5536 ("python" ,python-wrapper)
5537 ("python-autopep8" ,python-autopep8)
5538 ("python-black" ,python-black)
5539 ("python-flake8" ,python-flake8)
5540 ("python-jedi" ,python-jedi)
5541 ("python-yapf" ,python-yapf)
5542 ;; For documentation.
5543 ("python-sphinx" ,python-sphinx)
5544 ("texinfo" ,texinfo)))
5545 (home-page "https://github.com/jorgenschaefer/elpy")
5546 (synopsis "Python development environment for Emacs")
5547 (description "Elpy brings powerful Python editing to Emacs. It combines
5548and configures a number of other packages written in Emacs Lisp as well as
5549Python, together offering features such as navigation, documentation,
5550completion, interactive development and more.")
5551 (license license:gpl3+)))
5552
5553(define-public emacs-rainbow-delimiters
5554 (package
5555 (name "emacs-rainbow-delimiters")
5556 (version "2.1.3")
5557 (source (origin
5558 (method url-fetch)
5559 (uri (string-append "https://raw.githubusercontent.com/Fanael"
5560 "/rainbow-delimiters/" version
5561 "/rainbow-delimiters.el"))
5562 (file-name (string-append "rainbow-delimiters-" version ".el"))
5563 (sha256
5564 (base32
5565 "1b3kampwsjabhcqdp0khgff13wc5jqhy3rbvaa12vnv7qy22l9ck"))))
5566 (build-system emacs-build-system)
5567 (home-page "https://github.com/Fanael/rainbow-delimiters")
5568 (synopsis "Highlight brackets according to their depth")
5569 (description
5570 "Rainbow-delimiters is a \"rainbow parentheses\"-like mode for Emacs which
5571highlights parentheses, brackets, and braces according to their depth. Each
5572successive level is highlighted in a different color, making it easy to spot
5573matching delimiters, orient yourself in the code, and tell which statements
5574are at a given level.")
5575 (license license:gpl3+)))
5576
5577(define-public emacs-rainbow-identifiers
5578 (package
5579 (name "emacs-rainbow-identifiers")
5580 (version "0.2.2")
5581 (source (origin
5582 (method url-fetch)
5583 (uri (string-append "https://raw.githubusercontent.com/Fanael"
5584 "/rainbow-identifiers/" version
5585 "/rainbow-identifiers.el"))
5586 (file-name (string-append "rainbow-identifiers-" version ".el"))
5587 (sha256
5588 (base32
5589 "0325abxj47k0g1i8nqrq70w2wr6060ckhhf92krv1s072b3jzm31"))))
5590 (build-system emacs-build-system)
5591 (home-page "https://github.com/Fanael/rainbow-identifiers")
5592 (synopsis "Highlight identifiers in source code")
5593 (description
5594 "Rainbow identifiers mode is an Emacs minor mode providing highlighting of
5595identifiers based on their names. Each identifier gets a color based on a hash
5596of its name.")
5597 (license license:bsd-2)))
5598
5599(define-public emacs-rainbow-mode
5600 (package
5601 (name "emacs-rainbow-mode")
5602 (version "1.0.1")
5603 (source (origin
5604 (method url-fetch)
5605 (uri (string-append
5606 "http://elpa.gnu.org/packages/rainbow-mode-" version ".el"))
5607 (sha256
5608 (base32
5609 "0cpga4ax635rfpj7y2vmh7ank0yw00dcy20gjg1mj74r97by8csf"))))
5610 (build-system emacs-build-system)
5611 (home-page "http://elpa.gnu.org/packages/rainbow-mode.html")
5612 (synopsis "Colorize color names in buffers")
5613 (description
5614 "This minor mode sets background color to strings that match color
5615names, e.g. #0000ff is displayed in white with a blue background.")
5616 (license license:gpl3+)))
5617
5618(define-public emacs-visual-fill-column
5619 (package
5620 (name "emacs-visual-fill-column")
5621 (version "1.11")
5622 (source (origin
5623 (method url-fetch)
5624 (uri (string-append "https://codeload.github.com/joostkremers/"
5625 "visual-fill-column/tar.gz/" version))
5626 (file-name (string-append name "-" version ".tar.gz"))
5627 (sha256
5628 (base32
5629 "13jnviakp607zcms7f8ams56mr8wffnq1pghlc6fvqs39663pgwh"))))
5630 (build-system emacs-build-system)
5631 (home-page "https://github.com/joostkremers/visual-fill-column")
5632 (synopsis "Fill-column for visual-line-mode")
5633 (description
5634 "@code{visual-fill-column-mode} is a small Emacs minor mode that mimics
5635the effect of @code{fill-column} in @code{visual-line-mode}. Instead of
5636wrapping lines at the window edge, which is the standard behaviour of
5637@code{visual-line-mode}, it wraps lines at @code{fill-column}. If
5638@code{fill-column} is too large for the window, the text is wrapped at the
5639window edge.")
5640 (license license:gpl3+)))
5641
5642(define-public emacs-writeroom
5643 (package
5644 (name "emacs-writeroom")
5645 (version "3.7")
3610a056
TGR
5646 (source
5647 (origin
5648 (method git-fetch)
5649 (uri (git-reference
5650 (url "https://github.com/joostkremers/writeroom-mode.git")
5651 (commit version)))
5652 (file-name (git-file-name name version))
5653 (sha256
5654 (base32 "13nbls5qxz5z8firjxaip8m9vzfbbpxmwrmr01njbk4axpwrpj0z"))))
eeb883cb
RW
5655 (build-system emacs-build-system)
5656 (propagated-inputs
5657 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)))
5658 (home-page "https://github.com/joostkremers/writeroom-mode")
5659 (synopsis "Distraction-free writing for Emacs")
5660 (description
5661 "This package defines a minor mode for distraction-free writing. Some of
5662the default effects include entering fullscreen, deleting other windows of the
5663current frame, disabling the mode line, and adding margins to the buffer that
5664restrict the text width to 80 characters.")
5665 (license license:bsd-3)))
5666
5667(define-public emacs-ido-completing-read+
5668 (package
5669 (name "emacs-ido-completing-read+")
5670 (version "3.12")
5671 (source (origin
5672 (method url-fetch)
5673 (uri (string-append "https://raw.githubusercontent.com"
5674 "/DarwinAwardWinner/ido-ubiquitous/v"
5675 version "/ido-completing-read+.el"))
5676 (file-name (string-append "ido-completing-read+-" version ".el"))
5677 (sha256
5678 (base32
5679 "1cyalb0p7nfsm4n6n9q6rjmvn6adqc0fq8ybnlj3n41n289dkfjf"))))
5680 (build-system emacs-build-system)
5681 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
5682 (synopsis "Replacement for completing-read using ido")
5683 (description
5684 "The ido-completing-read+ function is a wrapper for ido-completing-read.
5685Importantly, it detects edge cases that ordinary ido cannot handle and either
5686adjusts them so ido can handle them, or else simply falls back to the standard
5687Emacs completion function instead.")
5688 (license license:gpl3+)))
5689
5690(define-public emacs-ido-ubiquitous
5691 (package
5692 (name "emacs-ido-ubiquitous")
5693 (version "3.12")
5694 (source (origin
5695 (method url-fetch)
5696 (uri (string-append "https://raw.githubusercontent.com"
5697 "/DarwinAwardWinner/ido-ubiquitous/v"
5698 version "/ido-ubiquitous.el"))
5699 (file-name (string-append "ido-ubiquitous-" version ".el"))
5700 (sha256
5701 (base32
5702 "197ypji0fb6jsdcq40rpnknwlh3imas6s6jbsvkfm0pz9988c3q2"))))
5703 (build-system emacs-build-system)
5704 (propagated-inputs
5705 `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
5706 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
5707 (synopsis "Use ido (nearly) everywhere")
5708 (description
5709 "Ido-ubiquitous enables ido-style completion for almost every function
5710that uses the standard completion function completing-read.")
5711 (license license:gpl3+)))
5712
5713(define-public emacs-yaml-mode
5714 (package
5715 (name "emacs-yaml-mode")
5716 (version "0.0.13")
5717 (source (origin
5718 (method url-fetch)
5719 (uri (string-append "https://raw.githubusercontent.com/yoshiki"
5720 "/yaml-mode/v" version "/yaml-mode.el"))
5721 (file-name (string-append "yaml-mode-" version ".el"))
5722 (sha256
5723 (base32
5724 "0im88sk9dqw03x6d6zaspgvg9i0pfpgb8f2zygrmbifh2w4pwmvj"))))
5725 (build-system emacs-build-system)
5726 (home-page "https://github.com/yoshiki/yaml-mode")
5727 (synopsis "Major mode for editing YAML files")
5728 (description
5729 "Yaml-mode is an Emacs major mode for editing files in the YAML data
5730serialization format. It was initially developed by Yoshiki Kurihara and many
5731features were added by Marshall Vandegrift. As YAML and Python share the fact
5732that indentation determines structure, this mode provides indentation and
5733indentation command behavior very similar to that of python-mode.")
5734 (license license:gpl3+)))
5735
5736(define-public emacs-web-mode
5737 (package
5738 (name "emacs-web-mode")
5739 (version "16")
5740 (source (origin
5741 (method url-fetch)
5742 (uri (string-append "https://raw.githubusercontent.com/fxbois"
5743 "/web-mode/v" version "/web-mode.el"))
5744 (file-name (string-append "web-mode-" version ".el"))
5745 (sha256
5746 (base32
5747 "1hs5w7kdvcyn4ihyw1kfjg48djn5p7lz4rlbhzzdqv1g56xqx3gw"))))
5748 (build-system emacs-build-system)
5749 (synopsis "Major mode for editing web templates")
5750 (description "Web-mode is an Emacs major mode for editing web templates
5751aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by
5752client/server side engines). Web-mode is compatible with many template
5753engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker,
5754Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template,
5755Dust.js, React/JSX, Angularjs, ejs, etc.")
5756 (home-page "http://web-mode.org/")
5757 (license license:gpl3+)))
5758
5759(define-public emacs-wgrep
48b58245
BL
5760 (package
5761 (name "emacs-wgrep")
5762 (version "2.3.0")
5763 (source (origin
5764 (method url-fetch)
5765 (uri (string-append
5766 "https://github.com/mhayashi1120/Emacs-wgrep/archive/"
5767 version ".tar.gz"))
5768 (file-name (string-append name "-" version ".tar.gz"))
5769 (sha256
5770 (base32
5771 "1cssqbg03fjb6xwf7idv1l3jjsh9r5r232ryi11czqlxfiv658bj"))))
5772 (build-system emacs-build-system)
5773 (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
5774 (synopsis "Edit a grep buffer and apply those changes to the files")
5775 (description
5776 "Emacs wgrep allows you to edit a grep buffer and apply those changes
eeb883cb
RW
5777to the file buffer. Several backends are supported beside the classic grep:
5778ack, ag, helm and pt.")
48b58245 5779 (license license:gpl3+)))
eeb883cb
RW
5780
5781(define-public emacs-helm
5782 (package
5783 (name "emacs-helm")
66712cc0 5784 (version "3.2")
fb2f89b6
TGR
5785 (source
5786 (origin
5787 (method git-fetch)
5788 (uri (git-reference
5789 (url "https://github.com/emacs-helm/helm.git")
5790 (commit (string-append "v" version))))
5791 (file-name (git-file-name name version))
5792 (sha256
66712cc0 5793 (base32 "12yyprpgh2by2pd41i4z9gz55fxg0f90x03bfrsf791xwbhf6931"))))
eeb883cb
RW
5794 (build-system emacs-build-system)
5795 (propagated-inputs
5796 `(("emacs-async" ,emacs-async)
5797 ("emacs-popup" ,emacs-popup)))
5798 (home-page "https://emacs-helm.github.io/helm/")
5799 (synopsis "Incremental completion and selection narrowing
5800framework for Emacs")
5801 (description "Helm is incremental completion and selection narrowing
5802framework for Emacs. It will help steer you in the right direction when
5803you're looking for stuff in Emacs (like buffers, files, etc). Helm is a fork
5804of @code{anything.el} originally written by Tamas Patrovic and can be
5805considered to be its successor. Helm sets out to clean up the legacy code in
5806@code{anything.el} and provide a cleaner, leaner and more modular tool, that's
5807not tied in the trap of backward compatibility.")
5808 (license license:gpl3+)))
5809
5810(define-public emacs-helm-swoop
5811 (package
5812 (name "emacs-helm-swoop")
5813 (version "1.7.4")
3abaae57
TGR
5814 (source
5815 (origin
5816 (method git-fetch)
5817 (uri (git-reference
5818 (url "https://github.com/ShingoFukuyama/helm-swoop.git")
5819 (commit version)))
5820 (file-name (git-file-name name version))
5821 (sha256
5822 (base32 "0b23j1bkpg4pm310hqdhgnl4mxsj05gpl08b6kb2ja4fzrg6adsk"))))
eeb883cb
RW
5823 (build-system emacs-build-system)
5824 (propagated-inputs
5825 `(("emacs-helm" ,emacs-helm)))
5826 (home-page "https://github.com/ShingoFukuyama/helm-swoop")
5827 (synopsis "Filter and jump to lines in an Emacs buffer using Helm")
5828 (description
5829 "This package builds on the Helm interface to provide several commands
5830for search-based navigation of buffers.")
5831 (license license:gpl2+)))
5832
5833(define-public emacs-helm-projectile
5834 (package
5835 (name "emacs-helm-projectile")
5836 (version "0.14.0")
b625752d
TGR
5837 (source
5838 (origin
5839 (method git-fetch)
5840 (uri (git-reference
5841 (url "https://github.com/bbatsov/helm-projectile.git")
5842 (commit (string-append "v" version))))
5843 (file-name (git-file-name name version))
5844 (sha256
5845 (base32 "0lph38p112fridighqcizpsyzjbv7qr3d8prbfj6w6q6gfl6cna4"))))
eeb883cb
RW
5846 (build-system emacs-build-system)
5847 (propagated-inputs
5848 `(("emacs-dash" ,emacs-dash)
5849 ("emacs-helm" ,emacs-helm)
5850 ("emacs-projectile" ,emacs-projectile)))
5851 (home-page "https://github.com/bbatsov/helm-projectile")
5852 (synopsis "Helm integration for Projectile")
5853 (description
5854 "This Emacs library provides a Helm interface for Projectile.")
5855 (license license:gpl3+)))
5856
5857(define-public emacs-helm-make
5858 (let ((commit "feae8df22bc4b20705ea08ac9adfc2b43bb348d0")
5859 (revision "1"))
5860 (package
5861 (name "emacs-helm-make")
5862 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
5863 (source
5864 (origin
5865 (method git-fetch)
5866 (uri (git-reference
5867 (url "https://github.com/abo-abo/helm-make.git")
5868 (commit commit)))
ad943300 5869 (file-name (git-file-name name version))
eeb883cb
RW
5870 (sha256
5871 (base32
5872 "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam"))))
5873 (build-system emacs-build-system)
5874 (propagated-inputs
5875 `(("emacs-helm" ,emacs-helm)
5876 ("emacs-projectile" ,emacs-projectile)))
5877 (home-page "https://github.com/abo-abo/helm-make")
5878 (synopsis "Select a Makefile target with helm")
5879 (description "@code{helm-make} or @code{helm-make-projectile} will give
5880you a @code{helm} selection of directory Makefile's targets. Selecting a
5881target will call @code{compile} on it.")
5882 (license license:gpl3+))))
5883
5884(define-public emacs-cider
5885 (package
5886 (name "emacs-cider")
208946e1 5887 (version "0.21.0")
eeb883cb
RW
5888 (source
5889 (origin
5890 (method git-fetch)
5891 (uri (git-reference
5892 (url "https://github.com/clojure-emacs/cider.git")
5893 (commit (string-append "v" version))))
5894 (file-name (git-file-name name version))
5895 (sha256
5896 (base32
208946e1 5897 "0lbrwj67fnvynkdkzvnzp3p8vqlz0ldrcs317vg60bqfhx7hvqkj"))))
eeb883cb
RW
5898 (build-system emacs-build-system)
5899 (arguments
5900 '(#:exclude ; Don't exclude 'cider-test.el'.
5901 '("^\\.dir-locals\\.el$" "^test/")))
5902 (propagated-inputs
5903 `(("emacs-clojure-mode" ,emacs-clojure-mode)
5904 ("emacs-sesman" ,emacs-sesman)
5905 ("emacs-spinner" ,emacs-spinner)
5906 ("emacs-pkg-info" ,emacs-pkg-info)
5907 ("emacs-queue" ,emacs-queue)))
5908 (home-page "https://cider.readthedocs.io/")
5909 (synopsis "Clojure development environment for Emacs")
5910 (description
5911 "CIDER (Clojure Interactive Development Environment that Rocks) aims to
5912provide an interactive development experience similar to the one you'd get
5913when programming in Emacs Lisp, Common Lisp (with SLIME or Sly), Scheme (with
5914Geiser) and Smalltalk.
5915
5916CIDER is the successor to the now deprecated combination of using SLIME +
5917swank-clojure for Clojure development.
5918
5919There are plenty of differences between CIDER and SLIME, but the core ideas
5920are pretty much the same (and SLIME served as the principle inspiration for
5921CIDER).")
5922 (license license:gpl3+)))
5923
5924;; There hasn't been a tag or release since 2015, so we take the latest
5925;; commit.
5926(define-public emacs-sly
5927 (let ((commit "486bfbe95612bcdc0960c490207970a188e0fbb9")
5928 (revision "1"))
5929 (package
5930 (name "emacs-sly")
5931 (version (string-append "1.0.0-" revision "." (string-take commit 9)))
5932 (source
5933 (origin
5934 (method git-fetch)
5935 (uri (git-reference
5936 (url "https://github.com/joaotavora/sly.git")
5937 (commit commit)))
5938 (file-name (git-file-name name version))
5939 (sha256
5940 (base32
5941 "0ib4q4k3h3qn88pymyjjmlmnpizdn1mfg5gpk5a715nqsgxlg09l"))))
5942 (build-system emacs-build-system)
5943 (arguments
5944 `(#:include (cons "^lib\\/" %default-include)
5945 #:phases
5946 ;; The package provides autoloads.
5947 (modify-phases %standard-phases
5948 (delete 'make-autoloads))))
5949 (home-page "https://github.com/joaotavora/sly")
5950 (synopsis "Sylvester the Cat's Common Lisp IDE")
5951 (description
5952 "SLY is Sylvester the Cat's Common Lisp IDE. SLY is a fork of SLIME, and
5953contains the following improvements over it:
5954
5955@enumerate
5956@item Completely redesigned REPL based on Emacs's own full-featured
5957 @code{comint.el}
5958@item Live code annotations via a new @code{sly-stickers} contrib
5959@item Consistent interactive button interface. Everything can be copied to
5960 the REPL.
5961@item Multiple inspectors with independent history
5962@item Regexp-capable @code{M-x sly-apropos}
5963@item Contribs are first class SLY citizens and enabled by default
5964@item Use ASDF to loads contribs on demand.
5965@end enumerate
5966
7d4e465e 5967SLY tracks SLIME's bugfixes and all its familiar features (debugger, inspector,
eeb883cb
RW
5968xref, etc...) are still available, but with better integration.")
5969 (license license:gpl3+))))
5970
5971(define-public emacs-lua-mode
5972 (let ((commit "652e299cb967fccca827dda381d61a9c144d97de")
5973 (revision "1"))
5974 (package
5975 (name "emacs-lua-mode")
5976 (version (string-append "20151025." revision "-" (string-take commit 9)))
5977 (home-page "https://github.com/immerrr/lua-mode/")
5978 (source (origin
5979 (method git-fetch)
5980 (uri (git-reference
5981 (url home-page)
5982 (commit commit)))
5983 (file-name (string-append name "-" version ".checkout"))
5984 (sha256
5985 (base32
5986 "053025k930wh0lak6rc1973ynfrmm8zsyzfqhhd39x7abkl41hc9"))))
5987 (build-system emacs-build-system)
5988 (synopsis "Major mode for lua")
5989 (description
5990 "This Emacs package provides a mode for @uref{https://www.lua.org/,
27513c44 5991Lua programming language}.")
eeb883cb
RW
5992 (license license:gpl2+))))
5993
5994(define-public emacs-ebuild-mode
5995 (package
5996 (name "emacs-ebuild-mode")
5997 (version "1.37")
5998 (source (origin
5999 (method url-fetch)
6000 (uri (string-append
6001 "https://dev.gentoo.org/~ulm/emacs/ebuild-mode"
6002 "-" version ".tar.xz"))
6003 (file-name (string-append name "-" version ".tar.xz"))
6004 (sha256
6005 (base32
6006 "07dzrdjjczkxdfdgi60h4jjkvzi4p0k9rij2wpfp8s03ay3qldpp"))))
6007 (build-system emacs-build-system)
6008 (home-page "https://devmanual.gentoo.org")
6009 (synopsis "Major modes for Gentoo package files")
6010 (description
6011 "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
6012news items, openrc and runscripts.")
6013 (license license:gpl2+)))
6014
6015(define-public emacs-evil
b6a76979
PN
6016 (package
6017 (name "emacs-evil")
6018 (version "1.2.14")
6019 (source
6020 (origin
6021 (method git-fetch)
6022 (uri (git-reference
6023 (url "https://github.com/emacs-evil/evil")
6024 (commit version)))
d0deefe0 6025 (file-name (git-file-name name version))
b6a76979
PN
6026 (sha256
6027 (base32
6028 "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"))))
6029 (build-system emacs-build-system)
6030 (propagated-inputs
6031 `(("emacs-undo-tree" ,emacs-undo-tree)
6032 ("emacs-goto-chg" ,emacs-goto-chg)))
6033 (home-page "https://github.com/emacs-evil/evil")
6034 (synopsis "Extensible Vi layer for Emacs")
6035 (description
6036 "Evil is an extensible vi layer for Emacs. It emulates the
eeb883cb
RW
6037main features of Vim, and provides facilities for writing custom
6038extensions.")
b6a76979 6039 (license license:gpl3+)))
eeb883cb
RW
6040
6041(define-public emacs-evil-collection
6e0c5fec
PN
6042 (let ((commit "0748c695dfa89b79eb316da5060360de8c0f04da")
6043 (revision "9"))
eeb883cb
RW
6044 (package
6045 (name "emacs-evil-collection")
6046 (version (git-version "0.0.1" revision commit))
6047 (source (origin
6048 (method git-fetch)
6049 (uri (git-reference
6050 (url "https://github.com/emacs-evil/evil-collection")
6051 (commit commit)))
5b81060e 6052 (file-name (git-file-name name version))
eeb883cb
RW
6053 (sha256
6054 (base32
6e0c5fec 6055 "17w8nh3q7ffc7776f3qzixk0c0g6vys3xybgw16ky1f416585kvb"))))
eeb883cb
RW
6056 (build-system emacs-build-system)
6057 (propagated-inputs
6058 `(("emacs-evil" ,emacs-evil)))
6059 (home-page "https://github.com/emacs-evil/evil-collection")
6060 (synopsis "Collection of Evil bindings for many major and minor modes")
6061 (description "This is a collection of Evil bindings for the parts of
6062Emacs that Evil does not cover properly by default, such as @code{help-mode},
6063@code{M-x calendar}, Eshell and more.")
6064 (license license:gpl3+))))
6065
6066(define-public emacs-goto-chg
6067 (package
6068 (name "emacs-goto-chg")
6069 (version "1.6")
6070 (source
6071 (origin
6072 (method url-fetch)
6073 ;; There is no versioned source.
6074 (uri "https://www.emacswiki.org/emacs/download/goto-chg.el")
6075 (file-name (string-append "goto-chg-" version ".el"))
6076 (sha256
6077 (base32
6078 "078d6p4br5vips7b9x4v6cy0wxf6m5ij9gpqd4g33bryn22gnpij"))))
6079 (build-system emacs-build-system)
6080 ;; There is no other home page.
6081 (home-page "https://www.emacswiki.org/emacs/goto-chg.el")
6082 (synopsis "Go to the last change in the Emacs buffer")
6083 (description
6084 "This package provides @code{M-x goto-last-change} command that goes to
6085the point of the most recent edit in the current Emacs buffer. When repeated,
6086go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is
6087used for reverse direction.")
6088 (license license:gpl2+)))
6089
ab0471e9
BL
6090(define-public emacs-janpath-evil-numbers
6091 (let ((commit "d988041c1fe6e941dc8d591390750b237f71f524")
6092 (version "0.5")
6093 (revision "1"))
6094 (package
6095 (name "emacs-janpath-evil-numbers")
6096 (version (git-version version revision commit))
6097 (source
6098 (origin
6099 (method git-fetch)
6100 (uri (git-reference
6101 (url "https://github.com/janpath/evil-numbers")
6102 (commit commit)))
6103 (file-name (git-file-name name version))
6104 (sha256
6105 (base32
6106 "16zixhxxcb83m82f2cfiardfn99j3w41v6vh1qk6j9pplrlfw70v"))))
6107 (build-system emacs-build-system)
6108 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6109 (home-page "https://github.com/janpath/evil-numbers")
6110 (synopsis "Increment and decrement numeric literals")
6111 (description
6112 "This package provides functionality to search for a number up to the
6113end of a line and increment or decrement it.")
6114 (license license:gpl3+))))
6115
eccf816b
BL
6116(define-public emacs-evil-exchange
6117 (let ((commit "47691537815150715e64e6f6ec79be7746c96120")
6118 (version "0.41")
6119 (revision "1"))
6120 (package
6121 (name "emacs-evil-exchange")
6122 (version (git-version version revision commit))
6123 (source
6124 (origin
6125 (method git-fetch)
6126 (uri (git-reference
6127 (url "https://github.com/Dewdrops/evil-exchange")
6128 (commit commit)))
6129 (file-name (git-file-name name version))
6130 (sha256
6131 (base32
6132 "0bjpn4yqig17ddym6wqq5fm1b294q74hzcbj9a6gs97fqiwf88xa"))))
6133 (build-system emacs-build-system)
6134 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6135 (home-page "https://github.com/Dewdrops/evil-exchange")
6136 (synopsis "Exchange text easily within Evil")
6137 (description
6138 "This package, a port of @code{vim-exchange}, provides an Evil operator
6139for exchanging text.")
6140 (license license:gpl3+))))
6141
f74a90bf
BL
6142(define-public emacs-evil-replace-with-register
6143 (let ((commit "91cc7bf21a94703c441cc9212214075b226b7f67")
6144 (version "0.1")
6145 (revision "1"))
6146 (package
6147 (name "emacs-evil-replace-with-register")
6148 (version (git-version version revision commit))
6149 (source
6150 (origin
6151 (method git-fetch)
6152 (uri (git-reference
6153 (url "https://github.com/Dewdrops/evil-ReplaceWithRegister")
6154 (commit commit)))
6155 (file-name (git-file-name name version))
6156 (sha256
6157 (base32
6158 "14rpn76qrf287s3y2agmddcxi27r226i53ixjvd694ss039g0r11"))))
6159 (build-system emacs-build-system)
6160 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6161 (home-page "https://github.com/Dewdrops/evil-ReplaceWithRegister")
6162 (synopsis "Quickly replace text with the contents of a register")
6163 (description
6164 "This package provides an Evil operator for replacing text with the
6165contents of a register.")
6166 (license license:gpl3+))))
6167
91af5097
BL
6168(define-public emacs-evil-indent-plus
6169 (let ((commit "0c7501e6efed661242c3a20e0a6c79a6455c2c40")
6170 (version "1.0.0")
6171 (revision "1"))
6172 (package
6173 (name "emacs-evil-indent-plus")
6174 (version (git-version version revision commit))
6175 (source
6176 (origin
6177 (method git-fetch)
6178 (uri (git-reference
6179 (url "https://github.com/TheBB/evil-indent-plus")
6180 (commit commit)))
6181 (file-name (git-file-name name version))
6182 (sha256
6183 (base32
6184 "1g6r1ydscwjvmhh1zg4q3nap4avk8lb9msdqrh7dff6pla0r2qs6"))))
6185 (build-system emacs-build-system)
6186 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6187 (home-page "https://github.com/TheBB/evil-indent-plus")
6188 (synopsis "Text objects based on indentation")
6189 (description
6190 "This package adds new text objects for @code{evil-mode} based on
6191blocks having the same or higher indentation, including or excluding
6192surrounding lines.")
6193 (license license:gpl2+))))
6194
2feaffb1
BL
6195(define-public emacs-evil-text-object-python
6196 (let ((commit "9a064fe6475429145cbcc3b270fcc963b67adb15")
6197 (version "1.0.1")
6198 (revision "1"))
6199 (package
6200 (name "emacs-evil-text-object-python")
6201 (version (git-version version revision commit))
6202 (source
6203 (origin
6204 (method git-fetch)
6205 (uri (git-reference
6206 (url "https://github.com/wbolster/evil-text-object-python")
6207 (commit commit)))
6208 (file-name (git-file-name name version))
6209 (sha256
6210 (base32
6211 "074zpm6mmr1wfl6d5xdf8jk1fs4ccpbzf4ahhkwga9g71xiplszv"))))
6212 (build-system emacs-build-system)
6213 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6214 (home-page "https://github.com/wbolster/evil-text-object-python")
6215 (synopsis "Text objects for Python")
6216 (description
6217 "This package provides @code{evil-mode} text objects for Python.")
6218 (license license:gpl3+))))
6219
f89cc6bd
BL
6220(define-public emacs-evil-lion
6221 (let ((commit "6b03593f5dd6e7c9ca02207f9a73615cf94c93ab")
6222 (version "0.0.2")
6223 (revision "1"))
6224 (package
6225 (name "emacs-evil-lion")
6226 (version (git-version version revision commit))
6227 (source
6228 (origin
6229 (method git-fetch)
6230 (uri (git-reference
6231 (url "https://github.com/edkolev/evil-lion")
6232 (commit commit)))
6233 (file-name (git-file-name name version))
6234 (sha256
6235 (base32
6236 "1a162hynp0jcsn50c1w5a02mrw9w3q05c7lkqzqd25px3d0p772q"))))
6237 (build-system emacs-build-system)
6238 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6239 (home-page "https://github.com/edkolev/evil-lion")
6240 (synopsis "Align operator for @code{evil-mode}")
6241 (description
6242 "This package, a port of @code{vim-lion}, provides an operator for
6243aligning text objects based on separators.")
6244 (license license:gpl3+))))
6245
6d531113
BL
6246(define-public emacs-evil-expat
6247 (let ((commit "4c344ea19b789002d759a202ffbf594730d2c59a")
6248 (version "0.0.1")
6249 (revision "1"))
6250 (package
6251 (name "emacs-evil-expat")
6252 (version (git-version version revision commit))
6253 (source
6254 (origin
6255 (method git-fetch)
6256 (uri (git-reference
6257 (url "https://github.com/edkolev/evil-expat")
6258 (commit commit)))
6259 (file-name (git-file-name name version))
6260 (sha256
6261 (base32
6262 "16v7fnldxag6l1lsnrnhdjkga9qi78lbdfbb82k6pmv04991mbkr"))))
6263 (build-system emacs-build-system)
6264 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6265 (home-page "https://github.com/edkolev/evil-expat")
6266 (synopsis "Extra @code{ex} commands for @code{evil-mode}")
6267 (description
6268 "This package provides additional commands for the @code{ex} command
6269line, including functions for version control with Git and for copying and
6270pasting into and from @code{tmux} paste buffers.")
6271 (license license:gpl3+))))
6272
a99e7f52
BL
6273(define-public emacs-evil-nerd-commenter
6274 (package
6275 (name "emacs-evil-nerd-commenter")
d6a68e90 6276 (version "3.3.7")
a99e7f52
BL
6277 (source
6278 (origin
6279 (method git-fetch)
6280 (uri (git-reference
6281 (url "https://github.com/redguardtoo/evil-nerd-commenter")
6282 (commit version)))
6283 (file-name (git-file-name name version))
6284 (sha256
6285 (base32
d6a68e90 6286 "1r8shfdddys9vqvrxf7s6z83ydqx9xhqs9sa7klbsajryqcp50b7"))))
a99e7f52
BL
6287 (build-system emacs-build-system)
6288 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6289 (home-page "https://github.com/redguardtoo/evil-nerd-commenter")
6290 (synopsis "Comment and uncomment lines efficiently")
6291 (description
6292 "This package provides text objects and operators for comments within
6293@code{evil-mode}.")
6294 (license license:gpl3+)))
6295
80955ad6
BL
6296(define-public emacs-evil-visual-replace
6297 (package
6298 (name "emacs-evil-visual-replace")
6299 (version "0.0.5")
6300 (source
6301 (origin
6302 (method git-fetch)
6303 (uri (git-reference
6304 (url "https://github.com/troyp/evil-visual-replace")
6305 (commit version)))
6306 (file-name (git-file-name name version))
6307 (sha256
6308 (base32
6309 "1gfyrq7xfzmzh3x8k5f08n027dlbwi0pkkxf9c39fkxp4jngibsz"))))
6310 (build-system emacs-build-system)
6311 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6312 (home-page "https://github.com/troyp/evil-visual-replace")
6313 (synopsis "Replacement commands for @code{evil-mode} visual blocks")
6314 (description
6315 "This package provides versions of @code{query-replace} and
6316@code{replace-regexp} that work for @code{evil-mode} visual blocks.")
6317 (license license:gpl2+)))
6318
585fb83a
BL
6319(define-public emacs-evil-visualstar
6320 (let ((commit "06c053d8f7381f91c53311b1234872ca96ced752")
6321 (version "0.0.2")
6322 (revision "1"))
6323 (package
6324 (name "emacs-evil-visualstar")
6325 (version (git-version version revision commit))
6326 (source
6327 (origin
6328 (method git-fetch)
6329 (uri (git-reference
6330 (url "https://github.com/bling/evil-visualstar")
6331 (commit commit)))
6332 (file-name (git-file-name name version))
6333 (sha256
6334 (base32
6335 "0mkbzw12fav945icibc2293m5haxqr3hzkyli2cf4ssk6yvn0x4c"))))
6336 (build-system emacs-build-system)
6337 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6338 (home-page "https://github.com/bling/evil-visualstar")
6339 (synopsis "Instantly search using the visual selection")
6340 (description
6341 "This package provides @code{evil-mode} functions for using selected text
6342to search.")
6343 (license license:gpl3+))))
6344
eeb883cb
RW
6345(define-public emacs-monroe
6346 (package
6347 (name "emacs-monroe")
6348 (version "0.3.1")
6349 (source
4f8fd64c
TGR
6350 (origin
6351 (method git-fetch)
6352 (uri (git-reference
6353 (url "https://github.com/sanel/monroe.git")
6354 (commit version)))
6355 (file-name (git-file-name name version))
6356 (sha256
6357 (base32 "101lfrykdbv37spkbw7zihhx26bc1lhjyxbanrcp9880bxj04jiy"))))
eeb883cb
RW
6358 (build-system emacs-build-system)
6359 (home-page "https://github.com/sanel/monroe")
6360 (synopsis "Clojure nREPL client for Emacs")
6361 (description
4f8fd64c 6362 "Monroe is a nREPL client for Emacs, focused on simplicity and easy
eeb883cb
RW
6363distribution, primarily targeting Clojure users")
6364 (license license:gpl3+)))
6365
6366(define-public emacs-orgalist
6367 (package
6368 (name "emacs-orgalist")
6369 (version "1.9")
6370 (source
6371 (origin
6372 (method url-fetch)
6373 (uri (string-append "https://elpa.gnu.org/packages/"
6374 "orgalist-" version ".el"))
6375 (sha256
6376 (base32
6377 "1rmmcyiiqkq54hn74nhzxzl4nvd902hv6gq341jwhrm7yiagffi6"))))
6378 (build-system emacs-build-system)
6379 (home-page "http://elpa.gnu.org/packages/orgalist.html")
6380 (synopsis "Manage Org-like lists in non-Org buffers")
6381 (description "Write Org mode's plain lists in non-Org buffers. More
6382specifically, Orgalist supports the syntax of Org mode for numbered,
6383unnumbered, description items, checkboxes, and counter cookies.
6384
6385The library also implements radio lists, i.e., lists written in Org
6386syntax later translated into the host format, e.g., LaTeX or HTML.")
6387 (license license:gpl3+)))
6388
6389(define-public emacs-writegood-mode
6390 (package
6391 (name "emacs-writegood-mode")
6392 (version "2.0.2")
6393 (home-page "https://github.com/bnbeckwith/writegood-mode")
6394 (source (origin
6395 (method git-fetch)
6396 (uri (git-reference
6397 (url home-page)
6398 (commit (string-append "v" version))))
6399 (sha256
6400 (base32
6401 "1nnjn1r669hvvzfycllwap4w04m8rfsk4nzcg8057m1f263kj31b"))
6402 (file-name (string-append name "-checkout"))))
6403 (build-system emacs-build-system)
6404 (synopsis "Polish up poor writing on the fly")
6405 (description
6406 "This minor mode tries to find and highlight problems with your writing
6407in English as you type. It primarily detects \"weasel words\" and abuse of
6408passive voice.")
6409 (license license:gpl3+)))
6410
6411(define-public emacs-neotree
6412 (package
6413 (name "emacs-neotree")
6414 (version "0.5.2")
6415 (home-page "https://github.com/jaypei/emacs-neotree")
6416 (source (origin
6417 (method url-fetch)
6418 (uri (string-append
6419 "https://github.com/jaypei/" name
6420 "/archive/" version ".tar.gz"))
6421 (sha256
6422 (base32
6423 "1zd6dchwyijnf7kgchfcp51gs938l204dk9z6mljrfqf2zy0gp12"))
6424 (file-name (string-append name "-" version ".tar.gz"))))
6425 (build-system emacs-build-system)
6426 (synopsis "Folder tree view for Emacs")
6427 (description "This Emacs package provides a folder tree view.")
6428 (license license:gpl3+)))
6429
6430(define-public emacs-org
6431 (package
6432 (name "emacs-org")
6433 ;; emacs-org-contrib inherits from this package. Please update its sha256
6434 ;; checksum as well.
ec898776 6435 (version "9.2.3")
eeb883cb
RW
6436 (source (origin
6437 (method url-fetch)
6438 (uri (string-append "http://elpa.gnu.org/packages/org-"
6439 version ".tar"))
6440 (sha256
6441 (base32
ec898776 6442 "0hqy4lns9q5p0l1ylgmlckqprn9sbasszhznanmv0rsh0gzhsbyw"))))
eeb883cb
RW
6443 (build-system emacs-build-system)
6444 (home-page "https://orgmode.org/")
6445 (synopsis "Outline-based notes management and organizer")
6446 (description "Org is an Emacs mode for keeping notes, maintaining TODO
6447lists, and project planning with a fast and effective lightweight markup
6448language. It also is an authoring system with unique support for literate
6449programming and reproducible research.")
6450 (license license:gpl3+)))
6451
6452(define-public emacs-org-contrib
6453 (package
6454 (inherit emacs-org)
6455 (name "emacs-org-contrib")
c4cea853 6456 (version "20190402")
eeb883cb
RW
6457 (source (origin
6458 (method url-fetch)
6459 (uri (string-append "https://orgmode.org/elpa/org-plus-contrib-"
6460 version ".tar"))
6461 (sha256
6462 (base32
c4cea853 6463 "0hbrhhq6sa0gz4ylzr54raxandqs4y953894b0hlr553b8sfl1wk"))))
eeb883cb
RW
6464 (arguments
6465 `(#:modules ((guix build emacs-build-system)
6466 (guix build utils)
6467 (guix build emacs-utils)
6468 (ice-9 ftw)
6469 (srfi srfi-1))
6470 #:phases
6471 (modify-phases %standard-phases
6472 (add-after 'install 'delete-org-files
6473 (lambda* (#:key inputs outputs #:allow-other-keys)
6474 (let* ((out (assoc-ref outputs "out"))
6475 (org (assoc-ref inputs "org"))
6476 (contrib-files
6477 (map basename (find-files out)))
6478 (org+contrib-files
6479 (map basename (find-files org)))
6480 (duplicates (lset-intersection
6481 string=? contrib-files org+contrib-files)))
6482 (with-directory-excursion
6483 (string-append
6484 out "/share/emacs/site-lisp/guix.d/org-contrib-" ,version)
6485 (for-each delete-file duplicates))
6486 #t))))))
6487 (propagated-inputs
6488 `(("arduino-mode" ,emacs-arduino-mode)
6489 ("cider" ,emacs-cider)
6490 ("org" ,emacs-org)
6491 ("scel" ,emacs-scel)))
6492 (synopsis "Contributed packages to Org mode")
6493 (description "Org is an Emacs mode for keeping notes, maintaining TODO
6494lists, and project planning with a fast and effective plain-text system.
6495
6496This package is equivalent to org-plus-contrib, but only includes additional
6497files that you would find in @file{contrib/} from the git repository.")))
6498
6499(define-public emacs-flx
6500 (package
6501 (name "emacs-flx")
6502 (version "0.6.1")
6503 (source
6504 (origin
6505 (method url-fetch)
6506 (uri (string-append "https://github.com/lewang/"
6507 "flx/archive/v" version ".tar.gz"))
6508 (sha256
6509 (base32
6510 "0bkcpnf1j4i2fcc2rllwbz62l00sw2mcia6rm5amgwvlkqavmkv6"))
6511 (file-name (string-append name "-" version ".tar.gz"))))
6512 (build-system emacs-build-system)
6513 (home-page "https://github.com/lewang/flx")
6514 (synopsis "Fuzzy matching for Emacs")
6515 (description
6516 "Flx provides fuzzy matching for emacs a la sublime text.
6517The sorting algorithm is a balance between word beginnings (abbreviation)
6518and contiguous matches (substring). The longer the substring match,
6519the higher it scores. This maps well to how we think about matching.
6520Flx has support for ido (interactively do things) through flx-ido.")
6521 (license license:gpl3+)))
6522
6523(define-public emacs-cyberpunk-theme
6524 (package
6525 (name "emacs-cyberpunk-theme")
6526 (version "1.19")
6527 (source
6528 (origin
6529 (method url-fetch)
6530 (uri (string-append "https://github.com/n3mo/cyberpunk-theme.el/"
6531 "archive/" version ".tar.gz"))
6532 (sha256
6533 (base32
6534 "05l5fxw1mn5py6mfhxrzyqjq0d8m5m1akfi46vrgh13r414jffvv"))
6535 (file-name (string-append name "-" version ".tar.gz"))))
6536 (build-system emacs-build-system)
6537 (home-page "https://github.com/n3mo/cyberpunk-theme.el")
6538 (synopsis "Cyberpunk theme for emacs built-in color theme support")
6539 (description
6540 "Cyberpunk color theme for the emacs 24+ built-in color theme support
6541known loosely as deftheme. Many mode-specific customizations are included.")
6542 (license license:gpl3+)))
6543
6544(define-public emacs-danneskjold-theme
6545 (let* ((commit "8733d2fe8743e8a01826ea6d4430ef376c727e57")
6546 (revision "1"))
6547 (package
6548 (name "emacs-danneskjold-theme")
6549 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
6550 (home-page "https://github.com/rails-to-cosmos/danneskjold-theme")
6551 (source
6552 (origin
6553 (method git-fetch)
6554 (uri (git-reference
6555 (url home-page)
6556 (commit commit)))
74ea764e 6557 (file-name (git-file-name name version))
eeb883cb
RW
6558 (sha256
6559 (base32
6560 "0s6rbsb0y8i8m5b9xm4gw1p1cxsxdqnqxqqb638pygz9f76mbir1"))))
6561 (build-system emacs-build-system)
6562 (arguments
6563 `(#:phases
6564 (modify-phases %standard-phases
6565 (add-after 'unpack 'delete-screenshots
6566 (lambda _
6567 (delete-file-recursively "screenshots") #t)))))
6568 (synopsis "High-contrast Emacs theme")
6569 (description
6570 "@code{danneskjold-theme} is a high-contrast theme for Emacs.")
6571 (license license:gpl3+))))
6572
6573(define-public emacs-dream-theme
6574 (let* ((commit "107a11d74365046f28a1802a2bdb5e69e4a7488b")
6575 (revision "1"))
6576 (package
6577 (name "emacs-dream-theme")
6578 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
6579 (source
6580 (origin
6581 (method git-fetch)
6582 (uri (git-reference
6583 (url "https://github.com/djcb/dream-theme")
6584 (commit commit)))
3211f45f 6585 (file-name (git-file-name name version))
eeb883cb
RW
6586 (sha256
6587 (base32
6588 "0za18nfkq4xqm35k6006vsixcbmvmxqgma4iw5sw37h8vmcsdylk"))))
6589 (build-system emacs-build-system)
6590 (home-page "https://github.com/djcb/dream-theme")
6591 (synopsis "High-contrast Emacs theme")
6592 (description
6593 "@code{dream-theme} is a dark, clean theme for Emacs. It is inspired
6594by zenburn, sinburn and similar themes, but slowly diverging from them.")
6595 (license license:gpl3+))))
6596
6597(define-public emacs-auto-complete
6598 (package
6599 (name "emacs-auto-complete")
6600 (version "1.5.1")
6601 (source
6602 (origin
6603 (method url-fetch)
6604 (uri (string-append "https://github.com/auto-complete/"
6605 "auto-complete/archive/v" version ".tar.gz"))
6606 (sha256
6607 (base32
6608 "1jvq4lj00hwml75lpmlciazy8f3bbg13gffsfnl835p4qd8l7yqv"))
6609 (file-name (string-append name "-" version ".tar.gz"))))
6610 (build-system emacs-build-system)
6611 (propagated-inputs
6612 `(("emacs-popup" ,emacs-popup)))
6613 (home-page "https://github.com/auto-complete/auto-complete")
6614 (synopsis "Intelligent auto-completion extension for Emacs")
6615 (description
6616 "Auto-Complete is an intelligent auto-completion extension for Emacs.
6617It extends the standard Emacs completion interface and provides an environment
6618that allows users to concentrate more on their own work. Its features are:
6619a visual interface, reduce overhead of completion by using statistic method,
6620extensibility.")
6621 (license license:gpl3+)))
6622
6623(define-public emacs-nginx-mode
6624 (package
6625 (name "emacs-nginx-mode")
6626 (version "1.1.9")
6627 (source
6628 (origin
4ccf99d6
TGR
6629 (method git-fetch)
6630 (uri (git-reference
6631 (url "https://github.com/ajc/nginx-mode.git")
6632 (commit (string-append "v" version))))
6633 (file-name (git-file-name name version))
eeb883cb 6634 (sha256
4ccf99d6 6635 (base32 "17dh5pr3gh6adrbqx588gimxbb2fr7iv2qrxv6r48w2727l344xs"))))
eeb883cb
RW
6636 (build-system emacs-build-system)
6637 (home-page "https://github.com/ajc/nginx-mode")
6638 (synopsis "Emacs major mode for editing nginx config files")
6639 (description "This package provides an Emacs major mode for
6640editing nginx config files.")
6641 (license license:gpl2+)))
6642
6643(define-public emacs-stream
6644 (package
6645 (name "emacs-stream")
6646 (version "2.2.0")
6647 (home-page "https://github.com/NicolasPetton/stream")
6648 (source
6649 (origin
6650 (method url-fetch)
6651 (file-name (string-append name "-" version ".tar.gz"))
6652 (uri (string-append home-page "/archive/"version ".tar.gz"))
6653 (sha256
6654 (base32 "03ql4nqfz5pn55mjly6clhvc3g7x2d28kj7mrlqmigvjbql39xxc"))))
6655 (build-system emacs-build-system)
6656 (synopsis "Implementation of streams for Emacs")
6657 (description "This library provides an implementation of streams for Emacs.
6658Streams are implemented as delayed evaluation of cons cells.")
6659 (license license:gpl3+)))
6660
6661(define-public emacs-el-search
6662 (let ((commit "f26277bfbb3fc3fc74beea6592f294c439796bd4")
6663 (revision "1"))
6664 (package
6665 (name "emacs-el-search")
6666 ;; No ufficial release.
6667 (version (string-append "0.0-" revision "." (string-take commit 7)))
6668 (home-page "https://github.com/emacsmirror/el-search")
6669 (source
6670 (origin
6671 (method git-fetch)
6672 (file-name (string-append name "-" version ".tar.gz"))
6673 (uri (git-reference
6674 (commit commit)
6675 (url (string-append home-page ".git"))))
6676 (sha256
6677 (base32 "12xf40h9sb7xxg2r97gsia94q02543mgiiiw46fzh1ac7b7993g6"))))
6678 (build-system emacs-build-system)
6679 (inputs `(("emacs-stream" ,emacs-stream)))
6680 (synopsis "Expression based interactive search for emacs-lisp-mode")
6681 (description "This package provides expression based interactive search
6682procedures for emacs-lisp-mode.")
6683 (license license:gpl3+))))
6684
6685(define-public emacs-ht
6686 (package
6687 (name "emacs-ht")
b6ecf3d7 6688 (version "2.2")
eeb883cb
RW
6689 (source
6690 (origin
76a18a0c
TGR
6691 (method git-fetch)
6692 (uri (git-reference
6693 (url "https://github.com/Wilfred/ht.el.git")
6694 (commit version)))
6695 (file-name (git-file-name name version))
eeb883cb 6696 (sha256
76a18a0c 6697 (base32 "1p3qa7g0wa0wbviv2f8bda39cjys3naayk5xjm3nxxmqsyy8papx"))))
eeb883cb
RW
6698 (build-system emacs-build-system)
6699 (propagated-inputs `(("emacs-dash" ,emacs-dash)))
6700 (home-page "https://github.com/Wilfred/ht.el")
6701 (synopsis "Hash table library for Emacs")
6702 (description
6703 "This package simplifies the use of hash tables in elisp. It also
6704provides functions to convert hash tables from and to alists and plists.")
6705 (license license:gpl3+)))
6706
6707(define-public emacs-log4e
6708 (package
6709 (name "emacs-log4e")
6710 (version "0.3.0")
6711 (source
6712 (origin
4f37ade0
TGR
6713 (method git-fetch)
6714 (uri (git-reference
6715 (url "https://github.com/aki2o/log4e.git")
6716 (commit (string-append "v" version))))
6717 (file-name (git-file-name name version))
eeb883cb 6718 (sha256
4f37ade0 6719 (base32 "1l28n7a0v2zkknc70i1wn6qb5i21dkhfizzk8wcj28v44cgzk022"))))
eeb883cb
RW
6720 (build-system emacs-build-system)
6721 (arguments
6722 `(#:phases
6723 (modify-phases %standard-phases
6724 (add-after 'unpack 'remove-tests
6725 ;; Guile builder complains about null characters in some
6726 ;; strings of test files. Remove "test" directory (it is not
6727 ;; needed anyway).
6728 (lambda _
6729 (delete-file-recursively "test"))))))
6730 (home-page "https://github.com/aki2o/log4e")
6731 (synopsis "Logging framework for elisp")
6732 (description
6733 "This package provides a logging framework for elisp. It allows
6734you to deal with multiple log levels.")
6735 (license license:gpl3+)))
6736
6737(define-public emacs-gntp
6738 (package
6739 (name "emacs-gntp")
6740 (version "0.1")
6741 (source
6742 (origin
ecf940ea
TGR
6743 (method git-fetch)
6744 (uri (git-reference
6745 (url "https://github.com/tekai/gntp.el.git")
6746 (commit (string-append "v" version))))
6747 (file-name (git-file-name name version))
eeb883cb 6748 (sha256
ecf940ea 6749 (base32 "1nvyjjjydrimpxy4cpg90si7sr8lmldbhlcm2mx8npklp9pn5y3a"))))
eeb883cb
RW
6750 (build-system emacs-build-system)
6751 (home-page "https://github.com/tekai/gntp.el")
6752 (synopsis "Growl Notification Protocol for Emacs")
6753 (description
6754 "This package implements the Growl Notification Protocol GNTP
6755described at @uref{http://www.growlforwindows.com/gfw/help/gntp.aspx}.
6756It is incomplete as it only lets you send but not receive
6757notifications.")
6758 (license license:bsd-3)))
6759
6760(define-public emacs-alert
6761 (package
6762 (name "emacs-alert")
6763 (version "1.2")
6764 (source
6765 (origin
09f0c45d
TGR
6766 (method git-fetch)
6767 (uri (git-reference
6768 (url "https://github.com/jwiegley/alert.git")
6769 (commit (string-append "v" version))))
6770 (file-name (git-file-name name version))
eeb883cb 6771 (sha256
09f0c45d 6772 (base32 "1vpc3q40m6dcrslki4bg725j4kv6c6xfxwjjl1ilg7la49fwwf26"))))
eeb883cb
RW
6773 (build-system emacs-build-system)
6774 (propagated-inputs
6775 `(("emacs-gntp" ,emacs-gntp)
6776 ("emacs-log4e" ,emacs-log4e)))
6777 (home-page "https://github.com/jwiegley/alert")
6778 (synopsis "Growl-style notification system for Emacs")
6779 (description
6780 "Alert is a Growl-workalike for Emacs which uses a common notification
6781interface and multiple, selectable \"styles\", whose use is fully
6782customizable by the user.")
6783 (license license:gpl2+)))
6784
c881ed86
BL
6785(define-public emacs-zones
6786 (let ((commit "353fc38a6544eb59887bee045e373406f1d038a5")
6787 (revision "1"))
6788 (package
6789 (name "emacs-zones")
6790 (version (git-version "0" revision commit))
6791 (source
6792 (origin
6793 (method git-fetch)
6794 (uri (git-reference
6795 (url "https://github.com/emacsmirror/zones.git")
6796 (commit commit)))
6797 (file-name (git-file-name name version))
6798 (sha256
6799 (base32
f125c5a5
BL
6800 "0gwnw2giii2a14nlh62xp45f47cw6ikqphhzpmcw6c7mn9x5z2ar"))
6801 (patches
6802 (search-patches
6803 "emacs-zones-called-interactively.patch"))))
c881ed86
BL
6804 (build-system emacs-build-system)
6805 (home-page "https://www.emacswiki.org/emacs/Zones")
6806 (synopsis "Define and act on multiple zones of buffer text")
6807 (description "Library @file{zones.el} lets you easily define and
6808subsequently act on multiple zones of buffer text. You can think of this as
6809enlarging the notion of region. In effect, it can remove the requirement of
6810target text being a contiguous sequence of characters. A set of buffer zones
6811is, in effect, a (typically) noncontiguous set of text.")
6812 (license license:gpl3+))))
6813
eeb883cb
RW
6814(define-public emacs-mu4e-alert
6815 (package
6816 (name "emacs-mu4e-alert")
6817 (version "1.0")
6818 (source
6819 (origin
86f18e4e
TGR
6820 (method git-fetch)
6821 (uri (git-reference
6822 (url "https://github.com/iqbalansari/mu4e-alert.git")
6823 (commit (string-append "v" version))))
6824 (file-name (git-file-name name version))
eeb883cb 6825 (sha256
86f18e4e 6826 (base32 "1nvsfbfsma59ilf7c3vjngnmx3aapwvvvaafdy5szm5r6lkicqvg"))))
eeb883cb
RW
6827 (build-system emacs-build-system)
6828 (propagated-inputs
6829 `(("emacs-alert" ,emacs-alert)
6830 ("emacs-s" ,emacs-s)
6831 ("emacs-ht" ,emacs-ht)
6832 ("mu" ,mu)))
6833 (home-page "https://github.com/iqbalansari/mu4e-alert")
6834 (synopsis "Desktop notification for mu4e")
6835 (description
6836 "This package provides desktop notifications for mu4e.
6837Additionally it can display the number of unread emails in the
6838mode-line.")
6839 (license license:gpl3+)))
6840
6841(define-public emacs-pretty-mode
6842 (package
6843 (name "emacs-pretty-mode")
6844 (version "2.0.3")
6845 (source
6846 (origin
6847 (method url-fetch)
6848 (uri (string-append "https://github.com/akatov/pretty-mode/"
6849 "archive/" version ".tar.gz"))
6850 (file-name (string-append name "-" version ".tar.gz"))
6851 (sha256
6852 (base32
6853 "1fan7m4vnqs8kpg7r54kx3g7faadkpkf9kzarfv8n57kq8w157pl"))))
6854 (build-system emacs-build-system)
6855 (home-page "https://github.com/akatov/pretty-mode")
6856 (synopsis "Redisplay parts of the buffer as Unicode symbols")
6857 (description
6858 "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
6859 (license license:gpl3+)))
6860
6861(define-public emacs-yasnippet
6862 (package
6863 (name "emacs-yasnippet")
6864 (version "0.13.0")
6865 (source (origin
6866 (method url-fetch)
6867 (uri (string-append "https://github.com/joaotavora/yasnippet/"
6868 "archive/" version ".tar.gz"))
6869 (file-name (string-append name "-" version ".tar.gz"))
6870 (sha256
6871 (base32
6872 "12ls2x17agzbrj1xynjbmfa11igqxia4hj4fv6fpr66yci2r1plc"))
6873 (modules '((guix build utils)))
6874 (snippet
6875 '(begin
6876 ;; YASnippet expects a "snippets" subdirectory in the same
6877 ;; directory as yasnippet.el, but we don't install it
6878 ;; because it's a git submodule pointing to an external
6879 ;; repository. Adjust `yas-snippet-dirs' to prevent
6880 ;; warnings about a missing directory.
6881 (substitute* "yasnippet.el"
6882 (("^ +'yas-installed-snippets-dir\\)\\)\n")
6883 "))\n"))
6884 #t))))
6885 (build-system emacs-build-system)
6886 (home-page "https://github.com/joaotavora/yasnippet")
6887 (synopsis "Yet another snippet extension for Emacs")
6888 (description
6889 "YASnippet is a template system for Emacs. It allows you to type an
6890abbreviation and automatically expand it into function templates.")
6891 (license license:gpl3+)))
6892
6893(define-public emacs-yasnippet-snippets
6894 (let ((commit "885050d34737e2fb36a3e7759d60c09347bd4ce0")
6895 (revision "1"))
6896 (package
6897 (name "emacs-yasnippet-snippets")
6898 (version (string-append "1-" revision "." (string-take commit 8)))
6899 (source
6900 (origin
6901 (method git-fetch)
6902 (uri (git-reference
6903 (url "https://github.com/AndreaCrotti/yasnippet-snippets")
6904 (commit commit)))
a30417d6 6905 (file-name (git-file-name name version))
eeb883cb
RW
6906 (sha256
6907 (base32
6908 "1m935zgglw0iakzrixld5rcjz3wnj84f8wy2mvc3pggjri9l0qr9"))))
6909 (build-system trivial-build-system)
6910 (arguments
6911 `(#:modules ((ice-9 ftw)
6912 (ice-9 regex)
6913 (guix build utils))
6914 #:builder
6915 (begin
6916 (use-modules (ice-9 ftw)
6917 (ice-9 regex)
6918 (guix build utils))
6919 (with-directory-excursion (assoc-ref %build-inputs "source")
6920 (for-each (lambda (dir)
6921 (copy-recursively
6922 dir
6923 (string-append %output
6924 "/share/emacs/yasnippet-snippets/"
6925 dir)))
6926 (scandir "." (lambda (fname)
6927 (and (string-match "-mode$" fname)
6928 (directory-exists? fname))))))
6929 #t)))
6930 (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
6931 (synopsis "Collection of YASnippet snippets for many languages")
6932 (description
6933 "Provides Andrea Crotti's collection of YASnippet snippets. After installation,
6934the snippets will be in \"~/.guix-profile/share/emacs/yasnippet-snippets/\".
6935To make YASnippet aware of these snippets, add the above directory to
6936@code{yas-snippet-dirs}.")
6937 (license license:expat))))
6938
6939(define-public emacs-helm-c-yasnippet
6940 (let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")
6941 (revision "1"))
6942 (package
6943 (name "emacs-helm-c-yasnippet")
6944 (version (string-append "0.6.7" "-" revision "."
6945 (string-take commit 7)))
6946 (source (origin
6947 (method git-fetch)
6948 (uri (git-reference
6949 (url "https://github.com/emacs-jp/helm-c-yasnippet")
6950 (commit commit)))
a549aaf4 6951 (file-name (git-file-name name version))
eeb883cb
RW
6952 (sha256
6953 (base32
6954 "1cbafjqlzxbg19xfdqsinsh7afq58gkf44rsg1qxfgm8g6zhr7f8"))))
6955 (build-system emacs-build-system)
6956 (propagated-inputs
6957 `(("emacs-helm" ,emacs-helm)
6958 ("emacs-yasnippet" ,emacs-yasnippet)))
6959 (home-page "https://github.com/emacs-jp/helm-c-yasnippet")
6960 (synopsis "Helm integration for Yasnippet")
6961 (description "This Emacs library provides Helm interface for
6962Yasnippet.")
6963 (license license:gpl2+))))
6964
6965(define-public emacs-helm-system-packages
703a095e
PN
6966 ;; There won't be a new release after 1.10.1 until
6967 ;; https://github.com/emacs-helm/helm-system-packages/issues/25 is fixed,
6968 ;; and latest commits fix import issues with Guix.
6969 (let ((commit "6572340f41611ef1991e9612d34d59130957ee4a"))
6970 (package
6971 (name "emacs-helm-system-packages")
6972 (version (git-version "1.10.1" "1" commit))
6973 (source (origin
6974 (method git-fetch)
6975 (uri (git-reference
6976 (url "https://github.com/emacs-helm/helm-system-packages")
6977 (commit commit)))
6978 (file-name (git-file-name name version))
6979 (sha256
6980 (base32
6981 "0mcz6vkpk12vsyd37xv1rbg4v442sxc3lj8yxskqg294xbdaclz4"))))
6982 (build-system emacs-build-system)
6983 (inputs
6984 `(("recutils" ,recutils)))
6985 (propagated-inputs
6986 `(("emacs-helm" ,emacs-helm)))
6987 (arguments
6988 `(#:phases
6989 (modify-phases %standard-phases
6990 (add-after 'unpack 'configure
6991 (lambda* (#:key inputs outputs #:allow-other-keys)
6992 (let ((recutils (assoc-ref inputs "recutils")))
6993 ;; Specify the absolute file names of the various
6994 ;; programs so that everything works out-of-the-box.
6995 (substitute* "helm-system-packages-guix.el"
6996 (("recsel") (string-append recutils "/bin/recsel")))))))))
6997 (home-page "https://github.com/emacs-helm/helm-system-packages")
6998 (synopsis "Helm System Packages is an interface to your package manager")
6999 (description "List all available packages in Helm (with installed
eeb883cb
RW
7000packages displayed in their own respective face). Fuzzy-search, mark and
7001execute the desired action over any selections of packages: Install,
7002uninstall, display packages details (in Org Mode) or insert details at point,
7003find files owned by packages... And much more, including performing all the
7004above over the network.")
703a095e 7005 (license license:gpl3+))))
eeb883cb
RW
7006
7007(define-public emacs-memoize
7008 (package
7009 (name "emacs-memoize")
7010 (version "1.1")
7011 (source
7012 (origin
54b29af0
TGR
7013 (method git-fetch)
7014 (uri (git-reference
7015 (url "https://github.com/skeeto/emacs-memoize.git")
7016 (commit version)))
7017 (file-name (git-file-name name version))
eeb883cb 7018 (sha256
54b29af0 7019 (base32 "04qgnlg4x6va7x364dhj1wbjmz8p5iq2vk36mn9198k2vxmijwzk"))))
eeb883cb
RW
7020 (build-system emacs-build-system)
7021 (arguments
7022 `(#:tests? #t
7023 #:test-command '("emacs" "--batch"
7024 "-l" "memoize-test.el"
7025 "-f" "ert-run-tests-batch-and-exit")))
7026 (home-page "https://github.com/skeeto/emacs-memoize")
7027 (synopsis "Emacs lisp memoization library")
7028 (description "@code{emacs-memoize} is an Emacs library for
7029memoizing functions.")
7030 (license license:unlicense)))
7031
7032(define-public emacs-linum-relative
7033 (package
7034 (name "emacs-linum-relative")
7035 (version "0.5")
7036 (source
7037 (origin
7896c19c
TGR
7038 (method git-fetch)
7039 (uri (git-reference
7040 (url "https://github.com/coldnew/linum-relative.git")
7041 (commit version)))
7042 (file-name (git-file-name name version))
eeb883cb 7043 (sha256
7896c19c 7044 (base32 "11bjnqqwvr9zrvz5dlm8a0yw4zg9ysh3jdiq5a6iw09d3f0h1v2s"))))
eeb883cb
RW
7045 (build-system emacs-build-system)
7046 (home-page "https://github.com/coldnew/linum-relative")
7047 (synopsis "Relative line numbering for Emacs")
7048 (description "@code{emacs-linum-relative} displays the relative line
7049number on the left margin in Emacs.")
7050 (license license:gpl2+)))
7051
7052(define-public emacs-idle-highlight
7053 (package
7054 (name "emacs-idle-highlight")
7055 (version "1.1.3")
7056 (source
7057 (origin
f782bf4a
TGR
7058 (method git-fetch)
7059 (uri (git-reference
7060 (url "https://github.com/nonsequitur/idle-highlight-mode.git")
7061 (commit version)))
7062 (file-name (git-file-name name version))
eeb883cb 7063 (sha256
f782bf4a 7064 (base32 "0x4w1ksrw7dicl84zpf4d4scg672dyan9g95jkn6zvri0lr8xciv"))))
eeb883cb
RW
7065 (build-system emacs-build-system)
7066 (home-page "https://www.emacswiki.org/emacs/IdleHighlight")
7067 (synopsis "Highlights all occurrences of the word the point is on")
7068 (description
7069 "This Emacs package provides @code{idle-highlight-mode} that sets
7070 an idle timer to highlight all occurrences in the buffer of the word under
7071 the point.")
7072 (license license:gpl3+)))
7073
7074(define-public emacs-ox-twbs
7075 (package
7076 (name "emacs-ox-twbs")
7077 (version "1.1.1")
7078 (source
7079 (origin
aad5c928
TGR
7080 (method git-fetch)
7081 (uri (git-reference
7082 (url "https://github.com/marsmining/ox-twbs.git")
7083 (commit (string-append "v" version))))
7084 (file-name (git-file-name name version))
eeb883cb 7085 (sha256
aad5c928 7086 (base32 "0kd45p8y7ykadmai4jn1x1pgpafyqggwb1ccbjzalxw4k9wmd45f"))))
eeb883cb
RW
7087 (build-system emacs-build-system)
7088 (home-page "https://github.com/marsmining/ox-twbs")
7089 (synopsis "Export org-mode docs as HTML compatible with Twitter Bootstrap")
7090 (description
7091 "This Emacs package outputs your org-mode docs with a simple, clean and
7092modern look. It implements a new HTML back-end for exporting org-mode docs as
7093HTML compatible with Twitter Bootstrap. By default, HTML is exported with
7094jQuery and Bootstrap resources included via osscdn.")
7095 (license license:gpl3+)))
7096
7097(define-public emacs-highlight-sexp
7098 (package
7099 (name "emacs-highlight-sexp")
7100 (version "1.0")
7101 (source
7102 (origin
d82680e6
TGR
7103 (method git-fetch)
7104 (uri (git-reference
7105 (url "https://github.com/daimrod/highlight-sexp.git")
7106 (commit (string-append "v" version))))
7107 (file-name (git-file-name name version))
eeb883cb 7108 (sha256
d82680e6 7109 (base32 "12cyk2q5g6p4ac2hykw1cag7dp1prjjnck5f7nalwwaklmy62y79"))))
eeb883cb
RW
7110 (build-system emacs-build-system)
7111 (home-page "https://github.com/daimrod/highlight-sexp")
7112 (synopsis "Minor mode that highlights the s-exp at the current position")
7113 (description
7114 "This Emacs package highlights the s-exp at the current position.")
7115 (license license:gpl3+)))
7116
7117(define-public emacs-highlight-stages
7118 (let ((commit "29cbc5b78261916da042ddb107420083da49b271")
7119 (revision "1"))
7120 (package
7121 (name "emacs-highlight-stages")
7122 (version (string-append "1.1.0" "-" revision "." (string-take commit 7)))
7123 (source
7124 (origin
7125 (method git-fetch)
7126 (uri (git-reference
7127 (url "https://github.com/zk-phi/highlight-stages.git")
7128 (commit commit)))
6c4f58ad 7129 (file-name (git-file-name name version))
eeb883cb
RW
7130 (sha256
7131 (base32
7132 "0r6nbcrr0dqpgm8dir8ahzjy7rw4nrac48byamzrq96r7ajlxlv0"))
7133 (patches
7134 (search-patches "emacs-highlight-stages-add-gexp.patch"))))
7135 (build-system emacs-build-system)
7136 (home-page "https://github.com/wigust/highlight-stages")
7137 (synopsis "Minor mode that highlights (quasi-quoted) expressions")
7138 (description "@code{highlight-stages} provides an Emacs minor mode that
7139highlights quasi-quoted expressions.")
7140 (license license:gpl3+))))
7141
7142(define-public emacspeak
7143 (package
7144 (name "emacspeak")
92b1b6f6 7145 (version "50.0")
eeb883cb
RW
7146 (source
7147 (origin
7148 (method url-fetch)
7149 (uri (string-append
7150 "https://github.com/tvraman/emacspeak/releases/download/"
7151 version "/emacspeak-" version ".tar.bz2"))
7152 (sha256
7153 (base32
92b1b6f6 7154 "0rsj7rzfyqmyidfsjrhjnxi2d43axx6r3gac1fhv5xkkbiiqzqkb"))))
eeb883cb
RW
7155 (build-system gnu-build-system)
7156 (arguments
7157 '(#:make-flags (list (string-append "prefix="
7158 (assoc-ref %outputs "out")))
7159 #:phases
7160 (modify-phases %standard-phases
7161 (replace 'configure
92b1b6f6
KK
7162 (lambda _
7163 (setenv "SHELL" (which "sh"))
7164 ;; Configure Emacspeak according to etc/install.org.
7165 (invoke "make" "config")))
eeb883cb
RW
7166 (add-after 'build 'build-espeak
7167 (lambda _
7168 (invoke "make" "espeak")))
7169 (replace 'install
7170 (lambda* (#:key inputs outputs #:allow-other-keys)
7171 (let* ((out (assoc-ref outputs "out"))
7172 (bin (string-append out "/bin"))
7173 (lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
7174 (info (string-append out "/share/info"))
7175 (emacs (string-append (assoc-ref inputs "emacs")
7176 "/bin/emacs")))
7177 ;; According to etc/install.org, the Emacspeak directory should
7178 ;; be copied to its installation destination.
7179 (for-each
7180 (lambda (file)
7181 (copy-recursively file (string-append lisp "/" file)))
92b1b6f6 7182 '("etc" "info" "js" "lisp" "media" "servers" "sounds"
eeb883cb
RW
7183 "stumpwm" "xsl"))
7184 ;; Make sure emacspeak is loaded from the correct directory.
7185 (substitute* "etc/emacspeak.sh"
ea32c946
KK
7186 (("/lisp/emacspeak-setup.el")
7187 (string-append lisp "/lisp/emacspeak-setup.el")))
eeb883cb
RW
7188 ;; Install the convenient startup script.
7189 (mkdir-p bin)
7190 (copy-file "etc/emacspeak.sh" (string-append bin "/emacspeak")))
7191 #t))
7192 (add-after 'install 'wrap-program
7193 (lambda* (#:key inputs outputs #:allow-other-keys)
7194 (let* ((out (assoc-ref outputs "out"))
7195 (emacspeak (string-append out "/bin/emacspeak"))
7196 (espeak (string-append (assoc-ref inputs "espeak")
7197 "/bin/espeak")))
7198 ;; The environment variable DTK_PROGRAM tells emacspeak what
7199 ;; program to use for speech.
7200 (wrap-program emacspeak
7201 `("DTK_PROGRAM" ":" prefix (,espeak)))
7202 #t))))
7203 #:tests? #f)) ; no check target
7204 (inputs
7205 `(("emacs" ,emacs)
7206 ("espeak" ,espeak)
7207 ("perl" ,perl)
7208 ("tcl" ,tcl)
7209 ("tclx" ,tclx)))
7210 (home-page "http://emacspeak.sourceforge.net")
7211 (synopsis "Audio desktop interface for Emacs")
7212 (description
7213 "Emacspeak is a speech interface that allows visually impaired users to
7214interact independently and efficiently with the computer. Audio formatting
7215--a technique pioneered by AsTeR-- and full support for W3C's Aural CSS (ACSS)
7216allows Emacspeak to produce rich aural presentations of electronic information.
7217By seamlessly blending all aspects of the Internet such as Web-surfing and
7218messaging, Emacspeak speech-enables local and remote information via a
7219consistent and well-integrated user interface.")
7220 (license license:gpl2+)))
7221
7222(define-public emacs-adaptive-wrap
7223 (package
7224 (name "emacs-adaptive-wrap")
7225 (version "0.5.1")
7226 (source (origin
7227 (method url-fetch)
7228 (uri (string-append
7229 "http://elpa.gnu.org/packages/adaptive-wrap-"
7230 version ".el"))
7231 (sha256
7232 (base32
7233 "0qi7gjprcpywk2daivnlavwsx53hl5wcqvpxbwinvigg42vxh3ll"))))
7234 (build-system emacs-build-system)
7235 (home-page "http://elpa.gnu.org/packages/adaptive-wrap.html")
7236 (synopsis "Smart line-wrapping with wrap-prefix")
7237 (description
7238 "This Emacs package provides the @code{adaptive-wrap-prefix-mode}
7239minor mode which sets the wrap-prefix property on the fly so that
7240single-long-line paragraphs get word-wrapped in a way similar to what
7241you'd get with @kbd{M-q} using @code{adaptive-fill-mode}, but without
7242actually changing the buffer's text.")
7243 (license license:gpl3+)))
7244
7245(define-public emacs-diff-hl
2e62ba46
BL
7246 (package
7247 (name "emacs-diff-hl")
7248 (version "1.8.6")
7249 (source
7250 (origin
7251 (method git-fetch)
7252 (uri (git-reference
7253 (url "https://github.com/dgutov/diff-hl")
7254 (commit version)))
7255 (sha256
eeb883cb 7256 (base32
2e62ba46
BL
7257 "1xlsg728mz3cwhrsqvisa0aidic67nymd9g7h4c1h3q63j39yb2s"))))
7258 (build-system emacs-build-system)
7259 (home-page "https://github.com/dgutov/diff-hl")
7260 (synopsis
7261 "Highlight uncommitted changes using VC")
7262 (description
7263 "@code{diff-hl-mode} highlights uncommitted changes on the side of the
eeb883cb
RW
7264window (using the fringe, by default), allows you to jump between
7265the hunks and revert them selectively.")
2e62ba46 7266 (license license:gpl3+)))
eeb883cb
RW
7267
7268(define-public emacs-diminish
7269 (package
7270 (name "emacs-diminish")
7271 (version "0.45")
7272 (source
7273 (origin
6e469344
TGR
7274 (method git-fetch)
7275 (uri (git-reference
7276 (url "https://github.com/myrjola/diminish.el.git")
7277 (commit (string-append "v" version))))
7278 (file-name (git-file-name name version))
eeb883cb 7279 (sha256
6e469344 7280 (base32 "0qpgfgp8hrzz4vdifxq8h25n0a0jlzgf7aa1fpy6r0080v5rqbb6"))))
eeb883cb
RW
7281 (build-system emacs-build-system)
7282 (home-page "https://github.com/myrjola/diminish.el")
7283 (synopsis "Diminish minor modes with no modeline display")
7284 (description "@code{emacs-diminish} implements hiding or
7285abbreviation of the mode line displays (lighters) of minor modes.")
7286 (license license:gpl2+)))
7287
7288(define-public emacs-use-package
6dedf0ae
AI
7289 (package
7290 (name "emacs-use-package")
7291 (version "2.4")
7292 (source (origin
eeb883cb
RW
7293 (method git-fetch)
7294 (uri (git-reference
7295 (url "https://github.com/jwiegley/use-package")
6dedf0ae 7296 (commit version)))
eeb883cb
RW
7297 (file-name (git-file-name name version))
7298 (sha256
7299 (base32
6dedf0ae
AI
7300 "1b7mjjh0d6fmkkd9vyj64vca27xqhga0nvyrrcqxpqjn62zq046y"))))
7301 (build-system emacs-build-system)
7302 (propagated-inputs
7303 `(("emacs-diminish" ,emacs-diminish)))
7304 (arguments
7305 `(#:tests? #t
7306 #:test-command '("emacs" "--batch"
7307 "-l" "use-package-tests.el"
7308 "-f" "ert-run-tests-batch-and-exit")))
7309 (home-page "https://github.com/jwiegley/use-package")
7310 (synopsis "Declaration for simplifying your .emacs")
7311 (description "The use-package macro allows you to isolate package
eeb883cb
RW
7312configuration in your @file{.emacs} file in a way that is both
7313performance-oriented and tidy.")
6dedf0ae 7314 (license license:gpl2+)))
eeb883cb
RW
7315
7316(define-public emacs-strace-mode
7317 (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
7318 (revision "1"))
7319 (package
7320 (name "emacs-strace-mode")
7321 (version (string-append "0.0.2-" revision "." (string-take commit 7)))
7322 (source (origin
7323 (method git-fetch)
7324 (uri (git-reference
7325 (url "https://github.com/pkmoore/strace-mode")
7326 (commit commit)))
0dac411d 7327 (file-name (git-file-name name version))
eeb883cb
RW
7328 (sha256
7329 (base32
7330 "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f"))))
7331 (build-system emacs-build-system)
7332 (home-page "https://github.com/pkmoore/strace-mode")
7333 (synopsis "Emacs major mode to highlight strace outputs")
7334 (description "@code{emacs-strace-mode} provides an Emacs major mode
7335 highlighting strace outputs.")
7336 (license license:gpl3+))))
7337
7338(define-public emacs-default-encrypt
7339 (package
7340 (name "emacs-default-encrypt")
3c33931c 7341 (version "4.4")
eeb883cb
RW
7342 (source
7343 (origin
7344 (method url-fetch)
7345 (uri (string-append
3c33931c 7346 "https://informationelle-selbstbestimmung-im-internet.de"
eeb883cb
RW
7347 "/emacs/jl-encrypt" version "/jl-encrypt.el"))
7348 (file-name (string-append "jl-encrypt-" version ".el"))
7349 (sha256
7350 (base32
3c33931c 7351 "0w9ggz075j1zwg7d0rv9k8238g600p7czfnnsnawswi7yps2xk78"))))
eeb883cb 7352 (build-system emacs-build-system)
3c33931c
CM
7353 (home-page
7354 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
eeb883cb
RW
7355 (synopsis "Automatically encrypt or sign Gnus messages in Emacs")
7356 (description
7357 "DefaultEncrypt is designed to be used with Gnus in Emacs. It
7358automatically encrypts messages that you send (e.g., email) when public keys
7359for all recipients are available, and it protects you from accidentally
7360sending un-encrypted messages. It can also be configured to automatically
7361sign messages that you send. For details and instructions on how to use
7362DefaultEncrypt, please refer to the home page or read the comments in the
7363source file, @file{jl-encrypt.el}.")
7364 (license license:gpl3+)))
7365
0bc010da
CM
7366(define-public emacs-extend-smime
7367 (package
7368 (name "emacs-extend-smime")
7369 (version "3.3")
7370 (source
7371 (origin
7372 (method url-fetch)
7373 (uri (string-append
7374 "https://informationelle-selbstbestimmung-im-internet.de"
7375 "/emacs/jl-smime" version "/jl-smime.el"))
7376 (file-name (string-append "jl-smime-" version ".el"))
7377 (sha256
7378 (base32
7379 "1iv8s2wjmv3v5qfwlcy9hvvrmxxvp3f8m1krlr789q7bbh35jynh"))))
7380 (build-system emacs-build-system)
7381 (home-page
7382 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
7383 (synopsis "Improved S/MIME support for Gnus in Emacs")
7384 (propagated-inputs
7385 `(("emacs-default-encrypt" ,emacs-default-encrypt)))
7386 (description
7387 ;; TRANSLATORS: ExtendSMIME, DefaultEncrypt, and emacs-default-encrypt
7388 ;; should not be translated. The name "emacs-default-encrypt" refers to
7389 ;; the Guix package that provides DefaultEncrypt.
7390 "ExtendSMIME is designed to be used with Gnus in Emacs. It enhances
7391DefaultEncrypt (emacs-default-encrypt) to support S/MIME (Secure/Multipurpose
7392Internet Mail Extensions) via LDAP (Lightweight Directory Access Protocol).
7393Before a message (e.g., email) is sent, ExtendSMIME searches for missing
7394certificates via LDAP and imports them into @code{gpgsm}. When certificates
7395for all recipients are available, DefaultEncrypt automatically encrypts the
7396message. For details and instructions on how to use ExtendSMIME, please refer
7397to the home page or read the comments in the source file,
7398@file{jl-smime.el}.")
7399 (license license:gpl3+)))
7400
eeb883cb
RW
7401(define-public emacs-htmlize
7402 (package
7403 (name "emacs-htmlize")
7404 (version "1.53")
7405 (source
7406 (origin
eb930573
TGR
7407 (method git-fetch)
7408 (uri (git-reference
7409 (url "https://github.com/hniksic/emacs-htmlize.git")
7410 (commit (string-append "release/" version))))
7411 (file-name (git-file-name name version))
eeb883cb 7412 (sha256
eb930573 7413 (base32 "0dr235c0z8is3pi5xdgqyqljg6px0b2aya6qb79zkyi477bmz4ip"))))
eeb883cb
RW
7414 (build-system emacs-build-system)
7415 (home-page "https://github.com/hniksic/emacs-htmlize")
7416 (synopsis "Convert buffer text and decorations to HTML")
7417 (description "@code{emacs-htmlize} converts the buffer text and
7418the associated decorations to HTML. Output to CSS, inline CSS and
7419fonts is supported.")
7420 (license license:gpl2+)))
7421
7422(define-public emacs-xmlgen
7423 (package
7424 (name "emacs-xmlgen")
7425 (version "0.5")
7426 (source
7427 (origin
02248231
TGR
7428 (method git-fetch)
7429 (uri (git-reference
7430 (url "https://github.com/philjackson/xmlgen.git")
7431 (commit version)))
7432 (file-name (git-file-name name version))
eeb883cb 7433 (sha256
02248231 7434 (base32 "096i29v0badx0a6339h9ckdz78zj59gbjdp7vj7vhkq9d830392s"))))
eeb883cb
RW
7435 (build-system emacs-build-system)
7436 (arguments
7437 `(#:tests? #t
7438 #:test-command '("emacs" "--batch"
7439 "-l" "xmlgen-test.el"
7440 "-f" "ert-run-tests-batch-and-exit")))
7441 (home-page "https://github.com/philjackson/xmlgen")
7442 (synopsis "S-expression to XML domain specific language (DSL) in
7443Emacs Lisp")
7444 (description "@code{emacs-xmlgen} provides S-expression to XML
7445conversion for Emacs Lisp.")
7446 (license license:gpl2+)))
7447
7448(define-public emacs-cdlatex
7449 (package
7450 (name "emacs-cdlatex")
7451 (version "4.7")
7452 (source
7453 (origin
96a15c65
TGR
7454 (method git-fetch)
7455 (uri (git-reference
7456 (url "https://github.com/cdominik/cdlatex.git")
7457 (commit version)))
7458 (file-name (git-file-name name version))
eeb883cb 7459 (sha256
96a15c65 7460 (base32 "1jj9vmhc4s3ych08bjm1c2xwi81z1p20rj7bvxrgvb5aga2ghi9d"))))
eeb883cb
RW
7461 (build-system emacs-build-system)
7462 (propagated-inputs
7463 `(("emacs-auctex" ,emacs-auctex)))
7464 (home-page "https://github.com/cdominik/cdlatex")
7465 (synopsis "Fast Emacs input methods for LaTeX environments and
7466math")
7467 (description "CDLaTeX is an Emacs minor mode supporting fast
7468insertion of environment templates and math in LaTeX. Similar
7469commands are also offered as part of the AUCTeX package, but it is not
7470the same - CDLaTeX focuses on speediness for inserting LaTeX
7471constructs.")
7472 (license license:gpl3+)))
7473
7474(define-public emacs-cnfonts
7475 (package
7476 (name "emacs-cnfonts")
7477 (version "0.9.1")
64f8e50c
TGR
7478 (source
7479 (origin
7480 (method git-fetch)
7481 (uri (git-reference
7482 (url "https://github.com/tumashu/cnfonts.git")
7483 (commit (string-append "v" version))))
7484 (file-name (git-file-name name version))
7485 (sha256
7486 (base32 "11d44lf0m0kbzq1mvyqkl4aprys0xqaarp08nij57xnynin1rynx"))))
eeb883cb
RW
7487 (build-system emacs-build-system)
7488 (home-page "https://github.com/tumashu/cnfonts")
7489 (synopsis "Emacs Chinese fonts setup tool")
7490 (description "cnfonts is a Chinese fonts setup tool, allowing for easy
7491configuration of Chinese fonts.")
7492 (license license:gpl2+)))
7493
7494(define-public emacs-php-mode
7495 (package
7496 (name "emacs-php-mode")
7497 (version "20171225.342")
7498 (source (origin
7499 (method url-fetch)
7500 (uri (string-append
7501 "https://melpa.org/packages/php-mode-"
7502 version ".tar"))
7503 (sha256
7504 (base32
7505 "1zz682f34v4wsm2dyj1gnrnvsrqdq1cy7j8p6cvc398w2fziyg3q"))))
7506 (build-system emacs-build-system)
7507 (home-page "https://github.com/ejmr/php-mode")
7508 (synopsis "Major mode for editing PHP code")
7509 (description "@code{php-mode} is a major mode for editing PHP source
7510code. It's an extension of C mode; thus it inherits all C mode's navigation
7511functionality. But it colors according to the PHP grammar and indents
7512according to the PEAR coding guidelines. It also includes a couple handy
7513IDE-type features such as documentation search and a source and class
7514browser.")
7515 (license license:gpl3+)))
7516
7517(define-public emacs-pos-tip
7518 (package
7519 (name "emacs-pos-tip")
7520 (version "0.4.6")
b206798d
TGR
7521 (source
7522 (origin
7523 (method git-fetch)
7524 (uri (git-reference
7525 (url "https://github.com/pitkali/pos-tip.git")
7526 (commit version)))
7527 (file-name (git-file-name name version))
7528 (sha256
7529 (base32 "0w8bnspnk871qndp18hs0wk4x9x31xr9rwbvf5dc8mcbnj29ch33"))))
eeb883cb
RW
7530 (build-system emacs-build-system)
7531 ;; The following functions and variables needed by emacs-pos-tip are
7532 ;; not included in emacs-minimal:
7533 ;; x-display-pixel-width, x-display-pixel-height, x-show-tip
7534 (arguments `(#:emacs ,emacs))
7535 (home-page "https://github.com/pitkali/pos-tip")
7536 (synopsis "Show tooltip at point")
7537 (description "The standard library tooltip.el provides a function for
7538displaying a tooltip at the mouse position. However, locating a tooltip at an
7539arbitrary buffer position in a window is not easy. Pos-tip provides such a
7540function to be used by other frontend programs.")
7541 (license license:gpl2+)))
7542
7543(define-public emacs-pyim-basedict
7544 (package
7545 (name "emacs-pyim-basedict")
7546 (version "0.3.1")
ef138474
TGR
7547 (source
7548 (origin
7549 (method git-fetch)
7550 (uri (git-reference
7551 (url "https://github.com/tumashu/pyim-basedict.git")
7552 (commit (string-append "v" version))))
7553 (file-name (git-file-name name version))
7554 (sha256
7555 (base32 "0576r8ap9gp91ycjf1d47pn13kxp0f9fysn09zlq44hr0s1y2y5d"))))
eeb883cb
RW
7556 (build-system emacs-build-system)
7557 (home-page "https://github.com/tumashu/pyim-basedict")
7558 (synopsis "Input method dictionary of pyim")
7559 (description "Pyim-basedict is the default pinyin input method dictionary,
7560containing words from the rime project.")
7561 (license license:gpl2+)))
7562
7563(define-public emacs-pyim
7564 (package
7565 (name "emacs-pyim")
7566 (version "1.8")
7567 (source
7568 (origin
7569 (method git-fetch)
7570 (uri (git-reference
7571 (url "https://github.com/tumashu/pyim")
7572 (commit (string-append "v" version))))
7573 (file-name (git-file-name name version))
7574 (sha256
7575 (base32
7576 "16rma4cv7xgky0g3x4an27v30jdi6i1sqw43cl99zhkqvp43l3f9"))))
7577 (build-system emacs-build-system)
7578 (propagated-inputs
7579 `(("emacs-async" ,emacs-async)
7580 ("emacs-pyim-basedict" ,emacs-pyim-basedict)
7581 ("emacs-popup" ,emacs-popup)
7582 ("emacs-posframe" ,emacs-posframe)))
7583 (home-page "https://github.com/tumashu/pyim")
7584 (synopsis "Chinese input method")
7585 (description "Chinese input method which supports quanpin, shuangpin, wubi
7586and cangjie.")
7587 (license license:gpl2+)))
7588
7589(define-public emacs-posframe
7590 (package
7591 (name "emacs-posframe")
7592 (version "0.4.2")
7593 (source
7594 (origin
7595 (method url-fetch)
7596 (uri (string-append
7597 "https://elpa.gnu.org/packages/posframe-" version ".el"))
7598 (sha256
7599 (base32
7600 "1h8vvxvsg41vc1nnglqjs2q0k1yzfsn72skga9s76qa3zxmx6kds"))))
7601 (build-system emacs-build-system)
7602 ;; emacs-minimal does not include the function font-info
7603 (arguments `(#:emacs ,emacs))
7604 (home-page "https://github.com/tumashu/posframe")
7605 (synopsis "Pop a posframe (a child frame) at point")
7606 (description "@code{emacs-posframe} can pop a posframe at point. A
7607posframe is a child frame displayed within its root window's buffer.
7608@code{emacs-posframe} is fast and works well with CJK languages.")
7609 (license license:gpl3+)))
7610
7611(define-public emacs-el2org
7612 (package
7613 (name "emacs-el2org")
7614 (version "0.6.0")
ca8ddaaa
TGR
7615 (source
7616 (origin
7617 (method git-fetch)
7618 (uri (git-reference
7619 (url "https://github.com/tumashu/el2org.git")
7620 (commit (string-append "v" version))))
7621 (file-name (git-file-name name version))
7622 (sha256
7623 (base32 "0mzddqny6wpg1fv99xrvlv7rxmaifvmy5bvj4in4pldhm4cx4q1b"))))
eeb883cb
RW
7624 (build-system emacs-build-system)
7625 (home-page "https://github.com/tumashu/el2org")
7626 (synopsis "Convert Emacs-lisp file to org file")
7627 (description "El2org is a simple tool, which can convert Emacs-lisp file
7628to org file, you can use this tool to write orgify commentary.")
7629 (license license:gpl2+)))
7630
7631(define-public emacs-mustache
7632 (package
7633 (name "emacs-mustache")
7634 (version "0.23")
26ff7a32
TGR
7635 (source
7636 (origin
7637 (method git-fetch)
7638 (uri (git-reference
7639 (url "https://github.com/Wilfred/mustache.el.git")
7640 (commit version)))
7641 (file-name (git-file-name name version))
7642 (sha256
7643 (base32 "1n2ymd92qpvsby6ms0l3kjhdzzc47rri2aiscc6bs07hm4mjpr9q"))))
eeb883cb
RW
7644 (build-system emacs-build-system)
7645 (propagated-inputs
7646 `(("emacs-dash" ,emacs-dash)
7647 ("emacs-ht" ,emacs-ht)
7648 ("emacs-s" ,emacs-s)))
7649 (home-page "https://github.com/Wilfred/mustache.el")
7650 (synopsis "Mustache templating library for Emacs")
7651 (description "Mustache templating library for Emacs, mustache is
7652a simple web template system, which is described as a logic-less system
7653because it lacks any explicit control flow statements, both looping and
7654conditional evaluation can be achieved using section tags processing lists
7655and lambdas.")
7656 (license license:gpl3+)))
7657
7658(define-public emacs-org2web
7659 (package
7660 (name "emacs-org2web")
7661 (version "0.9.1")
c34dda94
TGR
7662 (source
7663 (origin
7664 (method git-fetch)
7665 (uri (git-reference
7666 (url "https://github.com/tumashu/org2web.git")
7667 (commit (string-append "v" version))))
7668 (file-name (git-file-name name version))
7669 (sha256
7670 (base32 "0wsvfn409a2ivbich8b8zqza78sprirg4bl7igx536ydqclmi0n7"))))
eeb883cb
RW
7671 (build-system emacs-build-system)
7672 (propagated-inputs
7673 `(("emacs-dash" ,emacs-dash)
7674 ("emacs-el2org" ,emacs-el2org)
7675 ("emacs-ht" ,emacs-ht)
7676 ("emacs-mustache" ,emacs-mustache)
7677 ("emacs-simple-httpd" ,emacs-simple-httpd)))
7678 (home-page "https://github.com/tumashu/org2web")
7679 (synopsis "Static site generator based on org-mode ")
7680 (description "Org2web is a static site generator based on org-mode,
7681which code derived from Kelvin H's org-page.")
7682 (license license:gpl2+)))
7683
7684(define-public emacs-xelb
7685 (package
7686 (name "emacs-xelb")
e3da630b 7687 (version "0.17")
eeb883cb
RW
7688 (source (origin
7689 (method url-fetch)
7690 (uri (string-append "https://elpa.gnu.org/packages/xelb-"
7691 version ".tar"))
7692 (sha256
7693 (base32
e3da630b 7694 "0k98580vq253fjdgklgqlwl450saninfw39fbq8lv3xsnp3dcgml"))))
eeb883cb
RW
7695 (build-system emacs-build-system)
7696 ;; The following functions and variables needed by emacs-xelb are
7697 ;; not included in emacs-minimal:
7698 ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym
7699 ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region
7700 ;; x-display-pixel-width, x-display-pixel-height
7701 (arguments
7702 `(#:emacs ,emacs
7703 #:phases
7704 (modify-phases %standard-phases
7705 (add-after 'unpack 'regenerate-el-files
7706 (lambda* (#:key inputs #:allow-other-keys)
7707 (invoke "make"
7708 (string-append "PROTO_PATH="
7709 (assoc-ref inputs "xcb-proto")
7710 "/share/xcb")
7711 (string-append "EMACS_BIN="
7712 (assoc-ref inputs "emacs")
7713 "/bin/emacs -Q")))))))
7714 (native-inputs `(("xcb-proto" ,xcb-proto)))
7715 (home-page "https://github.com/ch11ng/xelb")
7716 (synopsis "X protocol Emacs Lisp binding")
7717 (description "@code{emacs-xelb} is a pure Emacs Lisp implementation of the
7718X11 protocol based on the XML description files from the XCB project. It
7719features an object-oriented API and permits a certain degree of concurrency.
7720It should enable you to implement low-level X11 applications.")
7721 (license license:gpl3+)))
7722
7723(define-public emacs-exwm
7724 (package
7725 (name "emacs-exwm")
451a5ae9 7726 (version "0.22")
eeb883cb
RW
7727 (synopsis "Emacs X window manager")
7728 (source (origin
7729 (method url-fetch)
7730 (uri (string-append "https://elpa.gnu.org/packages/exwm-"
7731 version ".tar"))
7732 (sha256
7733 (base32
451a5ae9 7734 "0lppm8ng37i5s4x7xdrxhjbdcnpl6pyvn4g7w52zbckjsn8qnqh0"))))
eeb883cb
RW
7735 (build-system emacs-build-system)
7736 (propagated-inputs
7737 `(("emacs-xelb" ,emacs-xelb)))
7738 (inputs
7739 `(("xhost" ,xhost)
7740 ("dbus" ,dbus)))
7741 ;; The following functions and variables needed by emacs-exwm are
7742 ;; not included in emacs-minimal:
7743 ;; scroll-bar-mode, fringe-mode
7744 ;; x-display-pixel-width, x-display-pixel-height
7745 (arguments
7746 `(#:emacs ,emacs
7747 #:phases
7748 (modify-phases %standard-phases
7749 (add-after 'build 'install-xsession
7750 (lambda* (#:key inputs outputs #:allow-other-keys)
7751 (let* ((out (assoc-ref outputs "out"))
7752 (xsessions (string-append out "/share/xsessions"))
7753 (bin (string-append out "/bin"))
7754 (exwm-executable (string-append bin "/exwm")))
7755 ;; Add a .desktop file to xsessions
7756 (mkdir-p xsessions)
7757 (mkdir-p bin)
7758 (with-output-to-file
7759 (string-append xsessions "/exwm.desktop")
7760 (lambda _
7761 (format #t "[Desktop Entry]~@
7762 Name=~a~@
7763 Comment=~a~@
7764 Exec=~a~@
f7d011d2 7765 TryExec=~:*~a~@
eeb883cb
RW
7766 Type=Application~%" ,name ,synopsis exwm-executable)))
7767 ;; Add a shell wrapper to bin
7768 (with-output-to-file exwm-executable
7769 (lambda _
7770 (format #t "#!~a ~@
7771 ~a +SI:localuser:$USER ~@
7772 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
7773 (string-append (assoc-ref inputs "bash") "/bin/sh")
7774 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
7775 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
7776 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
7777 '(cond
7778 ((file-exists-p "~/.exwm")
7779 (load-file "~/.exwm"))
7780 ((not (featurep 'exwm))
7781 (require 'exwm)
7782 (require 'exwm-config)
7783 (exwm-config-default)
7784 (message (concat "exwm configuration not found. "
7785 "Falling back to default configuration...")))))))
7786 (chmod exwm-executable #o555)
7787 #t))))))
7788 (home-page "https://github.com/ch11ng/exwm")
7789 (description "EXWM is a full-featured tiling X window manager for Emacs
7790built on top of XELB.")
7791 (license license:gpl3+)))
7792
7793(define-public emacs-switch-window
7794 (package
7795 (name "emacs-switch-window")
7796 (version "1.6.2")
7797 (source
7798 (origin
7799 (method git-fetch)
7800 (uri (git-reference
7801 (url "https://github.com/dimitri/switch-window")
7802 (commit (string-append "v" version))))
7803 (file-name (git-file-name name version))
7804 (sha256
7805 (base32
7806 "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"))))
7807 (build-system emacs-build-system)
7808 (home-page "https://github.com/dimitri/switch-window")
7809 (synopsis "Emacs window switch tool")
7810 (description "Switch-window is an emacs window switch tool, which
7811offer a visual way to choose a window to switch to, delete, split or
7812other operations.")
7813 (license license:wtfpl2)))
7814
7815(define-public emacs-exwm-x
7816 (package
7817 (name "emacs-exwm-x")
7818 (version "1.9.0")
7819 (synopsis "Derivative window manager based on EXWM")
7820 (source
7821 (origin
7822 (method git-fetch)
7823 (uri (git-reference
7824 (url "https://github.com/tumashu/exwm-x")
7825 (commit (string-append "v" version))))
7826 (file-name (git-file-name name version))
7827 (sha256
7828 (base32
7829 "03l3dl7s1qys1kkh40rm1sfx7axy1b8sf5f6nyksj9ps6d30p5i4"))))
7830 (build-system emacs-build-system)
7831 (propagated-inputs
7832 `(("emacs-exwm" ,emacs-exwm)
7833 ("emacs-switch-window" ,emacs-switch-window)
7834 ("emacs-ivy" ,emacs-ivy)
7835 ("emacs-use-package" ,emacs-use-package)))
7836 (inputs
7837 `(("xhost" ,xhost)
7838 ("dbus" ,dbus)))
7839 ;; Need emacs instead of emacs-minimal,
7840 ;; for emacs's bin path will be inserted into bin/exwm-x file.
7841 (arguments
7842 `(#:emacs ,emacs
7843 #:phases
7844 (modify-phases %standard-phases
7845 (add-after 'build 'install-xsession
7846 (lambda* (#:key inputs outputs #:allow-other-keys)
7847 (let* ((out (assoc-ref outputs "out"))
7848 (xsessions (string-append out "/share/xsessions"))
7849 (bin (string-append out "/bin"))
7850 (exwm-executable (string-append bin "/exwm-x")))
7851 ;; Add a .desktop file to xsessions
7852 (mkdir-p xsessions)
7853 (mkdir-p bin)
7854 (with-output-to-file
7855 (string-append xsessions "/exwm-x.desktop")
7856 (lambda _
7857 (format #t "[Desktop Entry]~@
7858 Name=~a~@
7859 Comment=~a~@
7860 Exec=~a~@
7861 TryExec=~@*~a~@
7862 Type=Application~%" ,name ,synopsis exwm-executable)))
7863 ;; Add a shell wrapper to bin
7864 (with-output-to-file exwm-executable
7865 (lambda _
7866 (format #t "#!~a ~@
7867 ~a +SI:localuser:$USER ~@
7868 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
7869 (string-append (assoc-ref inputs "bash") "/bin/sh")
7870 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
7871 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
7872 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
7873 '(require 'exwmx-loader))))
7874 (chmod exwm-executable #o555)
7875 #t))))))
7876 (home-page "https://github.com/tumashu/exwm-x")
7877 (description "EXWM-X is a derivative window manager based on EXWM, with focus
7878on mouse-control.")
7879 (license license:gpl3+)))
7880
7881(define-public emacs-gnuplot
7882 (package
7883 (name "emacs-gnuplot")
7884 (version "0.7.0")
7885 (source
7886 (origin
f39c7c4a
TGR
7887 (method git-fetch)
7888 (uri (git-reference
7889 (url "https://github.com/bruceravel/gnuplot-mode.git")
7890 (commit version)))
7891 (file-name (git-file-name name version))
eeb883cb 7892 (sha256
f39c7c4a 7893 (base32 "0bwri3cvm2vr27kyqkrddm28fs08axnd4nm9amfgp54xp20bn4yn"))))
eeb883cb
RW
7894 (build-system gnu-build-system)
7895 (native-inputs `(("emacs" ,emacs-minimal)))
7896 (arguments
7897 (let ((elisp-dir (string-append "/share/emacs/site-lisp/guix.d"
7898 "/gnuplot-" version)))
7899 `(#:modules ((guix build gnu-build-system)
7900 (guix build utils)
7901 (guix build emacs-utils))
7902 #:imported-modules (,@%gnu-build-system-modules
7903 (guix build emacs-utils))
7904 #:configure-flags
7905 (list (string-append "EMACS=" (assoc-ref %build-inputs "emacs")
7906 "/bin/emacs")
7907 (string-append "--with-lispdir=" %output ,elisp-dir))
7908 #:phases
7909 (modify-phases %standard-phases
7910 (add-after 'install 'generate-autoloads
7911 (lambda* (#:key outputs #:allow-other-keys)
7912 (emacs-generate-autoloads
7913 "gnuplot"
7914 (string-append (assoc-ref outputs "out") ,elisp-dir))
7915 #t))))))
7916 (home-page "https://github.com/bruceravel/gnuplot-mode")
7917 (synopsis "Emacs major mode for interacting with gnuplot")
7918 (description "@code{emacs-gnuplot} is an emacs major mode for interacting
7919with gnuplot.")
7920 (license license:gpl2+)))
7921
7922(define-public emacs-transpose-frame
7923 (package
7924 (name "emacs-transpose-frame")
7925 (version "0.1.0")
7926 (source
7927 (origin
7928 (method url-fetch)
7929 (uri "http://www.emacswiki.org/emacs/download/transpose-frame.el")
7930 (file-name (string-append "transpose-frame-" version ".el"))
7931 (sha256
7932 (base32
7933 "1f67yksgw9s6j0033hmqzaxx2a93jm11sd5ys7cc3li5gfh680m4"))))
7934 (build-system emacs-build-system)
7935 (home-page "https://www.emacswiki.org/emacs/TransposeFrame")
7936 (synopsis "Transpose window arrangement in current frame")
7937 (description "@code{emacs-transpose-frame} provides some interactive
7938functions which allows users to transpose windows arrangement in currently
7939selected frame.")
7940 (license license:bsd-2)))
7941
7942(define-public emacs-key-chord
7943 (package
7944 (name "emacs-key-chord")
7945 (version "0.6")
7946 (source
7947 (origin
7948 (method url-fetch)
7949 (uri "https://www.emacswiki.org/emacs/download/key-chord.el")
7950 (file-name (string-append "key-chord-" version ".el"))
7951 (sha256
7952 (base32
7953 "03m44pqggfrd53nh9dvpdjgm0rvca34qxmd30hr33hzprzjambxg"))))
7954 (build-system emacs-build-system)
7955 (home-page "https://www.emacswiki.org/emacs/key-chord.el")
7956 (synopsis "Map pairs of simultaneously pressed keys to Emacs commands")
7957 (description "@code{emacs-key-chord} provides @code{key-chord-mode}, a
7958mode for binding key chords to commands. A key chord is defined as two keys
7959pressed simultaneously or a single key quickly pressed twice.")
7960 (license license:gpl2+)))
7961
7962(define-public emacs-evil-surround
7963 (package
7964 (name "emacs-evil-surround")
7965 (version "1.0.0")
7966 (source
7967 (origin
1f0ea017
TGR
7968 (method git-fetch)
7969 (uri (git-reference
7970 (url "https://github.com/timcharper/evil-surround.git")
7971 (commit (string-append "v" version))))
7972 (file-name (git-file-name name version))
eeb883cb 7973 (sha256
1f0ea017 7974 (base32 "1smv7sqhm1l2bi9fmispnlmjssidblwkmiiycj1n3ag54q27z031"))))
eeb883cb
RW
7975 (build-system emacs-build-system)
7976 (propagated-inputs
7977 `(("emacs-evil" ,emacs-evil)))
7978 (home-page "https://github.com/timcharper/evil-surround")
0a71b5dc 7979 (synopsis "Easily modify surrounding parentheses and quotes")
eeb883cb 7980 (description "@code{emacs-evil-surround} allows easy deletion, change and
0a71b5dc 7981addition of surrounding pairs, such as parentheses and quotes, in evil mode.")
eeb883cb
RW
7982 (license license:gpl3+)))
7983
7984(define-public emacs-evil-commentary
7985 (package
7986 (name "emacs-evil-commentary")
7987 (version "2.1.1")
7988 (source
7989 (origin
ee9ee994
TGR
7990 (method git-fetch)
7991 (uri (git-reference
7992 (url "https://github.com/linktohack/evil-commentary.git")
7993 (commit (string-append "v" version))))
7994 (file-name (git-file-name name version))
eeb883cb 7995 (sha256
ee9ee994 7996 (base32 "0zjs9zyqfygnpxapvf0ymmiid40i06cxbhjzd81zw33nafgkf6r4"))))
eeb883cb
RW
7997 (build-system emacs-build-system)
7998 (propagated-inputs
7999 `(("emacs-evil" ,emacs-evil)))
8000 (home-page "https://github.com/linktohack/evil-commentary")
8001 (synopsis "Comment out code in evil mode")
8002 (description "@code{emacs-evil-commentary} adds keybindings to easily
8003comment out lines of code in evil mode. It provides @code{gcc} to comment out
8004lines, and @code{gc} to comment out the target of a motion.")
8005 (license license:gpl3+)))
8006
8007;; Tests for emacs-ansi have a circular dependency with ert-runner, and
8008;; therefore cannot be run
8009(define-public emacs-ansi
8010 (package
8011 (name "emacs-ansi")
8012 (version "0.4.1")
8013 (source
8014 (origin
6c960872
TGR
8015 (method git-fetch)
8016 (uri (git-reference
8017 (url "https://github.com/rejeep/ansi.el.git")
8018 (commit (string-append "v" version))))
8019 (file-name (git-file-name name version))
eeb883cb 8020 (sha256
6c960872 8021 (base32 "1hbddxarr40ygvaw4pwaivq2l4f0brszw73w1r50lkjlggb7bl3g"))))
eeb883cb
RW
8022 (build-system emacs-build-system)
8023 (propagated-inputs
8024 `(("emacs-dash" ,emacs-dash)
8025 ("emacs-s" ,emacs-s)))
8026 (home-page "https://github.com/rejeep/ansi.el")
8027 (synopsis "Convert strings to ANSI")
8028 (description "@code{emacs-ansi} defines functions that turns simple
8029strings to ANSI strings. Turning a string into an ANSI string can be to add
8030color to a text, add color in the background of a text or adding a style, such
8031as bold, underscore or italic.")
8032 (license license:gpl3+)))
8033
8034;; Tests for emacs-commander have a circular dependency with ert-runner, and
8035;; therefore cannot be run
8036(define-public emacs-commander
8037 (package
8038 (name "emacs-commander")
8039 (version "0.7.0")
8040 (source
8041 (origin
c6c677be
TGR
8042 (method git-fetch)
8043 (uri (git-reference
8044 (url "https://github.com/rejeep/commander.el.git")
8045 (commit (string-append "v" version))))
8046 (file-name (git-file-name name version))
eeb883cb 8047 (sha256
c6c677be 8048 (base32 "1j6hhyzww7wfwk6bllbb5mk4hw4qs8hsgfbfdifsam9c6i4spm45"))))
eeb883cb
RW
8049 (build-system emacs-build-system)
8050 (propagated-inputs
8051 `(("emacs-dash" ,emacs-dash)
8052 ("emacs-f" ,emacs-f)
8053 ("emacs-s" ,emacs-s)))
8054 (home-page "https://github.com/rejeep/commander.el")
8055 (synopsis "Emacs command line parser")
8056 (description "@code{emacs-commander} provides command line parsing for
8057Emacs.")
8058 (license license:gpl3+)))
8059
8060;; Tests for ert-runner have a circular dependency with ecukes, and therefore
8061;; cannot be run
8062(define-public emacs-ert-runner
82328c01
MC
8063 (let ((version "0.7.0")
8064 (revision "1")
8065 (commit "90b8fdd5970ef76a4649be60003b37f82cdc1a65"))
8066 (package
8067 (name "emacs-ert-runner")
8068 (version (git-version "0.7.0" revision commit))
8069 (source
8070 (origin
8071 (method git-fetch)
8072 (uri (git-reference
8073 (url "https://github.com/rejeep/ert-runner.el.git")
8074 (commit commit)))
8075 (file-name (git-file-name name version))
8076 (sha256
8077 (base32
8078 "04nxmyzncacj2wmzd84vv9wkkr2dk9lcb10dvygqmg3p1gadnwzz"))))
8079 (build-system emacs-build-system)
8080 (inputs
8081 `(("emacs-ansi" ,emacs-ansi)
8082 ("emacs-commander" ,emacs-commander)
8083 ("emacs-dash" ,emacs-dash)
8084 ("emacs-f" ,emacs-f)
8085 ("emacs-s" ,emacs-s)
8086 ("emacs-shut-up" ,emacs-shut-up)))
8087 (arguments
8088 `(#:phases
8089 (modify-phases %standard-phases
8090 (add-after 'install 'install-executable
8091 (lambda* (#:key inputs outputs #:allow-other-keys)
f9dff4f7
MC
8092 (let ((out (assoc-ref outputs "out"))
8093 (source-directory (string-append
8094 (getenv "TMPDIR") "/source")))
82328c01
MC
8095 (substitute* "bin/ert-runner"
8096 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
8097 (string-append "ERT_RUNNER=\"" out
8098 "/share/emacs/site-lisp/guix.d/ert-runner-"
8099 ,version)))
8100 (install-file "bin/ert-runner" (string-append out "/bin"))
8101 (wrap-program (string-append out "/bin/ert-runner")
8102 (list "EMACSLOADPATH" ":" 'prefix
f9dff4f7
MC
8103 ;; Do not capture the transient source directory in
8104 ;; the wrapper.
8105 (delete source-directory
8106 (string-split (getenv "EMACSLOADPATH") #\:))))
82328c01
MC
8107 #t))))
8108 #:include (cons* "^reporters/.*\\.el$" %default-include)))
8109 (home-page "https://github.com/rejeep/ert-runner.el")
8110 (synopsis "Opinionated Ert testing workflow")
8111 (description "@code{ert-runner} is a tool for Emacs projects tested
eeb883cb
RW
8112using ERT. It assumes a certain test structure setup and can therefore make
8113running tests easier.")
82328c01 8114 (license license:gpl3+))))
eeb883cb
RW
8115
8116(define-public ert-runner
8117 (deprecated-package "ert-runner" emacs-ert-runner))
8118
c56a65aa
OP
8119(define-public emacs-xtest
8120 (package
8121 (name "emacs-xtest")
8122 (version "1.1.0")
8123 (source (origin
8124 (method git-fetch)
8125 (uri (git-reference
8126 (url "https://github.com/promethial/xtest.git")
8127 (commit (string-append "v" version))))
8128 (file-name (git-file-name name version))
8129 (sha256
8130 (base32
8131 "1wqx6hlqcmqiljydih5fx89dw06g8w728pyn4iqsap8jwgjngb09"))))
8132 (arguments
8133 `(#:exclude '()))
8134 (build-system emacs-build-system)
8135 (home-page "https://github.com/promethial/xtest/")
8136 (synopsis "Simple testing with Emacs")
8137 (description "This package provides a simple testing library for Emacs.")
8138 (license license:gpl3+)))
8139
eeb883cb
RW
8140(define-public emacs-disable-mouse
8141 (package
8142 (name "emacs-disable-mouse")
8143 (version "0.2")
8144 (source
8145 (origin
31a324b2
TGR
8146 (method git-fetch)
8147 (uri (git-reference
8148 (url "https://github.com/purcell/disable-mouse.git")
8149 (commit version)))
8150 (file-name (git-file-name name version))
eeb883cb 8151 (sha256
31a324b2 8152 (base32 "1v1y5hf6k6ng7xsvgb27nh740d14m6l4krr0paccda8zgm4mw357"))))
eeb883cb
RW
8153 (build-system emacs-build-system)
8154 (home-page "https://github.com/purcell/disable-mouse")
8155 (synopsis "Disable mouse commands globally")
8156 (description
8157 "Provides @code{disable-mouse-mode} and @code{global-disable-mouse-mode},
8158pair of minor modes which suppress all mouse events by intercepting them and
8159running a customisable handler command (@code{ignore} by default). ")
8160 (license license:gpl3+)))
8161
8162(define-public emacs-json-reformat
8163 (package
8164 (name "emacs-json-reformat")
8165 (version "0.0.6")
8166 (source
8167 (origin
984a2307
TGR
8168 (method git-fetch)
8169 (uri (git-reference
8170 (url "https://github.com/gongo/json-reformat.git")
8171 (commit version)))
8172 (file-name (git-file-name name version))
eeb883cb 8173 (sha256
984a2307 8174 (base32 "0qp4n2k6s69jj4gwwimkpadjv245y54wk3bxb1x96f034gkp81vs"))
eeb883cb
RW
8175 (patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
8176 (build-system emacs-build-system)
8177 (propagated-inputs
8178 `(("emacs-undercover" ,emacs-undercover)))
8179 (native-inputs
8180 `(("emacs-dash" ,emacs-dash)
8181 ("emacs-shut-up" ,emacs-shut-up)
8182 ("ert-runner" ,emacs-ert-runner)))
8183 (arguments
8184 `(#:tests? #t
34e3d028
OP
8185 #:test-command '("ert-runner")
8186 #:phases
8187 (modify-phases %standard-phases
984a2307
TGR
8188 (add-before 'check 'make-tests-writable
8189 (lambda _
8190 (for-each make-file-writable (find-files "test"))
8191 #t))
34e3d028
OP
8192 (add-before 'check 'delete-json-objects-order-test
8193 (lambda _
8194 (emacs-batch-edit-file "test/json-reformat-test.el"
8195 `(progn (progn (goto-char (point-min))
8196 (re-search-forward
8197 "ert-deftest json-reformat-test:json-reformat-region")
8198 (beginning-of-line)
8199 (kill-sexp))
8200 (basic-save-buffer)))
8201 #t)))))
eeb883cb
RW
8202 (home-page "https://github.com/gongo/json-reformat")
8203 (synopsis "Reformatting tool for JSON")
8204 (description "@code{json-reformat} provides a reformatting tool for
8205@url{http://json.org/, JSON}.")
8206 (license license:gpl3+)))
8207
8208(define-public emacs-json-snatcher
8209 (package
8210 (name "emacs-json-snatcher")
8211 (version "1.0.0")
8212 (source
8213 (origin
d6c0f1bc
TGR
8214 (method git-fetch)
8215 (uri (git-reference
8216 (url "https://github.com/Sterlingg/json-snatcher.git")
8217 (commit version)))
8218 (file-name (git-file-name name version))
eeb883cb 8219 (sha256
d6c0f1bc 8220 (base32 "05zsgnk7grgw9jzwl80h5sxfpifxlr37b4mkbvx7mjq4z14xc2jw"))))
eeb883cb
RW
8221 (build-system emacs-build-system)
8222 (home-page "https://github.com/sterlingg/json-snatcher")
8223 (synopsis "Grabs the path to JSON values in a JSON file")
8224 (description "@code{emacs-json-snatcher} grabs the path to JSON values in
8225a @url{http://json.org/, JSON} file.")
8226 (license license:gpl3+)))
8227
8228(define-public emacs-json-mode
8229 (package
8230 (name "emacs-json-mode")
8231 (version "1.7.0")
8232 (source
8233 (origin
0d0848f4
TGR
8234 (method git-fetch)
8235 (uri (git-reference
8236 (url "https://github.com/joshwnj/json-mode.git")
8237 (commit (string-append "v" version))))
8238 (file-name (git-file-name name version))
eeb883cb 8239 (sha256
0d0848f4 8240 (base32 "0i79lqzdg59vkqwjd3q092xxn9vhxspb1vn4pkis0vfvn46g01jy"))))
eeb883cb
RW
8241 (build-system emacs-build-system)
8242 (propagated-inputs
8243 `(("emacs-json-reformat" ,emacs-json-reformat)
8244 ("emacs-json-snatcher" ,emacs-json-snatcher)))
8245 (home-page "https://github.com/joshwnj/json-mode")
8246 (synopsis "Major mode for editing JSON files")
8247 (description "@code{json-mode} extends the builtin js-mode syntax
8248highlighting.")
8249 (license license:gpl3+)))
8250
8251(define-public emacs-restclient
8252 (let ((commit "07a3888bb36d0e29608142ebe743b4362b800f40")
8253 (revision "1")) ;Guix package revision,
8254 ;upstream doesn't have official releases
8255 (package
8256 (name "emacs-restclient")
8257 (version (string-append revision "."
8258 (string-take commit 7)))
8259 (source (origin
8260 (method git-fetch)
8261 (uri (git-reference
8262 (url "https://github.com/pashky/restclient.el.git")
8263 (commit commit)))
8264 (sha256
8265 (base32
8266 "00lmjhb5im1kgrp54yipf1h9pshxzgjlg71yf2rq5n973gvb0w0q"))
8267 (file-name (git-file-name name version))))
8268 (build-system emacs-build-system)
8269 (propagated-inputs
8270 `(("emacs-helm" ,emacs-helm)))
8271 (home-page "https://github.com/pashky/restclient.el")
8272 (synopsis "Explore and test HTTP REST webservices")
8273 (description
8274 "This tool allows for testing and exploration of HTTP REST Web services
8275from within Emacs. Restclient runs queries from a plan-text query sheet,
8276displays results pretty-printed in XML or JSON with @code{restclient-mode}")
8277 (license license:public-domain))))
8278
68eb526c
BL
8279(define-public emacs-whitespace-cleanup-mode
8280 (let ((commit "72427144b054b0238a86e1348c45d986b8830d9d")
8281 (revision "1"))
8282 (package
8283 (name "emacs-whitespace-cleanup-mode")
8284 (version (git-version "0.10" revision commit))
8285 (source (origin
8286 (method git-fetch)
8287 (uri (git-reference
8288 (url "https://github.com/purcell/whitespace-cleanup-mode")
8289 (commit commit)))
8290 (sha256
8291 (base32
8292 "1zlk534jbwrsabcg3kqlzk4h4hwya60lh6q2n1v4yn4rpf5ghsag"))
8293 (file-name (git-file-name name version))))
8294 (build-system emacs-build-system)
8295 (home-page "https://github.com/purcell/whitespace-cleanup-mode")
8296 (synopsis "Intelligently call @code{whitespace-cleanup} on save")
8297 (description
8298 "This package provides a minor mode that calls
8299@code{whitespace-cleanup} before saving the current buffer only if the
8300whitespace in the buffer was initially clean.")
8301 (license license:gpl3+))))
8302
eeb883cb
RW
8303(define-public emacs-eimp
8304 (let ((version "1.4.0")
8305 (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
8306 (revision "1"))
8307 (package
8308 (name "emacs-eimp")
8309 (version (git-version version revision commit))
8310 (source
8311 (origin
8312 (method git-fetch)
8313 (uri (git-reference
8314 (url "https://github.com/nicferrier/eimp.git")
8315 (commit commit)))
8316 (file-name (git-file-name name version))
8317 (sha256
8318 (base32
8319 "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra"))))
8320 (build-system emacs-build-system)
8321 (arguments
8322 `(#:phases
8323 (modify-phases %standard-phases
8324 (add-after 'unpack 'configure
8325 (lambda* (#:key inputs #:allow-other-keys)
8326 (let ((imagemagick (assoc-ref inputs "imagemagick")))
8327 ;; eimp.el is read-only in git.
8328 (chmod "eimp.el" #o644)
8329 (emacs-substitute-variables "eimp.el"
8330 ("eimp-mogrify-program"
8331 (string-append imagemagick "/bin/mogrify"))))
8332 #t)))))
8333 (inputs
8334 `(("imagemagick" ,imagemagick)))
8335 (home-page "https://github.com/nicferrier/eimp")
8336 (synopsis "Interactive image manipulation utility for Emacs")
8337 (description "@code{emacs-eimp} allows interactive image manipulation
8338from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do
8339the actual transformations.")
8340 (license license:gpl2+))))
8341
8342(define-public emacs-dired-hacks
29e3fd34 8343 (let ((commit "2c1234592aee91dcd9401bcd67213e6a4a464fd9")
eeb883cb
RW
8344 (revision "1"))
8345 (package
8346 (name "emacs-dired-hacks")
8347 (version (string-append "0.0.1-" revision "."
8348 (string-take commit 7)))
8349 (source (origin
8350 (method git-fetch)
8351 (uri (git-reference
8352 (url "https://github.com/Fuco1/dired-hacks.git")
8353 (commit commit)))
497e4915 8354 (file-name (git-file-name name version))
eeb883cb
RW
8355 (sha256
8356 (base32
29e3fd34 8357 "1g7mky41cahpryzj6frdgzdymknpqq7pidzfjj9304887kijmhj3"))))
eeb883cb
RW
8358 (build-system emacs-build-system)
8359 (propagated-inputs
8360 `(("emacs-dash" ,emacs-dash)
8361 ("emacs-eimp" ,emacs-eimp)
8362 ("emacs-f" ,emacs-f)
8363 ("emacs-s" ,emacs-s)))
8364 (home-page "https://github.com/Fuco1/dired-hacks")
8365 (synopsis
8366 "Collection of useful dired additions")
8367 (description
8368 "Collection of Emacs dired mode additions:
8369@itemize
8370@item dired-avfs
8371@item dired-columns
8372@item dired-filter
8373@item dired-hacks-utils
8374@item dired-images
8375@item dired-list
8376@item dired-narrow
8377@item dired-open
8378@item dired-rainbow
8379@item dired-ranger
8380@item dired-subtree
8381@item dired-tagsistant
8382@end itemize\n")
8383 (license license:gpl3+))))
8384
8385(define-public emacs-dired-sidebar
8386 (let ((commit "06bd0d40bab812c61a668129daf29ba359424454")
8387 (revision "0"))
8388 (package
8389 (name "emacs-dired-sidebar")
8390 (home-page "https://github.com/jojojames/dired-sidebar")
8391 (version (git-version "0.0.1" revision commit))
8392 (source (origin
8393 (method git-fetch)
8394 (uri (git-reference (url home-page) (commit commit)))
2af46980 8395 (file-name (git-file-name name version))
eeb883cb
RW
8396 (sha256
8397 (base32
8398 "0lvwvq6sl80sha9fq5m4568sg534dhmifyjqw75bqddcbf3by84x"))))
8399 (build-system emacs-build-system)
8400 (propagated-inputs
8401 `(("emacs-dired-subtree" ,emacs-dired-hacks)))
8402 (synopsis "Sidebar for Emacs using Dired")
8403 (description
8404 "This package provides a sidebar for Emacs similar to @code{NeoTree}
8405or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
8406 (license license:gpl3+))))
8407
8408(define-public emacs-which-key
8409 (package
8410 (name "emacs-which-key")
498eb769 8411 (version "3.3.1")
eeb883cb
RW
8412 (source
8413 (origin
5ff1137b
TGR
8414 (method git-fetch)
8415 (uri (git-reference
8416 (url "https://github.com/justbur/emacs-which-key.git")
8417 (commit (string-append "v" version))))
8418 (file-name (git-file-name name version))
eeb883cb 8419 (sha256
5ff1137b 8420 (base32 "1dh6kr00wmql46whjkvnl953zngiv5j99ypvr1b3cb2174623afb"))))
eeb883cb
RW
8421 (build-system emacs-build-system)
8422 (arguments
8423 `(#:tests? #t
8424 #:test-command '("emacs" "--batch"
8425 "-l" "which-key-tests.el"
8426 "-f" "ert-run-tests-batch-and-exit")))
8427 (home-page "https://github.com/justbur/emacs-which-key")
8428 (synopsis "Display available key bindings in popup")
8429 (description
8430 "@code{emacs-which-key} is a minor mode for Emacs that displays the key
8431bindings following your currently entered incomplete command (a prefix) in a
8432popup. For example, after enabling the minor mode if you enter C-x and wait
8433for the default of 1 second, the minibuffer will expand with all of the
8434available key bindings that follow C-x (or as many as space allows given your
8435settings).")
8436 (license license:gpl3+)))
8437
8438(define-public emacs-ws-butler
8439 (package
8440 (name "emacs-ws-butler")
8441 (version "0.6")
8442 (source (origin
8443 (method git-fetch)
8444 (uri (git-reference
8445 (url "https://github.com/lewang/ws-butler.git")
8446 (commit "323b651dd70ee40a25accc940b8f80c3a3185205")))
1a9a7ad5 8447 (file-name (git-file-name name version))
eeb883cb
RW
8448 (sha256
8449 (base32
8450 "1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb"))))
8451 (build-system emacs-build-system)
8452 (native-inputs
8453 `(("ert-runner" ,emacs-ert-runner)))
8454 (arguments
8455 `(#:tests? #t
8456 #:test-command '("ert-runner" "tests")))
8457 (home-page "https://github.com/lewang/ws-butler")
8458 (synopsis "Trim spaces from end of lines")
8459 (description
8460 "This Emacs package automatically and unobtrusively trims whitespace
8461characters from end of lines.")
8462 (license license:gpl3+)))
8463
8464(define-public emacs-org-edit-latex
8465 (package
8466 (name "emacs-org-edit-latex")
8467 (version "0.8.0")
8468 (source
8469 (origin
f2e1d46d
TGR
8470 (method git-fetch)
8471 (uri (git-reference
8472 (url "https://github.com/et2010/org-edit-latex.git")
8473 (commit (string-append "v" version))))
8474 (file-name (git-file-name name version))
eeb883cb 8475 (sha256
f2e1d46d 8476 (base32 "0zcllyhx9n9vcr5w87h0hfz25v52lvh5fi717cb7mf3jh89zh842"))))
eeb883cb
RW
8477 (build-system emacs-build-system)
8478 (propagated-inputs
8479 `(("emacs-auctex" ,emacs-auctex)
8480 ;; The version of org in Emacs 25.2 is not sufficient, because the
8481 ;; `org-latex-make-preamble' function is required.
8482 ("emacs-org" ,emacs-org)))
8483 (home-page "https://github.com/et2010/org-edit-latex")
8484 (synopsis "Edit a latex fragment just like editing a src block")
8485 (description "@code{emacs-org-edit-latex} is an extension for org-mode.
8486It lets you edit a latex fragment in a dedicated buffer just like editing a
8487src block.")
8488 (license license:gpl3+)))
8489
8490(define-public emacs-emamux
8491 (package
8492 (name "emacs-emamux")
8493 (version "0.14")
106fe7ed
TGR
8494 (source
8495 (origin
8496 (method git-fetch)
8497 (uri (git-reference
8498 (url "https://github.com/syohex/emacs-emamux.git")
8499 (commit version)))
8500 (file-name (git-file-name name version))
8501 (sha256
8502 (base32 "19y69qw79miim9cz5ji54gwspjkcp9g2c1xr5s7jj2fiabnxax6b"))))
eeb883cb
RW
8503 (build-system emacs-build-system)
8504 (home-page "https://github.com/syohex/emacs-emamux")
8505 (synopsis "Manipulate Tmux from Emacs")
8506 (description
8507 "@code{emacs-emamux} lets Emacs interact with the @code{tmux} terminal
8508multiplexer.")
8509 (license license:gpl3+)))
8510
8511(define-public emacs-rpm-spec-mode
8512 (package
8513 (name "emacs-rpm-spec-mode")
8514 (version "0.16")
8515 (source
8516 (origin
8517 (method url-fetch)
8518 ;; URI has the Fedora release number instead of the version
8519 ;; number. This will have to updated manually every new release.
8520 (uri (string-append
8521 "https://src.fedoraproject.org/cgit/rpms"
8522 "/emacs-rpm-spec-mode.git/snapshot"
8523 "/emacs-rpm-spec-mode-f26.tar.gz"))
8524 (sha256
8525 (base32
8526 "17dz80lhjrc89fj17pysl8slahzrqdkxgcjdk55zls6jizkr6kz3"))))
8527 (build-system emacs-build-system)
8528 (home-page "http://pkgs.fedoraproject.org/cgit/rpms/emacs-rpm-spec-mode.git")
8529 (synopsis "Emacs major mode for editing RPM spec files")
8530 (description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
8531editing RPM spec files.")
8532 (license license:gpl2+)))
8533
d8bc8245
BL
8534(define-public emacs-lcr
8535 (package
8536 (name "emacs-lcr")
8537 (version "1.1")
8538 (source
8539 (origin
8540 (method git-fetch)
8541 (uri (git-reference
8542 (url "https://github.com/jyp/lcr")
8543 (commit version)))
8544 (file-name (git-file-name name version))
8545 (sha256
8546 (base32 "0mc55icihxqpf8b05990q1lc2nj2792wcgyr73xsiqx0963sjaj8"))))
8547 (build-system emacs-build-system)
8548 (propagated-inputs
8549 `(("emacs-dash" ,emacs-dash)))
8550 (home-page "https://github.com/jyp/lcr")
8551 (synopsis "Lightweight coroutines in Emacs Lisp")
8552 (description "This package provides macros that can translate code into
8553equivalent continuation-passing code, as well as miscellaneous utility
8554functions written in continuation-passing style.")
8555 (license license:gpl3+)))
8556
e912affe
BL
8557(define-public emacs-attrap
8558 (let ((commit "3b092bb8f6755a97e6ecb7623b9d2dde58beba4a")
8559 (revision "1"))
8560 (package
8561 (name "emacs-attrap")
8562 (version (git-version "1.0" revision commit))
8563 (source (origin
8564 (method git-fetch)
8565 (uri (git-reference
8566 (url "https://github.com/jyp/attrap")
8567 (commit commit)))
8568 (sha256
8569 (base32
8570 "05d32980saji8ja1pcv65l0s3dq7w0n5hpikbf246hciy1x067pp"))
8571 (file-name (git-file-name name version))))
8572 (build-system emacs-build-system)
8573 (propagated-inputs
8574 `(("emacs-dash" ,emacs-dash)
8575 ("emacs-f" ,emacs-f)
8576 ("emacs-flycheck" ,emacs-flycheck)
8577 ("emacs-s" ,emacs-s)))
8578 (home-page "https://github.com/jyp/attrap")
8579 (synopsis "Fix coding error at point")
8580 (description "This package provides a command to fix the Flycheck error
8581at point.")
8582 (license license:gpl3+))))
8583
eeb883cb
RW
8584(define-public emacs-git-messenger
8585 (package
8586 (name "emacs-git-messenger")
8587 (version "0.18")
8588 (source
8589 (origin
d4e3d212
TGR
8590 (method git-fetch)
8591 (uri (git-reference
8592 (url "https://github.com/syohex/emacs-git-messenger.git")
8593 (commit version)))
8594 (file-name (git-file-name name version))
eeb883cb 8595 (sha256
d4e3d212 8596 (base32 "04fnby2nblk8l70gv09asxkmnn53fh1pdfs77ix44npp99fyw8ix"))))
eeb883cb
RW
8597 (build-system emacs-build-system)
8598 (propagated-inputs
8599 `(("emacs-popup" ,emacs-popup)))
8600 (arguments
8601 `(#:tests? #t
8602 #:test-command '("emacs" "--batch" "-l" "test/test.el"
8603 "-f" "ert-run-tests-batch-and-exit")))
8604 (home-page "https://github.com/syohex/emacs-git-messenger")
8605 (synopsis "Popup commit message at current line")
8606 (description "@code{emacs-git-messenger} provides
8607@code{git-messenger:popup-message}, a function that when called, will popup
8608the last git commit message for the current line. This uses git-blame
8609internally.")
8610 (license license:gpl3+)))
8611
8612(define-public emacs-gitpatch
8613 (package
8614 (name "emacs-gitpatch")
8615 (version "0.5.0")
8616 (source
8617 (origin
3a3a68eb
TGR
8618 (method git-fetch)
8619 (uri (git-reference
8620 (url "https://github.com/tumashu/gitpatch.git")
8621 (commit (string-append "v" version))))
8622 (file-name (git-file-name name version))
eeb883cb 8623 (sha256
3a3a68eb 8624 (base32 "1jj12pjwza6cq8a3kr8nqnmm3vxs0wam8h983irry4xr4ifywsn4"))))
eeb883cb
RW
8625 (build-system emacs-build-system)
8626 (home-page "https://github.com/tumashu/gitpatch")
8627 (synopsis "Mail git patch from Emacs")
8628 (description "@code{emacs-gitpatch} lets users easily send git patches,
8629created by @code{git format-patch}, from @code{magit}, @code{dired} and
8630@code{ibuffer} buffers.")
8631 (license license:gpl3+)))
8632
8633(define-public emacs-erc-hl-nicks
8634 (package
8635 (name "emacs-erc-hl-nicks")
8636 (version "1.3.3")
8637 (source
8638 (origin
8639 (method url-fetch)
8640 (uri (string-append "https://github.com/leathekd/erc-hl-nicks"
8641 "/archive/" version ".tar.gz"))
8642 (file-name (string-append name "-" version ".tar.gz"))
8643 (sha256
8644 (base32
8645 "1a1r2kc3688g8c2ybkpwh88kgmnqhg3h3032g2yn4zr9m0n3vpkr"))))
8646 (build-system emacs-build-system)
8647 (synopsis "Nickname highlighting for Emacs ERC")
8648 (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
8649client for Emacs. The main features are:
8650@itemize
8651@item Auto-colorizes nicknames without having to specify colors
8652@item Ignores certain characters that IRC clients add to nicknames to avoid
8653duplicates (nickname, nickname’, nickname\", etc.)
8654@item Attempts to produce colors with a sufficient amount of contrast between
8655the nick color and the background color
8656@end itemize\n")
8657 (home-page "https://github.com/leathekd/erc-hl-nicks")
8658 (license license:gpl3+)))
8659
8660(define-public emacs-engine-mode
8661 (package
8662 (name "emacs-engine-mode")
8663 (version "2.0.0")
8664 (source
8665 (origin
53338fa6
TGR
8666 (method git-fetch)
8667 (uri (git-reference
8668 (url "https://github.com/hrs/engine-mode.git")
8669 (commit (string-append "v" version))))
8670 (file-name (git-file-name name version))
eeb883cb 8671 (sha256
53338fa6 8672 (base32 "02xas46nl28mascqsyr1zcd4hn15bh0fjv2xlxv1kmrj0pis94ml"))))
eeb883cb
RW
8673 (build-system emacs-build-system)
8674 (synopsis "Minor mode for defining and querying search engines")
8675 (description "@code{engine-mode} is a global minor mode for Emacs. It
8676enables you to easily define search engines, bind them to keybindings, and
8677query them from the comfort of your editor.")
8678 (home-page "https://github.com/hrs/engine-mode")
8679 (license license:gpl3+)))
8680
8681(define-public emacs-prop-menu
8682 (package
8683 (name "emacs-prop-menu")
8684 (version "0.1.2")
8685 (source
8686 (origin
8687 (method url-fetch)
8688 (uri (string-append
8689 "http://stable.melpa.org/packages/prop-menu-"
8690 version ".el"))
8691 (sha256
8692 (base32
8693 "01bk4sjafzz7gqrkv9jg0pa85qr34vbk3q8ga2b0m61bndywzgpr"))))
8694 (build-system emacs-build-system)
8695 (home-page
8696 "https://github.com/david-christiansen/prop-menu-el")
8697 (synopsis
8698 "Create and display a context menu based on text and overlay properties")
8699 (description
8700 "This is a library for computing context menus based on text
8701properties and overlays. The intended use is to have tools that
8702annotate source code and others that use these annotations, without
8703requiring a direct coupling between them, but maintaining
8704discoverability.
8705
8706Major modes that wish to use this library should first define an
8707appropriate value for @code{prop-menu-item-functions}. Then, they should
8708bind @code{prop-menu-by-completing-read} to an appropriate
8709key. Optionally, a mouse pop-up can be added by binding
8710@code{prop-menu-show-menu} to a mouse event.")
8711 (license license:gpl3+)))
8712
8713(define-public emacs-idris-mode
ac302576
EB
8714 (let ((commit "acc8835449475d7cd205aba213fdd3d41c38ba40")
8715 (revision "0"))
8716 (package
8717 (name "emacs-idris-mode")
8718 (version (git-version "0.9.19" revision commit))
8719 (source
8720 (origin
8721 (method git-fetch)
8722 (uri (git-reference
8723 (url "https://github.com/idris-hackers/idris-mode.git")
8724 (commit commit)))
8725 (file-name (git-file-name name commit))
8726 (sha256
8727 (base32
8728 "0n9xbknc68id0mf8hbfmawi8qpvrs47ix807sk9ffv2g3ik32kk6"))))
8729 (build-system emacs-build-system)
8730 (propagated-inputs
8731 `(("emacs-prop-menu" ,emacs-prop-menu)))
8732 (home-page
8733 "https://github.com/idris-hackers/idris-mode")
8734 (synopsis "Major mode for editing Idris code")
8735 (description
8736 "This is an Emacs mode for editing Idris code. It requires the latest
eeb883cb
RW
8737version of Idris, and some features may rely on the latest Git version of
8738Idris.")
ac302576 8739 (license license:gpl3+))))
eeb883cb
RW
8740
8741(define-public emacs-browse-at-remote
8742 (package
8743 (name "emacs-browse-at-remote")
8744 (version "0.10.0")
8745 (source
8746 (origin
556c06da
TGR
8747 (method git-fetch)
8748 (uri (git-reference
8749 (url "https://github.com/rmuslimov/browse-at-remote.git")
8750 (commit version)))
8751 (file-name (git-file-name name version))
eeb883cb 8752 (sha256
556c06da 8753 (base32 "0vhia7xmszcb3lxrb8wh93a3knjfzj48h8nhj4fh8zj1pjz6args"))))
eeb883cb
RW
8754 (build-system emacs-build-system)
8755 (propagated-inputs
8756 `(("emacs-f" ,emacs-f)
8757 ("emacs-s" ,emacs-s)))
8758 (native-inputs
8759 `(("ert-runner" ,emacs-ert-runner)))
8760 (arguments
8761 `(#:tests? #t
8762 #:test-command '("ert-runner")))
8763 (home-page "https://github.com/rmuslimov/browse-at-remote")
8764 (synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
8765 (description
8766 "This Emacs package allows you to open a target page on
8767github/gitlab (or bitbucket) by calling @code{browse-at-remote} command.
8768It supports dired buffers and opens them in tree mode at destination.")
8769 (license license:gpl3+)))
8770
8771(define-public emacs-tiny
8772 (package
8773 (name "emacs-tiny")
8774 (version "0.2.1")
8775 (source
8776 (origin
8777 (method url-fetch)
8778 (uri (string-append "http://elpa.gnu.org/packages/tiny-" version ".tar"))
8779 (sha256
8780 (base32
8781 "1cr73a8gba549ja55x0c2s554f3zywf69zbnd7v82jz5q1k9wd2v"))))
8782 (build-system emacs-build-system)
8783 (home-page "https://github.com/abo-abo/tiny")
8784 (synopsis "Quickly generate linear ranges in Emacs")
8785 (description
8786 "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}.
8787It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp
8788proficiency is an advantage, since you can transform your numeric range with
8789an elisp expression.")
8790 (license license:gpl3+)))
8791
8792(define-public emacs-emojify
8793 (package
8794 (name "emacs-emojify")
8795 (version "0.4")
8796 (source
8797 (origin
8798 (method url-fetch)
8799 (uri (string-append "https://github.com/iqbalansari/emacs-emojify/"
8800 "releases/download/v" version "/emojify-"
8801 version ".tar"))
8802 (sha256
8803 (base32
8804 "0k84v2d2bkiwcky9fi1yyprgkj46g7wh6pyl9gzmcd7sqv051d5n"))))
8805 (build-system emacs-build-system)
8806 (arguments
8807 `(#:phases
8808 (modify-phases %standard-phases
8809 (add-after 'install 'install-data
8810 (lambda* (#:key outputs #:allow-other-keys)
8811 (copy-recursively "data"
8812 (string-append (assoc-ref outputs "out")
8813 "/share/emacs/site-lisp/guix.d/"
8814 "emojify-" ,version "/data"))
8815 #t)))))
8816 (propagated-inputs
8817 `(("emacs-ht" ,emacs-ht)))
8818 (home-page "https://github.com/iqbalansari/emacs-emojify")
8819 (synopsis "Display emojis in Emacs")
8820 (description "This package displays emojis in Emacs similar to how Github,
8821Slack, and other websites do. It can display plain ASCII like @code{:)} as
8822well as Github-style emojis like @code{:smile:}. It provides a minor mode
8823@code{emojify-mode} to enable the display of emojis in a buffer.")
8824 (license license:gpl3+)))
8825
8826(define-public emacs-websocket
8827 (package
8828 (name "emacs-websocket")
8829 (version "1.10")
8830 (source
8831 (origin
8832 (method git-fetch)
8833 (uri (git-reference
8834 (url "https://github.com/ahyatt/emacs-websocket.git")
8835 (commit version)))
5180dcb1 8836 (file-name (git-file-name name version))
eeb883cb
RW
8837 (sha256
8838 (base32
8839 "1dgrf7na6r6mmkknphzshlbd5fnzisg0qn0j7vfpa38wgsymaq52"))))
8840 (build-system emacs-build-system)
8841 (home-page "http://elpa.gnu.org/packages/websocket.html")
8842 (synopsis "Emacs WebSocket client and server")
8843 (description "This is an Elisp library for WebSocket clients to talk to
8844WebSocket servers, and for WebSocket servers to accept connections from
8845WebSocket clients. This library is designed to be used by other library
8846writers, to write applications that use WebSockets, and is not useful by
8847itself.")
8848 (license license:gpl3+)))
8849
8850(define-public emacs-oauth2
8851 (package
8852 (name "emacs-oauth2")
8853 (version "0.11")
8854 (source
8855 (origin
8856 (method url-fetch)
8857 (uri (string-append "https://elpa.gnu.org/packages/oauth2-"
8858 version ".el"))
8859 (sha256
8860 (base32
8861 "0ydkc9jazsnbbvfhd47mql52y7k06n3z7r0naqxkwb99j9blqsmp"))))
8862 (build-system emacs-build-system)
8863 (home-page "http://elpa.gnu.org/packages/oauth2.html")
8864 (synopsis "OAuth 2.0 authorization protocol implementation")
8865 (description
8866 "This package provides an Elisp implementation of the OAuth 2.0 draft.
8867The main entry point is @code{oauth2-auth-and-store} which will return a token
8868structure. This token structure can be then used with
8869@code{oauth2-url-retrieve-synchronously} or @code{oauth2-url-retrieve} to
8870retrieve any data that need OAuth authentication to be accessed. If the token
8871needs to be refreshed, the code handles it automatically and stores the new
8872value of the access token.")
8873 (license license:gpl3+)))
8874
8875(define-public emacs-circe
8876 (package
8877 (name "emacs-circe")
8878 (version "2.10")
8879 (source
8880 (origin
8881 (method git-fetch)
8882 (uri (git-reference
8883 (url "https://github.com/jorgenschaefer/circe.git")
8884 (commit (string-append "v" version))))
8885 (file-name (git-file-name name version))
8886 (sha256
8887 (base32
8888 "10gi14kwxd81blddpvqh95lgmpbfgp0m955naxix3bs3r6a75n4s"))))
8889 (build-system emacs-build-system)
8890 (arguments
8891 `(#:tests? #t
8892 #:test-command '("buttercup" "-L" ".")
8893 #:phases
8894 (modify-phases %standard-phases
8895 ;; The HOME environment variable should be set to an existing
8896 ;; directory for the tests to succeed.
8897 (add-before 'check 'set-home
8898 (lambda _
8899 (setenv "HOME" "/tmp")
8900 #t)))))
8901 (native-inputs
8902 `(("emacs-buttercup" ,emacs-buttercup)))
8903 ;; In order to securely connect to an IRC server using TLS, Circe requires
8904 ;; the GnuTLS binary.
8905 (propagated-inputs
8906 `(("gnutls" ,gnutls)))
8907 (home-page "https://github.com/jorgenschaefer/circe")
8908 (synopsis "Client for IRC in Emacs")
8909 (description "Circe is a Client for IRC in Emacs. It integrates well with
8910the rest of the editor, using standard Emacs key bindings and indicating
8911activity in channels in the status bar so it stays out of your way unless you
8912want to use it.")
8913 (license license:gpl3+)))
8914
8915(define-public emacs-tracking
8916 (package
8917 (inherit emacs-circe)
8918 (name "emacs-tracking")
8919 (arguments
8920 ;; "tracking.el" is a library extracted from Circe package. It requires
8921 ;; "shorten.el".
8922 `(#:include '("^shorten.el$" "^tracking.el$")
8923 ,@(package-arguments emacs-circe)))
8924 (home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
8925 (synopsis "Buffer tracking library")
8926 (description "@code{tracking.el} provides a way for different modes to
8927notify the user that a buffer needs attention. The user then can cycle
8928through them using @key{C-c C-SPC}.")
8929 (license license:gpl3+)))
8930
8931(define-public emacs-slack
d8157285
RW
8932 (let ((commit "10fbb81f567b44647ad125a48ecd72df106fb624")
8933 (revision "6"))
eeb883cb
RW
8934 (package
8935 (name "emacs-slack")
8936 (version (git-version "0.0.2" revision commit))
8937 (source (origin
8938 (method git-fetch)
8939 (uri (git-reference
8940 (url "https://github.com/yuya373/emacs-slack.git")
8941 (commit commit)))
8942 (file-name (git-file-name name commit))
8943 (sha256
8944 (base32
d8157285 8945 "01ln9rbalgpxw6rbr4czhy6bd8wrrpyf0qgn2chcq3zmmrn4sy1z"))))
eeb883cb 8946 (build-system emacs-build-system)
d8157285
RW
8947 (arguments
8948 `(#:phases
8949 (modify-phases %standard-phases
8950 ;; HOME needs to exist for source compilation.
8951 (add-before 'build 'set-HOME
8952 (lambda _ (setenv "HOME" "/tmp") #t)))))
eeb883cb
RW
8953 (propagated-inputs
8954 `(("emacs-alert" ,emacs-alert)
8955 ("emacs-emojify" ,emacs-emojify)
8956 ("emacs-helm" ,emacs-helm)
8957 ("emacs-request" ,emacs-request)
8958 ("emacs-websocket" ,emacs-websocket)
8959 ("emacs-oauth2" ,emacs-oauth2)
8960 ("emacs-circe" ,emacs-circe)))
8961 (home-page "https://github.com/yuya373/emacs-slack")
8962 (synopsis "Slack client for Emacs")
8963 (description "This package provides an Emacs client for the Slack
8964messaging service.")
8965 (license license:gpl3+))))
8966
8967(define-public emacs-bash-completion
8968 (package
8969 (name "emacs-bash-completion")
8970 (version "2.1.0")
8971 (source
8972 (origin
556c06da
TGR
8973 (method git-fetch)
8974 (uri (git-reference
8975 (url "https://github.com/szermatt/emacs-bash-completion.git")
8976 (commit version)))
8977 (file-name (git-file-name name version))
eeb883cb 8978 (sha256
556c06da 8979 (base32 "1a1wxcqzh0javjmxwi3lng5i99xiylm8lm04kv4q1lh9bli6vmv0"))))
eeb883cb
RW
8980 (inputs `(("bash" ,bash)))
8981 (build-system emacs-build-system)
8982 (arguments
556c06da
TGR
8983 `(#:phases
8984 (modify-phases %standard-phases
8985 (add-after 'unpack 'make-git-checkout-writable
8986 (λ _
8987 (for-each make-file-writable (find-files "."))
8988 #t))
8989 (add-before 'install 'configure
8990 (lambda* (#:key inputs #:allow-other-keys)
8991 (let ((bash (assoc-ref inputs "bash")))
8992 (emacs-substitute-variables "bash-completion.el"
8993 ("bash-completion-prog" (string-append bash "/bin/bash"))))
8994 #t)))))
eeb883cb
RW
8995 (home-page "https://github.com/szermatt/emacs-bash-completion")
8996 (synopsis "Bash completion for the shell buffer")
8997 (description
8998 "@code{bash-completion} defines dynamic completion hooks for shell-mode
8999and shell-command prompts that are based on Bash completion.")
9000 (license license:gpl2+)))
9001
9002(define-public emacs-easy-kill
9003 (package
9004 (name "emacs-easy-kill")
9005 (version "0.9.3")
9006 (source (origin
9007 (method url-fetch)
9008 (uri (string-append "https://elpa.gnu.org/packages/easy-kill-"
9009 version ".tar"))
9010 (sha256
9011 (base32
9012 "17nw0mglmg877axwg1d0gs03yc0p04lzmd3pl0nsnqbh3303fnqb"))))
9013 (build-system emacs-build-system)
9014 (home-page "https://github.com/leoliu/easy-kill")
9015 (synopsis "Kill and mark things easily in Emacs")
9016 (description
9017 "This package provides commands @code{easy-kill} and @code{easy-mark} to
9018let users kill or mark things easily.")
9019 (license license:gpl3+)))
9020
9021(define-public emacs-csv-mode
9022 (package
9023 (name "emacs-csv-mode")
9024 (version "1.7")
9025 (source
9026 (origin
9027 (method url-fetch)
9028 (uri (string-append "http://elpa.gnu.org/packages/csv-mode-"
9029 version ".el"))
9030 (sha256
9031 (base32
9032 "0r4bip0w3h55i8h6sxh06czf294mrhavybz0zypzrjw91m1bi7z6"))))
9033 (build-system emacs-build-system)
9034 (home-page
9035 "http://elpa.gnu.org/packages/csv-mode.html")
9036 (synopsis
9037 "Major mode for editing comma/char separated values")
9038 (description
9039 "This Emacs package implements CSV mode, a major mode for editing records
9040in a generalized CSV (character-separated values) format.")
9041 (license license:gpl3+)))
9042
9043(define-public emacs-transmission
9044 (package
9045 (name "emacs-transmission")
9046 (version "0.12.1")
49194b85
TGR
9047 (source
9048 (origin
9049 (method git-fetch)
9050 (uri (git-reference
9051 (url "https://github.com/holomorph/transmission.git")
9052 (commit version)))
9053 (file-name (git-file-name name version))
9054 (sha256
9055 (base32 "0kvg2gawsgy440x1fsl2c4pkxwp3zirq9rzixanklk0ryijhd3ry"))))
eeb883cb
RW
9056 (build-system emacs-build-system)
9057 (home-page "https://github.com/holomorph/transmission")
9058 (synopsis "Emacs interface to a Transmission session")
9059 (description "This package provides an Emacs interface to interact with a
9060running session of the Transmission Bittorrent client.
9061
9062Features:
9063
9064@itemize
9065@item List, add, start/stop, verify, remove torrents.
9066@item Set speed limits, ratio limits, bandwidth priorities, trackers.
9067@item Navigate to the corresponding file list, torrent info, peer info
9068contexts.
9069@item Toggle downloading and set priorities for individual files.
9070@end itemize\n")
9071 (license license:gpl3+)))
9072
9073(define-public emacs-polymode
9074 (package
9075 (name "emacs-polymode")
9076 (version "0.1.5")
9077 (source (origin
9078 (method git-fetch)
9079 (uri (git-reference
9080 (url "https://github.com/vspinu/polymode.git")
9081 (commit (string-append "v" version))))
9082 (file-name (git-file-name name version))
9083 (sha256
9084 (base32
9085 "0wwphs54jx48a3ca6x1qaz56j3j9bg4mv8g2akkffrzbdcb8sbc7"))))
9086 (build-system emacs-build-system)
9087 (arguments
9088 `(#:include (cons* "^modes/.*\\.el$" %default-include)
9089 #:phases
9090 (modify-phases %standard-phases
9091 (add-after 'set-emacs-load-path 'add-modes-subdir-to-load-path
9092 (lambda _
9093 (setenv "EMACSLOADPATH"
9094 (string-append (getenv "EMACSLOADPATH")
9095 ":" (getcwd) "/modes" ":")))))))
9096 (home-page "https://github.com/vspinu/polymode")
9097 (synopsis "Framework for multiple Emacs modes based on indirect buffers")
9098 (description "Polymode is an Emacs package that offers generic support
9099for multiple major modes inside a single Emacs buffer. It is lightweight,
9100object oriented and highly extensible. Creating a new polymode typically
9101takes only a few lines of code. Polymode also provides extensible facilities
9102for external literate programming tools for exporting, weaving and tangling.")
9103 (license license:gpl3+)))
9104
9105(define-public emacs-polymode-ansible
9106 (let ((commit "b26094d029e25dc797b94254f797e7807a57e4c8"))
9107 (package
9108 (name "emacs-polymode-ansible")
9109 ;; No upstream version release yet.
9110 (version (git-version "0.1" "1" commit))
9111 (source
9112 (origin
9113 (method git-fetch)
9114 (uri (git-reference
9115 (url "https://gitlab.com/mavit/poly-ansible")
9116 (commit commit)))
9117 (file-name (git-file-name name version))
9118 (sha256
9119 (base32
9120 "055shddqibib3hx2ykwdz910nrqws40cd407mq946l2bf6v87gj6"))))
9121 (build-system emacs-build-system)
9122 (propagated-inputs
9123 `(("emacs-ansible-doc" ,emacs-ansible-doc)
9124 ("emacs-jinja2-mode" ,emacs-jinja2-mode)
9125 ("emacs-polymode" ,emacs-polymode)
9126 ("emacs-yaml-mode" ,emacs-yaml-mode)))
9127 (properties '((upstream-name . "poly-ansible")))
9128 (home-page "https://gitlab.com/mavit/poly-ansible/")
9129 (synopsis "Polymode for Ansible - Jinja2 in YAML")
9130 (description
9131 "Edit YAML files for Ansible containing embedded Jinja2 templating.")
9132 (license license:gpl3+))))
9133
9134(define-public eless
9135 (package
9136 (name "eless")
9137 (version "0.3")
9ee1b419
TGR
9138 (source
9139 (origin
9140 (method git-fetch)
9141 (uri (git-reference
9142 (url "https://github.com/kaushalmodi/eless.git")
9143 (commit (string-append "v" version))))
9144 (file-name (git-file-name name version))
9145 (sha256
9146 (base32 "0jr7vhh4vw69llhi0fh9ljscljkszkj0acdxl04da5hvqv6pnqbb"))))
eeb883cb
RW
9147 (build-system trivial-build-system)
9148 (inputs
9149 `(("bash" ,bash)))
eeb883cb
RW
9150 (arguments
9151 `(#:modules ((guix build utils))
9152 #:builder
9153 (begin
9154 (use-modules (guix build utils))
9ee1b419
TGR
9155 (copy-recursively (assoc-ref %build-inputs "source") "source")
9156 (chdir "source")
eeb883cb
RW
9157 (substitute* "eless" (("/usr/bin/env bash")
9158 (string-append (assoc-ref %build-inputs "bash")
9159 "/bin/bash")))
9160 (install-file "eless" (string-append %output "/bin"))
9161 (install-file "doc/eless.info" (string-append %output "/share/info"))
9162 #t)))
9163 (home-page "https://github.com/kaushalmodi/eless")
9164 (synopsis "Use Emacs as a paginator")
9165 (description "@code{eless} provides a combination of Bash script
9166and a minimal Emacs view-mode.
9167
9168Feautures:
9169
9170@itemize
9171@item Independent of a user’s Emacs config.
9172@item Customizable via the @code{(locate-user-emacs-file \"elesscfg\")} config.
9173@item Not require an Emacs server to be already running.
9174@item Syntax highlighting.
9175@item Org-mode file rendering.
9176@item @code{man} page viewer.
9177@item Info viewer.
9178@item Dired, wdired, (batch edit symbolic links).
9179@item Colored diffs, git diff, git log, ls with auto ANSI detection.
9180@item Filter log files lines matching a regexp.
9181@item Auto-revert log files similar to @code{tail -f}.
9182@item Quickly change frame and font sizes.
9183@end itemize\n")
9184 (license license:expat)))
9185
9186(define-public emacs-evil-matchit
9187 (package
9188 (name "emacs-evil-matchit")
96c822a3 9189 (version "2.2.9")
eeb883cb
RW
9190 (source
9191 (origin
0b9f426c
TGR
9192 (method git-fetch)
9193 (uri (git-reference
9194 (url "https://github.com/redguardtoo/evil-matchit.git")
9195 (commit version)))
9196 (file-name (git-file-name name version))
eeb883cb 9197 (sha256
0b9f426c 9198 (base32 "12if45pxfndy3d7r4gd3zx4d3jk4d64fdmwkhc3y5zhqq9h9iy4c"))))
eeb883cb
RW
9199 (build-system emacs-build-system)
9200 (propagated-inputs
9201 `(("emacs-evil" ,emacs-evil)))
9202 (home-page "https://github.com/redguardtoo/evil-matchit")
9203 (synopsis "Vim matchit ported into Emacs")
9204 (description
9205 "@code{evil-matchit} is a minor mode for jumping between matching tags in
9206evil mode using @kbd{%}. It is a port of @code{matchit} for Vim.")
9207 (license license:gpl3+)))
9208
9209(define-public emacs-evil-smartparens
9210 (package
9211 (name "emacs-evil-smartparens")
9212 (version "0.4.0")
9213 (source
9214 (origin
57a07f9c
TGR
9215 (method git-fetch)
9216 (uri (git-reference
9217 (url "https://github.com/expez/evil-smartparens.git")
9218 (commit version)))
9219 (file-name (git-file-name name version))
eeb883cb 9220 (sha256
57a07f9c 9221 (base32 "1di4qz5fbrlwbg16c2j0m7y8zqfxw027qd7zqmc3rwk9znbhg7wl"))))
eeb883cb
RW
9222 (build-system emacs-build-system)
9223 (propagated-inputs
9224 `(("emacs-evil" ,emacs-evil)
9225 ("emacs-smartparens" ,emacs-smartparens)))
9226 (home-page "https://github.com/expez/evil-smartparens")
9227 (synopsis "Emacs Evil integration for Smartparens")
9228 (description "@code{emacs-evil-smartparens} is an Emacs minor mode which
9229makes Evil play nice with Smartparens. Evil is an Emacs minor mode that
9230emulates Vim features and provides Vim-like key bindings.")
9231 (license license:gpl3+)))
9232
9233(define-public emacs-evil-quickscope
9234 (package
9235 (name "emacs-evil-quickscope")
9236 (version "0.1.4")
9237 (source
9238 (origin
3b5d4f72
TGR
9239 (method git-fetch)
9240 (uri (git-reference
9241 (url "https://github.com/blorbx/evil-quickscope.git")
9242 (commit (string-append "v" version))))
9243 (file-name (git-file-name name version))
eeb883cb 9244 (sha256
3b5d4f72 9245 (base32 "1ja9ggj70wf0nmma4xnc1zdzg2crq9h1cv3cj7cgwjmllflgkfq7"))))
eeb883cb
RW
9246 (build-system emacs-build-system)
9247 (propagated-inputs
9248 `(("emacs-evil" ,emacs-evil)))
9249 (arguments
9250 `(#:tests? #t
9251 #:test-command '("emacs" "--batch"
9252 "-l" "evil-quickscope-tests.el"
9253 "-f" "ert-run-tests-batch-and-exit")))
9254 (home-page "https://github.com/blorbx/evil-quickscope")
9255 (synopsis "Target highlighting for emacs evil-mode f,F,t and T commands")
9256 (description "@code{emacs-evil-quickscope} highlights targets for Evil
9257mode’s f,F,t,T keys, allowing for quick navigation within a line. It is a
9258port of quick-scope for Vim. Evil is an Emacs minor mode that emulates Vim
9259features and provides Vim-like key bindings.")
9260 (license license:gpl3+)))
9261
9262(define-public emacs-bongo
9263 (package
9264 (name "emacs-bongo")
9265 (version "1.0")
9266 (source
9267 (origin
135ad93e
TGR
9268 (method git-fetch)
9269 (uri (git-reference
9270 (url "https://github.com/dbrock/bongo.git")
9271 (commit version)))
9272 (file-name (git-file-name name version))
eeb883cb 9273 (sha256
135ad93e 9274 (base32 "1q3ws2vn062dh7ci6jn2k2bcn7szh3ap64sgwkzdd6f1pas37fnr"))))
eeb883cb
RW
9275 (build-system emacs-build-system)
9276 (home-page "https://github.com/dbrock/bongo")
9277 (synopsis "Media player for Emacs")
9278 (description
9279 "This package provides a flexible media player for Emacs. @code{Bongo}
9280supports multiple backends such as @code{vlc}, @code{mpg123},
9281@code{ogg123}, @code{speexdec}, @code{timidity}, @code{mikmod} and
9282@code{afplay}.")
9283 (license license:gpl2+)))
9284
9285(define-public emacs-groovy-modes
9286 (package
9287 (name "emacs-groovy-modes")
9288 (version "2.0")
9289 (source (origin
9290 (method url-fetch)
9291 (uri (string-append
9292 "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes"
9293 "/archive/" version ".tar.gz"))
9294 (file-name (string-append name "-" version ".tar.gz"))
9295 (sha256
9296 (base32
9297 "15j0hnkx9nppjzda5cqsxxz5f3bq9hc4xfyjcdypzqiypcvmpa39"))))
9298 (build-system emacs-build-system)
9299 (propagated-inputs
9300 `(("emacs-s" ,emacs-s)))
9301 (home-page "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
9302 (synopsis "Groovy related modes for Emacs")
9303 (description
4dc559ab 9304 "This package provides @code{groovy-mode} for syntax highlighting in
eeb883cb
RW
9305Groovy source files, REPL integration with run-groovy and Grails project
9306navigation with the grails mode.")
9307 (license license:gpl3+)))
9308
9309(define-public groovy-emacs-modes
9310 (deprecated-package "groovy-emacs-modes" emacs-groovy-modes))
9311
9312(define-public emacs-org-tree-slide
9313 (let ((commit "dff8f1a4a64c8dd0a1fde0b0131e2fe186747134")
9314 (revision "0"))
9315 (package
9316 (name "emacs-org-tree-slide")
9317 (version (git-version "0.1" revision commit))
9318 (home-page "https://github.com/takaxp/org-tree-slide")
9319 (source (origin
9320 (method git-fetch)
9321 (uri (git-reference (url home-page) (commit commit)))
9322 (sha256
9323 (base32
9324 "153bg0x7ypla11pq51jmsgzfjklwwnrq56xgpbfhk1j16xwz9hyf"))
9325 (file-name (git-file-name name version))))
9326 (build-system emacs-build-system)
9327 (synopsis "Presentation tool for org-mode")
9328 (description
9329 "Org-tree-slide provides a slideshow mode to view org-mode files. Use
9330@code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
9331@kbd{C-<} to jump to the next and previous slide.")
9332 (license license:gpl3+))))
9333
9334(define-public emacs-scratch-el
9335 (let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897")
9336 (revision "1"))
9337 (package
9338 (name "emacs-scratch-el")
9339 (version (git-version "1.2" revision commit))
9340 (source (origin
9341 (method git-fetch)
9342 (uri (git-reference
9343 (url "https://github.com/ieure/scratch-el.git")
9344 (commit commit)))
9345 (file-name (git-file-name name version))
9346 (sha256
9347 (base32
9348 "0wscsndynjmnliajqaz28r1ww81j8wh84zwaaswx51abhwgl0idf"))))
9349 (build-system emacs-build-system)
9350 (native-inputs
9351 `(("texinfo" ,texinfo)))
9352 (arguments
9353 '(#:phases
9354 (modify-phases %standard-phases
9355 (add-after 'install 'install-doc
9356 (lambda* (#:key outputs #:allow-other-keys)
9357 (unless (invoke "makeinfo" "scratch.texi")
9358 (error "makeinfo failed"))
9359 (install-file "scratch.info"
9360 (string-append (assoc-ref outputs "out")
9361 "/share/info"))
9362 #t)))))
9363 (home-page "https://github.com/ieure/scratch-el/")
9364 (synopsis "Create scratch buffers with the same mode as current buffer")
9365 (description "Scratch is an extension to Emacs that enables one to create
9366scratch buffers that are in the same mode as the current buffer. This is
9367notably useful when working on code in some language; you may grab code into a
9368scratch buffer, and, by virtue of this extension, do so using the Emacs
9369formatting rules for that language.")
9370 (license license:bsd-2))))
9371
9372(define-public emacs-kv
9373 (package
9374 (name "emacs-kv")
9375 (version "0.0.19")
9376 (source
9377 (origin
9378 (method git-fetch)
9379 (uri (git-reference
9380 (url "https://github.com/nicferrier/emacs-kv.git")
9381 (commit "721148475bce38a70e0b678ba8aa923652e8900e")))
cff11770 9382 (file-name (git-file-name name version))
eeb883cb
RW
9383 (sha256
9384 (base32
9385 "0r0lz2s6gvy04fwnafai668jsf4546h4k6zd6isx5wpk0n33pj5m"))))
9386 (build-system emacs-build-system)
9387 (arguments
9388 `(#:tests? #t
9389 #:test-command '("emacs" "--batch" "-l" "kv-tests.el"
9390 "-f" "ert-run-tests-batch-and-exit")))
9391 (home-page "https://github.com/nicferrier/emacs-kv")
9392 (synopsis "Key/Value data structures library for Emacs Lisp")
9393 (description "@code{emacs-kv} is a collection of tools for dealing with
9394key/value data structures such as plists, alists and hash-tables in Emacs
9395Lisp.")
9396 (license license:gpl3+)))
9397
9398(define-public emacs-esxml
9399 (package
9400 (name "emacs-esxml")
9401 (version "0.3.4")
9402 (source (origin
9403 (method git-fetch)
9404 (uri (git-reference
9405 (url "https://github.com/tali713/esxml.git")
9406 (commit version)))
9407 (file-name (git-file-name name version))
9408 (sha256
9409 (base32
9410 "00vv8a75wdklygdyr4km9mc2ismxak69c45jmcny41xl44rp9x8m"))))
9411 (build-system emacs-build-system)
9412 (arguments
9413 `(#:phases
9414 (modify-phases %standard-phases
9415 (add-after 'unpack 'fix-sources
9416 (lambda _
9417 ;; See: https://github.com/tali713/esxml/pull/28.
9418 (substitute* "css-lite.el"
9419 ((";;; main interface")
9420 (string-append ";;; main interface\n"
9421 "(require 'cl-lib)"))
9422 (("mapcan")
9423 "cl-mapcan")
9424 (("',\\(cl-mapcan #'process-css-rule rules\\)")
9425 "(cl-mapcan #'process-css-rule ',rules)"))
9426 (substitute* "esxml-form.el"
9427 ((",esxml-form-field-defn")
9428 "#'esxml-form-field-defn"))
9429 ;; See: https://github.com/tali713/esxml/issues/25
9430 (delete-file "esxpath.el")
9431 #t)))))
9432 (propagated-inputs
9433 `(("emacs-kv" ,emacs-kv)))
9434 (home-page "https://github.com/tali713/esxml/")
9435 (synopsis "SXML for EmacsLisp")
9436 (description "This is XML/XHTML done with S-Expressions in EmacsLisp.
9437Simply, this is the easiest way to write HTML or XML in Lisp. This library
9438uses the native form of XML representation as used by many libraries already
9439included within Emacs. See @code{esxml-to-xml} for a concise description of
9440the format.")
9441 (license license:gpl3+)))
9442
9443(define-public emacs-nov-el
9444 (package
9445 (name "emacs-nov-el")
9446 (version "0.2.6")
9447 (source (origin
9448 (method git-fetch)
9449 (uri (git-reference
9450 (url "https://github.com/wasamasa/nov.el.git")
9451 (commit version)))
9452 (file-name (git-file-name name version))
9453 (sha256
9454 (base32
9455 "188h5gzn1zf443g0b7q5bpmvvpr6ds5h8aci8vxc92py56rhyrvc"))))
9456 (build-system emacs-build-system)
9457 (arguments
9458 `(#:phases
9459 (modify-phases %standard-phases
9460 (add-after 'unpack 'embed-path-to-unzip
9461 (lambda _
9462 (substitute* "nov.el"
9463 (("\\(executable-find \"unzip\"\\)")
9464 (string-append "\"" (which "unzip") "\"")))
9465 #t)))))
9466 (propagated-inputs
9467 `(("emacs-dash" ,emacs-dash)
9468 ("emacs-esxml" ,emacs-esxml)))
9469 (inputs
9470 `(("unzip" ,unzip)))
9471 (home-page "https://github.com/wasamasa/nov.el/")
9472 (synopsis "Major mode for reading EPUBs in Emacs")
9473 (description "@code{nov.el} provides a major mode for reading EPUB
9474documents.
9475
9476Features:
9477
9478@itemize
9479@item Basic navigation (jump to TOC, previous/next chapter)
9480@item Remembering and restoring the last read position
9481@item Jump to next chapter when scrolling beyond end
9482@item Renders EPUB2 (@code{.ncx}) and EPUB3 (@code{<nav>}) TOCs
9483@item Hyperlinks to internal and external targets
9484@item Supports textual and image documents
9485@item View source of document files
9486@item Metadata display
9487@item Image rescaling
9488@end itemize
9489")
9490 (license license:gpl3+)))
9491
9492(define-public epipe
9493 (package
9494 (name "epipe")
9495 (version "0.1.0")
9496 (source
9497 (origin
78b035ae
TGR
9498 (method git-fetch)
9499 (uri (git-reference
9500 (url "https://github.com/cute-jumper/epipe.git")
9501 (commit version)))
9502 (file-name (git-file-name name version))
eeb883cb 9503 (sha256
78b035ae 9504 (base32 "0lkisi1s7sn12nx8zh58qmsxwnk1rjwryj18wcbr148xqz3swg57"))))
eeb883cb
RW
9505 (build-system trivial-build-system)
9506 (inputs
9507 `(("bash" ,bash)
9508 ("perl" ,perl)))
eeb883cb
RW
9509 (arguments
9510 `(#:modules
9511 ((guix build utils))
9512 #:builder
9513 (begin
9514 (use-modules (guix build utils))
78b035ae
TGR
9515 ;; Extract source.
9516 (copy-recursively (assoc-ref %build-inputs "source") "source")
9517 (chdir "source")
9518 ;; Patch shebangs.
eeb883cb
RW
9519 (substitute* "epipe"
9520 (("/usr/bin/env bash")
9521 (string-append (assoc-ref %build-inputs "bash") "/bin/bash")))
9522 (patch-shebang "epipe.pl"
9523 (list (string-append (assoc-ref %build-inputs "perl")
9524 "/bin")))
78b035ae 9525 ;; Install.
eeb883cb
RW
9526 (for-each (lambda (file)
9527 (install-file file (string-append %output "/bin")))
9528 '("epipe" "epipe.pl"))
9529 #t)))
9530 (home-page "https://github.com/cute-jumper/epipe")
9531 (synopsis "Pipe to the @code{emacsclient}")
9532 (description "@code{epipe} provides an utility to use your editor in
9533the pipeline, featuring the support for running @code{emacsclient}.")
9534 (license license:gpl3+)))
9535
9536(define-public emacs-hcl-mode
9537 (package
9538 (name "emacs-hcl-mode")
9539 (version "0.03")
9540 (source
9541 (origin
b98209bd
TGR
9542 (method git-fetch)
9543 (uri (git-reference
9544 (url "https://github.com/syohex/emacs-hcl-mode.git")
9545 (commit version)))
9546 (file-name (git-file-name name version))
eeb883cb 9547 (sha256
b98209bd 9548 (base32 "0jqrgq15jz6pvx38pnwkizzfiih0d3nxqphyrc92nqpcyimg8b6g"))))
eeb883cb
RW
9549 (build-system emacs-build-system)
9550 (home-page "https://github.com/syohex/emacs-hcl-mode")
9551 (synopsis "Major mode for the Hashicorp Configuration Language")
9552 (description
9553 "@code{emacs-hcl-mode} provides an Emacs major mode for working with
9554@acronym{HCL, Hashicorp Configuration Language}. It provides syntax
9555highlighting and indentation support.")
9556 (license license:gpl3+)))
9557
9558(define-public emacs-terraform-mode
9559 (package
9560 (name "emacs-terraform-mode")
9561 (version "0.06")
9562 (source
9563 (origin
133ebfd0
TGR
9564 (method git-fetch)
9565 (uri (git-reference
9566 (url "https://github.com/syohex/emacs-terraform-mode.git")
9567 (commit version)))
9568 (file-name (git-file-name name version))
eeb883cb 9569 (sha256
133ebfd0 9570 (base32 "05hn8kskx9lcgn7bzgam99c629zlryir2pickwrqndacjrqpdykx"))))
eeb883cb
RW
9571 (build-system emacs-build-system)
9572 (propagated-inputs
9573 `(("emacs-hcl-mode" ,emacs-hcl-mode)))
9574 (home-page "https://github.com/syohex/emacs-terraform-mode")
9575 (synopsis "Major mode for Terraform")
9576 (description
9577 "@code{emacs-terraform-mode} provides a major mode for working with
9578@uref{https://www.terraform.io/, Terraform} configuration files. Most of the
9579functionality is inherited from @code{hcl-mode}.")
9580 (license license:gpl3+)))
9581
9582(define-public emacs-exec-path-from-shell
9583 (package
9584 (name "emacs-exec-path-from-shell")
265ee146 9585 (version "1.12")
eeb883cb
RW
9586 (source
9587 (origin
265ee146
BL
9588 (method git-fetch)
9589 (uri (git-reference
9590 (url "https://github.com/purcell/exec-path-from-shell")
9591 (commit version)))
eeb883cb
RW
9592 (sha256
9593 (base32
265ee146 9594 "1ga8bpxngd3ph2hdiik92c612ki71qxw818i6rgx6f6a5r0sbf3p"))))
eeb883cb
RW
9595 (build-system emacs-build-system)
9596 (home-page "https://github.com/purcell/exec-path-from-shell")
9597 (synopsis "Get environment variables such as @var{PATH} from the shell")
9598 (description
9599 "This library allows the user to set Emacs @var{exec-path} and @var{PATH}
9600from the shell @var{PATH}, so that @code{shell-command}, @code{compile} and
9601the like work as expected on systems on which Emacs is not guaranteed to
9602inherit a login shell's environment variables. It also allows other
9603environment variables to be retrieved from the shell, so that Emacs will see
9604the same values you get in a terminal.")
9605 (license license:gpl3+)))
9606
9607(define-public emacs-deft
9608 (package
9609 (name "emacs-deft")
9610 (version "0.8")
9611 (source
9612 (origin
9613 (method url-fetch)
9614 (uri (string-append "https://stable.melpa.org/packages/deft-"
9615 version ".el"))
9616 (sha256
9617 (base32
9618 "1vb9cjxskc7c0yyf9pvxy1fzypg1vrcgwnjz0m3hslinsgdyig58"))))
9619 (build-system emacs-build-system)
9620 (home-page "https://jblevins.org/projects/deft/")
9621 (synopsis "Quickly browse, filter, and edit plain text notes")
9622 (description
9623 "Deft is an Emacs mode for quickly browsing, filtering, and editing
9624directories of plain text notes, inspired by Notational Velocity.")
9625 (license license:bsd-3)))
9626
9627(define-public emacs-anzu
9628 (package
9629 (name "emacs-anzu")
9630 (version "0.62")
9631 (source
9632 (origin
c8ab5320
TGR
9633 (method git-fetch)
9634 (uri (git-reference
9635 (url "https://github.com/syohex/emacs-anzu.git")
9636 (commit version)))
9637 (file-name (git-file-name name version))
eeb883cb 9638 (sha256
c8ab5320 9639 (base32 "1lzvc0ihcbplir4hqfyxfqpsd78arz15gk92kmq4f8ggbkl37fan"))))
eeb883cb
RW
9640 (build-system emacs-build-system)
9641 (home-page "https://github.com/syohex/emacs-anzu")
9642 (synopsis "Show number of matches in mode-line while searching")
9643 (description
9644 "Anzu provides a minor mode which displays \"current match/total
9645matches\" in the mode line in various search modes. This is an Emacs port of
9646Anzu.zim.")
9647 (license license:gpl3+)))
9648
9649(define-public emacs-emmet-mode
9650 (package
9651 (name "emacs-emmet-mode")
9652 (version "1.0.8")
9653 (source (origin
d8de2c01
EF
9654 (method git-fetch)
9655 (uri (git-reference
9656 (url "https://github.com/smihica/emmet-mode.git")
9657 (commit version)))
9658 (file-name (git-file-name name version))
9659 (sha256
9660 (base32
9661 "1dsa85bk33j90h1ypaz1ylqh9yp2xvlga237h3kwa5y3sb0d5ydi"))))
eeb883cb
RW
9662 (build-system emacs-build-system)
9663 (home-page "https://github.com/smihica/emmet-mode")
9664 (synopsis "Unofficial Emmet's support for Emacs")
9665 (description
9666 "Unfold CSS-selector-like expressions to markup. It is intended to be
9667used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
9668 (license license:gpl3+)))
9669
9670(define-public emacs-ergoemacs-mode
9671 (let ((commit "3ce23bba3cb50562693860f87f3528c471d603ba")
9672 (revision "1"))
9673 (package
9674 (name "emacs-ergoemacs-mode")
9675 (version (git-version "5.16.10.12" revision commit))
9676 (source
9677 (origin
9678 (method git-fetch)
9679 (uri (git-reference
9680 (url "https://github.com/ergoemacs/ergoemacs-mode.git")
9681 (commit commit)))
9682 (sha256
9683 (base32
9684 "1s3b9bridl78hh1mxmdk9nqlmqhibbaxk0a1cixmsf23s06w8w6l"))))
9685 (build-system emacs-build-system)
9686 (propagated-inputs
9687 `(("emacs-undo-tree" ,emacs-undo-tree)))
9688 (home-page "https://ergoemacs.github.io/")
9689 (synopsis "Emacs mode based on common modern interface and ergonomics")
9690 (description
9691 "This package provides an efficient Emacs keybinding set based on
9692statistics of command frequency, and supports common shortcuts for open,
9693close, copy, cut, paste, undo, redo.")
9694 (license license:gpl3+))))
9695
9696(define-public emacs-password-store
9697 (package
9698 (name "emacs-password-store")
9699 (version "1.7.3")
9700 (source (origin
9701 (method url-fetch)
9702 (uri
9703 (string-append "https://git.zx2c4.com/password-store/snapshot/"
9704 "password-store-" version ".tar.xz"))
9705 (sha256
9706 (base32
9707 "1x53k5dn3cdmvy8m4fqdld4hji5n676ksl0ql4armkmsds26av1b"))))
9708 (build-system emacs-build-system)
9709 (arguments
9710 `(#:phases
9711 (modify-phases %standard-phases
9712 (add-after 'unpack 'extract-el-file
9713 (lambda _
9714 (copy-file "contrib/emacs/password-store.el" "password-store.el")
9715 (delete-file-recursively "contrib")
9716 (delete-file-recursively "man")
9717 (delete-file-recursively "src")
9718 (delete-file-recursively "tests"))))))
9719 (propagated-inputs
9720 `(("emacs-f" ,emacs-f)
9721 ("emacs-s" ,emacs-s)
9722 ("emacs-with-editor" ,emacs-with-editor)
9723 ("password-store" ,password-store)))
9724 (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
9725 (synopsis "Password store (pass) support for Emacs")
9726 (description
9727 "This package provides functions for working with pass (\"the
9728standard Unix password manager\").")
9729 (license license:gpl2+)))
9730
9731(define-public emacs-pass
9732 (package
9733 (name "emacs-pass")
9734 (version "1.8")
82cf8883
TGR
9735 (source
9736 (origin
9737 (method git-fetch)
9738 (uri (git-reference
9739 (url "https://github.com/NicolasPetton/pass.git")
9740 (commit version)))
9741 (file-name (git-file-name name version))
9742 (sha256
9743 (base32 "05h4hacv3yygyjcjj004qbyqjpkl4pyhwgp25gsz8mw5c66l70cx"))))
eeb883cb
RW
9744 (build-system emacs-build-system)
9745 (propagated-inputs
9746 `(("emacs-password-store" ,emacs-password-store)
9747 ("emacs-f" ,emacs-f)))
9748 (home-page "https://github.com/NicolasPetton/pass")
9749 (synopsis "Major mode for @file{password-store.el}")
9750 (description "This is a major mode for managing password-store (pass)
9751keychains. The keychain entries are displayed in a directory-like structure
9752and can be consulted and modified.")
9753 (license license:gpl3+)))
9754
9755(define-public emacs-evil-anzu
9756 (package
9757 (name "emacs-evil-anzu")
9758 (version "0.03")
9759 (source
9760 (origin
9761 (method url-fetch)
9762 (uri (string-append "https://github.com/syohex/emacs-evil-anzu"
9763 "/archive/" version ".tar.gz"))
9764 (file-name (string-append name "-" version ".tar.gz"))
9765 (sha256
9766 (base32 "032hh2946z529cizqsg8pm6cpn5qdj8lfk3qskmx6xv3g2ra56ns"))))
9767 (build-system emacs-build-system)
9768 (propagated-inputs
9769 `(("emacs-evil" ,emacs-evil)
9770 ("emacs-anzu" ,emacs-anzu)))
9771 (home-page "https://github.com/syohex/emacs-evil-anzu")
9772 (synopsis "Anzu for evil-mode")
9773 (description "@code{anzu} provides a minor mode that displays the current
9774match and total match information in the mode-line in various search modes.")
9775 (license license:gpl3+)))
9776
9777(define-public emacs-pg
9778 (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d"))
9779 (package
9780 (name "emacs-pg")
9781 (version (git-version "0.1" "1" commit))
9782 (source (origin
9783 (method git-fetch)
9784 (uri (git-reference (url "https://github.com/cbbrowne/pg.el")
9785 (commit commit)))
9786 (file-name (git-file-name name version))
9787 (sha256
9788 (base32
9789 "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0"))))
9790 (build-system emacs-build-system)
9791 (home-page "https://github.com/cbbrowne/pg.el")
9792 (synopsis "Emacs Lisp interface for PostgreSQL")
9793 (description
9794 "This package provides an Emacs Lisp interface for PostgreSQL.")
9795 (license license:gpl3+))))
9796
9797(define-public emacs-cl-generic
9798 (package
9799 (name "emacs-cl-generic")
9800 (version "0.3")
9801 (source
9802 (origin
9803 (method url-fetch)
9804 (uri (string-append "https://elpa.gnu.org/packages/cl-generic-"
9805 version ".el"))
9806 (sha256
9807 (base32
9808 "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq"))))
9809 (build-system emacs-build-system)
9810 (home-page "https://elpa.gnu.org/packages/seq.html")
9811 (synopsis
9812 "Forward @code{cl-generic} compatibility for Emacs before version 25")
9813 (description "This package provides a subset of the features of the
9814@code{cl-generic} package introduced in Emacs-25, for use on previous
9815@code{emacsen}.")
9816 (license license:gpl3+)))
9817
9818(define-public emacs-finalize
9819 (package
9820 (name "emacs-finalize")
9821 (version "2.0.0")
9822 (source
9823 (origin
98c32a10
TGR
9824 (method git-fetch)
9825 (uri (git-reference
9826 (url "https://github.com/skeeto/elisp-finalize.git")
9827 (commit version)))
9828 (file-name (git-file-name name version))
eeb883cb 9829 (sha256
98c32a10 9830 (base32 "1gvlm4i62af5jscwz0jccc8ra0grprxpg2rlq91d5nn8dn5lpy79"))))
eeb883cb
RW
9831 (build-system emacs-build-system)
9832 (propagated-inputs
9833 `(("emacs-cl-generic" ,emacs-cl-generic)))
9834 (home-page "https://github.com/skeeto/elisp-finalize")
9835 (synopsis "Finalizers for Emacs Lisp")
9836 (description
9837 "This package will allows to immediately run a callback (a finalizer)
9838after its registered lisp object has been garbage collected. This allows for
9839extra resources, such as buffers and processes, to be cleaned up after the
9840object has been freed.")
9841 (license license:unlicense)))
9842
9843(define-public emacs-emacsql
9844 (package
9845 (name "emacs-emacsql")
9846 (version "3.0.0")
9847 (source (origin
9848 (method git-fetch)
9849 (uri (git-reference
9850 (url "https://github.com/skeeto/emacsql.git")
9851 (commit (string-append version))))
9852 (file-name (git-file-name name version))
9853 (sha256
9854 (base32
9855 "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"))))
9856 (build-system emacs-build-system)
9857 (arguments
9858 `(#:modules ((guix build emacs-build-system)
9859 (guix build utils)
9860 (guix build emacs-utils)
9861 (srfi srfi-26))
9862 #:phases
9863 (modify-phases %standard-phases
9864 (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files.
9865 (add-before 'install 'patch-elisp-shell-shebangs
9866 (lambda _
9867 (substitute* (find-files "." "\\.el")
9868 (("/bin/sh") (which "sh")))
9869 #t))
9870 (add-after 'patch-elisp-shell-shebangs 'setenv-shell
9871 (lambda _
9872 (setenv "SHELL" "sh")))
9873 (add-after 'setenv-shell 'build-emacsql-sqlite
9874 (lambda _
9875 (invoke "make" "binary" "CC=gcc")))
9876 (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
9877 ;; This build phase installs emacs-emacsql binary.
9878 (lambda* (#:key outputs #:allow-other-keys)
9879 (install-file "sqlite/emacsql-sqlite"
9880 (string-append (assoc-ref outputs "out")
9881 "/bin"))
9882 #t))
9883 (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
9884 ;; This build phase removes interactive prompts
9885 ;; and makes sure Emacs look for binaries in the right places.
9886 (lambda* (#:key outputs #:allow-other-keys)
9887 (let ((file "emacsql-sqlite.el"))
9888 (chmod file #o644)
9889 (emacs-substitute-sexps file
9890 ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
9891 ("(executable-find" (which "gcc"))
9892 ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary
9893 ;; in the right place.
9894 ("(defvar emacsql-sqlite-executable"
9895 (string-append (assoc-ref outputs "out")
9896 "/bin/emacsql-sqlite"))))))
9897 (replace 'install
9898 (lambda* (#:key outputs #:allow-other-keys)
9899 (let* ((out (assoc-ref outputs "out")))
9900 (install-file "sqlite/emacsql-sqlite"
9901 (string-append out "/bin"))
9902 (for-each (cut install-file <>
9903 (string-append out "/share/emacs/site-lisp/guix.d/"
9904 "emacsql" "-" ,version))
9905 (find-files "." "\\.elc*$")))
9906 #t)))))
9907 (inputs
9908 `(("emacs-minimal" ,emacs-minimal)
9909 ("mariadb" ,mariadb)
9910 ("postgresql" ,postgresql)))
9911 (propagated-inputs
9912 `(("emacs-finalize" ,emacs-finalize)
9913 ("emacs-pg" ,emacs-pg)))
9914 (home-page "https://github.com/skeeto/emacsql")
9915 (synopsis "Emacs high-level SQL database front-end")
9916 (description "Any readable Lisp value can be stored as a value in EmacSQL,
9917including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
9918has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
9919object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
9920 (license license:gpl3+)))
9921
9922(define-public emacs-closql
9923 (package
9924 (name "emacs-closql")
9925 (version "1.0.0")
9926 (source
9927 (origin
9928 (method git-fetch)
9929 (uri (git-reference
9930 (url "https://github.com/emacscollective/closql.git")
9931 (commit (string-append "v" version))))
9932 (file-name (git-file-name name version))
9933 (sha256
9934 (base32
9935 "1xhpfjjkjqfc1k2rj77cscclz5r7gpvv3hi202x178vdcpipjwar"))))
9936 (build-system emacs-build-system)
9937 (propagated-inputs
9938 `(("emacs-emacsql" ,emacs-emacsql)))
9939 (home-page "https://github.com/emacscollective/closql")
9940 (synopsis "Store EIEIO objects using EmacSQL")
9941 (description
9942 "This package allows to store uniform EIEIO objects in an EmacSQL
9943database. SQLite is used as backend. This library imposes some restrictions
9944on what kind of objects can be stored; it isn't intended to store arbitrary
9945objects. All objects have to share a common superclass and subclasses cannot
9946add any additional instance slots.")
9947 (license license:gpl3)))
9948
9949(define-public emacs-epkg
9950 ;; The release version is to old for the current database scheme.
9951 (let ((commit "432312b9583ed7b88ad9644fd1bf2183765a892e"))
9952 (package
9953 (name "emacs-epkg")
9954 (version (git-version "3.0.0" "1" commit))
9955 (source
9956 (origin
9957 (method git-fetch)
9958 (uri (git-reference
9959 (url "https://github.com/emacscollective/epkg.git")
9960 (commit commit)))
9961 (file-name (git-file-name name version))
9962 (sha256
9963 (base32
9964 "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k"))))
9965 (build-system emacs-build-system)
9966 (propagated-inputs
9967 `(("emacs-closql" ,emacs-closql)
9968 ("emacs-dash" ,emacs-dash)))
9969 (home-page "https://emacsmirror.net")
9970 (synopsis "Browse the Emacsmirror package database")
9971 (description "This package provides access to a local copy of the
9972Emacsmirror package database. It provides low-level functions for querying
9973the database and a @file{package.el} user interface for browsing the database.
9974Epkg itself is not a package manager.
9975
9976Getting a local copy:
9977
9978@example
9979git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs
9980cd ~/.emacs.d/epkgs
9981git submodule init
9982git config --global url.https://github.com/.insteadOf git@@github.com:
9983git submodule update
9984@end example
9985
9986Some submodule may be missing. In this case Git will prompt for a GitHub user
9987name and password. To skip it press a @key{Return} key.
9988
9989You could get a Epkg package list by invoking @code{epkg-list-packages} in
9990Emacs.")
9991 (license license:gpl3+))))
9992
9993(define-public emacs-elisp-slime-nav
9994 (package
9995 (name "emacs-elisp-slime-nav")
9996 (version "0.9")
9997 (source
9998 (origin
14246b43
TGR
9999 (method git-fetch)
10000 (uri (git-reference
10001 (url "https://github.com/purcell/elisp-slime-nav.git")
10002 (commit version)))
10003 (file-name (git-file-name name version))
eeb883cb 10004 (sha256
14246b43 10005 (base32 "11vyy0bvzbs1h1kggikrvhd658j7c730w0pdp6qkm60rigvfi1ih"))))
eeb883cb
RW
10006 (build-system emacs-build-system)
10007 (home-page "https://github.com/purcell/elisp-slime-nav")
10008 (synopsis "Make @code{M-.} and @code{M-,} work for elisp like they do in SLIME")
10009 (description
10010 "This package provides SLIME's convenient @code{M-.}and @code{M-,} navigation
10011in @code{emacs-lisp-mode}, together with an elisp equivalent of
10012@code{slime-describe-symbol}.")
10013 (license license:gpl3+)))
10014
10015(define-public emacs-dedicated
10016 (package
10017 (name "emacs-dedicated")
10018 (version "1.0.0")
6e215be7
TGR
10019 (source
10020 (origin
10021 (method git-fetch)
10022 (uri (git-reference
10023 (url "https://github.com/emacsorphanage/dedicated.git")
10024 (commit version)))
10025 (file-name (git-file-name name version))
10026 (sha256
10027 (base32 "0pba9s0h37sxyqh733vi6k5raa4cs7aradipf3826inw36jcw414"))))
eeb883cb
RW
10028 (build-system emacs-build-system)
10029 (home-page "https://github.com/emacsorphanage/dedicated")
10030 (synopsis "Emacs minor mode for toggling a windows's \"dedicated\" flag")
10031 (description
10032 "This simple Emacs minor mode allows you to toggle a window's
10033\"dedicated\" flag. When a window is \"dedicated\", Emacs will not select
10034files into that window. This can be quite handy since many commands will use
10035another window to show results (compilation mode, starting info, and so on).
10036A dedicated window won't be used for such a purpose. For details, please read
10037the source file.")
10038 (license license:gpl2+)))
10039
10040(define-public emacs-nnreddit
10041 (let ((commit "9843f99d01fd8f1eea2fc685965a7c7f4eeb187a")
10042 (revision "1"))
10043 (package
10044 (name "emacs-nnreddit")
10045 (version (string-append "0.0.1-" revision "."
10046 (string-take commit 7)))
10047 (source (origin
10048 (method git-fetch)
10049 (uri (git-reference
10050 (url "https://github.com/paul-issartel/nnreddit.git")
10051 (commit commit)))
4550d8d6 10052 (file-name (git-file-name name version))
eeb883cb
RW
10053 (sha256
10054 (base32
10055 "0j4h3bnga640250jdq8bwyja49r41ssrsjd6lba4gzzllqk02nbn"))))
10056 (build-system emacs-build-system)
10057 (home-page "https://github.com/paul-issartel/nnreddit")
10058 (synopsis "Reddit backend for the Gnus newsreader")
10059 (description "@url{https://www.reddit.com} backend for the Gnus
10060newsreader.")
10061 (license license:gpl3+))))
10062
10063(define-public emacs-makey
10064 (package
10065 (name "emacs-makey")
10066 (version "0.3")
10067 (source
10068 (origin
a670c3a5
TGR
10069 (method git-fetch)
10070 (uri (git-reference
10071 (url "https://github.com/mickeynp/makey.git")
10072 (commit version)))
10073 (file-name (git-file-name name version))
eeb883cb 10074 (sha256
a670c3a5 10075 (base32 "1rr7vpm3xxzcaam3m8xni3ajy8ycyljix07n2jzczayri9sd8csy"))))
eeb883cb
RW
10076 (build-system emacs-build-system)
10077 (home-page "https://github.com/mickeynp/makey")
10078 (synopsis "Emacs interactive command-line mode")
10079 (description
10080 "This package provides an Emacs interactive command-line mode.")
10081 (license license:gpl3+)))
10082
10083(define-public emacs-outorg
10084 (let ((commit "78b0695121fb974bc4e971eb4ef7f8afd6d89d64"))
10085 (package
10086 (name "emacs-outorg")
10087 (version (git-version "2.0" "1" commit))
10088 (source
10089 (origin
10090 (method git-fetch)
10091 (uri (git-reference
10092 (url "https://github.com/alphapapa/outorg")
10093 (commit commit)))
10094 (file-name (git-file-name name version))
10095 (sha256
10096 (base32
10097 "03aclh4m3f7rb821gr9pwvnqkkl91px3qxdcarpf3ypa1x4fxvlj"))))
10098 (build-system emacs-build-system)
10099 (home-page "https://github.com/alphapapa/outorg")
10100 (synopsis "Org-style comment editing")
10101 (description "Outorg is for editing comment-sections of source-code
10102files in temporary Org-mode buffers. It turns conventional
10103literate-programming upside-down in that the default mode is the
10104programming-mode, and special action has to be taken to switch to the
10105text-mode (i.e. Org-mode).")
10106 (license license:gpl3+))))
10107
10108(define-public emacs-outshine
10109 (let ((commit "5f1a6b70231d2811c522e4e5e8c89ff461b311d6"))
10110 (package
10111 (name "emacs-outshine")
10112 (version (git-version "2.0" "1" commit))
10113 (source (origin
10114 (method git-fetch)
10115 (uri (git-reference
10116 (url "https://github.com/alphapapa/outshine.git")
10117 (commit commit)))
10118 (file-name (git-file-name name version))
10119 (sha256
10120 (base32
10121 "1l9v1dfhgg7il11ifbhvcvrg3acfjk9sdxlc3lja1k54d7dp60jv"))))
10122 (build-system emacs-build-system)
10123 (propagated-inputs
10124 `(("emacs-outorg" ,emacs-outorg)))
10125 (home-page "https://github.com/alphapapa/outshine")
10126 (synopsis "Emacs outline with outshine")
10127 (description "Outshine attempts to bring the look and feel of
10128@code{org-mode} to an Emacs outside of the Org major-mode. It is an extension
10129of @code{outline-minor-mode} (@code{org-mode} itself derives from
10130outline-mode), so there is no such thing like an outshine mode, only
10131@code{outline-minor-mode} with outshine extensions loaded.")
10132 (license license:gpl3+))))
10133
10134(define-public emacs-parsebib
10135 (package
10136 (name "emacs-parsebib")
10137 (version "2.3.1")
10138 (source
10139 (origin
63bca23d
TGR
10140 (method git-fetch)
10141 (uri (git-reference
10142 (url "https://github.com/joostkremers/parsebib.git")
10143 (commit version)))
10144 (file-name (git-file-name name version))
eeb883cb 10145 (sha256
63bca23d 10146 (base32 "1bnqnxkb9dnl0fjrrjx0xn9jsqki2h8ygw3d5dm4bl79smah3qkh"))))
eeb883cb
RW
10147 (build-system emacs-build-system)
10148 (home-page "https://github.com/joostkremers/parsebib")
10149 (synopsis "Library for parsing bib files")
10150 (description
10151 "This package provides an Emacs library for parsing bib files.")
10152 (license license:gpl3+)))
10153
10154(define-public emacs-biblio
10155 (package
10156 (name "emacs-biblio")
c7cf43dd 10157 (version "0.2")
eeb883cb
RW
10158 (source
10159 (origin
8219da2c
TGR
10160 (method git-fetch)
10161 (uri (git-reference
10162 (url "https://github.com/cpitclaudel/biblio.el.git")
10163 (commit version)))
10164 (file-name (git-file-name name version))
eeb883cb 10165 (sha256
8219da2c 10166 (base32 "1gxjind6r235az59dr8liv03d8994mqb8a7m28j3c12q7p70aziz"))))
eeb883cb
RW
10167 (build-system emacs-build-system)
10168 (propagated-inputs
10169 `(("emacs-seq" ,emacs-seq)
10170 ("emacs-dash" ,emacs-dash)
10171 ("emacs-let-alist" ,emacs-let-alist)))
10172 (home-page "https://github.com/cpitclaudel/biblio.el")
10173 (synopsis "Browse and import bibliographic references")
10174 (description "This package provides an extensible Emacs package for
10175browsing and fetching references.
10176
10177@file{biblio.el} makes it easy to browse and gather bibliographic references
10178and publications from various sources, by keywords or by DOI. References are
10179automatically fetched from well-curated sources, and formatted as BibTeX.")
10180 (license license:gpl3+)))
10181
10182(define-public emacs-helm-bibtex
10183 (let ((commit "8ed898fb5a68f18e9bb9973832a5c1f8abcfc463")
10184 (revision "1"))
10185 (package
10186 (name "emacs-helm-bibtex")
10187 (version (string-append "2.0.0" "-" revision "."
10188 (string-take commit 7)))
10189 (source
10190 (origin
10191 (method git-fetch)
10192 (uri (git-reference
10193 (url "https://github.com/tmalsburg/helm-bibtex.git")
10194 (commit commit)))
757ea841 10195 (file-name (git-file-name name version))
eeb883cb
RW
10196 (sha256
10197 (base32
10198 "14lyx0vbqr97p3anzrsp7m3q0kqclyjcdwplpraim403fcklzbnz"))))
10199 (build-system emacs-build-system)
10200 (propagated-inputs
10201 `(("emacs-helm" ,emacs-helm)
10202 ("emacs-parsebib" ,emacs-parsebib)
10203 ("emacs-s" ,emacs-s)
10204 ("emacs-dash" ,emacs-dash)
10205 ("emacs-f" ,emacs-f)
10206 ("emacs-biblio" ,emacs-biblio)
10207 ("emacs-ivy" ,emacs-ivy)))
10208 (home-page "https://github.com/tmalsburg/helm-bibtex")
10209 (synopsis "Bibliography manager based on Helm")
10210 (description "This package provides bibliography manager for Emacs,
10211based on Helm and the bibtex-completion backend.
10212
10213Key features:
10214
10215@itemize
10216@item Quick access to your bibliography from within Emacs
10217@item Powerful search capabilities
10218@item Provides instant search results as you type
10219@item Tightly integrated with LaTeX authoring, emails, Org mode, etc.
10220@item Open the PDFs, URLs, or DOIs associated with an entry
10221@item Insert LaTeX cite commands, Ebib links, or Pandoc citations,
10222BibTeX entries, or plain text references at point, attach PDFs to emails
10223@item Support for note taking
10224@item Quick access to online bibliographic databases such as Pubmed,
10225arXiv, Google Scholar, Library of Congress, etc.
10226@item Imports BibTeX entries from CrossRef and other sources.
10227@end itemize\n")
10228 (license license:gpl3+))))
10229
10230(define-public emacs-ewmctrl
10231 (let ((commit "3d0217c4d6cdb5c308b6cb4293574f470d4faacf"))
10232 (package
10233 (name "emacs-ewmctrl")
10234 (version (git-version "0.0.1" "1" commit))
10235 (source
10236 (origin
10237 (method git-fetch)
10238 (uri (git-reference
10239 (url "https://github.com/flexibeast/ewmctrl.git")
10240 (commit commit)))
10241 (file-name (git-file-name name version))
10242 (sha256
10243 (base32
10244 "0ilwvx0qryv3v6xf0gxqwnfm6pf96gxap8h9g3f6z6lk9ff4n1wi"))))
10245 (build-system emacs-build-system)
10246 (arguments
10247 '(#:phases
10248 (modify-phases %standard-phases
10249 (add-after 'unpack 'patch-ewmctrl
10250 ;; This build phase makes sure ‘ewmctrl’ looks
10251 ;; for ‘wmctrl’ in the right place.
10252 (lambda _
10253 (let ((file "ewmctrl.el"))
10254 (chmod file #o644)
10255 (emacs-substitute-sexps file
10256 ("(defcustom ewmctrl-wmctrl-path" (which "wmctrl")))))))))
10257 (inputs
10258 `(("wmctrl" ,wmctrl)))
10259 (home-page "https://github.com/flexibeast/ewmctrl")
10260 (synopsis "Emacs interface to @code{wmctrl}")
10261 (description "@code{ewmctrl} provides an Emacs interface to
10262@code{wmctrl} command-line window-management program.")
10263 (license license:gpl3+))))
10264
2d164c9e
BL
10265(define-public emacs-erc-image
10266 (let ((commit "82fb3871f02e24b1e880770b9a3d187aab43d0f0")
10267 (revision "1"))
10268 (package
10269 (name "emacs-erc-image")
10270 (version (git-version "0" revision commit))
10271 (source
10272 (origin
10273 (method git-fetch)
10274 (uri (git-reference
10275 (url "https://github.com/kidd/erc-image.el")
10276 (commit commit)))
10277 (file-name (git-file-name name version))
10278 (sha256
10279 (base32
10280 "1q8mkf612fb4fjp8h4kbr107wn083iqfdgv8f80pcmil8y33dw9i"))))
10281 (build-system emacs-build-system)
10282 (home-page "https://github.com/kidd/erc-image.el")
10283 (synopsis "Show inlined images (png/jpg/gif/svg) in ERC buffers")
10284 (description "This plugin subscribes to hooks @code{erc-insert-modify-hook}
10285and @code{erc-send-modify-hook} to download and show images.")
10286 (license license:gpl3+))))
10287
eeb883cb
RW
10288(define-public emacs-helm-gtags
10289 (package
10290 (name "emacs-helm-gtags")
10291 (version "1.5.6")
40cc1884
TGR
10292 (source
10293 (origin
10294 (method git-fetch)
10295 (uri (git-reference
10296 (url "https://github.com/syohex/emacs-helm-gtags.git")
10297 (commit version)))
10298 (file-name (git-file-name name version))
10299 (sha256
10300 (base32 "0zyspn9rqfs3hkq8qx0q1w5qiv30ignbmycyv0vn3a6q7a5fsnhx"))))
eeb883cb
RW
10301 (build-system emacs-build-system)
10302 (propagated-inputs
10303 `(("emacs-helm" ,emacs-helm)))
10304 (home-page "https://github.com/syohex/emacs-helm-gtags")
10305 (synopsis "Emacs Helm interface to GNU Global")
10306 (description
10307 "@code{emacs-helm-gtags} provides a Emacs Helm interface to GNU Global.")
10308 (license license:gpl3+)))
10309
10310(define-public emacs-list-utils
10311 (package
10312 (name "emacs-list-utils")
10313 (version "0.4.4")
10314 (source
10315 (origin
5521a3e7
TGR
10316 (method git-fetch)
10317 (uri (git-reference
10318 (url "https://github.com/rolandwalker/list-utils.git")
10319 (commit (string-append "v" version))))
10320 (file-name (git-file-name name version))
eeb883cb 10321 (sha256
5521a3e7 10322 (base32 "0ql159v7sxs33yh2l080kchrj52vk34knz50cvqi3ykpb7djg3sz"))))
eeb883cb
RW
10323 (build-system emacs-build-system)
10324 (home-page "https://github.com/rolandwalker/list-utils")
10325 (synopsis "List-manipulation utility functions")
10326 (description "This package provides a list manipulation library for Emacs.")
10327 (license license:gpl3+)))
10328
10329(define-public emacs-move-text
10330 (package
10331 (name "emacs-move-text")
10332 (version "2.0.8")
10333 (source
10334 (origin
afca2f41
TGR
10335 (method git-fetch)
10336 (uri (git-reference
10337 (url "https://github.com/emacsfodder/move-text.git")
10338 (commit version)))
10339 (file-name (git-file-name name version))
eeb883cb 10340 (sha256
afca2f41 10341 (base32 "06jxk5g23822gfmwrxhc34zand3dr8p2wjh1zs3j61ibz6n0nmz1"))))
eeb883cb
RW
10342 (build-system emacs-build-system)
10343 (home-page "https://github.com/emacsfodder/move-text")
10344 (synopsis "Move current line or region with M-up or M-down")
10345 (description "This package provide functions to move the current line
10346using @kbd{M-up} or @kbd{M-down} if a region is marked, it will move the
10347region instead.")
10348 (license license:gpl3+)))
10349
10350(define-public emacs-validate
10351 (package
10352 (name "emacs-validate")
10353 (version "1.0.5")
10354 (source (origin
10355 (method url-fetch)
10356 (uri (string-append "https://github.com/Malabarba/validate.el"
10357 "/archive/" version ".tar.gz"))
10358 (file-name (string-append name "-" version ".tar.gz"))
10359 (sha256
10360 (base32
10361 "125mbd111f1h1baw0z3fzm48y1bvaigljyzvvnqgrn0shxbj0khg"))))
10362 (build-system emacs-build-system)
10363 (home-page "https://github.com/Malabarba/validate.el")
10364 (synopsis "Emacs library for scheme validation")
10365 (description "This Emacs library provides two functions that perform
10366schema validation.")
10367 (license license:gpl3+)))
10368
10369(define-public emacs-rainbow-blocks
10370 (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842"))
10371 (package
10372 (name "emacs-rainbow-blocks")
10373 (version (git-version "1.0.0" "1" commit))
10374 (source (origin
10375 (method git-fetch)
10376 (uri (git-reference
10377 (url "https://github.com/istib/rainbow-blocks.git")
10378 (commit commit)))
10379 (file-name (git-file-name name version))
10380 (sha256
10381 (base32
10382 "06yfb3i7wzvqrhkb61zib9xvpb5i00s4frizkzff66im05k0n795"))))
10383 (build-system emacs-build-system)
10384 (home-page "https://github.com/istib/rainbow-blocks")
10385 (synopsis "Highlight sexp blocks")
10386 (description "Rainbow-blocks is an Emacs mode that highlights blocks
10387made of parentheses, brackets, and braces according to their depth. Each
10388successive level is highlighted in a different color. This makes it easy to
10389orient yourself in the code, and tell which statements are at a given level.")
10390 (license license:gpl3+))))
10391
10392(define-public emacs-hierarchy
10393 (package
10394 (name "emacs-hierarchy")
10395 (version "0.7.0")
10396 (source
10397 (origin
2b05c9ad
TGR
10398 (method git-fetch)
10399 (uri (git-reference
10400 (url "https://github.com/DamienCassou/hierarchy.git")
10401 (commit (string-append "v" version))))
10402 (file-name (git-file-name name version))
eeb883cb 10403 (sha256
2b05c9ad 10404 (base32 "1kykbb1sil5cycfa5aj8dhsxc5yrx1641i2np5kwdjid6ahdlz5r"))))
eeb883cb
RW
10405 (build-system emacs-build-system)
10406 (home-page "https://github.com/DamienCassou/hierarchy")
10407 (synopsis "Library to create and display hierarchy structures")
10408 (description "This package provides an Emacs library to create, query,
10409navigate and display hierarchy structures.")
10410 (license license:gpl3+)))
10411
10412(define-public emacs-tree-mode
10413 (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534")
10414 (revision "1"))
10415 (package
10416 (name "emacs-tree-mode")
10417 (version (string-append "0.0.1" "-" revision "."
10418 (string-take commit 7)))
10419 (source
10420 (origin
10421 (method git-fetch)
10422 (uri (git-reference
10423 (url "https://github.com/emacsorphanage/tree-mode.git")
10424 (commit commit)))
fbd017cd 10425 (file-name (git-file-name name version))
eeb883cb
RW
10426 (sha256
10427 (base32
10428 "13bbdhdmqg4x9yghanhr8fsbsxbnypzxdxgicz31sjjm675kpnix"))))
10429 (build-system emacs-build-system)
10430 (home-page "https://github.com/emacsorphanage/tree-mode")
10431 (synopsis "Emacs mode to manage tree widgets")
10432 (description
10433 "This package provides an Emacs library to manage tree widgets.")
10434 (license license:gpl3+))))
10435
10436(define-public emacs-md4rd
10437 (let ((commit "c55512c2f7680db2a1e73db6bdf93adecaf40fec")
10438 (revision "1"))
10439 (package
10440 (name "emacs-md4rd")
10441 (version (string-append "0.0.2" "-" revision "."
10442 (string-take commit 7)))
10443 (source (origin
10444 (method git-fetch)
10445 (uri (git-reference
10446 (url "https://github.com/ahungry/md4rd.git")
10447 (commit commit)))
2880da9e 10448 (file-name (git-file-name name version))
eeb883cb
RW
10449 (sha256
10450 (base32
10451 "0mvv1mvsrpkrmikcpfqf2zbawnzgq33j6zjdrlv48mcw57xb2ak9"))))
10452 (propagated-inputs
10453 `(("emacs-hierarchy" ,emacs-hierarchy)
10454 ("emacs-request" ,emacs-request)
10455 ("emacs-dash" ,emacs-dash)
10456 ("emacs-s" ,emacs-s)
10457 ("emacs-tree-mode" ,emacs-tree-mode)))
10458 (build-system emacs-build-system)
10459 (home-page "https://github.com/ahungry/md4rd")
10460 (synopsis "Emacs Mode for Reddit")
10461 (description
10462 "This package allows to read Reddit from within Emacs interactively.")
10463 (license license:gpl3+))))
10464
10465(define-public emacs-pulseaudio-control
e83d46f0
PN
10466 (let ((commit "7e1a87068379075a5e9ce36c64c686c03d20d379")
10467 (revision "3"))
eeb883cb
RW
10468 (package
10469 (name "emacs-pulseaudio-control")
10470 (version (git-version "0.0.1" revision commit))
10471 (source
10472 (origin
10473 (method git-fetch)
10474 (uri (git-reference
10475 (url "https://github.com/flexibeast/pulseaudio-control.git")
10476 (commit commit)))
10477 (file-name (git-file-name name version))
10478 (sha256
10479 (base32
e83d46f0 10480 "0wcaqyh15x56255rrj350089z15pnwixa2vf0ly6dv0hjmzmh3mr"))))
eeb883cb
RW
10481 (build-system emacs-build-system)
10482 (arguments
10483 '(#:phases (modify-phases %standard-phases
10484 (add-after 'unpack 'patch-file-name
10485 (lambda* (#:key inputs #:allow-other-keys)
10486 (let ((pulseaudio (assoc-ref inputs "pulseaudio")))
10487 (chmod "pulseaudio-control.el" #o600)
10488 (emacs-substitute-variables "pulseaudio-control.el"
10489 ("pulseaudio-control-pactl-path"
10490 (string-append pulseaudio "/bin/pactl")))
10491 #t))))))
10492 (inputs `(("pulseaudio" ,pulseaudio)))
10493 (home-page "https://github.com/flexibeast/pulseaudio-control")
10494 (synopsis "Control @code{pulseaudio} from Emacs")
10495 (description
10496 "This package allows to control @code{pulseaudio} from Emacs.")
10497 (license license:gpl3+))))
10498
10499(define-public emacs-datetime
10500 (package
10501 (name "emacs-datetime")
10502 (version "0.3")
95994b02
TGR
10503 (source
10504 (origin
10505 (method git-fetch)
10506 (uri (git-reference
10507 (url "https://github.com/doublep/datetime.git")
10508 (commit version)))
10509 (file-name (git-file-name name version))
10510 (sha256
10511 (base32 "0fdswqi53qx924lib7nd9dazn0916xf1ybrh3bcn3f8cn6b8ikg5"))))
eeb883cb
RW
10512 (build-system emacs-build-system)
10513 (home-page "https://github.com/doublep/datetime/")
10514 (synopsis "Library to work with dates in Emacs")
10515 (description "Parsing, formatting, matching and recoding
10516timestamps and date-time format strings library for Emacs.")
10517 (license license:gpl3+)))
10518
10519(define-public emacs-org-mind-map
10520 (let ((commit "9d6e262bedd94daf9de269f4d56de277275677cb")
10521 (revision "1"))
10522 (package
10523 (name "emacs-org-mind-map")
10524 (version (string-append "0.0.1" "-" revision "."
10525 (string-take commit 7)))
10526 (source
10527 (origin
10528 (method git-fetch)
10529 (uri (git-reference
10530 (url "https://github.com/theodorewiles/org-mind-map.git")
10531 (commit commit)))
64038edd 10532 (file-name (git-file-name name version))
eeb883cb
RW
10533 (sha256
10534 (base32
10535 "0jgkkgq7g64zckrmjib0hvz0qy3ynz5vz13qbmlpf096l3bb65wn"))))
10536 (propagated-inputs
10537 `(("emacs-dash" ,emacs-dash)))
10538 (build-system emacs-build-system)
10539 (home-page "https://github.com/theodorewiles/org-mind-map")
10540 (synopsis "Create Graphviz directed graphs from Org files")
10541 (description
10542 "This package creates Graphviz directed graphs from Org files.")
10543 (license license:gpl3+))))
10544
10545(define-public emacs-npm-mode
10546 (package
10547 (name "emacs-npm-mode")
10548 (version "0.6.0")
10549 (source
10550 (origin
32ce5382
TGR
10551 (method git-fetch)
10552 (uri (git-reference
10553 (url "https://github.com/mojochao/npm-mode.git")
10554 (commit version)))
10555 (file-name (git-file-name name version))
eeb883cb 10556 (sha256
32ce5382 10557 (base32 "1mh6nbffciw4yhv049kdhh796ysj1x21ndm3fwymhskb3dy0w1ss"))))
eeb883cb
RW
10558 (build-system emacs-build-system)
10559 (home-page "https://github.com/mojochao/npm-mode")
10560 (synopsis "Minor mode for working with @code{npm} projects")
10561 (description
10562 "@code{npm-mode} provides a minor mode to work with @code{npm} projects.")
10563 (license license:gpl3+)))
10564
10565(define-public emacs-seq
10566 (package
10567 (name "emacs-seq")
10568 (version "2.20")
10569 (source
10570 (origin
10571 (method url-fetch)
10572 (uri (string-append "http://elpa.gnu.org/packages/seq-" version ".tar"))
10573 (sha256
10574 (base32
10575 "0vrpx6nnyjb0gsypknzagimlhvcvi5y1rcdkpxyqr42415zr8d0n"))))
10576 (build-system emacs-build-system)
10577 (home-page "http://elpa.gnu.org/packages/seq.html")
10578 (synopsis "Sequence manipulation functions")
10579 (description "Sequence-manipulation functions that complement basic
10580functions provided by @file{subr.el}.")
10581 (license license:gpl3+)))
10582
10583(define-public emacs-itail
10584 (let ((commit "6e43c20da03be3b9c6ece93b7dc3495975ec1888")
10585 (revision "1"))
10586 (package
10587 (name "emacs-itail")
10588 (version (string-append "0.0.1" "-" revision "."
10589 (string-take commit 7)))
10590 (source
10591 (origin
10592 (method git-fetch)
10593 (uri (git-reference
10594 (url "https://github.com/re5et/itail.git")
10595 (commit commit)))
acbd9f5e 10596 (file-name (git-file-name name version))
eeb883cb
RW
10597 (sha256
10598 (base32
10599 "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv"))))
10600 (build-system emacs-build-system)
10601 (home-page "https://github.com/re5et/itail")
10602 (synopsis "Interactive @code{tail} Emacs mode")
10603 (description "@code{itail} provides interactive @code{tail} mode
10604that allows you to filter the tail with unix pipes and highlight the
10605contents of the tailed file. Works locally or on remote files using
10606tramp.")
10607 (license license:gpl3+))))
10608
10609(define-public emacs-loop
10610 (package
10611 (name "emacs-loop")
10612 (version "1.3")
10613 (source
10614 (origin
e163d78e
TGR
10615 (method git-fetch)
10616 (uri (git-reference
10617 (url "https://github.com/Wilfred/loop.el.git")
10618 (commit version)))
10619 (file-name (git-file-name name version))
eeb883cb 10620 (sha256
e163d78e 10621 (base32 "1gs95xnmnn8aa4794k7h8mw1sz1nfdh9v0caqj6yvnsdnwy74n5x"))))
eeb883cb
RW
10622 (build-system emacs-build-system)
10623 (home-page "https://github.com/Wilfred/loop.el")
10624 (synopsis "Imperative loop structures for Emacs")
10625 (description "Loop structures familiar to users of other languages. This
10626library adds a selection of popular loop structures as well as break and
10627continue.")
10628 (license license:gpl3+)))
10629
10630(define-public emacs-elisp-refs
10631 (package
10632 (name "emacs-elisp-refs")
10633 (version "1.3")
10634 (source
10635 (origin
cbd18c5c
TGR
10636 (method git-fetch)
10637 (uri (git-reference
10638 (url "https://github.com/Wilfred/elisp-refs.git")
10639 (commit version)))
10640 (file-name (git-file-name name version))
eeb883cb 10641 (sha256
cbd18c5c 10642 (base32 "0w7k91xf69zc0zkjrw8h8sjdjf9xq9qs5zhvajhd718lzf93564b"))))
eeb883cb
RW
10643 (build-system emacs-build-system)
10644 (propagated-inputs
10645 `(("emacs-dash" ,emacs-dash)
10646 ("emacs-f" ,emacs-f)
10647 ("emacs-list-utils" ,emacs-list-utils)
10648 ("emacs-loop" ,emacs-loop)
10649 ("emacs-s" ,emacs-s)
10650 ("emacs-shut-up" ,emacs-shut-up)))
10651 (home-page "https://github.com/Wilfred/elisp-refs")
10652 (synopsis "Find callers of elisp functions or macros")
10653 (description "Find references to functions, macros or variables. Unlike a
10654dumb text search, @code{elisp-refs} actually parses the code, so it's never
10655confused by comments or @code{foo-bar} matching @code{foo}.")
10656 (license license:gpl3+)))
10657
10658(define-public emacs-crux
10659 (let ((commit "4f5c8fefd5a6aa52e128c4a0401cc86410d6ac8f")
10660 (revision "1"))
10661 (package
10662 (name "emacs-crux")
10663 (version (string-append "0.3.0" "-" revision "."
10664 (string-take commit 7)))
10665 (source
10666 (origin
10667 (method git-fetch)
10668 (uri (git-reference
10669 (url "https://github.com/bbatsov/crux.git")
10670 (commit commit)))
187331e1 10671 (file-name (git-file-name name version))
eeb883cb
RW
10672 (sha256
10673 (base32
10674 "1fdxvv25cs01sg6fmvmzxpzvs50i6v8n2jya60lbavxqqhi0sbxd"))))
10675 (build-system emacs-build-system)
10676 (home-page "https://github.com/bbatsov/crux")
10677 (synopsis "Collection of useful functions for Emacs")
10678 (description
10679 "@code{crux} provides a collection of useful functions for Emacs.")
10680 (license license:gpl3+))))
10681
10682(define-public emacs-edit-server
10683 (package
10684 (name "emacs-edit-server")
10685 (version "1.13")
10686 (source
10687 (origin
006a1da8
TGR
10688 (method git-fetch)
10689 (uri (git-reference
10690 (url "https://github.com/stsquad/emacs_chrome.git")
10691 (commit (string-append "v" version))))
10692 (file-name (git-file-name name version))
eeb883cb 10693 (sha256
006a1da8 10694 (base32 "12dp1xj09jrp0kxp9xb6cak9dn6zkyis1wfn4fnhzmxxnrd8c5rn"))))
eeb883cb
RW
10695 (build-system emacs-build-system)
10696 (arguments
10697 `(#:phases
10698 (modify-phases %standard-phases
10699 (add-after 'unpack 'chdir-elisp
10700 ;; Elisp directory is not in root of the source.
10701 (lambda _
10702 (chdir "servers"))))))
10703 (home-page "https://github.com/stsquad/emacs_chrome")
10704 (synopsis "Server that responds to edit requests from Chromium")
10705 (description
10706 "This package provides an edit server to respond to requests from Emacs.")
10707 (license license:gpl3+)))
10708
10709(define-public emacs-m-buffer-el
10710 (package
10711 (name "emacs-m-buffer-el")
10712 (version "0.15")
10713 (source
10714 (origin
10715 (method url-fetch)
10716 (uri (string-append "https://github.com/phillord/m-buffer-el"
10717 "/archive/" "v" version ".tar.gz"))
10718 (file-name (string-append name "-" version ".tar.gz"))
10719 (sha256
10720 (base32
10721 "17vdcc8q37q9db98jyww1c0ivinmwfcw4l04zccfacalra63a214"))))
10722 (arguments
10723 `(#:phases
10724 (modify-phases %standard-phases
10725 (add-before 'install 'check
10726 (lambda* (#:key inputs #:allow-other-keys)
10727 (invoke "emacs" "--batch" "-L" "."
10728 "-l" "test/m-buffer-test.el"
10729 "-l" "test/m-buffer-at-test.el"
10730 "-f" "ert-run-tests-batch-and-exit"))))))
10731 (build-system emacs-build-system)
10732 (home-page "https://github.com/phillord/m-buffer-el")
10733 (synopsis "List oriented buffer operations for Emacs")
10734 (description "@code{m-buffer} provides a set of list-orientated functions
10735for operating over the contents of Emacs buffers.")
10736 (license license:gpl3+)))
10737
10738(define-public emacs-let-alist
10739 (package
10740 (name "emacs-let-alist")
10741 (version "1.0.5")
10742 (source
10743 (origin
10744 (method url-fetch)
10745 (uri (string-append
10746 "https://elpa.gnu.org/packages/let-alist-" version ".el"))
10747 (sha256
10748 (base32
10749 "0r7b9jni50la1m79kklml11syg8d2fmdlr83pv005sv1wh02jszw"))))
10750 (build-system emacs-build-system)
10751 (home-page "https://elpa.gnu.org/packages/let-alist.html")
10752 (synopsis "Easily let-bind values of an assoc-list by their names")
10753 (description "This package offers a single macro, @code{let-alist}. This
10754macro takes a first argument (whose value must be an alist) and a body.")
10755 (license license:gpl3+)))
10756
10757(define-public emacs-esup
10758 (let ((commit "a589005a9a888537deef94d6fe38a9b8790c97c7")
10759 (revision "1"))
10760 (package
10761 (name "emacs-esup")
10762 (version (string-append "0.6" "-" revision "."
10763 (string-take commit 7)))
10764 (source
10765 (origin
10766 (method git-fetch)
10767 (uri (git-reference
10768 (url "https://github.com/jschaf/esup.git")
10769 (commit commit)))
ac5b171c 10770 (file-name (git-file-name name version))
eeb883cb
RW
10771 (sha256
10772 (base32
10773 "04lxmd0h7mfjjl0qghrycgff0vcv950j1wqv0dbkr61jxp64n5fv"))))
10774 ;; TODO: Add tests
10775 (build-system emacs-build-system)
10776 (home-page "https://github.com/jschaf/esup")
10777 (synopsis "Emacs start up profiler")
10778 (description "Benchmark Emacs Startup time without ever leaving
10779your Emacs.")
10780 (license license:gpl2+))))
10781
fdcd50b9
AG
10782(define-public emacs-restart-emacs
10783 (let ((commit "9aa90d3df9e08bc420e1c9845ee3ff568e911bd9")
10784 (revision "1"))
10785 (package
10786 (name "emacs-restart-emacs")
10787 (version (git-version "0.1.1" revision commit))
10788 (source
10789 (origin
10790 (method git-fetch)
10791 (uri (git-reference
10792 (url "https://github.com/iqbalansari/restart-emacs.git")
10793 (commit commit)))
10794 (file-name (git-file-name name version))
10795 (sha256
10796 (base32 "02x1a85k7r95z8091zgjiaj9nf0zvx1jy4xvl3hr12qbnrx1wfav"))))
10797 (build-system emacs-build-system)
10798 (home-page "https://github.com/iqbalansari/restart-emacs")
10799 (synopsis "Restart Emacs from within Emacs")
10800 (description "This package provides a simple command to restart Emacs from
10801within Emacs.")
10802 (license license:gpl3+))))
10803
eeb883cb
RW
10804(define-public emacs-sourcemap
10805 (package
10806 (name "emacs-sourcemap")
10807 (version "0.03")
10808 (source
10809 (origin
339eef40
TGR
10810 (method git-fetch)
10811 (uri (git-reference
10812 (url "https://github.com/syohex/emacs-sourcemap.git")
10813 (commit version)))
10814 (file-name (git-file-name name version))
eeb883cb 10815 (sha256
339eef40 10816 (base32 "115g2mfpbfywp8xnag4gsb50klfvplqfh928a5mabb5s8v4a3582"))))
eeb883cb
RW
10817 (build-system emacs-build-system)
10818 (home-page "https://github.com/syohex/emacs-sourcemap")
10819 (synopsis "Sourcemap parser")
10820 (description "Sourcemap parser")
10821 (license license:gpl3+)))
10822
10823(define-public emacs-macrostep
10824 (let ((commit "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267"))
10825 (package
10826 (name "emacs-macrostep")
10827 (version (git-version "0.9" "1" commit))
10828 (source (origin
10829 (method git-fetch)
10830 (uri (git-reference
10831 (url "https://github.com/joddie/macrostep.git")
10832 (commit commit)))
32a804e2 10833 (file-name (git-file-name name version))
eeb883cb
RW
10834 (sha256
10835 (base32
10836 "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"))))
10837 (build-system emacs-build-system)
10838 (arguments
10839 '(#:phases
10840 (modify-phases %standard-phases
10841 (add-before 'check 'remove-test
10842 ;; Fails because of requirement ‘/bin/sh’.
10843 (lambda _
10844 (let ((file "macrostep-test.el"))
10845 (chmod file #o644)
10846 (emacs-batch-edit-file file
10847 `(progn (progn (goto-char (point-min))
10848 (re-search-forward
10849 "(ert-deftest macrostep-expand-c-macros")
10850 (beginning-of-line)
10851 (kill-sexp))
10852 (basic-save-buffer))))))
10853 (add-before 'install 'check
10854 (lambda _
10855 (invoke "emacs" "--batch" "-L" "."
10856 "-l" "macrostep-test.el"
10857 "-f" "ert-run-tests-batch-and-exit"))))))
10858 (home-page "https://github.com/joddie/macrostep")
10859 (synopsis "Interactive macro-expander for Emacs")
10860 (description "@code{macrostep} is an Emacs minor mode for interactively
10861stepping through the expansion of macros in Emacs Lisp source code. It lets
10862you see exactly what happens at each step of the expansion process by
10863pretty-printing the expanded forms inline in the source buffer, which is
10864temporarily read-only while macro expansions are visible. You can expand and
10865collapse macro forms one step at a time, and evaluate or instrument the
10866expansions for debugging with Edebug as normal (but see “Bugs and known
10867limitations”, below). Single-stepping through the expansion is particularly
10868useful for debugging macros that expand into another macro form. These can be
10869difficult to debug with Emacs’ built-in macroexpand, which continues expansion
10870until the top-level form is no longer a macro call.")
10871 (license license:gpl3+))))
10872
10873(define-public emacs-parent-mode
10874 (package
10875 (name "emacs-parent-mode")
10876 (version "2.3")
10877 (source
10878 (origin
145d1f39
TGR
10879 (method git-fetch)
10880 (uri (git-reference
10881 (url "https://github.com/Fanael/parent-mode.git")
10882 (commit version)))
10883 (file-name (git-file-name name version))
eeb883cb 10884 (sha256
145d1f39 10885 (base32 "0i5bc7lyyrx6swqlrp9l5x72yzwi53qn6ldrfs99gh08b3yvsnni"))))
eeb883cb
RW
10886 (build-system emacs-build-system)
10887 (home-page "https://github.com/Fanael/parent-mode")
10888 (synopsis "Get major mode's parent modes")
10889 (description "Get major mode's parent modes")
10890 (license license:gpl3+)))
10891
10892(define-public emacs-lacarte
10893 (package
10894 (name "emacs-lacarte")
10895 (version "0.1")
10896 (source (origin
10897 (method url-fetch)
10898 (uri "https://www.emacswiki.org/emacs/download/lacarte.el")
10899 (sha256
10900 (base32
10901 "1sbmk37ljq5j7dsw5c37sbxvlfgdqswh7bi4dknyjzfxlq50f4am"))))
10902 (build-system emacs-build-system)
10903 (home-page "https://www.emacswiki.org/emacs/lacarte.el")
10904 (synopsis "Execute menu items as commands, with completion")
10905 (description "Execute menu items as commands, with completion.")
10906 (license license:gpl3)))
10907
48211de6 10908(define-public emacs-isearch-prop
10909 (let ((commit "5e9dc44cf582d998aaa73ccd4d07cbda01248156")
10910 (revision "1"))
10911 (package
10912 (name "emacs-isearch-prop")
10913 (version (git-version "0" revision commit))
10914 (source
10915 (origin
10916 (method git-fetch)
10917 (uri (git-reference
10918 (url "https://github.com/emacsmirror/isearch-prop.git")
10919 (commit commit)))
10920 (file-name (git-file-name name version))
10921 (sha256
10922 (base32
10923 "1xawppy705ybsgx566zvj8zk2aajq0sqvhvfs7nijqq32lx0a2zl"))))
10924 (build-system emacs-build-system)
10925 (home-page "https://www.emacswiki.org/emacs/isearch-prop.el")
10926 (synopsis "Extensions to @code{isearch.el}")
10927 (description "The Emacs library @code{isearch-prop.el} lets you search within
10928 contexts. You can limit incremental search to a set of zones of
10929 buffer text, search contexts that in effect constitute a multi-region.
10930 These zones can be defined in various ways, including some ways
10931 provided specially by this library.")
10932 (license license:gpl3+))))
10933
eeb883cb
RW
10934(define-public emacs-company-lua
10935 (let ((commit "0be8122f3adf57ad27953bf4b03545d6298d3da4"))
10936 (package
10937 (name "emacs-company-lua")
10938 (version (git-version "0.1" "1" commit))
10939 (source
10940 (origin
10941 (method git-fetch)
10942 (uri (git-reference
10943 (url "https://github.com/ptrv/company-lua.git")
10944 (commit commit)))
10945 (file-name (git-file-name name version))
10946 (sha256
10947 (base32
10948 "1d9i165apgmwns7b2fd5wcpjpkah3dyj20v5sb8ynvz6qhhr5r9c"))))
10949 (build-system emacs-build-system)
10950 (propagated-inputs
10951 `(("emacs-company" ,emacs-company)
10952 ("emacs-s" ,emacs-s)
10953 ("emacs-f" ,emacs-f)
10954 ("emacs-lua-mode" ,emacs-lua-mode)))
10955 (home-page "https://github.com/ptrv/company-lua")
10956 (synopsis "Company backend for Lua")
10957 (description
10958 "This package provides Company backend for Lua programming language.")
10959 (license license:gpl3+))))
10960
10961(define-public emacs-beginend
10962 (package
10963 (name "emacs-beginend")
10964 (version "2.0.0")
10965 (source
10966 (origin
df88a396
TGR
10967 (method git-fetch)
10968 (uri (git-reference
10969 (url "https://github.com/DamienCassou/beginend.git")
10970 (commit (string-append "v" version))))
10971 (file-name (git-file-name name version))
eeb883cb 10972 (sha256
df88a396 10973 (base32 "1jbhg73g1rrkbwql5vi2b0ys9avfazmwzwgd90gkzwavw0ch9cvl"))))
eeb883cb
RW
10974 ;; TODO: Run tests.
10975 (build-system emacs-build-system)
10976 (inputs
10977 `(("emacs-undercover" ,emacs-undercover))) ; For tests.
10978 (home-page "https://github.com/DamienCassou/beginend")
10979 (synopsis "Redefine @code{M-<} and @code{M->} for Emacs modes")
10980 (description "@code{beginend} redefines @code{M-<} and @code{M->}
10981keybindings for Emacs modes so that point moves to meaningful
10982locations. Redefined keys are still accessible by pressing the same
10983key again.")
10984 (license license:gpl3+)))
10985
10986(define-public emacs-mbsync
10987 (let ((commit "42077e83ae2db778ce0f8e22f8357b40355526b3")
10988 (revision "1"))
10989 (package
10990 (name "emacs-mbsync")
10991 (version (string-append "0.0.1" "-" revision "."
10992 (string-take commit 7)))
10993 (source
10994 (origin
10995 (method git-fetch)
10996 (uri (git-reference
10997 (url "https://github.com/dimitri/mbsync-el.git")
10998 (commit commit)))
81b1bd48 10999 (file-name (git-file-name name version))
eeb883cb
RW
11000 (sha256
11001 (base32
11002 "0yj93y2mpxlir8x73znlg1slxlv4blm1vjv5h2w3j8lxg8bxvmn6"))))
11003 (build-system emacs-build-system)
11004 (home-page "https://github.com/dimitri/mbsync-el")
11005 (synopsis "Interface to mbsync for Emacs")
11006 (description "This package allows to call the @code{mbsync} from
11007within Emacs.")
11008 (license license:gpl3+))))
11009
11010(define-public emacs-ibuffer-projectile
11011 (let ((commit "c18ac540ee46cb759fc5df18747f6e8d23563011")
11012 (revision "1"))
11013 (package
11014 (name "emacs-ibuffer-projectile")
11015 (version (string-append "0.2" "-" revision "."
11016 (string-take commit 7)))
11017 (source
11018 (origin
11019 (method git-fetch)
11020 (uri (git-reference
11021 (url "https://github.com/purcell/ibuffer-projectile.git")
11022 (commit commit)))
647d2587 11023 (file-name (git-file-name name version))
eeb883cb
RW
11024 (sha256
11025 (base32
11026 "1nd26cwwdpnwj0g4w393rd59klpyr6wqrnyr6scmwb5d06bsm44n"))))
11027 (build-system emacs-build-system)
11028 (propagated-inputs
11029 `(("emacs-projectile" ,emacs-projectile)))
11030 (home-page "https://github.com/purcell/ibuffer-projectile")
11031 (synopsis "Group ibuffer's list by projectile root")
11032 (description "Adds functionality to Emacs @code{ibuffer} for
11033grouping buffers by their projectile root directory.")
11034 (license license:gpl3+))))
11035
11036(define-public emacs-helm-mode-manager
11037 (package
11038 (name "emacs-helm-mode-manager")
11039 (version "1.0.0")
11040 (source
11041 (origin
11042 (method url-fetch)
11043 (uri (string-append "https://github.com/istib/helm-mode-manager/"
11044 "archive/" version ".tar.gz"))
11045 (file-name (string-append name "-" version ".tar.gz"))
11046 (sha256
11047 (base32
11048 "0wllj321z16hgrx0ddwzk5wz4mnnx5am7w5nclqclfc5dfdn92wm"))))
11049 (build-system emacs-build-system)
11050 (propagated-inputs
11051 `(("emacs-helm" ,emacs-helm)))
11052 (home-page "https://github.com/istib/helm-mode-manager/")
11053 (synopsis "Switch and toggle Emacs major and minor modes using Helm")
11054 (description "This package provides a Helm interface for toggling Emacs
11055major or minor mode.
11056
11057@itemize
11058@item @code{helm-switch-major-mode} list of all major modes
11059@item @code{helm-enable-minor-mode} list of all inactive minor modes
11060@item @code{helm-disable-minor-mode} list of all ACTIVE minor modes
11061@end itemize\n
11062
11063Hitting @code{RET} enables the mode, @code{C-z} shows the mode
11064documentation.")
11065 (license license:gpl3+)))
11066
11067(define-public emacs-hy-mode
11068 (package
11069 (name "emacs-hy-mode")
11070 (version "1.0.3")
11071 (source
11072 (origin
5a2e25f8
TGR
11073 (method git-fetch)
11074 (uri (git-reference
11075 (url "https://github.com/hylang/hy-mode.git")
11076 (commit (string-append "v" version))))
11077 (file-name (git-file-name name version))
eeb883cb 11078 (sha256
5a2e25f8 11079 (base32 "1jxximiznz7fw9ys5k6plw85zrbzvxidql7py1fdi425fdp4058z"))))
eeb883cb
RW
11080 (build-system emacs-build-system)
11081 (propagated-inputs
11082 `(("emacs-dash" ,emacs-dash)
11083 ("emacs-s" ,emacs-s)))
11084 (home-page "https://github.com/hylang/hy-mode")
11085 (synopsis "Major mode for Hylang")
11086 (description "This package provides a major mode for Hylang.")
11087 (license license:gpl3+)))
11088
11089(define-public emacs-web-beautify
11090 (package
11091 (name "emacs-web-beautify")
11092 (version "0.3.2")
11093 (source
11094 (origin
5cbecbcf
TGR
11095 (method git-fetch)
11096 (uri (git-reference
11097 (url "https://github.com/yasuyk/web-beautify.git")
11098 (commit version)))
11099 (file-name (git-file-name name version))
eeb883cb 11100 (sha256
5cbecbcf 11101 (base32 "0vms7zz3ym53wf1zdrkbf2ky2xjr1v134ngsd0jr8azyi8siw84d"))))
eeb883cb
RW
11102 (build-system emacs-build-system)
11103 (home-page "https://github.com/yasuyk/web-beautify")
11104 (synopsis "Format HTML, CSS and JavaScript, JSON")
11105 (description "This package provides an Emacs functions to format HTML,
11106CSS, JavaScript, JSON.")
11107 (license license:gpl3+)))
11108
11109(define-public emacs-helm-shell-history
11110 (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1"))
11111 (package
11112 (name "emacs-helm-shell-history")
11113 (version (git-version "0.1" "1" commit))
11114 (source
11115 (origin
11116 (method git-fetch)
11117 (uri (git-reference
11118 (url "https://github.com/yuutayamada/helm-shell-history.git")
11119 (commit commit)))
11120 (file-name (git-file-name name version))
11121 (sha256
11122 (base32
11123 "18fkjcz69g4dyaxhf9j8svr5x6dhsdnglddwisis8hdn504scpfj"))))
11124 (build-system emacs-build-system)
11125 (arguments
11126 '(#:phases
11127 (modify-phases %standard-phases
11128 (add-before 'check 'patch-helm-shell-history-file
11129 (lambda _
11130 (let ((file "helm-shell-history.el"))
11131 (chmod file #o644)
11132 (emacs-substitute-sexps file
11133 ("(defvar helm-shell-history-file"
11134 `(expand-file-name "~/.bash_history"))))
11135 #t)))))
11136 (propagated-inputs
11137 `(("emacs-helm" ,emacs-helm)))
11138 (home-page "https://github.com/yuutayamada/helm-shell-history")
11139 (synopsis "Find shell history with Emacs Helm")
11140 (description "This package provides an Emacs Helm interface to search
11141throw a shell history.")
11142 (license license:gpl3+))))
11143
11144(define-public emacs-discover-my-major
11145 (package
11146 (name "emacs-discover-my-major")
11147 (version "1.0")
11148 (source
11149 (origin
11150 (method url-fetch)
11151 (uri
11152 (string-append "https://github.com/steckerhalter/discover-my-major"
11153 "/archive/" version ".tar.gz"))
11154 (file-name (string-append name "-" version ".tar.gz"))
11155 (sha256
11156 (base32
11157 "0nah41f92rrl2l405kpqr6iaks11jyclgl4z7ilfymbr4ifmsiyl"))))
11158 (build-system emacs-build-system)
11159 (propagated-inputs
11160 `(("emacs-makey" ,emacs-makey)))
11161 (home-page "https://github.com/steckerhalter/discover-my-major")
11162 (synopsis "Discover key bindings for the current Emacs major mode")
11163 (description "This package provides allows to discover key bindings and
11164their meaning for the current Emacs major-mode.")
11165 (license license:gpl3+)))
11166
11167(define-public emacs-org-ref
11168 (let ((commit "8c9b5d7efb9f0c1ad5186b8203bdd017f4249129")
11169 (revision "1"))
11170 (package
11171 (name "emacs-org-ref")
11172 (version (string-append "1.1.1" "-" revision "."
11173 (string-take commit 7)))
11174 (source
11175 (origin
11176 (method git-fetch)
11177 (uri (git-reference
11178 (url "https://github.com/jkitchin/org-ref.git")
11179 (commit commit)))
f0d36387 11180 (file-name (git-file-name name version))
eeb883cb
RW
11181 (sha256
11182 (base32
11183 "1rxz0bjdsayk0slv23i07d9xhj2m7s4hsc81wc2d1cs52dkr5zmz"))))
11184 (build-system emacs-build-system)
11185 (propagated-inputs
11186 `(("emacs-dash" ,emacs-dash)
11187 ("emacs-helm" ,emacs-helm)
11188 ("emacs-helm-bibtex" ,emacs-helm-bibtex)
11189 ("emacs-ivy" ,emacs-ivy)
11190 ("emacs-hydra" ,emacs-hydra)
11191 ("emacs-key-chord" ,emacs-key-chord)
11192 ("emacs-s" ,emacs-s)
11193 ("emacs-f" ,emacs-f)
11194 ("emacs-pdf-tools" ,emacs-pdf-tools)))
11195 (home-page "https://github.com/jkitchin/org-ref")
11196 (synopsis "Citations, cross-references and bibliographies in org-mode")
11197 (description
11198 "Lisp code to setup bibliography, cite, ref and label org-mode links.
11199Also sets up reftex and helm for org-mode citations. The links are
11200clickable and do things that are useful.
11201
11202The default setup uses helm-bibtex.
11203
11204You should really read org-ref.org in this package for details.")
11205 (license license:gpl3+))))
11206
3e0df6cd 11207;; This project is unmaintained. Please use emacs-org-re-reveal instead.
eeb883cb 11208(define-public emacs-org-reveal
dfb49d78 11209 (let ((commit "1cdd088ec5fab631c564dca7f9f74fd3e9b7d4d4"))
6e4a5b9e
CL
11210 (package
11211 (name "emacs-org-reveal")
dfb49d78 11212 (version (git-version "0.1" "2" commit))
6e4a5b9e
CL
11213 (source (origin
11214 (method git-fetch)
11215 (uri (git-reference
11216 (url "https://github.com/yjwen/org-reveal.git")
11217 (commit commit)))
11218 (file-name (git-file-name name version))
11219 (sha256
11220 (base32
dfb49d78 11221 "1vjxjadq2i74p96y9jxnqj1yb86fsgxzmn7bjgnb88ay6nvc1l72"))))
6e4a5b9e
CL
11222 (build-system emacs-build-system)
11223 (home-page "https://github.com/yjwen/org-reveal")
11224 (synopsis "Org and Reveal.js powered HTML presentation tool")
11225 (description "Org-Reveal is a command@{org-mode} extension that allows
11226to create beautiful presentations (slides) with 3D effects from simple but
eeb883cb 11227powerful Org contents.")
6e4a5b9e 11228 (license license:gpl3+))))
eeb883cb 11229
3e0df6cd
CL
11230(define-public emacs-org-re-reveal
11231 (package
11232 (name "emacs-org-re-reveal")
11233 (version "1.0.3")
11234 (source (origin
11235 (method git-fetch)
11236 (uri (git-reference
11237 (url "https://gitlab.com/oer/org-re-reveal.git")
11238 (commit "50cc6574c77f12d423f6cd096d8f76feb3673abc")))
11239 (file-name (git-file-name name version))
11240 (sha256
11241 (base32
11242 "1v3z30gpimg4spf6zzqwp9b597zxk89h0vpq6xp58js4rjg4ixk8"))))
11243 (build-system emacs-build-system)
11244 (propagated-inputs
11245 `(("emacs-htmlize" ,emacs-htmlize)
11246 ("emacs-org" ,emacs-org)))
11247 (home-page "https://gitlab.com/oer/org-re-reveal")
11248 (synopsis "Build HTML presentations with reveal.js from Org source files")
11249 (description "This project started as fork of org-reveal. It provides an
11250export back-end for HTML presentations with reveal.js from Org mode source
11251files.")
11252 (license license:gpl3+)))
11253
eeb883cb
RW
11254(define-public emacs-add-hooks
11255 (package
11256 (name "emacs-add-hooks")
11257 (version "3.1.1")
fc131382
TGR
11258 (source
11259 (origin
11260 (method git-fetch)
11261 (uri (git-reference
11262 (url "https://github.com/nickmccurdy/add-hooks.git")
11263 (commit version)))
11264 (file-name (git-file-name name version))
11265 (sha256
11266 (base32 "1jv9fpcsm572zg0j1mbpbfkqgdlqapy89xhhj19pswkhjns1y2wl"))))
eeb883cb
RW
11267 (build-system emacs-build-system)
11268 (home-page "https://github.com/nickmccurdy/add-hooks/")
11269 (synopsis "Emacs function for setting multiple hooks")
11270 (description "This package provides a @code{add-hooks} function tidies up
11271duplicate hook and function names further into a single declarative call.")
11272 (license license:gpl3+)))
11273
11274(define-public emacs-fancy-narrow
11275 (package
11276 (name "emacs-fancy-narrow")
11277 (version "0.9.5")
11278 (source
11279 (origin
dbbd98b4
TGR
11280 (method git-fetch)
11281 (uri (git-reference
11282 (url "https://github.com/Malabarba/fancy-narrow.git")
11283 (commit version)))
11284 (file-name (git-file-name name version))
eeb883cb 11285 (sha256
dbbd98b4 11286 (base32 "0vcr1gnqawvc1yclqs23jvxm6bqix8kpflf1c7znb0wzxmz9kx7y"))))
eeb883cb
RW
11287 (build-system emacs-build-system)
11288 (home-page "https://github.com/Malabarba/fancy-narrow/releases")
11289 (synopsis "Imitate @code{narrow-to-region} with more eye candy")
11290 (description
11291 "Unlike @code{narrow-to-region}, which completely hides text outside
11292the narrowed region, this package simply de-emphasizes the text, makes it
11293read-only, and makes it unreachable. This leads to a much more natural
11294feeling where the region stays static (instead of being brutally moved to a
11295blank slate) and is clearly highlighted with respect to the rest of the
11296buffer.")
11297 (license license:gpl2+)))
11298
11299(define-public emacs-know-your-http-well
11300 (package
11301 (name "emacs-know-your-http-well")
11302 (version "0.5.0")
11303 (source
11304 (origin
9c5c9446
TGR
11305 (method git-fetch)
11306 (uri (git-reference
11307 (url "https://github.com/for-GET/know-your-http-well.git")
11308 (commit (string-append "v" version))))
11309 (file-name (git-file-name name version))
eeb883cb 11310 (sha256
9c5c9446 11311 (base32 "1lppggnii2r9fvlhh33gbdrwb50za8lnalavlq9s86ngndn4n94k"))))
eeb883cb
RW
11312 (arguments
11313 `(#:phases
11314 (modify-phases %standard-phases
11315 (add-after 'unpack 'install-json-files
11316 (lambda* (#:key outputs #:allow-other-keys)
11317 (for-each (lambda (directory)
11318 (copy-recursively directory
11319 (string-append
11320 (assoc-ref outputs "out")
11321 directory)))
11322 '("js" "json"))))
11323 (add-after 'unpack 'chdir-elisp
11324 ;; Elisp directory is not in root of the source.
11325 (lambda _
11326 (chdir "emacs"))))))
11327 (build-system emacs-build-system)
11328 (home-page "https://github.com/for-GET/know-your-http-well")
11329 (synopsis "Meaning of HTTP headers codes")
11330 (description "Meaning of HTTP headers codes.")
11331 (license license:gpl3+)))
11332
11333(define-public emacs-navi-mode
11334 (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674"))
11335 (package
11336 (name "emacs-navi-mode")
11337 (version (git-version "2.0" "1" commit))
11338 (source
11339 (origin
11340 (method git-fetch)
11341 (uri (git-reference
11342 (url "https://github.com/alphapapa/navi.git")
11343 (commit commit)))
11344 (file-name (git-file-name name version))
11345 (sha256
11346 (base32
11347 "0jj5spk14hgb7zb1cd2n8whcw4k1kd5zb6llwj96v178yaws7l8k"))))
11348 (build-system emacs-build-system)
11349 (propagated-inputs
11350 `(("emacs-outshine" ,emacs-outshine)
11351 ("emacs-outorg" ,emacs-outorg)))
11352 (home-page "https://github.com/alphapapa/navi")
11353 (synopsis "Emacs major-mode for easy buffer-navigation")
11354 (description
11355 "This package provides an Emacs major-mode for easy buffer-navigation")
11356 (license license:gpl3+))))
11357
11358(define-public emacs-download-region
11359 (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa")
11360 (revision "1"))
11361 (package
11362 (name "emacs-download-region")
11363 (version (string-append "0.0.1" "-" revision "."
11364 (string-take commit 7)))
11365 (source
11366 (origin
11367 (method git-fetch)
11368 (uri (git-reference
11369 (url "https://github.com/zk-phi/download-region.git")
11370 (commit commit)))
d4dcb84b 11371 (file-name (git-file-name name version))
eeb883cb
RW
11372 (sha256
11373 (base32
11374 "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc"))))
11375 (build-system emacs-build-system)
11376 (home-page "https://github.com/zk-phi/download-region")
11377 (synopsis "In buffer download manager for Emacs")
11378 (description "@code{download-region} provides in buffer
11379downloading manager for Emacs.")
11380 (license license:gpl3+))))
11381
11382(define-public emacs-helpful
11383 (package
11384 (name "emacs-helpful")
11385 (version "0.15")
bb926860
TGR
11386 (source
11387 (origin
11388 (method git-fetch)
11389 (uri (git-reference
11390 (url "https://github.com/Wilfred/helpful.git")
11391 (commit version)))
11392 (file-name (git-file-name name version))
11393 (sha256
11394 (base32 "1rqnx7672175288yqaslw0d9vw04j6psw7mys8j9zcp2i72hlvkn"))))
eeb883cb
RW
11395 (build-system emacs-build-system)
11396 (propagated-inputs
11397 `(("emacs-elisp-refs" ,emacs-elisp-refs)))
11398 (home-page "https://github.com/Wilfred/helpful")
11399 (synopsis "More contextual information in Emacs help")
11400 (description "@code{helpful} is an alternative to the built-in Emacs help
11401that provides much more contextual information.
11402
11403@itemize
11404@item Show the source code for interactively defined functions (unlike the
11405built-in Help).
11406@item Fall back to the raw sexp if no source is available.
11407@item Show where a function is being called.
11408@item Docstrings will Highlight the summary (the first sentence), include
11409cross-references, hide superfluous puncuation.
11410@item Show you the properties that have been applied to the current
11411symbol. This provides visibility of features like edebug or byte-code
11412optimisation.
11413@item Provide a separate @code{helpful-command} function to view interactive
11414functions.
11415@item Display any keybindings that apply to interactive functions.
11416@item Trace, disassemble functions from inside Helpful. This is discoverable
11417and doesn't require memorisation of commands.
11418@end itemize\n")
11419 (license license:gpl3+)))
11420
11421(define-public emacs-logview
11422 (package
11423 (name "emacs-logview")
11424 (version "0.9")
f93f4d50
TGR
11425 (source
11426 (origin
11427 (method git-fetch)
11428 (uri (git-reference
11429 (url "https://github.com/doublep/logview.git")
11430 (commit version)))
11431 (file-name (git-file-name name version))
11432 (sha256
11433 (base32 "1qhzs75pxnaksbhczmpdcy2zmrqavlzkzss7ik5nv2wf9vs0sn02"))))
eeb883cb
RW
11434 (propagated-inputs
11435 `(("emacs-datetime" ,emacs-datetime)))
11436 (build-system emacs-build-system)
11437 (home-page "https://github.com/doublep/logview/")
11438 (synopsis "Emacs mode for viewing log files")
11439 (description "@code{logview} provides an Emacs mode to view log files.")
11440 (license license:gpl3+)))
11441
11442(define-public emacs-suggest
11443 (package
11444 (name "emacs-suggest")
b6180f93
PN
11445 (version "0.7")
11446 (home-page "https://github.com/Wilfred/suggest.el")
eeb883cb
RW
11447 (source
11448 (origin
b6180f93
PN
11449 (method git-fetch)
11450 (uri (git-reference
11451 (url home-page)
11452 (commit version)))
11453 (file-name (git-file-name name version))
eeb883cb
RW
11454 (sha256
11455 (base32
b6180f93 11456 "01v8plska5d3g19sb1m4ph1i3ayprfzk8mi6mpabjy6zad397xjl"))))
eeb883cb
RW
11457 (build-system emacs-build-system)
11458 (propagated-inputs
11459 `(("emacs-loop" ,emacs-loop)
11460 ("emacs-dash" ,emacs-dash)
11461 ("emacs-s" ,emacs-s)
b6180f93
PN
11462 ("emacs-f" ,emacs-f)
11463 ("emacs-spinner" ,emacs-spinner)
11464 ("emacs-shut-up" ,emacs-shut-up)))
eeb883cb
RW
11465 (synopsis "Suggest Elisp functions that give the output requested")
11466 (description "Suggest.el will find functions that give the output
11467requested. It's a great way of exploring list, string and arithmetic
11468functions.")
11469 (license license:gpl3+)))
11470
11471(define-public emacs-benchmark-init
11472 (package
11473 (name "emacs-benchmark-init")
11474 (version "1.0")
8d7f5c55
TGR
11475 (source
11476 (origin
11477 (method git-fetch)
11478 (uri (git-reference
11479 (url "https://github.com/dholm/benchmark-init-el.git")
11480 (commit version)))
11481 (file-name (git-file-name name version))
11482 (sha256
11483 (base32 "1kyn1izm5sbqbp9whnhk9dn3yc7zy8bz5san5w3ivi3rpx15fh94"))))
eeb883cb
RW
11484 (build-system emacs-build-system)
11485 (home-page "https://github.com/dholm/benchmark-init-el")
11486 (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
11487 (description "@code{benchmark-init} provides a way to keep track of where
11488time is being spent during Emacs startup in order to optimize startup time.")
11489 (license license:gpl3+)))
11490
11491(define-public emacs-emms-player-simple-mpv
11492 ;; A new mpv backend is included in Emms from 5.0.
11493 (deprecated-package "emacs-emms-player-simple-mpv" emacs-emms))
11494
f0caf760
MC
11495(define-public emacs-magit-gerrit
11496 (let ((version "0.3")
11497 (revision "1")
11498 (commit "ece6f369694aca17f3ac166ed2801b432acfe20d"))
11499 (package
11500 (name "emacs-magit-gerrit")
11501 (version (git-version version revision commit))
11502 (source (origin
11503 (method git-fetch)
11504 (uri (git-reference
11505 (url "https://github.com/terranpro/magit-gerrit.git")
11506 (commit commit)))
11507 (file-name (git-file-name name version))
11508 (sha256
11509 (base32
11510 "0mms0gxv9a3ns8lk5k2wjibm3088y1cmpr3axjdh6ppv7r5wdvii"))))
11511 (build-system emacs-build-system)
11512 (propagated-inputs
11513 `(("emacs-magit" ,emacs-magit)))
11514 (home-page "https://github.com/terranpro/magit-gerrit")
11515 (synopsis "Magit extension for Gerrit")
11516 (description "This Magit extension provides integration with Gerrit,
11517which makes it possible to conduct Gerrit code reviews directly from within
11518Emacs.")
11519 (license license:gpl3+))))
11520
eeb883cb
RW
11521(define-public emacs-magit-org-todos-el
11522 (let ((commit "df206287737b9671f2e36ae7b1474ebbe9940d2a"))
11523 (package
11524 (name "emacs-magit-org-todos-el")
11525 (version (git-version "0.1.1" "1" commit))
11526 (source
11527 (origin
11528 (method git-fetch)
11529 (uri (git-reference
11530 (url "https://github.com/danielma/magit-org-todos.el.git")
11531 (commit commit)))
11532 (file-name (git-file-name name version))
11533 (sha256
11534 (base32
11535 "0kdp7k7jnnrkhsg0xh1c3h7iz0vgi120gf5xwl1hxy61avivnxrn"))))
11536 (propagated-inputs
11537 `(("magit" ,emacs-magit)))
11538 (build-system emacs-build-system)
11539 (home-page "https://github.com/danielma/magit-org-todos.el")
11540 (synopsis "Get todo.org into Emacs Magit status")
11541 (description "This package allows you to get @file{todo.org} into your
11542magit status.
11543
11544If you have a @file{todo.org} file with @code{TODO} items in the root of your
11545repository, @code{magit-org-todos} will create a section in your Magit status
11546buffer with each of your todos.")
11547 (license license:gpl3+))))
11548
11549(define-public emacs-f3
11550 (package
11551 (name "emacs-f3")
11552 (version "0.1")
11553 (source
11554 (origin
0f5f9eac
TGR
11555 (method git-fetch)
11556 (uri (git-reference
11557 (url "https://github.com/cosmicexplorer/f3.git")
11558 (commit version)))
11559 (file-name (git-file-name name version))
eeb883cb 11560 (sha256
0f5f9eac 11561 (base32 "1qg48zbjdjqimw4516ymrsilz41zkib9321q0caf9474s9xyp2bi"))))
eeb883cb
RW
11562 (build-system emacs-build-system)
11563 (propagated-inputs
11564 `(("emacs-helm" ,emacs-helm)))
11565 (home-page "https://github.com/cosmicexplorer/f3")
11566 (synopsis "Fantastic File Finder for Emacs")
11567 (description
11568 "The Fantastic File Finder for Emacs. Find files fast, using helm.")
11569 (license license:gpl3+)))
11570
11571(define-public emacs-lice-el
11572 (let ((commit "4339929927c62bd636f89bb39ea999d18d269250"))
11573 (package
11574 (name "emacs-lice-el")
11575 (version (git-version "0.2" "1" commit))
11576 (source (origin
11577 (method git-fetch)
11578 (uri (git-reference
11579 (url "https://github.com/buzztaiki/lice-el.git")
11580 (commit commit)))
11581 (file-name (git-file-name name version))
11582 (sha256
11583 (base32
11584 "0879z761b7gajkhq176ps745xpdrivch349crransv8fnsc759yb"))))
11585 (build-system emacs-build-system)
11586 (home-page "https://github.com/buzztaiki/lice-el")
11587 (synopsis "License and header template for Emacs")
11588 (description "@code{lice.el} provides following features:
11589
11590@itemize
11591@item License template management.
11592@item File header insertion.
11593@end itemize\n")
11594 (license license:gpl3+))))
11595
11596(define-public emacs-academic-phrases
11597 (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656"))
11598 (package
11599 (name "emacs-academic-phrases")
11600 (version (git-version "0.1" "1" commit))
11601 (source
11602 (origin
11603 (method git-fetch)
11604 (uri (git-reference
11605 (url "https://github.com/nashamri/academic-phrases.git")
11606 (commit commit)))
ba50c3e8 11607 (file-name (git-file-name name version))
eeb883cb
RW
11608 (sha256
11609 (base32
11610 "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r"))))
11611 (build-system emacs-build-system)
11612 (propagated-inputs
11613 `(("emacs-dash" ,emacs-dash)
11614 ("emacs-s" ,emacs-s)
11615 ("emacs-ht" ,emacs-ht)))
11616 (home-page "https://github.com/nashamri/academic-phrases")
11617 (synopsis "Bypass that mental block when writing your papers")
11618 (description
11619 "When writing your academic paper, you might get stuck trying to find
11620the right phrase that captures your intention. This package tries to
11621alleviate that problem by presenting you with a list of phrases organized by
11622the topic or by the paper section that you are writing. This package has
11623around 600 phrases so far.
11624
11625Using this package is easy, just call @code{academic-phrases} to get a list of
11626phrases organized by topic, or call @code{academic-phrases-by-section} to
11627browse the phrases by the paper section and fill-in the blanks if required.")
11628 (license license:gpl3+))))
11629
11630(define-public emacs-auto-yasnippet
11631 (let ((commit "d1ccfea87312c6dd8cf8501ab5b71b1d3d44d95b"))
11632 (package
11633 (name "emacs-auto-yasnippet")
11634 (version (git-version "0.3.0" "1" commit))
11635 (source (origin
11636 (method git-fetch)
11637 (uri (git-reference
11638 (url "https://github.com/abo-abo/auto-yasnippet.git")
11639 (commit commit)))
88efbab2 11640 (file-name (git-file-name name version))
eeb883cb
RW
11641 (sha256
11642 (base32
11643 "1i8k2qiyzd5rq0zplk4xb5nfa5mp0ibxbzwqj6c7877waq7244xk"))))
11644 (build-system emacs-build-system)
11645 (arguments
11646 '(#:phases
11647 (modify-phases %standard-phases
11648 (add-before 'install 'check
11649 (lambda _
11650 (invoke "emacs" "--batch"
11651 "-l" "auto-yasnippet.el"
11652 "-l" "auto-yasnippet-test.el"
11653 "-f" "ert-run-tests-batch-and-exit"))))))
11654 (propagated-inputs
11655 `(("emacs-yasnippet" ,emacs-yasnippet)))
11656 (home-page "https://github.com/abo-abo/auto-yasnippet/")
11657 (synopsis "Quickly create disposable yasnippets")
11658 (description "This package provides a hybrid of keyboard macros and
11659yasnippet. You create the snippet on the go, usually to be used just in the
11660one place. It's fast, because you're not leaving the current buffer, and all
11661you do is enter the code you'd enter anyway, just placing ~ where you'd like
11662yasnippet fields and mirrors to be.")
11663 (license license:gpl3+))))
11664
11665(define-public emacs-highlight-numbers
11666 (package
11667 (name "emacs-highlight-numbers")
11668 (version "0.2.3")
11669 (source
11670 (origin
149829ee
TGR
11671 (method git-fetch)
11672 (uri (git-reference
11673 (url "https://github.com/Fanael/highlight-numbers.git")
11674 (commit version)))
11675 (file-name (git-file-name name version))
eeb883cb 11676 (sha256
149829ee 11677 (base32 "1r07mpyr7rhd7bkg778hx6vbhb4n9ixgzkpszhgks7ri6ia38pj8"))))
eeb883cb
RW
11678 (build-system emacs-build-system)
11679 (propagated-inputs
11680 `(("emacs-parent-mode" ,emacs-parent-mode)))
11681 (home-page "https://github.com/Fanael/highlight-numbers")
11682 (synopsis "Highlight numbers in source code")
11683 (description "@code{highlight-numbers-mode} provides a minor mode for
11684syntax highlighting of numeric literals in source code.
11685
11686It s customizable: it's easy to add or redefine what exactly consitutes a
11687\"number\" in given major mode. See @code{highlight-numbers-modelist}.")
11688 (license license:gpl3+)))
11689
11690(define-public emacs-darkroom
11691 (package
11692 (name "emacs-darkroom")
11693 (version "0.1")
11694 (source (origin
11695 (method url-fetch)
11696 (uri (string-append "https://elpa.gnu.org/packages/darkroom-"
11697 version ".el"))
11698 (sha256
11699 (base32
11700 "0fif8fm1h7x7g16949shfnaik5f5488clsvkf8bi5izpqp3vi6ak"))))
11701 (build-system emacs-build-system)
11702 (home-page "https://elpa.gnu.org/packages/darkroom.html")
11703 (synopsis "Remove visual distractions and focus on writing")
11704 (description "@code{darkroom-mode} makes visual distractions disappear.
11705The mode-line is temporarily elided, text is enlarged and margins are adjusted
11706so that it's centered on the window.
11707
11708@code{darkroom-tentative-mode} is similar, but it doesn't immediately turn-on
11709@code{darkroom-mode}, unless the current buffer lives in the sole window of
11710the Emacs frame (i.e. all other windows are deleted). Whenever the frame is
11711split to display more windows and more buffers, the buffer exits
11712@code{darkroom-mode}. Whenever they are deleted, the buffer re-enters
11713@code{darkroom-mode}.")
11714 (license license:gpl3+)))
11715
11716(define-public emacs-rsw-elisp
11717 (package
11718 (name "emacs-rsw-elisp")
11719 (version "1.0.5")
11720 (source (origin
11721 (method url-fetch)
11722 (uri (string-append "https://github.com/rswgnu/rsw-elisp"
11723 "/archive/" version ".tar.gz"))
11724 (file-name (string-append name "-" version ".tar.gz"))
11725 (sha256
11726 (base32
11727 "1jnn7xfwl3wxc87v44ccsf1wwp80par3xgcvfb1icd6zchjmlcps"))))
11728 (build-system emacs-build-system)
11729 (home-page "https://github.com/rswgnu/rsw-elisp")
11730 (synopsis "Improved expressions that interactively evaluate Emacs Lisp")
11731 (description "This package improves and replaces the GNU Emacs commands
11732that interactively evaluate Emacs Lisp expressions. The new commands replace
11733standard key bindings and are all prefixed with @code{rsw-elisp-}. They work
11734the same way as the old commands when called non-interactively; only the
11735interactive behavior should be different.")
11736 (license license:gpl3+)))
11737
11738(define-public emacs-default-text-scale
11739 (let ((commit "968e985e219235f3e744d6d967e592acbaf6e0a8")
11740 (revision "1"))
11741 (package
11742 (name "emacs-default-text-scale")
11743 (version (string-append "0.1" "-" revision "."
11744 (string-take commit 7)))
11745 (source (origin
11746 (method git-fetch)
11747 (uri (git-reference
11748 (url "https://github.com/purcell/default-text-scale")
11749 (commit commit)))
fa6b687b 11750 (file-name (git-file-name name version))
eeb883cb
RW
11751 (sha256
11752 (base32
11753 "0zds01c3q5yny6ab1fxfkzzgn1kgl3q23lxxap905f4qd70v922h"))))
11754 (build-system emacs-build-system)
11755 (home-page "https://github.com/purcell/default-text-scale")
11756 (synopsis "Adjust the font size in all Emacs frames")
11757 (description "This package provides commands for increasing or
11758decreasing the default font size in all GUI Emacs frames.")
11759 (license license:gpl3+))))
11760
4df1d31b
AG
11761(define-public emacs-mixed-pitch
11762 (package
11763 (name "emacs-mixed-pitch")
11764 (version "1.0.1")
11765 (source
11766 (origin
11767 (method git-fetch)
11768 (uri (git-reference
11769 (url "https://gitlab.com/jabranham/mixed-pitch.git")
11770 (commit version)))
11771 (file-name (git-file-name name version))
11772 (sha256
11773 (base32 "1458sy5b6bis1i0k23jdqk6hfqg0ghk637r3ajql2g19ym48rf58"))))
11774 (build-system emacs-build-system)
11775 (home-page "https://gitlab.com/jabranham/mixed-pitch")
11776 (synopsis "Mix variable- and fixed-pitch fonts in the same Emacs buffer")
11777 (description
11778 "@code{mixed-pitch-mode} is a minor mode that enables mixing
11779variable-pitch and fixed-pitch fonts in the same buffer. The list
11780@code{mixed-pitch-fixed-pitch-faces} defines the faces that are kept
11781fixed-pitch,everything else becomes variable-pitch.")
11782 (license license:gpl3+)))
11783
eeb883cb
RW
11784(define-public emacs-visual-regexp
11785 (package
11786 (name "emacs-visual-regexp")
11787 (version "1.1.1")
11788 (source
11789 (origin
8792f08b
TGR
11790 (method git-fetch)
11791 (uri (git-reference
11792 (url "https://github.com/benma/visual-regexp.el.git")
11793 (commit (string-append "v" version))))
11794 (file-name (git-file-name name version))
eeb883cb 11795 (sha256
8792f08b 11796 (base32 "12zpmzwyp85dzsjpxd3279kpfi9yz3jwc1k9fnb3xv3pjiil5svg"))))
eeb883cb
RW
11797 (build-system emacs-build-system)
11798 (home-page "https://github.com/benma/visual-regexp.el/")
11799 (synopsis "Regexp command with interactive visual feedback")
11800 (description "This package provides an Emacs regexp command with
11801interactive visual feedback.")
11802 (license license:gpl3+)))
11803
11804(define-public emacs-faceup
11805 (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154")
11806 (revision "1"))
11807 (package
11808 (name "emacs-faceup")
11809 (version (string-append "0.0.1" "-" revision "."
11810 (string-take commit 7)))
11811 (source
11812 (origin
11813 (method git-fetch)
11814 (uri (git-reference
11815 (url "https://github.com/Lindydancer/faceup.git")
11816 (commit commit)))
ceae4b10 11817 (file-name (git-file-name name version))
eeb883cb
RW
11818 (sha256
11819 (base32
11820 "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx"))))
11821 (build-system emacs-build-system)
11822 (home-page "https://github.com/Lindydancer/faceup")
11823 (synopsis "Markup language for faces and font-lock regression testing")
11824 (description "Emacs is capable of highlighting buffers based on
11825language-specific @code{font-lock} rules. This package makes it possible to
11826perform regression test for packages that provide font-lock rules.")
11827 (license license:gpl3+))))
11828
11829(define-public emacs-racket-mode
11830 (let ((commit "b977873e6128f8399432dcd60cc39f6a6f803d9c")
11831 (revision "2"))
11832 (package
11833 (name "emacs-racket-mode")
11834 (version (string-append "0.0.2" "-" revision "."
11835 (string-take commit 7)))
11836 (source
11837 (origin
11838 (method git-fetch)
11839 (uri (git-reference
11840 (url "https://github.com/greghendershott/racket-mode")
11841 (commit commit)))
4fa915b2 11842 (file-name (git-file-name name version))
eeb883cb
RW
11843 (sha256
11844 (base32
11845 "0vp4bbbplqvmnhjpl6ajrlydmrhqzil56cfbs18m5c5fddx0zlh7"))))
11846 (build-system emacs-build-system)
11847 (arguments
11848 `(#:include '("\\.el$" "\\.rkt$")))
11849 (propagated-inputs
11850 `(("emacs-faceup" ,emacs-faceup)
11851 ("emacs-s" ,emacs-s)))
11852 (home-page "https://github.com/greghendershott/racket-mode")
11853 (synopsis "Major mode for Racket language")
11854 (description "@code{racket-mode} provides:
11855
11856@itemize
11857@item Focus on Racket (not various Schemes).
11858@item Follow DrRacket concepts where applicable.
11859@item Thorough font-lock and indent.
11860@end itemize\n")
11861 (license license:gpl3+))))
11862
11863(define-public emacs-grep-context
11864 (let ((commit "a17c57e66687a54e195e08afe776bdd60cb6c0a7"))
11865 (package
11866 (name "emacs-grep-context")
11867 (version (git-version "0.1" "1" commit))
11868 (source
11869 (origin
11870 (method git-fetch)
11871 (uri (git-reference
11872 (url "https://github.com/mkcms/grep-context.git")
11873 (commit commit)))
60ec1cda 11874 (file-name (git-file-name name version))
eeb883cb
RW
11875 (sha256
11876 (base32
11877 "1nqfa6kjzjshww4hnwg1c0vcr90bdjihy3kmixq3c3jkvxg99b62"))))
11878 (build-system emacs-build-system)
11879 (propagated-inputs
11880 `(("emacs-dash" ,emacs-dash)))
11881 (home-page "https://github.com/nashamri/academic-phrases")
11882 (synopsis "Increase context in compilation and grep buffers")
11883 (description
11884 "This package provides an Emacs package for more context in
11885compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag},
11886@code{ivy}.")
11887 (license license:gpl3+))))
11888
11889(define-public emacs-helm-firefox
11890 (let ((commit "0ad34b7b5abc485a86cae6920c14de861cbeb085")
11891 (revision "1"))
11892 (package
11893 (name "emacs-helm-firefox")
11894 (version (string-append "0.0.1" "-" revision "."
11895 (string-take commit 7)))
11896 (source
11897 (origin
11898 (method git-fetch)
11899 (uri (git-reference
11900 (url "https://github.com/emacs-helm/helm-firefox.git")
11901 (commit commit)))
650c155b 11902 (file-name (git-file-name name version))
eeb883cb
RW
11903 (sha256
11904 (base32
11905 "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs"))))
11906 (propagated-inputs
11907 `(("emacs-helm" ,emacs-helm)))
11908 (build-system emacs-build-system)
11909 (home-page "https://github.com/emacs-helm/helm-firefox")
11910 (synopsis "Display firefox bookmarks with Emacs Helm interface")
11911 (description "Display firefox bookmarks with Emacs Helm interface")
11912 (license license:gpl3+))))
11913
11914(define-public emacs-interactive-align
11915 (package
11916 (name "emacs-interactive-align")
11917 (version "0.1.0")
11918 (source
11919 (origin
11920 (method url-fetch)
11921 (uri (string-append "https://github.com/mkcms/interactive-align/"
11922 "archive/" "v" version ".tar.gz"))
11923 (file-name (string-append name "-" version ".tar.gz"))
11924 (sha256
11925 (base32
11926 "0sibpgb4lp6yy3pziak8f3hz4b28yj0dqy2nzh51z3d0b63h528m"))))
11927 (build-system emacs-build-system)
11928 (home-page "https://github.com/mkcms/interactive-align/")
11929 (synopsis "Interactive align-regexp command in Emacs")
11930 (description "Interactive align-regexp command in Emacs")
11931 (license license:gpl3+)))
11932
11933(define-public emacs-shift-number
11934 (package
11935 (name "emacs-shift-number")
11936 (version "0.1")
11937 (source
11938 (origin
11939 (method url-fetch)
11940 (uri (string-append "https://github.com/alezost/shift-number.el"
11941 "/archive/" "v" version ".tar.gz"))
11942 (file-name (string-append name "-" version ".tar.gz"))
11943 (sha256
11944 (base32
11945 "1g79m0hqn9jgpm565vvh8pdfzndc4vw7xisnh5qysj55qfg8cb1x"))))
11946 (build-system emacs-build-system)
11947 (home-page "https://github.com/alezost/shift-number.el")
11948 (synopsis "Increase or decrease the number at point")
11949 (description "@code{emacs-shift-number} provides commands
11950@code{shift-number-up} to increase and @code{shift-number-down} to
11951decrease the number at point.")
11952 (license license:gpl3+)))
11953
11954(define-public emacs-highlight-defined
11955 (package
11956 (name "emacs-highlight-defined")
11957 (version "0.1.5")
11958 (source
11959 (origin
fa8976d6
TGR
11960 (method git-fetch)
11961 (uri (git-reference
11962 (url "https://github.com/Fanael/highlight-defined.git")
11963 (commit version)))
11964 (file-name (git-file-name name version))
eeb883cb 11965 (sha256
fa8976d6 11966 (base32 "08czwa165rnd5z0dwwdddn7zi5w63sdk31l47bj0598kbly01n7r"))))
eeb883cb
RW
11967 (build-system emacs-build-system)
11968 (home-page "https://github.com/Fanael/highlight-defined")
11969 (synopsis "Syntax highlighting of known Elisp symbols")
11970 (description "Minor mode providing syntax highlighting of known Emacs Lisp
11971symbols. Currently the code distinguishes Lisp functions, built-in functions,
11972macros, faces and variables. To enable call @code{highlight-defined-mode}. ")
11973 (license license:gpl3+)))
11974
11975(define-public emacs-parinfer-mode
11976 (package
11977 (name "emacs-parinfer-mode")
11978 (version "0.4.10")
11979 (source
11980 (origin
609d1033
TGR
11981 (method git-fetch)
11982 (uri (git-reference
11983 (url "https://github.com/DogLooksGood/parinfer-mode.git")
11984 (commit (string-append "v" version))))
11985 (file-name (git-file-name name version))
eeb883cb 11986 (sha256
609d1033 11987 (base32 "0v97ncb0w1slb0x8861l3yr1kqz6fgw1fwl1z9lz6hh8p2ih34sk"))))
eeb883cb
RW
11988 (propagated-inputs
11989 `(("emacs-dash" ,emacs-dash)
11990 ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters)
11991 ("emacs-company" ,emacs-company)))
11992 (build-system emacs-build-system)
11993 (home-page "https://github.com/DogLooksGood/parinfer-mode/")
11994 (synopsis "Lisp structure editing mode")
11995 (description "@code{parinfer-mode} is a proof-of-concept editor
11996mode for Lisp programming languages. It will infer some changes to
11997keep Parens and Indentation inline with one another.")
11998 (license license:gpl3+)))
11999
12000(define-public emacs-helm-eww
266c97cb
PN
12001 (package
12002 (name "emacs-helm-eww")
98a1ca7e 12003 (version "1.2")
266c97cb
PN
12004 (source (origin
12005 (method git-fetch)
12006 (uri (git-reference
12007 (url "https://github.com/emacs-helm/helm-eww.git")
12008 (commit version)))
2eb10e88 12009 (file-name (git-file-name name version))
266c97cb
PN
12010 (sha256
12011 (base32
98a1ca7e 12012 "0hpq1h0p69c9k6hkd2mjpprx213sc5475q7pr2zpmwrjdzgcv70z"))))
266c97cb
PN
12013 (propagated-inputs
12014 `(("emacs-helm" ,emacs-helm)))
12015 (build-system emacs-build-system)
12016 (home-page "https://github.com/emacs-helm/helm-eww/")
12017 (synopsis "Helm interface to EWW")
12018 (description "This package provides a Helm interface for EWW buffers,
eeb883cb 12019bookmarks and history.")
266c97cb 12020 (license license:gpl3+)))
eeb883cb
RW
12021
12022(define-public emacs-stumpwm-mode
12023 (let ((commit "8fbe071d2c6c040794060a354eb377218dc10b35")
12024 (revision "1"))
12025 (package
12026 (name "emacs-stumpwm-mode")
12027 (version (string-append "0.0.1-" revision "."
12028 (string-take commit 7)))
12029 (source (origin
12030 (method git-fetch)
12031 (uri (git-reference
12032 (url "https://github.com/stumpwm/stumpwm-contrib.git")
12033 (commit commit)))
c1e57bc7 12034 (file-name (git-file-name name version))
eeb883cb
RW
12035 (sha256
12036 (base32
12037 "1dfwsvz1c8w6j4jp0kzaz78ml3f5dp0a5pvf090kwpbpg176r7iq"))))
12038 (build-system emacs-build-system)
12039 (arguments
12040 `(#:phases
12041 (modify-phases %standard-phases
12042 (add-after 'unpack 'chdir-elisp
12043 ;; Elisp directory is not in root of the source.
12044 (lambda _
12045 (chdir "util/swm-emacs"))))))
12046 (home-page "https://github.com/stumpwm/stumpwm-contrib")
12047 (synopsis "Emacs minor-mode for Stumpwm")
12048 (description "Emacs minor-mode for Stumpwm")
12049 (license license:gpl3+))))
12050
12051(define-public emacs-irfc
12052 (package
12053 (name "emacs-irfc")
56aee196 12054 (version "20130824.507-1")
eeb883cb
RW
12055 (source
12056 (origin
12057 (method url-fetch)
12058 (uri "https://www.emacswiki.org/emacs/download/irfc.el")
12059 (file-name (string-append "irfc-" version ".el"))
12060 (sha256
12061 (base32
56aee196 12062 "0rbfrza56kvspvgrwg0b5bj30d0qncqdsmfxn3y5caq4ifcj77hv"))))
eeb883cb
RW
12063 (build-system emacs-build-system)
12064 (home-page "https://www.emacswiki.org/emacs/download/irfc.el")
12065 (synopsis "Interface for IETF RFC document")
12066 (description
12067 "This package provides an Emacs interface for IETF RFC document.")
12068 (license license:gpl3+)))
12069
12070(define-public emacs-ido-vertical-mode
12071 (package
12072 (name "emacs-ido-vertical-mode")
12073 (version "0.1.6")
12074 (source
12075 (origin
f903fa46
TGR
12076 (method git-fetch)
12077 (uri (git-reference
12078 (url "https://github.com/creichert/ido-vertical-mode.el.git")
12079 (commit (string-append "v" version))))
12080 (file-name (git-file-name name version))
eeb883cb 12081 (sha256
f903fa46 12082 (base32 "1lv82q639xjnmvby56nwqn23ijh6f163bk675s33dkingm8csj8k"))))
eeb883cb
RW
12083 (build-system emacs-build-system)
12084 (home-page "https://github.com/creichert/ido-vertical-mode.el")
12085 (synopsis "Makes ido-mode display vertically")
12086 (description "Makes ido-mode display prospects vertically.")
12087 (license license:gpl3+)))
12088
12089(define-public emacs-wordgen
12090 (package
12091 (name "emacs-wordgen")
12092 (version "0.1.4")
12093 (source
12094 (origin
6b746c89
TGR
12095 (method git-fetch)
12096 (uri (git-reference
12097 (url "https://github.com/Fanael/wordgen.el.git")
12098 (commit version)))
12099 (file-name (git-file-name name version))
eeb883cb 12100 (sha256
6b746c89 12101 (base32 "06vbc9ycz1nbjwjkg99y3lj6jwb6lnwnmkqf09yr00jjrrfhfash"))))
eeb883cb
RW
12102 (build-system emacs-build-system)
12103 (home-page "https://github.com/Fanael/wordgen.el")
12104 (synopsis "Random word generator")
12105 (description "This package provides functions to generate random words
12106using user-provided rules.")
12107 (license license:gpl3+)))
12108
12109(define-public emacs-on-screen
12110 (package
12111 (name "emacs-on-screen")
12112 (version "1.3.2")
12113 (source
12114 (origin
12115 (method url-fetch)
12116 (uri (string-append
12117 "http://elpa.gnu.org/packages/on-screen-" version ".el"))
12118 (file-name (string-append name "-" version ".el"))
12119 (sha256
12120 (base32
12121 "15d18mjgv1pnwl6kf3pr5w64q1322p1l1qlfvnckglwmzy5sl2qv"))))
12122 (build-system emacs-build-system)
12123 (home-page
12124 "https://github.com/michael-heerdegen/on-screen.el")
12125 (synopsis "Guide your eyes while scrolling")
12126 (description
12127 "Scrolling can be distracting because your eyes may lose
12128orientation. This library implements a minor mode that highlights
12129the previously visible buffer part after each scroll.")
12130 (license license:gpl3+)))
12131
12132(define-public emacs-highlight-escape-sequences
12133 (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41")
12134 (revision "1"))
12135 (package
12136 (name "emacs-highlight-escape-sequences")
12137 (version (string-append "0.0.1" "-" revision "."
12138 (string-take commit 7)))
12139 (source
12140 (origin
12141 (method git-fetch)
12142 (uri (git-reference
12143 (url "https://github.com/dgutov/highlight-escape-sequences.git")
12144 (commit commit)))
c4a83526 12145 (file-name (git-file-name name version))
eeb883cb
RW
12146 (sha256
12147 (base32
12148 "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is"))))
12149 (build-system emacs-build-system)
12150 (home-page "https://github.com/dgutov/highlight-escape-sequences")
12151 (synopsis "Highlight escape sequences in Emacs")
12152 (description "@code{highlight-escape-sequences} provides an
12153Emacs minor mode to escape sequences in code.")
12154 (license license:gpl3+))))
12155
12156(define-public emacs-dashboard
12157 (package
12158 (name "emacs-dashboard")
8758086d 12159 (version "1.5.0")
eeb883cb
RW
12160 (source
12161 (origin
d13cee98
TGR
12162 (method git-fetch)
12163 (uri (git-reference
12164 (url "https://github.com/rakanalh/emacs-dashboard.git")
12165 (commit version)))
12166 (file-name (git-file-name name version))
eeb883cb 12167 (sha256
8758086d 12168 (base32 "0ihpcagwgc9qy70lf2y3dvx2bm5h9lnqh4sx6643cr8pp06ysbvq"))))
eeb883cb
RW
12169 (build-system emacs-build-system)
12170 (propagated-inputs
12171 `(("emacs-page-break-lines" ,emacs-page-break-lines)))
8758086d
OP
12172 (arguments
12173 '(#:include '("\\.el$" "\\.txt$" "\\.png$")
12174 #:phases
12175 (modify-phases %standard-phases
12176 (add-after 'unpack 'patch-dashboard-widgets
12177 ;; This phase fixes compilation error.
12178 (lambda _
12179 (chmod "dashboard-widgets.el" #o666)
12180 (emacs-substitute-variables "dashboard-widgets.el"
12181 ("dashboard-init-info"
12182 '(format "Loaded in %s" (emacs-init-time))))
12183 #t)))))
eeb883cb
RW
12184 (home-page "https://github.com/rakanalh/emacs-dashboard")
12185 (synopsis "Startup screen extracted from Spacemacs")
12186 (description "This package provides an extensible Emacs dashboard, with
12187sections for bookmarks, projectil projects, org-agenda and more. ")
12188 (license license:gpl3+)))
12189
12190(define-public emacs-slime-company
12191 (package
12192 (name "emacs-slime-company")
12193 (version "1.1")
12194 (source
12195 (origin
7a8cdab4
TGR
12196 (method git-fetch)
12197 (uri (git-reference
12198 (url "https://github.com/anwyn/slime-company.git")
12199 (commit (string-append "v" version))))
12200 (file-name (git-file-name name version))
eeb883cb 12201 (sha256
7a8cdab4 12202 (base32 "1hl1hqkc1pxga9k2k8k15d7dip7sfsmwf4wm4sh346m6nj606q8g"))))
eeb883cb
RW
12203 (build-system emacs-build-system)
12204 (propagated-inputs
12205 `(("emacs-slime" ,emacs-slime)
12206 ("emacs-company" ,emacs-company)))
12207 (home-page "https://company-mode.github.io")
12208 (synopsis "SLIME completion backend for @code{company-mode}")
12209 (description
12210 "This is a backend implementation for the completion package
12211@code{company-mode} which supports the normal and the fuzzy completion
12212modes of SLIME.")
12213 (license license:gpl3+)))
12214
12215(define-public emacs-sml-mode
12216 (package
12217 (name "emacs-sml-mode")
34dce89a 12218 (version "6.9")
eeb883cb
RW
12219 (source
12220 (origin
12221 (method url-fetch)
12222 (uri (string-append "http://elpa.gnu.org/packages/sml-mode-"
12223 version ".el"))
12224 (sha256
34dce89a 12225 (base32 "1bdg9ywpvj85hxqah9w1raxlcrhkyx67nw22jwd1bd5j0fhmgqij"))))
eeb883cb
RW
12226 (build-system emacs-build-system)
12227 (home-page "http://elpa.gnu.org/packages/sml-mode.html")
12228 (synopsis "Major mode for editing (Standard) ML")
12229 (description "SML-MODE is a major Emacs mode for editing Standard ML.
12230It provides syntax highlighting and automatic indentation and
12231comes with sml-proc which allows interaction with an inferior SML
12232interactive loop.")
12233 (license license:gpl3+)))
12234
12235(define-public emacs-eros
12236 (let ((commit "a42e45c9b2397156c684330b0fc90ee0eba773f5")
12237 (revision "1"))
12238 (package
12239 (name "emacs-eros")
12240 (version (string-append "0.0.1" "-" revision "."
12241 (string-take commit 7)))
12242 (source
12243 (origin
12244 (method git-fetch)
12245 (uri (git-reference
12246 (url "https://github.com/xiongtx/eros.git")
12247 (commit commit)))
9491392d 12248 (file-name (git-file-name name version))
eeb883cb
RW
12249 (sha256
12250 (base32
12251 "0whlsq90v13fz69k3wjrwcwb9gkpfxqjd75mg3nrp85j9nwhb5i4"))))
12252 (build-system emacs-build-system)
12253 (home-page "https://github.com/xiongtx/eros")
12254 (synopsis "Evaluation result overlays")
12255 (description "@code{eros} provides evaluation result overlays.")
12256 (license license:gpl3+))))
12257
12258(define-public emacs-stickyfunc-enhance
12259 (let ((commit "13bdba51fcd83ccbc3267959d23afc94d458dcb0")
12260 (revision "1"))
12261 (package
12262 (name "emacs-stickyfunc-enhance")
12263 (version "0.1")
12264 (source
12265 (origin
12266 (method git-fetch)
12267 (uri (git-reference
12268 (url "https://github.com/tuhdo/semantic-stickyfunc-enhance.git")
12269 (commit commit)))
f615fdec 12270 (file-name (git-file-name name version))
eeb883cb
RW
12271 (sha256
12272 (base32
12273 "16dxjsr5nj20blww4xpd4jzgjprzzh1nwvb810ggdmp9paf4iy0g"))))
12274 (build-system emacs-build-system)
12275 (home-page "https://github.com/tuhdo/semantic-stickyfunc-enhance")
12276 (synopsis "Enhancement to stock @code{semantic-stickyfunc-mode}")
12277 (description
12278 "@code{semantic-stickyfunc-mode} shows the function point is currently
12279in at the first line of the current buffer. This is useful when you have a
12280very long function that spreads more than a screen, and you don't have to
12281scroll up to read the function name and then scroll down to original position.")
12282 (license license:gpl3+))))
12283
12284(define-public emacs-git-auto-commit-mode
12285 (package
12286 (name "emacs-git-auto-commit-mode")
12287 (version "4.4.0")
12288 (source
12289 (origin
fe7be4de
TGR
12290 (method git-fetch)
12291 (uri (git-reference
12292 (url "https://github.com/ryuslash/git-auto-commit-mode.git")
12293 (commit version)))
12294 (file-name (git-file-name name version))
eeb883cb 12295 (sha256
fe7be4de 12296 (base32 "0psmr7749nzxln4b500sl3vrf24x3qijp12ir0i5z4x25k72hrlh"))))
eeb883cb
RW
12297 (build-system emacs-build-system)
12298 (home-page "https://github.com/ryuslash/git-auto-commit-mode")
12299 (synopsis "Emacs Minor mode to automatically commit and push")
12300 (description "@code{git-auto-commit-mode} is an Emacs minor mode that
12301tries to commit changes to a file after every save.
12302
12303When @code{gac-automatically-push-p} is non-nil, it also tries to push to
12304the current upstream.")
12305 (license license:gpl3+)))
12306
12307(define-public emacs-company-restclient
12308 (package
12309 (name "emacs-company-restclient")
12310 (version "0.1.0")
12311 (source
12312 (origin
71ff5714
TGR
12313 (method git-fetch)
12314 (uri (git-reference
12315 (url "https://github.com/iquiw/company-restclient.git")
12316 (commit (string-append "v" version))))
12317 (file-name (git-file-name name version))
eeb883cb 12318 (sha256
71ff5714 12319 (base32 "0i1fh5lvqwlgn3g3fzh0xacxyljx6gkryipn133vfkv4jbns51n4"))))
eeb883cb
RW
12320 (build-system emacs-build-system)
12321 (propagated-inputs
12322 `(("emacs-company" ,emacs-company)
12323 ("emacs-know-your-http-well" ,emacs-know-your-http-well)
12324 ("emacs-restclient" ,emacs-restclient)))
12325 (home-page "https://github.com/iquiw/company-restclient")
12326 (synopsis "Company-mode completion back-end for restclient-mode")
12327 (description "@code{company-mode} back-end for
12328@code{restclient-mode}.
12329
12330It provides auto-completion for HTTP methods and headers in
12331@code{restclient-mode}. Completion source is given by
12332@code{know-your-http-well}.")
12333 (license license:gpl3+)))
12334
12335(define-public emacs-noflet
12336 (let ((version "20170629")
12337 (revision "1")
12338 (commit "7ae84dc3257637af7334101456dafe1759c6b68a"))
12339 (package
12340 (name "emacs-noflet")
12341 (version (git-version version revision commit))
12342 (source
12343 (origin
12344 (method git-fetch)
12345 (uri (git-reference
12346 (url "https://github.com/nicferrier/emacs-noflet")
12347 (commit commit)))
2eca49a0 12348 (file-name (git-file-name name version))
eeb883cb
RW
12349 (sha256
12350 (base32
12351 "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf"))))
12352 (build-system emacs-build-system)
12353 (arguments
12354 `(#:phases
12355 (modify-phases %standard-phases
12356 (add-after 'unpack 'require-dash
12357 ;; noflet.el uses -map from dash, but (require 'dash) is
12358 ;; missing. So, add it.
12359 (lambda _
12360 (substitute* "noflet.el"
12361 ((";;; Code:") ";;; Code:\n(require 'dash)"))
12362 #t)))))
12363 (propagated-inputs
12364 `(("emacs-dash" ,emacs-dash)))
12365 (home-page "https://github.com/nicferrier/emacs-noflet")
12366 (synopsis "Locally override functions")
a265b400 12367 (description "@code{emacs-noflet} lets you locally override functions,
eeb883cb
RW
12368in the manner of @command{flet}, but with access to the original function
12369through the symbol: @command{this-fn}.")
12370 (license license:gpl3+))))
12371
12372(define-public emacs-dumb-jump
12373 (package
12374 (name "emacs-dumb-jump")
12375 (version "0.5.2")
12376 (source
12377 (origin
d7d1b6f6
TGR
12378 (method git-fetch)
12379 (uri (git-reference
12380 (url "https://github.com/jacktasia/dumb-jump.git")
12381 (commit (string-append "v" version))))
12382 (file-name (git-file-name name version))
eeb883cb 12383 (sha256
d7d1b6f6 12384 (base32 "00ph85vp8sa3k99qrdxfz4l8zx121q9xf47vvspzg26bk9l4nwin"))))
eeb883cb
RW
12385 (build-system emacs-build-system)
12386 (arguments
12387 `(#:tests? #f ; FIXME: Tests freeze when run.
12388 #:test-command '("ert-runner")
12389 #:phases
12390 (modify-phases %standard-phases
12391 (add-after 'unpack 'set-shell
12392 (lambda _
12393 ;; Setting the SHELL environment variable is required for the
12394 ;; tests to find sh.
12395 (setenv "SHELL" (which "sh"))
12396 #t)))))
12397 (native-inputs
12398 `(("emacs-el-mock" ,emacs-el-mock)
12399 ("emacs-noflet" ,emacs-noflet)
12400 ("emacs-undercover" ,emacs-undercover)
12401 ("ert-runner" ,emacs-ert-runner)))
12402 (propagated-inputs
12403 `(("emacs-f" ,emacs-f)
12404 ("emacs-popup" ,emacs-popup)))
12405 (home-page "https://github.com/jacktasia/dumb-jump")
12406 (synopsis "Jump to definition for multiple languages without configuration")
12407 (description "Dumb Jump is an Emacs \"jump to definition\" package with
12408support for multiple programming languages that favors \"just working\" over
12409speed or accuracy. This means minimal --- and ideally zero --- configuration
12410with absolutely no stored indexes (tags) or persistent background processes.
12411Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep
12412@command{rg} installed.")
12413 (license license:gpl3+)))
12414
12415(define-public emacs-dts-mode
12416 (let ((commit "9ee0854446dcc6c53d2b8d2941051768dba50344")
12417 (revision "1"))
12418 (package
12419 (name "emacs-dts-mode")
12420 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
12421 (source
12422 (origin
12423 (method git-fetch)
12424 (uri (git-reference
12425 (url "https://github.com/bgamari/dts-mode.git")
12426 (commit commit)))
d4056777 12427 (file-name (git-file-name name version))
eeb883cb
RW
12428 (sha256
12429 (base32
12430 "1k8lljdbc90nd29xrhdrsscxavzdq532wq2mg7ljc94krj7538b1"))))
12431 (build-system emacs-build-system)
12432 (home-page "https://github.com/bgamari/dts-mode.git")
12433 (synopsis "Emacs minor mode for editing device tree files")
12434 (description
12435 "This package provides an Emacs minor mode for highlighting
12436device tree files.")
12437 (license license:gpl3+))))
12438
12439(define-public emacs-daemons
12440 (package
12441 (name "emacs-daemons")
12442 (version "2.0.0")
12443 (source
12444 (origin
12445 (method git-fetch)
12446 (uri (git-reference
12447 (url "https://github.com/cbowdon/daemons.el")
12448 (commit version)))
c9cb0fda 12449 (file-name (git-file-name name version))
eeb883cb
RW
12450 (sha256
12451 (base32
12452 "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"))))
12453 (build-system emacs-build-system)
12454 (home-page "https://github.com/cbowdon/daemons.el")
12455 (synopsis "Emacs UI for managing init system services")
12456 (description
12457 "This is an Emacs mode to give you a UI for managing init system
12458daemons (services) for those getting tired of typing out @code{sudo service
12459my_thing reload} all the time. It offers a consistent UI over different init
12460systems.")
12461 (license license:gpl3+)))
12462
d2f555f5
BL
12463(define-public emacs-isearch+
12464 (let ((commit "95e49af9dbf0254e095a11f115e101b52659520a")
12465 (revision "1"))
12466 (package
12467 (name "emacs-isearch+")
12468 (version (git-version "0" revision commit))
12469 (source
12470 (origin
12471 (method git-fetch)
12472 (uri (git-reference
12473 (url "https://github.com/emacsmirror/isearch-plus.git")
12474 (commit commit)))
12475 (file-name (git-file-name name version))
12476 (sha256
12477 (base32
12478 "0xhd9zgknf4lvzyf4apirpd7spb1hbpzkvys00a7pkmd0vvahk0v"))))
12479 (build-system emacs-build-system)
12480 (home-page "https://www.emacswiki.org/emacs/isearch+.el")
12481 (synopsis "Extensions to @code{isearch.el}")
12482 (description "This package extends @code{isearch} with advice, dynamic
12483filters, highlighting of regexp group levels, and more.")
12484 (license license:gpl2+))))
12485
94a33ab8
BL
12486(define-public emacs-eshell-bookmark
12487 (package
12488 (name "emacs-eshell-bookmark")
12489 (version "2.0.0")
12490 (source
12491 (origin
12492 (method git-fetch)
12493 (uri (git-reference
12494 (url "https://github.com/Fuco1/eshell-bookmark")
12495 (commit version)))
12496 (file-name (git-file-name name version))
12497 (sha256
12498 (base32
12499 "14dmsnixf9vqdhsixw693sml0fn80zcf0b37z049fb40cmppqxdw"))))
12500 (build-system emacs-build-system)
12501 (home-page "https://github.com/Fuco1/eshell-bookmark")
12502 (synopsis "Provide @file{bookmark.el} integration for @code{eshell}")
12503 (description
12504 "This package allows for bookmarking @code{eshell} buffers. Upon
12505visiting the bookmark, a new @code{eshell} session will be opened in the
12506appropriate directory if no @code{eshell} session is active.")
12507 (license license:gpl3+)))
12508
d82bd203
BL
12509(define-public emacs-eshell-z
12510 (package
12511 (name "emacs-eshell-z")
12512 (version "0.3.2")
12513 (source
12514 (origin
12515 (method git-fetch)
12516 (uri (git-reference
12517 (url "https://github.com/xuchunyang/eshell-z")
12518 (commit (string-append "v" version))))
12519 (file-name (git-file-name name version))
12520 (sha256
12521 (base32
12522 "1aac4m814jgxwpz7lbyx5r4z5dmawp4sk7pwbx0zqpnbcsaq5wwc"))))
12523 (build-system emacs-build-system)
12524 (home-page "https://github.com/xuchunyang/eshell-z")
12525 (synopsis "Quick navigation to frequently visited directories")
12526 (description
12527 "This package is a port of @code{z}, and keeps track of visited directories
12528and commands invoked within them in order to enable navigation via input of
12529matching regexps.")
12530 (license license:gpl3+)))
12531
eeb883cb
RW
12532(define-public emacs-esh-autosuggest
12533 (package
12534 (name "emacs-esh-autosuggest")
12535 (version "2.0.0")
12536 (source
12537 (origin
12538 (method git-fetch)
12539 (uri (git-reference
12540 (url "https://github.com/dieggsy/esh-autosuggest")
12541 (commit version)))
8609bee8 12542 (file-name (git-file-name name version))
eeb883cb
RW
12543 (sha256
12544 (base32
12545 "116pdjgpjy9b0psm5kzwkwy7dq8vn0p6dy75dl1zsy2xrjf1iqdw"))))
12546 (build-system emacs-build-system)
12547 (propagated-inputs `(("emacs-company" ,emacs-company)))
12548 (home-page "https://github.com/dieggsy/esh-autosuggest")
12549 (synopsis "Fish-like autosuggestions in Eshell")
12550 (description
12551 "This package assumes you use something other than company for eshell
12552completion (e.g. @code{eshell-pcomplete}, @code{completion-at-point},
12553@code{helm-esh-pcomplete}). @code{company-mode} is used solely as a mechanism
12554for history autosuggestions.
12555
12556Unless you're using @code{use-package}'s hook keyword, you can enable the
12557autosuggestions with:
12558@code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}")
12559 (license license:gpl3+)))
12560
12561(define-public emacs-desktop-environment
453031a0
PN
12562 (package
12563 (name "emacs-desktop-environment")
24087364 12564 (version "0.2.2")
453031a0
PN
12565 (source
12566 (origin
12567 (method git-fetch)
12568 (uri (git-reference
12569 (url "https://gitlab.petton.fr/DamienCassou/desktop-environment")
12570 (commit (string-append "v" version))))
12571 (file-name (git-file-name name version))
12572 (sha256
12573 (base32
24087364 12574 "14ija2rrz3zjhjbzxg84j5fq6xph4ah7w9bkqnq37by040cydvhw"))))
453031a0
PN
12575 (build-system emacs-build-system)
12576 (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
12577 (synopsis "Control your GNU/Linux desktop environment from Emacs")
12578 (description
12579 "This package helps you control your GNU/Linux desktop from Emacs.
eeb883cb
RW
12580With @code{desktop-environment}, you can control the brightness and volume as
12581well as take screenshots and lock your screen. The package depends on the
12582availability of shell commands to do the hard work for us. These commands can
12583be changed by customizing the appropriate variables.")
453031a0 12584 (license license:gpl3+)))
eeb883cb
RW
12585
12586(define-public emacs-org-caldav
12587 (package
12588 (name "emacs-org-caldav")
12589 (version "20180403")
12590 (source
12591 (origin
12592 (method url-fetch)
12593 (uri (string-append
12594 "https://github.com/dengste/org-caldav/raw/"
12595 "8d3492c27a09f437d2d94f2736c56d7652e87aa0"
12596 "/org-caldav.el"))
12597 (sha256
12598 (base32
12599 "1fh4gh68ddj0is99z2ccyh97v6psnyda61n2dsadzqhcxn51amlc"))))
12600 (build-system emacs-build-system)
12601 (propagated-inputs `(("emacs-org" ,emacs-org)))
12602 (home-page "https://github.com/dengste/org-caldav")
12603 (synopsis
12604 "Sync Org files with external calendars via the CalDAV protocol")
12605 (description
12606 "Synchronize between events in Org-mode files and a CalDAV calendar.
12607This code is still alpha.")
12608 (license license:gpl3+)))
12609
12610(define-public emacs-zotxt
12611 (package
12612 (name "emacs-zotxt")
12613 (version "20180518")
12614 (source
12615 (origin
6141df66
TGR
12616 (method git-fetch)
12617 (uri (git-reference
12618 (url "https://github.com/egh/zotxt-emacs.git")
12619 (commit "23a4a9f74a658222027d53a9a83cd4bcc583ca8b")))
2ba3dc0b 12620 (file-name (git-file-name name version))
eeb883cb 12621 (sha256
6141df66 12622 (base32 "09fq3w9yk9kn6bz7y9kgpiw612dvj3yzsdk734js6zgb0p8lfd2c"))))
eeb883cb
RW
12623 (build-system emacs-build-system)
12624 (propagated-inputs
12625 `(("emacs-deferred" ,emacs-deferred)
12626 ("emacs-request" ,emacs-request)))
12627 (home-page "https://github.com/egh/zotxt-emacs")
12628 (synopsis "Integrate Emacs with Zotero")
12629 (description "This package provides two integration features between Emacs
12630and the Zotero research assistant: Insertion of links to Zotero items into an
12631Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
12632 (license license:gpl3+)))
12633
12634(define-public emacs-evil-ediff
12635 ;; Evil-Ediff is included in Evil Collection from 20180617.
12636 (deprecated-package "emacs-evil-ediff" emacs-evil-collection))
12637
12638(define-public emacs-evil-magit
3499638e 12639 (let ((commit "e2fec5877994c0c19f0c25fa01f3d22cb0ab38ba"))
eeb883cb
RW
12640 (package
12641 (name "emacs-evil-magit")
3499638e 12642 (version (git-version "0.4.2" "2" commit))
eeb883cb
RW
12643 (source
12644 (origin
12645 (method git-fetch)
12646 (uri (git-reference
12647 (url "https://github.com/emacs-evil/evil-magit")
12648 (commit commit)))
06c52058 12649 (file-name (git-file-name name version))
eeb883cb
RW
12650 (sha256
12651 (base32
3499638e 12652 "134v7s03jvbhm70mavwab85r09i68g2a5bvriirh0chz1av2y16v"))))
eeb883cb
RW
12653 (build-system emacs-build-system)
12654 (propagated-inputs
12655 `(("emacs-evil" ,emacs-evil)
12656 ("magit" ,emacs-magit)))
12657 (home-page
12658 "https://github.com/emacs-evil/evil-magit")
12659 (synopsis "Evil-based key bindings for Magit")
12660 (description
12661 "This Emacs library configures Magit and Evil to play well with each other.
12662For some background see @url{https://github.com/magit/evil-magit/issues/1}.
12663See the README at @url{https://github.com/justbur/evil-magit} for a table
12664describing the key binding changes.")
12665 (license license:gpl3+))))
12666
12667(define-public emacs-evil-mu4e
12668 ;; Evil-mu4e is included in Evil Collection from 20180617.
12669 (deprecated-package "emacs-evil-mu4e" emacs-evil-collection))
12670
12671(define-public emacs-evil-multiedit
12672 (package
12673 (name "emacs-evil-multiedit")
12674 (version "1.3.9")
12675 (source
12676 (origin
12677 (method git-fetch)
12678 (uri (git-reference
12679 (url "https://github.com/hlissner/evil-multiedit")
12680 (commit (string-append "v" version))))
3b5edf91 12681 (file-name (git-file-name name version))
eeb883cb
RW
12682 (sha256
12683 (base32
12684 "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"))))
12685 (build-system emacs-build-system)
12686 (propagated-inputs
12687 `(("emacs-evil" ,emacs-evil)
12688 ("emacs-iedit" ,emacs-iedit)))
12689 (home-page
12690 "https://github.com/hlissner/evil-multiedit")
12691 (synopsis "Multiple cursors for Evil mode")
12692 (description
12693 "This plugin was an answer to the lack of proper multiple cursor support
12694in Emacs+Evil. It allows you to select and edit matches interactively,
12695integrating @code{iedit-mode} into Evil mode with an attempt at sensible
12696defaults.")
12697 (license license:gpl3+)))
12698
12699(define-public emacs-evil-org
12700 (let ((commit "b6d652a9163d3430a9e0933a554bdbee5244bbf6"))
12701 (package
12702 (name "emacs-evil-org")
12703 (version (git-version "0.1.1" "1" commit))
12704 (source
12705 (origin
12706 (method git-fetch)
12707 (uri (git-reference
12708 (url "https://github.com/Somelauw/evil-org-mode")
12709 (commit commit)))
228414ce 12710 (file-name (git-file-name name version))
eeb883cb
RW
12711 (sha256
12712 (base32
12713 "176hrw7y7nczffbyhsa167b8rvfacsmcafm2gpkrdjqlrikbmrhl"))))
12714 (build-system emacs-build-system)
12715 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
12716 (home-page
12717 "https://github.com/Somelauw/evil-org-mode")
12718 (synopsis "Evil keybindings for Org mode")
12719 (description
12720 "This package adds supplemental Evil mode key-bindings to Emacs
12721Org-mode. It features:
12722@itemize
12723@item normal, visual and insert mode bindings;
12724@item key bindings organised in key themes;
12725@item operators like > and < to work on headings;
12726@item text objects;
12727@item table support;
12728@item calendar (date selection) support;
12729@item agenda support.
12730@end itemize\n")
12731 (license license:gpl3+))))
12732
1bc24bbf
BL
12733(define-public emacs-debpaste
12734 (package
12735 (name "emacs-debpaste")
12736 (version "0.1.5")
12737 (home-page "https://github.com/alezost/debpaste.el")
12738 (source
12739 (origin
12740 (method git-fetch)
12741 (uri (git-reference (url home-page)
12742 (commit (string-append "v" version))))
12743 (file-name (string-append name "-" version ".tar.gz"))
12744 (sha256
12745 (base32
12746 "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"))))
12747 (build-system emacs-build-system)
12748 (propagated-inputs
12749 `(("emacs-xml-rpc" ,emacs-xml-rpc)))
12750 (synopsis "Manipulate pastes from the Debian Pastezone")
12751 (description "Debpaste is an Emacs interface for the Debian Pastezone,
12752allowing you to receive, post, and delete pastes. It communicates with the
12753server using XML-RPC.")
12754 (license license:gpl3+)))
12755
6f93b525
BL
12756(define-public emacs-xml-rpc
12757 (let ((commit "8f624f8b964e9145acb504e4457c9510e87dd93c")
12758 (revision "1"))
12759 (package
12760 (name "emacs-xml-rpc")
12761 (version (git-version "1.6.12" revision commit))
12762 (source
12763 (origin
12764 (method git-fetch)
12765 (uri (git-reference
12766 (url "https://github.com/hexmode/xml-rpc-el")
12767 (commit commit)))
12768 (file-name (git-file-name name version))
12769 (sha256
12770 (base32
12771 "0xa54z52rsfl3n0xgmbycj4zazp8ksgdwcq56swzs6wp72zlalmj"))))
12772 (build-system emacs-build-system)
12773 (home-page "https://github.com/hexmode/xml-rpc-el")
12774 (synopsis "XML-RPC client for Emacs")
12775 (description "This package provides an XML-RPC client for Emacs capable
12776of both synchronous and asynchronous method calls using the @code{url}
12777package's async retrieval functionality. @file{xml-rpc.el} represents XML-RPC
12778datatypes as Lisp values, automatically converting to and from the XML
12779datastructures as needed, both for method parameters and return values, making
12780using XML-RPC methods fairly transparent to the Lisp code.")
12781 (license license:gpl3+))))
12782
eeb883cb 12783(define-public emacs-fish-completion
674d180c
PN
12784 (package
12785 (name "emacs-fish-completion")
12786 (version "1.0")
12787 (source
12788 (origin
12789 (method url-fetch)
12790 (uri (string-append
12791 "https://gitlab.com/Ambrevar/emacs-fish-completion/repository/"
12792 "archive.tar.gz?ref="
12793 version))
12794 (sha256
12795 (base32
12796 "1hpma1c5j50ja03ibr7h1xmyv7k8j3rbvqivad47kwqhlsgw0jk0"))))
12797 (build-system emacs-build-system)
12798 (inputs `(("fish" ,fish)))
12799 (arguments
12800 `(#:phases
12801 (modify-phases %standard-phases
12802 (add-after 'unpack 'configure
12803 (lambda* (#:key inputs outputs #:allow-other-keys)
12804 (let ((fish (assoc-ref inputs "fish")))
12805 ;; Specify the absolute file names of the various
12806 ;; programs so that everything works out-of-the-box.
12807 (emacs-substitute-variables
12808 "fish-completion.el"
12809 ("fish-completion-command"
12810 (string-append fish "/bin/fish")))))))))
12811 (home-page
12812 "https://gitlab.com/Ambrevar/emacs-fish-completion")
12813 (synopsis "Fish completion for Emacs pcomplete")
12814 (description
12815 "This package provides completion for the Fish shell to pcomplete (used
eeb883cb
RW
12816by shell and Eshell). You can set it up globally with:
12817
12818@example
12819(when (and (executable-find \"fish\")
12820 (require 'fish-completion nil t))
12821 (global-fish-completion-mode))
12822@end example
12823
12824Alternatively, you can call the @code{fish-completion-mode} manually or in
12825shell/Eshell mode hook.
12826
12827The package @code{emacs-bash-completion} is an optional dependency: if available,
12828@code{fish-completion-complete} can be configured to fall back on bash to further
12829try completing. See @code{fish-completion-fallback-on-bash-p}.")
674d180c 12830 (license license:gpl3+)))
eeb883cb
RW
12831
12832(define-public emacs-gif-screencast
12833 (let ((commit "12b25442b97b84abae74ecb5190a9d14ff7cfe5a"))
12834 (package
12835 (name "emacs-gif-screencast")
12836 (version (git-version "20180616" "1" commit))
12837 (source
12838 (origin
12839 (method url-fetch)
12840 (uri (string-append
12841 "https://gitlab.com/Ambrevar/emacs-gif-screencast/"
12842 "repository/archive.tar.gz?ref="
12843 commit))
12844 (sha256
12845 (base32
12846 "0lc457i78xjkn5idr2aaiadkh76zcsksj84z0qh80a9y775syrgh"))))
12847 (build-system emacs-build-system)
12848 (inputs
12849 `(("scrot" ,scrot)
12850 ("imagemagick" ,imagemagick)
12851 ("gifsicle" ,gifsicle)))
12852 (arguments
12853 `(#:phases
12854 (modify-phases %standard-phases
12855 (add-after 'unpack 'configure
12856 (lambda* (#:key inputs outputs #:allow-other-keys)
12857 (let ((scrot (assoc-ref inputs "scrot"))
12858 (imagemagick (assoc-ref inputs "imagemagick"))
12859 (gifsicle (assoc-ref inputs "gifsicle")))
12860 ;; Specify the absolute file names of the various
12861 ;; programs so that everything works out-of-the-box.
12862 (emacs-substitute-variables
12863 "gif-screencast.el"
12864 ("gif-screencast-program"
12865 (string-append scrot "/bin/scrot"))
12866 ("gif-screencast-convert-program"
12867 (string-append imagemagick "/bin/convert"))
12868 ("gif-screencast-cropping-program"
12869 (string-append imagemagick "/bin/mogrify"))
12870 ("gif-screencast-optimize-program"
12871 (string-append imagemagick "/bin/gifsicle")))))))))
12872 (home-page
12873 "https://gitlab.com/Ambrevar/emacs-gif-screencast")
12874 (synopsis "One-frame-per-action GIF recording")
12875 (description
12876 "Call @code{gif-screencast} to start a recording.
12877A screenshot is taken for every user action. Call
12878@code{gif-screencast-stop} (<f9> by default) to finish recording and create
12879the GIF result.")
12880 (license license:gpl3+))))
12881
12882(define-public emacs-google-translate
12883 (package
12884 (name "emacs-google-translate")
4a54ed77 12885 (version "0.11.17")
eeb883cb
RW
12886 (source
12887 (origin
4a54ed77
ML
12888 (method git-fetch)
12889 (uri (git-reference
12890 (url "https://github.com/atykhonov/google-translate/")
12891 (commit (string-append "v" version))))
12892 (file-name (git-file-name name version))
eeb883cb
RW
12893 (sha256
12894 (base32
4a54ed77 12895 "05ljjw7kbnszygw3w085kv57swfiiqxri2b5xvsf5dw3pc3g7j3c"))))
eeb883cb
RW
12896 (build-system emacs-build-system)
12897 (home-page "https://github.com/atykhonov/google-translate")
12898 (synopsis "Emacs interface to Google Translate")
12899 (description
727c301b 12900 "This package provides an Emacs interface to the Google Translate
eeb883cb
RW
12901on-line service.")
12902 (license license:gpl3+)))
12903
12904(define-public emacs-helm-company
12905 (let ((commit "d3fc093a0e833b4dee6561c00d6df3d62aa50f3f"))
12906 (package
12907 (name "emacs-helm-company")
12908 (version (git-version "0.2.3" "1" commit))
12909 (source
12910 (origin
12911 (method git-fetch)
12912 (uri (git-reference
12913 (url "https://github.com/Sodel-the-Vociferous/helm-company")
12914 (commit commit)))
3a2b69f2 12915 (file-name (git-file-name name version))
eeb883cb
RW
12916 (sha256
12917 (base32
12918 "1ciirsanhajdqm5iwl8k9ywf4jha1wdv4sc4d9kslyrfr9zn4q6k"))))
12919 (build-system emacs-build-system)
12920 (propagated-inputs
12921 `(("emacs-helm" ,emacs-helm)
12922 ("emacs-company" ,emacs-company)))
12923 (home-page "https://github.com/Sodel-the-Vociferous/helm-company")
12924 (synopsis "Helm interface for company-mode")
12925 (description
12926 "This is a Helm interface to company-mode, a text completion
12927framework.")
12928 (license license:gpl3+))))
12929
12930(define-public emacs-helm-descbinds
12931 (let ((commit "033be73f21778633813264ce1634a6e1ad873d8e"))
12932 (package
12933 (name "emacs-helm-descbinds")
12934 (version (git-version "1.13" "1" commit))
12935 (source
12936 (origin
12937 (method git-fetch)
12938 (uri (git-reference
12939 (url "https://github.com/emacs-helm/helm-descbinds")
12940 (commit commit)))
42ce3447 12941 (file-name (git-file-name name version))
eeb883cb
RW
12942 (sha256
12943 (base32
12944 "1n89p56qwa243w1c85i5awnaf7piwjsvfi7nmnsrwm33hix5dknk"))))
12945 (build-system emacs-build-system)
12946 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
12947 (home-page "https://github.com/emacs-helm/helm-descbinds")
12948 (synopsis "Convenient @code{describe-bindings} with Helm")
12949 (description
12950 "This package is a replacement of @code{describe-bindings} for Helm.
12951@code{describe-bindings} is replaced with @code{helm-descbinds}. As usual,
12952type @code{C-h b}, or any incomplete key sequence plus @code{C-h}, to run
12953@code{helm-descbinds}. The bindings are presented in a similar way as
12954@code{describe-bindings} does, but you can use completion to find the command
12955you searched for and execute it, or view its documentation.")
12956 (license license:gpl3+))))
12957
12958(define-public emacs-helm-emms
b6fd7f50 12959 (let ((commit "b785cb845a98a643eba9d5d53c9c0b4e6810a3cd"))
eeb883cb
RW
12960 (package
12961 (name "emacs-helm-emms")
b6fd7f50 12962 (version (git-version "1.3" "2" commit))
eeb883cb
RW
12963 (source
12964 (origin
12965 (method git-fetch)
12966 (uri (git-reference
12967 (url "https://github.com/emacs-helm/helm-emms")
12968 (commit commit)))
cfb041aa 12969 (file-name (git-file-name name version))
eeb883cb
RW
12970 (sha256
12971 (base32
b6fd7f50 12972 "1595r09y3rmwd46nnhvjja3hb8j2ila295ijxv61cg52ws4wginh"))))
eeb883cb
RW
12973 (build-system emacs-build-system)
12974 (propagated-inputs
12975 `(("emacs-helm" ,emacs-helm)
12976 ("emacs-emms" ,emacs-emms)))
12977 (home-page
12978 "https://github.com/emacs-helm/helm-emms")
12979 (synopsis "Emms for Helm")
12980 (description "Helm interface for Emms to browse all tracks and all folders
12981from @code{emms-source-file-default-directory}.")
12982 (license license:gpl3+))))
12983
12984(define-public emacs-helm-exwm
12985 (let ((commit "56266f261ba3b3d2753b374b50da20eb768c06f5"))
12986 (package
12987 (name "emacs-helm-exwm")
12988 (version (git-version "20180703" "2" commit))
12989 (source
12990 (origin
5a6e6f5d
TGR
12991 (method git-fetch)
12992 (uri (git-reference
12993 (url "https://github.com/emacs-helm/helm-exwm.git")
12994 (commit commit)))
eeb883cb 12995 (sha256
5a6e6f5d 12996 (base32 "064ziinqa5sdv7rfjn0y278l12kld176fr88k4h78pgf2f2n7cd8"))))
eeb883cb
RW
12997 (build-system emacs-build-system)
12998 (propagated-inputs
12999 `(("emacs-helm" ,emacs-helm)
13000 ("emacs-exwm" ,emacs-exwm)))
13001 (home-page
13002 "https://github.com/emacs-helm/helm-exwm")
13003 (synopsis "Helm for EXWM buffers")
13004 (description
13005 "@code{helm-exwm} runs a Helm session over the list of EXWM buffers.
13006@code{helm-exwm-switch} is a convenience X application launcher using Helm to
13007switch between the various windows of one or several specific applications.
13008See @code{helm-exwm-switch-browser} for an example.")
13009 (license license:gpl3+))))
13010
13011(define-public emacs-helm-flycheck
13012 (let ((commit "3cf7d3bb194acacc6395f88360588013d92675d6"))
13013 (package
13014 (name "emacs-helm-flycheck")
13015 (version (git-version "0.4" "1" commit))
13016 (source
13017 (origin
13018 (method git-fetch)
13019 (uri (git-reference
13020 (url "https://github.com/yasuyk/helm-flycheck")
13021 (commit commit)))
de3bb0e0 13022 (file-name (git-file-name name version))
eeb883cb
RW
13023 (sha256
13024 (base32
13025 "1a2yfxhz04klwhcandqvfzysxp6b7bxyxx1xk1x3kds5hif5fkl4"))))
13026 (build-system emacs-build-system)
13027 (propagated-inputs
13028 `(("emacs-dash" ,emacs-dash)
13029 ("emacs-flycheck" ,emacs-flycheck)
13030 ("emacs-helm" ,emacs-helm)))
13031 (home-page "https://github.com/yasuyk/helm-flycheck")
13032 (synopsis "Show Flycheck errors with Helm")
13033 (description
13034 "This integrates Flycheck with Helm.")
13035 (license license:gpl3+))))
13036
13037(define-public emacs-helm-ls-git
13038 (let ((commit "76654c776a7f6e2e5290645e748aac2a746f7daa"))
13039 (package
13040 (name "emacs-helm-ls-git")
13041 (version (git-version "1.9.1" "1" commit))
13042 (source
13043 (origin
13044 (method git-fetch)
13045 (uri (git-reference
13046 (url "https://github.com/emacs-helm/helm-ls-git")
13047 (commit commit)))
559eb297 13048 (file-name (git-file-name name version))
eeb883cb
RW
13049 (sha256
13050 (base32
13051 "0vsq1n3xl3ghy5zik2scm7jrs501n4kybdqd6yw6j0cv4jxdqbr0"))))
13052 (build-system emacs-build-system)
13053 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
13054 (home-page "https://github.com/emacs-helm/helm-ls-git")
13055 (synopsis "Helm interface for listing the files in a Git repository")
13056 (description
13057 "This package provides a Helm interface for Git files.
13058@itemize
13059@item Display the open buffers in project.
13060@item Display a status source showing state of project (modified files etc.).
13061@item Display a list of all files in project under git control.
13062@item Quickly look at diffs of modified files.
13063@item Allow switching to @code{git status} with your preferred frontend
13064(vc-dir, Magit,etc.).
13065@item Full integration of git-grep, also allow usage of @code{helm-grep} (you
13066can use ack-grep instead of grep).
13067@item Integrate usage of gid from id-utils.
13068@item Full integration with @code{helm-find-files}, allow you to browse
13069projects unrelated to current-buffer.
13070@item In addition, all actions of type files and buffers are provided.
13071@end itemize\n")
13072 (license license:gpl3+))))
13073
13074(define-public emacs-helm-mu
13075 (let ((commit "77e6fea24e01481418738421dbcfe28ef1bd63cf"))
13076 (package
13077 (name "emacs-helm-mu")
13078 (version (git-version "20180513" "1" commit))
13079 (source
13080 (origin
8e65ada2
TGR
13081 (method git-fetch)
13082 (uri (git-reference
13083 (url "https://github.com/emacs-helm/helm-mu.git")
13084 (commit commit)))
eeb883cb 13085 (sha256
8e65ada2 13086 (base32 "1lh0ahxdc5b2z18m9p30gwg8sbg33sjwkjr38p7h5xsm5fm7i0fz"))))
eeb883cb
RW
13087 (build-system emacs-build-system)
13088 (propagated-inputs
13089 `(("emacs-helm" ,emacs-helm)
13090 ("mu" ,mu)))
13091 (home-page
13092 "https://github.com/emacs-helm/helm-mu")
13093 (synopsis
13094 "Helm sources for searching emails and contacts")
13095 (description
13096 "Helm sources for searching emails and contacts using @code{mu} and
13097@code{mu4e}. Mu is an indexer for maildirs and mu4e is a mutt-like MUA for
13098Emacs build on top of mu. Mu is highly efficient making it possible to get
13099instant results even for huge maildirs. It also provides search operators,
13100e.g: @code{from:Peter to:Anne flag:attach search term}.")
13101 (license license:gpl3+))))
13102
13103(define-public emacs-helm-pass
034b8fd4
PN
13104 (package
13105 (name "emacs-helm-pass")
13106 (version "0.3")
13107 (source
13108 (origin
13109 (method git-fetch)
13110 (uri (git-reference
13111 (url "https://github.com/emacs-helm/helm-pass")
13112 (commit version)))
8f4b5700 13113 (file-name (git-file-name name version))
034b8fd4
PN
13114 (sha256
13115 (base32
13116 "0vglaknmir3yv4iwibwn8r40ran8d04gcyp99hx73ldmf3zqpnxv"))))
13117 (build-system emacs-build-system)
13118 (propagated-inputs
13119 `(("emacs-helm" ,emacs-helm)
13120 ("emacs-password-store" ,emacs-password-store)))
13121 (home-page "https://github.com/emacs-helm/helm-pass")
13122 (synopsis "Helm interface to pass, the standard Unix password manager")
13123 (description
13124 "Users of @code{helm-pass} may also be interested in functionality
eeb883cb
RW
13125provided by other Emacs packages dealing with pass:
13126@itemize
13127@item @code{emacs-password-store}, which @code{helm-pass} relies on.
13128@item @code{emacs-pass}, a major mode for @code{pass}.
13129@item @code{auth-source-pass.el}: integration of Emacs' auth-source with
13130@code{pass}, included in Emacs 26+).
13131@end itemize\n")
034b8fd4 13132 (license license:gpl3+)))
eeb883cb
RW
13133
13134(define-public emacs-image+
13135 (let ((commit "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc"))
13136 (package
13137 (name "emacs-image+")
13138 (version (git-version "0.6.2" "1" commit))
13139 (source
13140 (origin
13141 (method git-fetch)
13142 (uri (git-reference
13143 (url "https://github.com/mhayashi1120/Emacs-imagex")
13144 (commit commit)))
76cd6150 13145 (file-name (git-file-name name version))
eeb883cb
RW
13146 (sha256
13147 (base32
13148 "0v66wk9nh0raih4jhrzmmyi5lbysjnmbv791vm2230ffi2hmwxnd"))))
13149 (build-system emacs-build-system)
13150 (inputs `(("imagemagick" ,imagemagick)))
13151 (arguments
13152 `(#:phases
13153 (modify-phases %standard-phases
13154 (add-after 'unpack 'configure
13155 (lambda* (#:key inputs outputs #:allow-other-keys)
13156 (let ((imagemagick (assoc-ref inputs "imagemagick")))
13157 ;; Specify the absolute file names of the various
13158 ;; programs so that everything works out-of-the-box.
13159 (chmod "image+.el" #o666)
13160 (emacs-substitute-variables
13161 "image+.el"
13162 ("imagex-convert-command"
13163 (string-append imagemagick "/bin/convert"))
13164 ("imagex-identify-command"
13165 (string-append imagemagick "/bin/identify")))))))))
13166 (home-page "https://github.com/mhayashi1120/Emacs-imagex")
13167 (synopsis "Image manipulation extensions for Emacs")
13168 (description
13169 "Image+ provides keybindings allowing you to zoom in or zoom out of an
13170image, rotate it, save modified images, and more.")
13171 (license license:gpl3+))))
13172
13173(define-public emacs-package-lint
13174 (let ((commit "69bb89d00ba212b734c676ad056aa793c450b288"))
13175 (package
13176 (name "emacs-package-lint")
13177 (version (git-version "0.5" "1" commit))
13178 (source
13179 (origin
13180 (method git-fetch)
13181 (uri (git-reference
13182 (url "https://github.com/purcell/package-lint")
13183 (commit commit)))
106f2655 13184 (file-name (git-file-name name version))
eeb883cb
RW
13185 (sha256
13186 (base32
13187 "1hfricsgmy3x9snnd2p4xq6vnnv94qdsxxnxp07b3hqc9bhw31rq"))))
13188 (build-system emacs-build-system)
13189 (home-page "https://github.com/purcell/package-lint")
13190 (synopsis "Linting library for elisp package authors")
13191 (description
13192 "This provides a list of issues with the Emacs package metadata of a file,
13193e.g. the package dependencies it requires. See function
13194@code{package-lint-buffer}. Checks will currently be enabled only if a
13195\"Package-Requires:\" or \"Package-Version:\" header is present in the
13196file.")
13197 (license license:gpl3+))))
13198
13199(define-public emacs-picpocket
13200 (let ((version "40")
13201 (commit "6fd88b8711c4370662c0f9c462170187d092a046"))
13202 (package
13203 (name "emacs-picpocket")
13204 (version version)
13205 (source
13206 (origin
13207 (method git-fetch)
13208 (uri (git-reference
13209 (url "https://github.com/johanclaesson/picpocket")
13210 (commit commit)))
13211 (file-name (git-file-name name version))
13212 (sha256
13213 (base32 "1mdzzxf7xm7zwrpnqqxa27d1cr31pd72d7ilbwljv13qp177a3yw"))))
13214 (build-system emacs-build-system)
13215 (arguments ; needed for running tests
13216 `(#:tests? #t
13217 #:emacs ,emacs
13218 #:test-command '("emacs" "--batch"
13219 "-l" "picpocket-test.el"
13220 "-f" "ert-run-tests-batch-and-exit")))
13221 (home-page "https://github.com/johanclaesson/picpocket")
13222 (synopsis "Image viewer for Emacs")
13223 (description
13224 "Picpocket is an image viewer for GNU Emacs. It has commands for:
13225
13226@itemize
13227@item File operations on the picture files (delete, move, copy, hardlink).
13228@item Scale and rotate the picture.
13229@item Associate pictures with tags which are saved to disk.
13230@item Filter pictures according to tags.
13231@item Customizing keystrokes for quick tagging and file operations.
13232@item Undo and browse history of undoable commands.
13233@end itemize")
13234 (license license:gpl3+))))
13235
13236(define-public emacs-wgrep-helm
13237 ;; `emacs-wgrep-helm' was mistakenly added.
13238 (deprecated-package "emacs-wgrep-helm" emacs-wgrep))
13239
13240(define-public emacs-mu4e-conversation
13241 (let ((commit "e7d4bfcb0d392b0aed1f705ccac2419a168d1f5e"))
13242 (package
13243 (name "emacs-mu4e-conversation")
13244 (version (git-version "20181126" "4" commit))
13245 (source
13246 (origin
13247 (method url-fetch)
13248 (uri (string-append
13249 "https://gitlab.com/Ambrevar/mu4e-conversation/"
13250 "repository/archive.tar.gz?ref="
13251 commit))
20f28d0b 13252 (file-name (git-file-name name version))
eeb883cb
RW
13253 (sha256
13254 (base32
13255 "0b52hf9rm2afba9pvgink9bwqm705sk0y5qikp0ff5sk53wqvy29"))))
13256 (build-system emacs-build-system)
13257 (propagated-inputs
13258 `(("mu" ,mu)))
13259 (home-page
13260 "https://gitlab.com/Ambrevar/mu4e-conversation")
13261 (synopsis
13262 "Show a complete thread in a single buffer")
13263 (description
13264 "This package offers an alternate view to mu4e's e-mail display. It
13265shows all e-mails of a thread in a single view, where each correspondent has
13266their own face. Threads can be displayed linearly (in which case e-mails are
13267displayed in chronological order) or as an Org document where the node tree
13268maps the thread tree.")
13269 (license license:gpl3+))))
13270
13271(define-public emacs-pinentry
13272 (let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
13273 (revision "1"))
13274 (package
13275 (name "emacs-pinentry")
13276 (version (git-version "0.1" revision commit))
13277 (source
13278 (origin
13279 (method url-fetch)
13280 (uri (string-append
13281 "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain"
13282 "/packages/pinentry/pinentry.el?id=" commit))
13283 (file-name (string-append "pinentry.el"))
13284 (sha256
13285 (base32
13286 "1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
13287 (build-system emacs-build-system)
13288 (propagated-inputs
13289 `(("gnupg" ,gnupg)))
13290 (home-page "https://elpa.gnu.org/packages/pinentry.html")
13291 (synopsis "GnuPG Pinentry server implementation")
13292 (description
13293 "This package allows GnuPG passphrase to be prompted through the
13294minibuffer instead of graphical dialog.
13295
13296To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
13297reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
13298server with @code{M-x pinentry-start}.")
13299 (license license:gpl3+))))
13300
13301(define-public emacs-org-brain
13302 (package
13303 (name "emacs-org-brain")
13304 (version "0.5")
13305 (source
13306 (origin
13307 (method git-fetch)
13308 (uri (git-reference
13309 (url "https://github.com/Kungsgeten/org-brain.git")
13310 (commit "3faf9303af3f2356e3444e69c22dc6c5774047d1")))
13311 (file-name (git-file-name name version))
13312 (sha256
13313 (base32
13314 "1ad681zk6kckw2zbk0r4iaj4bw8cfqrbd1s3gdwgdjlzq81q9mmj"))))
13315 (build-system emacs-build-system)
13316 (home-page "https://github.com/Kungsgeten/org-brain")
13317 (synopsis "Org-mode wiki and concept-mapping for Emacs")
13318 (description "@code{emacs-org-brain} implements a variant of concept
13319mapping in Emacs, using @code{org-mode}. An org-brain is a network of
13320org-mode entries, where each entry is a file or a headline, and you can get a
13321visual overview of the relationships between the entries: parents, children,
13322siblings and friends. This visual overview can also be used to browse your
13323entries. You can think of entries as nodes in a mind map, or pages in a
13324wiki.")
13325 (license license:expat)))
13326
13327(define-public emacs-recent-addresses
13328 (let ((commit "afbbfdc43b81e620acf827ca20d297e0c517b6eb")
13329 (revision "1"))
13330 (package
13331 (name "emacs-recent-addresses")
13332 (home-page "http://nschum.de/src/emacs/recent-addresses/")
13333 (version (git-version "0.1" revision commit))
13334 (source (origin
13335 (method git-fetch)
13336 (uri (git-reference
13337 ;; Note: Use a branch that works with Helm. Submitted
13338 ;; at <https://github.com/nschum/recent-addresses.el/pull/1>.
13339 (url "https://github.com/civodul/recent-addresses.el")
13340 (commit commit)))
13341 (sha256
13342 (base32
13343 "0ajrq0galjmdyjdjyxazykjyax3gh6hvfk4s7l657pi11g0q5zax"))
13344 (file-name (git-file-name name version))))
13345 (build-system emacs-build-system)
13346 (synopsis "Record recently-used email addressed and auto-complete them")
13347 (description
13348 "@code{recent-addresses} is an Emacs package that allows you to quickly
13349look up previously used email addresses. It can be used alongside the Gnus
13350email client.")
13351 (license license:gpl2+))))
13352
13353(define-public emacs-fold-dwim
13354 (let ((commit "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b")
13355 (revision "0"))
13356 (package
13357 (name "emacs-fold-dwim")
13358 (version (git-version "1.2" revision commit))
13359 (home-page "https://github.com/emacsattic/fold-dwim")
13360 (source (origin
13361 (method git-fetch)
13362 (uri (git-reference (url home-page) (commit commit)))
13363 (sha256
13364 (base32
13365 "1yz1wis31asw6xa5maliyd1ck2q02xnnh7dc6swgj9cb4wi7k6i1"))
13366 (file-name (git-file-name name version))))
13367 (build-system emacs-build-system)
13368 (synopsis "Unified user interface for Emacs folding modes")
13369 (description
13370 "DWIM stands for \"do what I mean\", as in the idea that one keystroke
13371can do different things depending on the context. In this package, it means
13372that, if the cursor is in a currently hidden folded construction, we want to
13373show it; if it's not, we want to hide whatever fold the cursor is in.")
13374 (license license:gpl2+))))
13375
13376(define-public emacs-markup-faces
13377 (package
13378 (name "emacs-markup-faces")
13379 (version "1.0.0")
13380 (source
13381 (origin
13382 (method url-fetch)
13383 (uri (string-append "https://stable.melpa.org/packages/markup-faces-"
13384 version ".el"))
13385 (sha256
13386 (base32
13387 "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32"))))
13388 (build-system emacs-build-system)
13389 (home-page "https://github.com/sensorflo/markup-faces")
13390 (synopsis "Collection of Emacs faces for markup language modes")
13391 (description "emacs-markup-faces is like font-lock-faces, but tailored for
13392markup languages instead programming languages. The sub group markup-faces-text
13393is also intended for 'text viewing modes' such as info or (wo)man. This gives a
13394common look and feel, or let's say theme, across different markup language modes
13395and 'text viewing modes' respectively.")
13396 (license license:gpl3+)))
13397
13398(define-public emacs-adoc-mode
13399 (package
13400 (name "emacs-adoc-mode")
13401 (version "0.6.6")
13402 (source
13403 (origin
13404 (method url-fetch)
13405 (uri (string-append "https://stable.melpa.org/packages/adoc-mode-"
13406 version ".el"))
13407 (sha256
13408 (base32
13409 "1c6hrgxxsnl2c19rgjykpm7r4xg9lp6bmk5z6bi7g8pqlrgwffcy"))))
13410 (build-system emacs-build-system)
13411 (propagated-inputs
13412 `(("emacs-markup-faces" ,emacs-markup-faces)))
13413 (home-page "https://github.com/sensorflo/adoc-mode/wiki")
13414 (synopsis "AsciiDoc mode for Emacs")
13415 (description "This package provides an Emacs major mode for editing AsciiDoc
13416files. It focuses on highlighting the document to improve readability.")
13417 (license license:gpl2+)))
13418
13419(define-public emacs-rust-mode
13420 (let ((commit
13421 ;; Last release is old (2016), use more recent commit to get bug
13422 ;; fixes.
13423 "64b4a2450e4d4c47f6307851c9b2598cd2254d68")
13424 (revision "0"))
13425 (package
13426 (name "emacs-rust-mode")
13427 (version (git-version "0.3.0" revision commit))
13428 (source (origin
13429 (method git-fetch)
13430 (uri
13431 (git-reference
13432 (url "https://github.com/rust-lang/rust-mode")
13433 (commit commit)))
13434 (file-name (git-file-name name version))
13435 (sha256
13436 (base32
13437 "0pbz36lljgb7bdgx3h3g0pq1nss1kvn8mhk1l3mknsmynd6w4nd8"))))
13438 (build-system emacs-build-system)
13439 (arguments
13440 `(#:phases
13441 (modify-phases %standard-phases
13442 (replace 'check
13443 (lambda _
13444 (invoke "sh" "run_rust_emacs_tests.sh"))))))
13445 (home-page "https://github.com/rust-lang/rust-mode")
13446 (synopsis "Major Emacs mode for editing Rust source code")
13447 (description "This package provides a major Emacs mode for editing Rust
13448source code.")
13449 (license (list license:expat
13450 license:asl2.0)))))
13451
13452(define-public emacs-ztree
13453 (let ((commit "c54425a094353ec40a8179f9eab3596f76c6cf94"))
13454 (package
13455 (name "emacs-ztree")
13456 (version (git-version "1.0.5" "1" commit))
13457 (source
13458 (origin
13459 (method git-fetch)
13460 (uri (git-reference
13461 (url "https://github.com/fourier/ztree")
13462 (commit commit)))
13463 (file-name (git-file-name name version))
13464 (sha256
13465 (base32
13466 "0j8fpxds8m1zi04nrs8vv21091abvh4n8ab76f1sgdxnp4l5cfb0"))))
13467 (build-system emacs-build-system)
13468 (home-page "https://github.com/fourier/ztree")
13469 (synopsis "Directory tree comparison mode for Emacs")
13470 (description "Ztree is a project dedicated to implementation of several
13471text-tree applications inside GNU Emacs. It consists of 2 subprojects:
13472@command{ztree-diff} and @command{ztree-dir} (the basis of
13473@command{ztree-diff}).")
13474 (license license:gpl3))))
13475
13476(define-public emacs-helm-org-contacts
13477 (let ((commit "0af703bd9a43032b89fdf5559673151d1ac2fffc"))
13478 (package
13479 (name "emacs-helm-org-contacts")
13480 (version (git-version "20180707" "1" commit))
13481 (source
13482 (origin
13483 (method git-fetch)
13484 (uri (git-reference
13485 (url "https://github.com/tmalsburg/helm-org-contacts")
13486 (commit commit)))
13487 (file-name (git-file-name name version))
13488 (sha256
13489 (base32
13490 "1cl7cm2ic9pg4vc9cdh84vzjj1x2lpd5ymimiva8h4l17kiphk4s"))))
13491 (build-system emacs-build-system)
13492 (propagated-inputs
13493 `(("emacs-dash" ,emacs-dash)
13494 ("emacs-helm" ,emacs-helm)
13495 ("emacs-s" ,emacs-s)))
13496 (home-page "https://github.com/tmalsburg/helm-org-contacts")
13497 (synopsis "Helm source for org-contacts")
13498 (description "This Helm source can be used to search contacts stored in
13499org-contacts format. There are actions for inserting postal addresses, email
13500addresses, and phone numbers in the buffer where @command{helm-org-contacts}
13501was called.")
13502 (license license:gpl3))))
13503
13504(define-public emacs-dired-du
13505 (package
13506 (name "emacs-dired-du")
13507 (version "0.5.1")
13508 (source
13509 (origin
13510 (method url-fetch)
13511 (uri (string-append
13512 "https://elpa.gnu.org/packages/dired-du-"
13513 version ".tar"))
13514 (sha256
13515 (base32
13516 "1091scnrjh0a4gja4z6jxic6ghy1yryv46qk9c76pmh50cpw6766"))))
13517 (build-system emacs-build-system)
13518 (home-page "http://elpa.gnu.org/packages/dired-du.html")
13519 (synopsis "Dired with recursive directory sizes")
13520 (description
13521 "Display the recursive size of directories in Dired.
13522This file defines a minor mode @command{dired-du-mode} to show the recursive
13523size of directories in Dired buffers. If @command{du} program is available,
13524then the directory sizes are obtained with it. Otherwise, the directory sizes
13525are obtained with Lisp. The former is faster and provide a more precise
13526value. For directories where the user doesn't have read permission, the
13527recursive size is not obtained. Once this mode is enabled, every new Dired
13528buffer displays recursive dir sizes.")
13529 (license license:gpl3+)))
13530
3a228f7a
OP
13531(define-public emacs-dired-rsync
13532 (package
13533 (name "emacs-dired-rsync")
13534 (version "0.4")
13535 (source (origin
13536 (method git-fetch)
13537 (uri (git-reference
13538 (url "https://github.com/stsquad/dired-rsync.git")
13539 (commit version)))
13540 (file-name (git-file-name name version))
13541 (sha256
13542 (base32
13543 "0jzbn0izxqgz719gb6fpr60zbcb6w1ama13ngpvrig82nlhs37fv"))))
13544 (build-system emacs-build-system)
13545 (propagated-inputs
13546 `(("emacs-s" ,emacs-s)
13547 ("emacs-dash" ,emacs-dash)))
13548 (home-page "https://github.com/stsquad/dired-rsync/")
13549 (synopsis "Support for rsync from Emacs dired buffers")
13550 (description "This package adds a single command @code{dired-rsync} which
13551allows the user to copy marked files in a dired buffer via @code{rsync}. This
13552is useful, especially for large files, because the copy happens in the
13553background and doesn’t lock up Emacs. It is also more efficient than using
13554tramps own encoding methods for moving data between systems.")
13555 (license license:gpl3+)))
13556
eeb883cb
RW
13557(define-public emacs-pcre2el
13558 ;; Last release is very old so we get the latest commit.
13559 (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
13560 (package
13561 (name "emacs-pcre2el")
13562 (version (git-version "1.8" "1" commit))
13563 (source
13564 (origin
13565 (method git-fetch)
13566 (uri (git-reference
13567 (url "https://github.com/joddie/pcre2el")
13568 (commit commit)))
13569 (file-name (git-file-name name version))
13570 (sha256
13571 (base32
13572 "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"))))
13573 (build-system emacs-build-system)
13574 (home-page "https://github.com/joddie/pcre2el")
13575 (synopsis "Convert between PCRE, Emacs and rx regexp syntax")
13576 (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp
13577Tools) is a utility for working with regular expressions in Emacs, based on a
13578recursive-descent parser for regexp syntax. In addition to converting (a
13579subset of) PCRE syntax into its Emacs equivalent, it can do the following:
13580
13581@itemize
13582@item convert Emacs syntax to PCRE
13583@item convert either syntax to @code{rx}, an S-expression based regexp syntax
13584@item untangle complex regexps by showing the parse tree in @code{rx} form and
13585highlighting the corresponding chunks of code
13586@item show the complete list of strings (productions) matching a regexp,
13587provided the list is finite
13588@item provide live font-locking of regexp syntax (so far only for Elisp
13589buffers – other modes on the TODO list).
13590@end itemize\n")
13591 (license license:gpl3))))
13592
13593(define-public emacs-magit-todos
13594 (package
13595 (name "emacs-magit-todos")
3a56c518 13596 (version "1.1.7")
eeb883cb
RW
13597 (source
13598 (origin
13599 (method git-fetch)
13600 (uri (git-reference
13601 (url "https://github.com/alphapapa/magit-todos")
13602 (commit version)))
13603 (file-name (git-file-name name version))
13604 (sha256
13605 (base32
3a56c518 13606 "0qagdxpik64n4rw9scy451ws5sw00v64ri9g2dcw7b66bx2c6c6w"))))
eeb883cb
RW
13607 (build-system emacs-build-system)
13608 (propagated-inputs
13609 `(("emacs-async" ,emacs-async)
13610 ("emacs-dash" ,emacs-dash)
13611 ("emacs-f" ,emacs-f)
13612 ("emacs-hl-todo" ,emacs-hl-todo)
13613 ("magit" ,emacs-magit)
13614 ("emacs-pcre2el" ,emacs-pcre2el)
13615 ("emacs-s" ,emacs-s)))
13616 (home-page "https://github.com/alphapapa/magit-todos")
13617 (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer")
13618 (description "This package displays keyword entries from source code
13619comments and Org files in the Magit status buffer. Activating an item jumps
13620to it in its file. By default, it uses keywords from @code{hl-todo}, minus a
13621few (like NOTE).")
13622 (license license:gpl3)))
13623
13624(define-public emacs-git-annex
13625 ;; Unreleased version has a fontification fix.
13626 (let ((commit "ebdb44aef1883f1b2b8058e05d30fb9315b03707")
13627 (revision "1"))
13628 (package
13629 (name "emacs-git-annex")
13630 (version (string-append "1.1-" revision "." (string-take commit 8)))
13631 (source
13632 (origin
13633 (method git-fetch)
13634 (uri (git-reference
13635 (url "https://github.com/jwiegley/git-annex-el")
13636 (commit commit)))
a287c7fd 13637 (file-name (git-file-name name version))
eeb883cb
RW
13638 (sha256
13639 (base32
13640 "1mzv40gj7k10h7h5s43my8msgzjpj680qprqa9pp8nbyhl49v3wh"))))
13641 (build-system emacs-build-system)
13642 (home-page "https://github.com/jwiegley/git-annex-el")
13643 (synopsis "Emacs integration for git-annex")
13644 (description "Enhances Dired and buffers visiting annex files with
13645git-annex functionality. In Dired, the names of annex files are shortened by
13646hiding the symbolic links and fontified based on whether content is present.
13647Commands for performing some common operations (e.g., unlocking and adding
13648files) are provided.")
13649 (license license:gpl2+))))
13650
13651(define-public emacs-hackernews
1e70d72b 13652 (let ((commit "916c3da8da45c757f5ec2faeed57fa370513d4ac"))
eeb883cb
RW
13653 (package
13654 (name "emacs-hackernews")
1e70d72b 13655 (version (git-version "0.5.0" "1" commit))
eeb883cb
RW
13656 (source
13657 (origin
13658 (method git-fetch)
13659 (uri (git-reference
13660 (url "https://github.com/clarete/hackernews.el")
13661 (commit commit)))
13662 (file-name (git-file-name name version))
13663 (sha256
13664 (base32
1e70d72b 13665 "09bxaaczana1cfvxyk9aagjvdszkj0j1yldl5r4xa60b59lxihsg"))))
eeb883cb
RW
13666 (build-system emacs-build-system)
13667 (home-page "https://github.com/clarete/hackernews.el")
13668 (synopsis "Hacker News client for Emacs")
13669 (description "The @command{hackernews} package is able to fetch stories
13670from six different Hacker News feeds, namely top, new, best, ask, show and job
13671stories. The default feed is top stories, which corresponds to the Hacker
13672News homepage.")
13673 (license license:gpl3))))
13674
13675(define-public emacs-youtube-dl
13676 (let ((commit "7c9d7a7d05b72a7d1b1257a36c5e2b2567b185dd"))
13677 (package
13678 (name "emacs-youtube-dl")
13679 (version (git-version "1.0" "1" commit))
13680 (source
13681 (origin
13682 (method git-fetch)
13683 (uri (git-reference
13684 (url "https://github.com/skeeto/youtube-dl-emacs/")
13685 (commit commit)))
13686 (file-name (git-file-name name version))
13687 (sha256
13688 (base32
13689 "0mh4s089a4x8s380agzb2306kdp1hl204px1n5rrrrdcls7imnh6"))))
13690 (build-system emacs-build-system)
13691 (inputs
13692 `(("youtube-dl" ,youtube-dl)))
13693 (arguments
13694 `(#:phases
13695 (modify-phases %standard-phases
13696 (add-after 'unpack 'configure
13697 (lambda* (#:key inputs #:allow-other-keys)
13698 (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
13699 ;; .el is read-only in git.
13700 (chmod "youtube-dl.el" #o644)
13701 ;; Specify the absolute file names of the various
13702 ;; programs so that everything works out-of-the-box.
13703 (emacs-substitute-variables
13704 "youtube-dl.el"
13705 ("youtube-dl-program"
13706 (string-append youtube-dl "/bin/youtube-dl")))))))))
13707 (home-page "https://github.com/skeeto/youtube-dl-emacs/")
13708 (synopsis "Emacs youtube-dl download manager")
13709 (description "This package manages a video download queue for
13710@command{youtube-dl}, which serves as the back end. It manages a single
13711@command{youtube-dl} subprocess, downloading one video at a time. New videos
13712can be queued at any time.")
13713 (license license:unlicense))))
13714
13715(define-public emacs-org-web-tools
13716 (package
13717 (name "emacs-org-web-tools")
13718 (version "1.0")
13719 (source
13720 (origin
13721 (method git-fetch)
13722 (uri (git-reference
13723 (url "https://github.com/alphapapa/org-web-tools")
13724 (commit version)))
13725 (file-name (git-file-name name version))
13726 (sha256
13727 (base32
13728 "0kak9h5ny00d39gnwspv53nadnag01brw2fq9zk5wpfc91h9bjng"))))
13729 (build-system emacs-build-system)
13730 (propagated-inputs
13731 `(("emacs-dash" ,emacs-dash)
13732 ("emacs-esxml" ,emacs-esxml)
13733 ("emacs-s" ,emacs-s)))
13734 (inputs
13735 `(("pandoc" ,ghc-pandoc)))
13736 (arguments
13737 `(#:phases
13738 (modify-phases %standard-phases
13739 (add-after 'unpack 'patch-exec-paths
13740 (lambda* (#:key inputs #:allow-other-keys)
13741 (let ((pandoc (assoc-ref inputs "pandoc")))
13742 (substitute* "org-web-tools.el"
13743 (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))
13744 #t))))))
13745 (home-page "https://github.com/alphapapa/org-web-tools")
13746 (synopsis "Display/Process web page as Org-mode content")
13747 (description "This package contains library functions and commands useful
13748for retrieving web page content and processing it into Org-mode content.
13749
13750For example, you can copy a URL to the clipboard or kill-ring, then run a
13751command that downloads the page, isolates the “readable” content with
13752@command{eww-readable}, converts it to Org-mode content with Pandoc, and
13753displays it in an Org-mode buffer. Another command does all of that but
13754inserts it as an Org entry instead of displaying it in a new buffer.")
13755 (license license:gpl3+)))
13756
13757(define-public emacs-blimp
13758 (let ((commit "e420763d6d18b5d1be552cdbc47f91418343db03"))
13759 (package
13760 (name "emacs-blimp")
13761 (version (git-version "0.0.0" "1" commit))
13762 (source
13763 (origin
13764 (method git-fetch)
13765 (uri (git-reference
13766 (url "https://github.com/walseb/blimp")
13767 (commit commit)))
13768 (file-name (git-file-name name version))
13769 (sha256
13770 (base32
13771 "09wmhpym516b81dfq8smdmysh1fn610dzlyvyl2rkx8600f0fizd"))))
13772 (build-system emacs-build-system)
13773 (propagated-inputs
13774 `(("emacs-eimp" ,emacs-eimp)))
13775 (home-page "https://github.com/walseb/blimp")
13776 (synopsis "Emacs wrapper around all Imagemagick commands")
13777 (description "Blimp (Bustling Image Manipulation Package) is a complete
13778wrapper around all Imagemagick commands with descriptions, autocompletion (for
13779some commands) and hints displayed in prompt using @command{eimp.el} to
13780execute its commands and resize images.")
13781 (license license:gpl3+))))
13782
13783(define-public emacs-synosaurus
13784 (let ((commit "8bf95b935976ec0a1964cf175ed57cc5f6f93bdb"))
13785 (package
13786 (name "emacs-synosaurus")
13787 (version (git-version "0.1.0" "1" commit))
13788 (source
13789 (origin
13790 (method git-fetch)
13791 (uri (git-reference
13792 (url "https://github.com/hpdeifel/synosaurus")
13793 (commit commit)))
13794 (file-name (git-file-name name version))
13795 (sha256
13796 (base32
13797 "15by9jccab6kyplxa6k0glzaivxkqdigl33gl2qi2cvy6f2q7gva"))))
13798 (build-system emacs-build-system)
13799 (propagated-inputs
13800 `(("wordnet" ,wordnet)))
13801 (arguments
13802 `(#:phases
13803 (modify-phases %standard-phases
13804 (add-after 'unpack 'configure
13805 (lambda* (#:key inputs outputs #:allow-other-keys)
13806 (let ((wn (assoc-ref inputs "wordnet")))
13807 ;; .el is read-only in git.
13808 (chmod "synosaurus-wordnet.el" #o644)
13809 ;; Specify the absolute file names of the various
13810 ;; programs so that everything works out-of-the-box.
13811 (emacs-substitute-variables
13812 "synosaurus-wordnet.el"
13813 ("wordnet-command"
13814 (string-append wn "/bin/wn")))))))))
13815 (home-page "https://github.com/hpdeifel/synosaurus")
13816 (synopsis "Extensible thesaurus mode for Emacs")
13817 (description "Synosaurus is a thesaurus fontend for Emacs with pluggable
13818backends, including the @command{wordnet} offline backend.")
13819 (license license:gpl3+))))
13820
a6718145
BL
13821(define-public emacs-editorconfig
13822 (package
13823 (name "emacs-editorconfig")
ea82e3b2 13824 (version "0.8.0")
a6718145
BL
13825 (source
13826 (origin
13827 (method git-fetch)
13828 (uri (git-reference
13829 (url "https://github.com/editorconfig/editorconfig-emacs")
13830 (commit (string-append "v" version))))
13831 (file-name (git-file-name name version))
13832 (sha256
13833 (base32
ea82e3b2 13834 "1b2cpqz75pivl323bs60j5rszwi787x6vy68csycikqz9mhpmjn9"))))
a6718145
BL
13835 (build-system emacs-build-system)
13836 (home-page "https://github.com/editorconfig/editorconfig-emacs")
13837 (synopsis "Define and maintain consistent coding styles between different
13838editors and IDEs")
13839 (description "The EditorConfig project consists of a file format for
13840defining coding styles and a collection of text editor plugins that enable
13841editors to read the file format and adhere to defined styles. EditorConfig
13842files are easily readable and they work nicely with version control systems.")
13843 (license license:gpl3+)))
13844
eeb883cb
RW
13845(define-public emacs-all-the-icons
13846 (package
13847 (name "emacs-all-the-icons")
13848 (version "3.2.0")
13849 (source
13850 (origin
13851 (method git-fetch)
13852 (uri (git-reference
13853 (url "https://github.com/domtronn/all-the-icons.el.git")
13854 (commit version)))
13855 (file-name (git-file-name name version))
13856 (sha256
13857 (base32
13858 "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn"))))
13859 (build-system emacs-build-system)
13860 (arguments
13861 `(#:include '("\\.el$" "^data/" "^fonts/")
13862 ;; Compiling "test/" fails with "Symbol’s value as variable is void:
13863 ;; all-the-icons--root-code". Ignoring tests.
13864 #:exclude '("^test/")
13865 #:tests? #f))
13866 (propagated-inputs
13867 `(("f" ,emacs-f)
13868 ("memoize" ,emacs-memoize)))
13869 (home-page "https://github.com/domtronn/all-the-icons.el")
13870 (synopsis "Collect icon fonts and propertize them within Emacs")
13871 (description "All-the-icons is a utility package to collect various icon
13872fonts and propertize them within Emacs. Icon fonts allow you to propertize
13873and format icons the same way you would normal text. This enables things such
13874as better scaling of and anti aliasing of the icons.")
13875 ;; Package is released under Expat license. Elisp files are licensed
13876 ;; under GPL3+. Fonts come with various licenses: Expat for
13877 ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
13878 ;; "material-design-icons.ttf", and SIL OFL 1.1 for "fontawesome.ttf",
13879 ;; "ocitcons.ttf" and "weathericons.ttf".
13880 (license
13881 (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
13882
13883(define-public emacs-powerline
13884 (package
13885 (name "emacs-powerline")
13886 (version "2.4")
13887 (source
13888 (origin
13889 (method git-fetch)
13890 (uri (git-reference
13891 (url "https://github.com/milkypostman/powerline.git")
13892 (commit version)))
13893 (file-name (git-file-name name version))
13894 (sha256
13895 (base32
13896 "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"))))
13897 (build-system emacs-build-system)
13898 (home-page "https://github.com/milkypostman/powerline/")
13899 (synopsis "Mode-line plugin for Emacs")
13900 (description "Powerline is a utility plugin which allows you to create
13901a better-looking, more functional Emacs mode-line. A collection of predefined
13902themes comes with the package.")
13903 (license license:gpl3+)))
13904
13905(define-public emacs-spaceline
13906 (package
13907 (name "emacs-spaceline")
13908 (version "2.0.1")
13909 (source
13910 (origin
13911 (method git-fetch)
13912 (uri (git-reference
13913 (url "https://github.com/TheBB/spaceline.git")
13914 (commit (string-append "v" version))))
13915 (file-name (git-file-name name version))
13916 (sha256
13917 (base32
13918 "1q8r95zfrh0vxna5ml2pq9b9f66clfqcl4d2qy2aizkvzyxg6skl"))))
13919 (build-system emacs-build-system)
13920 (propagated-inputs
13921 `(("dash" ,emacs-dash)
13922 ("powerline" ,emacs-powerline)
13923 ("s" ,emacs-s)))
13924 (home-page "https://github.com/TheBB/spaceline")
13925 (synopsis "Powerline theme from Spacemacs")
13926 (description "Spaceline provides Spacemacs' mode-line theme.
13927This package provides features for three kinds of users.
13928
13929@itemize
13930@item You just want to use the Spacemacs mode-line theme and forget about it.
13931@item You want to use something similar to the Spacemacs mode-line theme, but
13932with a handful of easy tweaks.
13933@item You want an easy-to-use library for building your own mode-line from
13934scratch, and you think the Spacemacs theme looks good.
13935@end itemize")
13936 (license license:gpl3+)))
13937
13938(define-public emacs-column-marker
13939 (package
13940 (name "emacs-column-marker")
13941 (version "9")
13942 (source
13943 (origin
13944 (method url-fetch)
13945 (uri "https://www.emacswiki.org/emacs/download/column-marker.el")
13946 (sha256 (base32 "05bv198zhqw5hqq6cr11mhz02dpca74hhp1ycwq369m0yb2naxy9"))))
13947 (build-system emacs-build-system)
13948 (home-page "https://www.emacswiki.org/emacs/ColumnMarker")
13949 (synopsis "Emacs mode for highlighting columns")
13950 (description
13951 "With @code{column-marker.el} you can highlight any number of text columns.
13952Three such highlight column markers are provided by default. This is
13953especially useful for languages like COBOL or Fortran where certain columns
13954have special meaning. It is also handy for aligning text across long vertical
13955distances. Multi-column characters, such as @kbd{TAB} are treated
13956correctly.")
13957 (license license:gpl2+)))
13958
13959(define-public emacs-slime-repl-ansi-color
13960 (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
13961 (package
13962 (name "emacs-slime-repl-ansi-color")
13963 (version (git-version "0.0.0" "1" commit))
13964 (source (origin
13965 (method git-fetch)
13966 (uri (git-reference
13967 (url "https://github.com/deadtrickster/slime-repl-ansi-color")
13968 (commit commit)))
13969 (file-name (git-file-name name version))
13970 (sha256
13971 (base32
13972 "0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
13973 (build-system emacs-build-system)
13974 (home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
13975 (synopsis "Color ANSI codes in the REPL of SLIME")
13976 (description "Color ANSI codes in the REPL of SLIME")
13977 (license license:gpl2+))))
13978
13979(define-public emacs-helm-slime
f81efdcb
PN
13980 (package
13981 (name "emacs-helm-slime")
43a0db3c 13982 (version "0.3.0")
f81efdcb
PN
13983 (source (origin
13984 (method git-fetch)
13985 (uri (git-reference
13986 (url "https://github.com/emacs-helm/helm-slime")
13987 (commit version)))
13988 (file-name (git-file-name name version))
13989 (sha256
13990 (base32
43a0db3c 13991 "1qhb9446rpj17pm0hi3miy5gs5k3ld43bq29kzy0y26bf7ivfcjv"))))
f81efdcb
PN
13992 (build-system emacs-build-system)
13993 (propagated-inputs
13994 `(("emacs-helm" ,emacs-helm)
13995 ("emacs-slime" ,emacs-slime)))
13996 (home-page "https://github.com/emacs-helm/helm-slime")
13997 (synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs")
13998 (description "Helm-SLIME defines a few new commands:
eeb883cb
RW
13999
14000@itemize
14001@item helm-slime-complete: Select a symbol from the SLIME completion systems.
14002@item helm-slime-list-connections: Yet another slime-list-connections with Helm.
14003@item: helm-slime-apropos: Yet another slime-apropos with Helm.
14004@item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it.
14005@end itemize\n")
f81efdcb 14006 (license license:gpl3+)))
eeb883cb
RW
14007
14008(define-public emacs-gtk-look
14009 (package
14010 (name "emacs-gtk-look")
14011 (version "29")
14012 (source (origin
14013 (method url-fetch)
14014 (uri "https://download.tuxfamily.org/user42/gtk-look.el")
14015 (sha256
14016 (base32
14017 "14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp"))))
14018 (build-system emacs-build-system)
14019 (arguments
14020 `(#:phases
14021 (modify-phases %standard-phases
14022 (add-after 'unpack 'configure
14023 (lambda _
14024 ;; File is read-only.
14025 (chmod "gtk-look.el" #o644)
14026 (emacs-substitute-variables "gtk-look.el"
14027 ("gtk-lookup-devhelp-indices"
14028 '(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*"))))
14029 #t)))))
14030 (home-page "http://user42.tuxfamily.org/gtk-look/index.html")
14031 (synopsis "Find and display HTML documentation for GTK, GNOME and Glib")
14032 (description "@command{gtk-look} finds and displays HTML documentation for
14033GTK, GNOME and Glib functions and variables in Emacs, similar to what
14034info-lookup-symbol does for info files (C-h S). The documentation is expected
14035to be devhelp indexes with HTML files. The location of the indexes can be
14036customized. In addition to C code development @command{gtk-look} is good for
14037
14038@itemize
14039@item @command{perl-gtk2}, recognising class funcs like
14040@command{Gtk2::Label->new} and bare method names like @command{set_text}.
14041@item @command{guile-gnome}, recognising methods like @command{set-text} and
14042classes like @command{<gtk-window>}.
14043@end itemize\n")
14044 (license license:gpl3+)))
14045
14046(define-public emacs-ov
14047 (package
14048 (name "emacs-ov")
14049 (version "1.0.6")
14050 (source (origin
14051 (method git-fetch)
14052 (uri (git-reference
14053 (url "https://github.com/ShingoFukuyama/ov.el.git")
14054 (commit version)))
14055 (file-name (git-file-name name version))
14056 (sha256
14057 (base32
14058 "0qxk2rf84j86syxi8xknsq252irwg7sz396v3bb4wqz4prpj0kzc"))))
14059 (build-system emacs-build-system)
14060 (home-page "https://github.com/ShingoFukuyama/ov.el")
14061 (synopsis "Overlay library for Emacs Lisp")
14062 (description "@code{ov.el} provides a simple way to manipulate overlays in
14063Emacs.")
14064 (license license:gpl3+)))
14065
14066(define-public emacs-matrix-client
85a3d63f 14067 (let ((commit "a0623667b07a4bf60980c97b078e9faed97ace79"))
eeb883cb
RW
14068 (package
14069 (name "emacs-matrix-client")
54c9d7bb 14070 (version (git-version "0.0.0" "4" commit))
eeb883cb
RW
14071 (source (origin
14072 (method git-fetch)
14073 (uri (git-reference
14074 (url "https://github.com/jgkamat/matrix-client-el.git")
14075 (commit commit)))
14076 (file-name (git-file-name name version))
14077 (sha256
14078 (base32
85a3d63f 14079 "1zya8id3y9wzjaj7nplq7br6nhm3lsskv0fkn1xr1y77fzcfgcdb"))))
eeb883cb 14080 (build-system emacs-build-system)
54c9d7bb
NG
14081 (arguments
14082 `(#:phases
14083 (modify-phases %standard-phases
14084 (add-after 'unpack 'add-missing-require
14085 ;; Fix a filter error at runtime due to a missing require.
14086 ;; Reported upstream:
14087 ;; <https://github.com/alphapapa/matrix-client.el/issues/76>
14088 (lambda _
14089 (substitute* "matrix-client-room.el"
14090 (("\\(require 'dash-functional\\)" all)
14091 (string-append all "\n" "(require 'anaphora)")))
14092 #t)))))
eeb883cb
RW
14093 (propagated-inputs
14094 `(("a" ,emacs-a)
e6ab20f7 14095 ("anaphora" ,emacs-anaphora)
eeb883cb
RW
14096 ("dash" ,emacs-dash)
14097 ("esxml" ,emacs-esxml)
14098 ("f" ,emacs-f)
14099 ("frame-purpose" ,emacs-frame-purpose)
14100 ("ht" ,emacs-ht)
14101 ("ov" ,emacs-ov)
14102 ("rainbow-identifiers" ,emacs-rainbow-identifiers)
14103 ("request" ,emacs-request)
14104 ("s" ,emacs-s)
14105 ("tracking" ,emacs-tracking)))
14106 (home-page "https://github.com/jgkamat/matrix-client-el")
14107 (synopsis "Matrix client for Emacs")
14108 (description "@code{matrix-client} is a simple chat UI to Matrix.org
14109rooms. It also provides an API which allows Emacs to seamlessly create
14110RPC channels with users and other software.")
14111 (license license:gpl3+))))
14112
14113(define-public emacs-sesman
14114 (package
14115 (name "emacs-sesman")
14116 (version "0.3.3")
14117 (source
14118 (origin
14119 (method git-fetch)
14120 (uri (git-reference
14121 (url "https://github.com/vspinu/sesman.git")
14122 (commit (string-append "v" version))))
14123 (file-name (git-file-name name version))
14124 (sha256
14125 (base32
14126 "0r32f8ma9ddczxrrdz0nadp14j3zmk10q1ch02gb82synkx3xdra"))))
14127 (build-system emacs-build-system)
14128 (arguments
14129 `(#:tests? #t
14130 #:test-command '("make" "test")))
14131 (home-page "https://github.com/vspinu/sesman")
14132 (synopsis "Session manager for Emacs based IDEs")
14133 (description "Sesman provides facilities for session management and
14134interactive session association with the current contexts (project, directory,
14135buffers). While sesman can be used to manage arbitrary sessions, it primary
14136targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
14137 (license license:gpl3+)))
14138
14139(define-public emacs-buttercup
14140 (package
14141 (name "emacs-buttercup")
14142 (version "1.16")
14143 (source
14144 (origin
14145 (method git-fetch)
14146 (uri (git-reference
14147 (url "https://github.com/jorgenschaefer/emacs-buttercup.git")
14148 (commit (string-append "v" version))))
14149 (file-name (git-file-name name version))
14150 (sha256
14151 (base32
14152 "0dckgcyzsav6ld78bcyrrygy1cz1jvqgav6vy8f6klpmk3r8xrl1"))))
14153 (build-system emacs-build-system)
14154 (arguments
14155 `(#:tests? #t
14156 #:test-command '("make" "test")
14157 #:phases
14158 (modify-phases %standard-phases
14159 (add-after 'install 'install-bin
14160 (lambda* (#:key outputs #:allow-other-keys)
14161 (install-file "bin/buttercup"
14162 (string-append (assoc-ref outputs "out") "/bin"))
14163 #t)))))
14164 (home-page "https://github.com/jorgenschaefer/emacs-buttercup")
14165 (synopsis "Behavior driven emacs lisp testing framework")
14166 (description "Buttercup is a behavior-driven development framework for
14167testing Emacs Lisp code. It allows to group related tests so they can share
14168common set-up and tear-down code, and allows the programmer to \"spy\" on
14169functions to ensure they are called with the right arguments during testing.")
14170 (license license:gpl3+)))
14171
14172(define-public emacs-wordnut
14173 (let ((commit "feac531404041855312c1a046bde7ea18c674915")
14174 (revision "0"))
14175 (package
14176 (name "emacs-wordnut")
14177 (version (git-version "0.1" revision commit))
14178 (home-page "https://github.com/gromnitsky/wordnut")
14179 (source (origin
14180 (method git-fetch)
14181 (uri (git-reference (url home-page) (commit commit)))
14182 (sha256
14183 (base32
14184 "1jl0b6g64a9w0q7bfvwha67vgws5xd15b7mkfyb5gkz3pymqhfxn"))
14185 (patches
14186 (search-patches "emacs-wordnut-require-adaptive-wrap.patch"))
14187 (file-name (git-file-name name version))))
14188 (build-system emacs-build-system)
14189 (propagated-inputs
14190 `(("wordnet" ,wordnet)
14191 ("emacs-adaptive-wrap" ,emacs-adaptive-wrap)))
14192 (synopsis "Major mode for WordNet")
14193 (description "This Emacs package provides an interface for
14194@code{wordnet}. Features include completion, if the query is not found
14195too ambiguous and navigation in the result buffer.")
14196 (license license:gpl3+))))
14197
14198(define-public emacs-frame-purpose
14199 (package
14200 (name "emacs-frame-purpose")
14201 (version "1.0")
14202 (source (origin
14203 (method git-fetch)
14204 (uri (git-reference
14205 (url "https://github.com/alphapapa/frame-purpose.el.git")
14206 (commit version)))
14207 (sha256
14208 (base32
14209 "0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"))
14210 (file-name (git-file-name name version))))
14211 (build-system emacs-build-system)
14212 (inputs
14213 `(("dash" ,emacs-dash)))
14214 (synopsis "Purpose-specific frames for Emacs")
14215 (description "@code{frame-purpose} makes it easy to open purpose-specific
14216frames that only show certain buffers, e.g. by buffers’ major mode, their
14217filename or directory, etc, with custom frame/X-window titles, icons, and
14218other frame parameters.")
14219 (home-page "https://github.com/alphapapa/frame-purpose.el")
14220 (license license:gpl3+)))
14221
14222(define-public emacs-arduino-mode
14223 (let ((commit "3e2bad4569ad26e929e6db2cbcff0d6d36812698")) ;no release yet
14224 (package
14225 (name "emacs-arduino-mode")
14226 (version (git-version "0" "0" commit))
14227 (source (origin
14228 (method git-fetch)
14229 (uri (git-reference
14230 (url "https://github.com/bookest/arduino-mode.git")
14231 (commit commit)))
14232 (sha256
14233 (base32
14234 "1yvaqjc9hadbnnay5fprnh890xsp53kidad1zpb4a5z4a5z61n3c"))
14235 (file-name (git-file-name name version))))
14236 (build-system emacs-build-system)
14237 (synopsis "Emacs major mode for editing Arduino sketches")
14238 (description "Emacs major mode for editing Arduino sketches.")
14239 (home-page "https://github.com/bookest/arduino-mode")
14240 (license license:gpl3+))))
14241
14242(define-public emacs-general
14243 (let ((commit "675050199b5a30d54a24b58a367db32c0bdc47f5"))
14244 (package
14245 (name "emacs-general")
14246 (version (git-version "0" "0" commit))
14247 (home-page "https://github.com/noctuid/general.el")
14248 (source (origin
14249 (method git-fetch)
14250 (uri (git-reference
14251 (url (string-append home-page ".git"))
14252 (commit commit)))
14253 (sha256
14254 (base32
14255 "175yyhzk57yk1sskxh3d2jzhrh2waiibbcfsll167qxr117yji5h"))
14256 (file-name (git-file-name name version))))
14257 (build-system emacs-build-system)
14258 (synopsis "More convenient key definitions in emacs")
14259 (description "@code{general.el} provides a more convenient method for
14260binding keys in emacs (for both evil and non-evil users). Like
14261@code{use-package}, which provides a convenient, unified interface for
14262managing packages, @code{general.el} is intended to provide a convenient,
14263unified interface for key definitions. While this package does implement some
14264completely new functionality (such as the ability to make vim-style
14265keybindings under non-prefix keys with an optional timeout), its primary
14266purpose is to build on existing functionality to make key definition more
14267clear and concise. @code{general-define-key} is user-extensible and supports
14268defining multiple keys in multiple keymaps at once, implicitly wrapping key
14269strings with (@code{kbd ...}), using named prefix key sequences (like the
14270leader key in vim), and much more.")
14271 (license license:gpl3+))))
14272
14273(define-public emacs-tldr
14274 (let ((commit "398b197c8d2238628b07e1b32d0f373876279f4c"))
14275 (package
14276 (name "emacs-tldr")
14277 (version (git-version "0" "0" commit))
14278 (home-page "https://github.com/kuanyui/tldr.el")
14279 (source (origin
14280 (method git-fetch)
14281 (uri (git-reference
14282 (url (string-append home-page ".git"))
14283 (commit commit)))
14284 (sha256
14285 (base32
14286 "0iq7qlis6c6r2qkdpncrhh5vsihkhvy5x4y1y8cjb7zxkh62w33f"))
14287 (file-name (git-file-name name version))))
14288 (build-system emacs-build-system)
14289 (synopsis "Simplified and community-driven man pages for Emacs")
14290 (description "@code{emacs-tldr} allows the user to access tldr pages
14291from within emacs. The @code{tldr} pages are a community effort to simplify
14292the man pages with practical examples.")
14293 (license license:wtfpl2))))
9830f1a2
PN
14294
14295(define-public emacs-window-layout
14296 (package
14297 (name "emacs-window-layout")
14298 (version "1.4")
14299 (home-page "https://github.com/kiwanami/emacs-window-layout")
14300 (source (origin
14301 (method git-fetch)
14302 (uri (git-reference
14303 (url home-page)
14304 (commit (string-append "v" version))))
14305 (sha256
14306 (base32
14307 "0wgqi8r844lbx52fn6az8c1n8m681rp6dkfzd54wmdk1ka7zmvv6"))
14308 (file-name (git-file-name name version))))
14309 (build-system emacs-build-system)
14310 (synopsis "Simple window layout management framework for emacs")
14311 (description "A window-layout management library that can split a frame
14312or a window into some windows according to a layout recipe.")
14313 (license license:gpl3+)))
5544a07f
PN
14314
14315(define-public emacs-e2wm
14316 (package
14317 (name "emacs-e2wm")
14318 (version "1.4")
14319 (home-page "https://github.com/kiwanami/emacs-window-manager")
14320 (source (origin
14321 (method git-fetch)
14322 (uri (git-reference
14323 (url home-page)
14324 (commit (string-append "v" version))))
14325 (sha256
14326 (base32
14327 "12midsrx07pdrsr1qbl2rpi7xyhxqx08bkz7n7gf8vsmqkpfp56s"))
14328 (file-name (git-file-name name version))))
14329 (build-system emacs-build-system)
14330 (propagated-inputs
14331 `(("emacs-window-layout" ,emacs-window-layout)))
14332 (synopsis "Equilibrium Emacs Window Manager")
14333 (description "E2WM is a window manager for Emacs. It enables to
14334customize the place of pop-up window, how the windows are split, how the
14335buffers are located in the windows, keybinds to manipulate windows and
14336buffers, etc. It also has plug-ins to help your Emacs life.")
14337 (license license:gpl3+)))
3e1fcc5e
PN
14338
14339(define-public emacs-ctable
14340 (let ((commit "b8830d1ca95abb100a81bc32011bd17d5ecba000"))
14341 (package
14342 (name "emacs-ctable")
14343 (version (git-version "0.1.2" "1" commit))
14344 (home-page "https://github.com/kiwanami/emacs-ctable")
14345 (source (origin
14346 (method git-fetch)
14347 (uri (git-reference
14348 (url home-page)
14349 (commit commit)))
14350 (sha256
14351 (base32
14352 "0pg303pnqscrsbx9579hc815angszsgf9vpd2z2f8p4f4ka6a00h"))
14353 (file-name (git-file-name name version))))
14354 (build-system emacs-build-system)
14355 (synopsis "Table component for Emacs Lisp")
14356 (description "This program is a table component for Emacs Lisp. Other
14357programs can use this table component for the application UI.")
14358 (license license:gpl3+))))
8c98ce92
PN
14359
14360(define-public emacs-epc
14361 (let ((commit "e1bfa5ca163273859336e3cc89b4b6460f7f8cda"))
14362 (package
14363 (name "emacs-epc")
14364 (version (git-version "0.1.1" "1" commit))
14365 (home-page "https://github.com/kiwanami/emacs-epc")
14366 (source (origin
14367 (method git-fetch)
14368 (uri (git-reference
14369 (url home-page)
14370 (commit commit)))
14371 (sha256
14372 (base32
14373 "15nkrjgi64f829isfd6xrhl4zw8jirr8pkas7nisrbk1av868hx0"))
14374 (file-name (git-file-name name version))))
14375 (build-system emacs-build-system)
14376 (propagated-inputs
14377 `(("emacs-deferred" ,emacs-deferred)
14378 ("emacs-ctable" ,emacs-ctable)))
14379 (synopsis "RPC stack for Emacs Lisp")
14380 (description "This program is an asynchronous RPC stack for Emacs.
14381Using this RPC stack, Emacs can communicate with the peer process
14382smoothly. Because the protocol employs S-expression encoding and consists of
14383asynchronous communications, the RPC response is fairly good.")
14384 (license license:gpl3+))))
c010ec65
PN
14385
14386(define-public emacs-edbi
14387 (let ((commit "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))
14388 (package
14389 (name "emacs-edbi")
14390 (version (git-version "0.1.3" "1" commit))
14391 (home-page "https://github.com/kiwanami/emacs-edbi")
14392 (source (origin
14393 (method git-fetch)
14394 (uri (git-reference
14395 (url home-page)
14396 (commit commit)))
14397 (sha256
14398 (base32
14399 "0x0igyvdcm4863n7zndvcv6wgzwgn7324cbfjja6xd7r0k936zdy"))
14400 (file-name (git-file-name name version))))
14401 (build-system emacs-build-system)
14402 (inputs
14403 `(("perl" ,perl)
14404 ("perl-rpc-epc-service" ,perl-rpc-epc-service)
14405 ("perl-dbi" ,perl-dbi)
14406 ;; TODO: Adding support for perl-dbd-mysql and others would
14407 ;; dramatically increase the closure size. Make several packages?
14408 ("perl-dbd-sqlite" ,perl-dbd-sqlite)))
14409 (propagated-inputs
14410 `(("emacs-e2wm" ,emacs-e2wm)
14411 ("emacs-epc" ,emacs-epc)))
14412 (arguments
14413 `(#:include '("\\.el$" "\\.pl$")
14414 #:phases
14415 (modify-phases %standard-phases
14416 (add-after 'install 'patch-path
14417 (lambda* (#:key inputs outputs #:allow-other-keys)
14418 (let ((perl (assoc-ref inputs "perl"))
14419 (dir (string-append (assoc-ref outputs "out")
14420 "/share/emacs/site-lisp/guix.d/edbi-"
14421 ,version)))
14422 (substitute* (string-append dir "/edbi.el")
14423 (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
14424 (chmod (string-append dir "/edbi-bridge.pl") #o555)
14425 (wrap-program (string-append dir "/edbi-bridge.pl")
14426 `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))
14427 #t))))))
14428 (synopsis "Database Interface for Emacs Lisp")
14429 (description "This program connects the database server through Perl's
14430DBI, and provides DB-accessing API and the simple management UI.")
14431 (license license:gpl3+))))
3d540c48
PN
14432
14433(define-public emacs-edbi-sqlite
14434 (let ((commit "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f"))
14435 (package
14436 (name "emacs-edbi-sqlite")
14437 (version (git-version "0.1.1" "1" commit))
14438 (home-page "https://github.com/proofit404/edbi-sqlite")
14439 (source (origin
14440 (method git-fetch)
14441 (uri (git-reference
14442 (url home-page)
14443 (commit commit)))
14444 (sha256
14445 (base32
14446 "1vll81386fx90lq5sy4rlxcik6mvw7zx5cc51f0yaca9bkcckp51"))
14447 (file-name (git-file-name name version))))
14448 (build-system emacs-build-system)
14449 (propagated-inputs
14450 `(("emacs-edbi" ,emacs-edbi)))
14451 (synopsis "Open SQLite files in Emacs")
14452 (description "This package is a convenience wrapper for @command{edbi}
14453to open SQLite databases.")
14454 (license license:gpl3+))))
f896abc7
LC
14455
14456(define-public emacs-nix-mode
14457 (package
14458 (name "emacs-nix-mode")
14459 (version "1.2.2")
14460 (source
14461 (origin
81a9ab87
TGR
14462 (method git-fetch)
14463 (uri (git-reference
14464 (url "https://github.com/NixOS/nix-mode.git")
14465 (commit (string-append "v" version))))
14466 (file-name (git-file-name name version))
f896abc7 14467 (sha256
81a9ab87 14468 (base32 "1vz3s2jx14nzy53f04d821n4f2s22ys5h9s7af6cnpynkwawyhhq"))))
f896abc7
LC
14469 (build-system emacs-build-system)
14470 (inputs
14471 `(("emacs-company" ,emacs-company)
14472 ("emacs-mmm-mode" ,emacs-mmm-mode)))
14473 (home-page "https://github.com/NixOS/nix-mode")
14474 (synopsis "Emacs major mode for editing Nix expressions")
14475 (description "@code{nixos-mode} provides an Emacs major mode for editing
14476Nix expressions. It supports syntax highlighting, indenting and refilling of
14477comments.")
14478 (license license:lgpl2.1+)))
67248962
RW
14479
14480(define-public emacs-simple-mpc
14481 ;; There have been no releases.
14482 (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
14483 (revision "1"))
14484 (package
14485 (name "emacs-simple-mpc")
14486 (version (git-version "0" revision commit))
14487 (source
14488 (origin
14489 (method git-fetch)
14490 (uri (git-reference
14491 (url "https://github.com/jorenvo/simple-mpc.git")
14492 (commit commit)))
14493 (file-name (git-file-name name version))
14494 (sha256
14495 (base32
14496 "1ja06pv007cmzjjgka95jlg31k7d29jrih1yxyblsxv85s9sg21q"))))
14497 (build-system emacs-build-system)
14498 (propagated-inputs `(("emacs-s" ,emacs-s)))
14499 (home-page "https://github.com/jorenvo/simple-mpc")
14500 (synopsis "Simple Emacs frontend to mpc")
14501 (description "This package provides an Emacs major mode which acts as a
14502front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).")
14503 (license license:gpl3+))))
43af5f9d
AI
14504
14505(define-public emacs-mkmcc-gnuplot-mode
14506 (package
14507 (name "emacs-mkmcc-gnuplot-mode")
14508 (version "1.2.0")
14509 (source
14510 (origin
14511 (method git-fetch)
14512 (uri (git-reference
14513 (url "https://github.com/mkmcc/gnuplot-mode")
14514 (commit "601f6392986f0cba332c87678d31ae0d0a496ce7")))
93b3dc52 14515 (file-name (git-file-name name version))
43af5f9d
AI
14516 (sha256
14517 (base32
14518 "14f0yh1rjqc3337j4sbqzfb7pjim2c8a7wk1a73xkrdkmjn82vgb"))))
14519 (build-system emacs-build-system)
14520 (home-page "https://mkmcc.github.io/software/gnuplot-mode.html")
14521 (synopsis "Minimal emacs major mode for editing gnuplot scripts")
14522 (description "@code{emacs-mkmcc-gnuplot-mode} is a minimal emacs major
14523mode for editing gnuplot scripts. It provides syntax highlighting,
14524indentation and a command to plot the file.")
14525 (license license:gpl3+)))
ba25ba90
CL
14526
14527(define-public emacs-dtrt-indent
14528 (package
14529 (name "emacs-dtrt-indent")
14530 (version "0.8")
14531 (source (origin
14532 (method git-fetch)
14533 (uri (git-reference
14534 (url "https://github.com/jscheid/dtrt-indent")
14535 (commit version)))
14536 (file-name (git-file-name name version))
14537 (sha256
14538 (base32
14539 "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z"))))
14540 (build-system emacs-build-system)
14541 (home-page "https://github.com/jscheid/dtrt-indent")
14542 (synopsis "Minor mode that guesses the indentation offset")
14543 (description "This package provides a minor mode that guesses the
14544indentation offset originally used for creating source code files and
14545transparently adjusts the corresponding settings in Emacs, making it more
14546convenient to edit foreign files.")
14547 (license license:gpl2+)))
57b663fa
CL
14548
14549(define-public emacs-repo
14550 (package
14551 (name "emacs-repo")
14552 (version "0.1.3")
14553 (source (origin
14554 (method git-fetch)
14555 (uri (git-reference
14556 (url "https://github.com/canatella/repo-el")
14557 (commit version)))
14558 (file-name (git-file-name name version))
14559 (sha256
14560 (base32
14561 "0rbvcvm7bfr6ncji7cllfxyyr6x7n9fx863byp243phsj3n93adz"))))
14562 (build-system emacs-build-system)
14563 (native-inputs
14564 `(("emacs-el-mock" ,emacs-el-mock)
14565 ("ert-runner" ,emacs-ert-runner)))
14566 (propagated-inputs
14567 `(("emacs-f" ,emacs-f)
14568 ("magit" ,emacs-magit)))
14569 (home-page "https://github.com/canatella/repo-el")
14570 (synopsis "Emacs interface for the Google Repo tool")
14571 (description "This package provides integration of the Google Repo tool
14572with emacs. It displays the output of the @code{repo status} command in a
14573buffer and launches Magit from the status buffer for the project at point.")
b2cb1613 14574 (license license:gpl3+)))
bdccd7e1
MO
14575
14576(define-public emacs-alect-themes
14577 (package
14578 (name "emacs-alect-themes")
14579 (version "0.9")
14580 (source (origin
14581 (method git-fetch)
14582 (uri (git-reference
14583 (url "https://github.com/alezost/alect-themes")
14584 (commit (string-append "v" version))))
14585 (file-name (git-file-name name version))
14586 (sha256
14587 (base32
14588 "0nffxpdm0sa7bynwi0rmlwpc4qmvbda5ankhzz7fmk4ap9fkjxv9"))))
14589 (build-system emacs-build-system)
14590 (home-page "https://github.com/alezost/alect-themes")
14591 (synopsis "Low contrast, light, dark and black color theme for Emacs")
14592 (description "@code{emacs-alect-themes} provides configurable light, dark
14593and black color themes for Emacs. The themes are intended to be used with
14594GUI.")
57b663fa 14595 (license license:gpl3+)))
71066710
MO
14596
14597(define-public emacs-google-c-style
14598 (let ((commit "6271f3f473ceb3a7fef99388a3040903b1a145f1")
14599 (revision "0"))
14600 (package
14601 (name "emacs-google-c-style")
14602 (version (git-version "0.1" revision commit))
14603 (source (origin
14604 (method git-fetch)
14605 (uri (git-reference
14606 (url "https://github.com/google/styleguide")
14607 (commit commit)))
14608 (file-name (git-file-name name version))
14609 (sha256
14610 (base32
14611 "1jghyyasdl15c4gaqaxmdn43am63k6bykn5ab83f1ahv9zi1krxk"))))
14612 (build-system emacs-build-system)
14613 (home-page "https://github.com/google/styleguide")
14614 (synopsis "Emacs settings file for Google C/C++ style")
14615 (description "@code{emacs-google-c-style} provides an Emacs settings
14616file for Google C and C++ style.")
14617 (license license:gpl1+))))
285bf324
PN
14618
14619(define-public emacs-redshank
14620 (let ((commit "f98e68f532e622bcd464292ca4a9cf5fbea14ebb")
14621 (revision "1"))
14622 (package
14623 (name "emacs-redshank")
14624 (version (git-version "0.1" revision commit))
14625 (source (origin
14626 (method git-fetch)
14627 (uri (git-reference
14628 (url "http://www.foldr.org/~michaelw/projects/redshank.git")
14629 (commit commit)))
14630 (file-name (git-file-name name version))
14631 (sha256
14632 (base32
14633 "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p"))))
14634 (build-system emacs-build-system)
14635 (propagated-inputs
14636 `(("emacs-paredit" ,emacs-paredit)))
14637 (home-page "http://www.foldr.org/~michaelw/emacs/redshank/")
14638 (synopsis "Common Lisp Editing Extensions (for Emacs)")
14639 (description "Redshank is a collection of code-wrangling Emacs macros
14640mostly geared towards Common Lisp, but some are useful for other Lisp
14641dialects, too. Redshank's code transformations aim to be expression-based (as
14642opposed to character-based).")
14643 (license license:gpl1+))))
33756922
PN
14644
14645(define-public emacs-disk-usage
14646 (package
14647 (name "emacs-disk-usage")
83126aa8 14648 (version "1.3.3")
933d810e
PN
14649 (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
14650 (source
14651 (origin
14652 (method url-fetch)
14653 (uri (string-append
14654 "https://elpa.gnu.org/packages/disk-usage-"
14655 version
14656 ".el"))
14657 (sha256
14658 (base32
83126aa8 14659 "0h1jwznd41gi0vg830ilfgm01q05zknikzahwasm9cizwm2wyizj"))))
33756922
PN
14660 (build-system emacs-build-system)
14661 (synopsis "Sort and browse disk usage listings with Emacs")
14662 (description "Disk Usage is a file system analyzer: it offers a tabulated
14663view of file listings sorted by size. Directory sizes are computed
14664recursively. The results are cached for speed.")
14665 (license license:gpl3+)))
e77c7210
PN
14666
14667(define-public emacs-orgit
7d3a78e7 14668 (let ((commit "2456436a7e64d26bcf455b3890a586acaa3e7f93"))
e77c7210
PN
14669 (package
14670 (name "emacs-orgit")
7d3a78e7 14671 (version (git-version "1.5.1" "2" commit))
e77c7210
PN
14672 (home-page "https://github.com/magit/orgit")
14673 (source (origin
14674 (method git-fetch)
14675 (uri (git-reference
14676 (url home-page)
14677 (commit commit)))
14678 (file-name (git-file-name name version))
14679 (sha256
14680 (base32
7d3a78e7 14681 "1i52dq2ynddb1irgigr5mdwfbfd3bvm1f29jnzd7nlc0nk186nvh"))))
e77c7210
PN
14682 (build-system emacs-build-system)
14683 (propagated-inputs
14684 `(("emacs-dash" ,emacs-dash)
14685 ("emacs-magit" ,emacs-magit)))
14686 (synopsis "Support for Org links to Magit buffers")
14687 (description "This package defines several Org link types, which can be
14688used to link to certain Magit buffers. Use the command
14689@command{org-store-link} while such a buffer is current to store a link.
14690Later you can insert it into an Org buffer using the command
14691@code{org-insert-link}.")
14692 (license license:gpl3+))))
089a2c51
CL
14693
14694(define-public emacs-amx
14695 (package
14696 (name "emacs-amx")
14697 (version "3.2")
14698 (source (origin
14699 (method git-fetch)
14700 (uri (git-reference
14701 (url "https://github.com/DarwinAwardWinner/amx")
14702 (commit (string-append "v" version))))
14703 (file-name (git-file-name name version))
14704 (sha256
14705 (base32
14706 "0bb8y1dmzyqkrb4mg6zndcsxppby3glridv2aap2pv05gv8kx7mj"))))
14707 (build-system emacs-build-system)
14708 (propagated-inputs `(("emacs-s" ,emacs-s)))
14709 (home-page "https://github.com/DarwinAwardWinner/amx")
14710 (synopsis "Alternative interface for M-x")
14711 (description "Amx is an alternative interface for M-x in Emacs. It
14712provides several enhancements over the ordinary
14713@code{execute-extended-command}, such as prioritizing your most-used commands
14714in the completion list and showing keyboard shortcuts, and it supports several
14715completion systems for selecting commands, such as ido and ivy.")
14716 (license license:gpl3+)))
842e66c5
PN
14717
14718(define-public emacs-lorem-ipsum
14719 (let ((commit "4b39f6fed455d67f635b3837cf5668bf74d0f6cd"))
14720 (package
14721 (name "emacs-lorem-ipsum")
14722 (version (git-version "0.2" "1" commit))
14723 (home-page "https://github.com/jschaf/emacs-lorem-ipsum/")
14724 (source (origin
14725 (method git-fetch)
14726 (uri (git-reference
14727 (url home-page)
14728 (commit commit)))
14729 (file-name (git-file-name name version))
14730 (sha256
14731 (base32
14732 "0a3b18p3vdjci89prsgdzjnfxsl8p67vjhf8ai4qdng7zvh50lir"))))
14733 (build-system emacs-build-system)
14734 (synopsis "Insert dummy pseudo Latin text in Emacs")
14735 (description "This package provides convenience functions to insert
14736dummy Latin text into a buffer. This can be useful if you need to produce
14737paragraphs or pages of text for testing purposes.")
14738 (license license:gpl3+))))
75dabac6
PN
14739
14740(define-public emacs-lisp-extra-font-lock
14741 (let ((commit "4605eccbe1a7fcbd3cacf5b71249435413b4db4f"))
14742 (package
14743 (name "emacs-lisp-extra-font-lock")
14744 (version (git-version "0.0.6" "1" commit))
14745 (home-page "https://github.com/Lindydancer/lisp-extra-font-lock")
14746 (source (origin
14747 (method git-fetch)
14748 (uri (git-reference
14749 (url home-page)
14750 (commit commit)))
14751 (file-name (git-file-name name version))
14752 (sha256
14753 (base32
14754 "152vcp3mdlv33jf5va4rinl1d0k960gnfhbrqqrafazgx9j3ya8w"))))
14755 (build-system emacs-build-system)
14756 (synopsis "Highlight bound variables and quoted expressions in Emacs")
14757 (description "This package highlight the location where local variables
14758is created (bound, for example, by let) as well as quoted and backquoted
14759constant expressions.")
14760 (license license:gpl3+))))
3899ae89
OP
14761
14762(define-public emacs-docker-tramp
14763 (package
14764 (name "emacs-docker-tramp")
14765 (version "0.1")
14766 (source
14767 (origin
14768 (method git-fetch)
14769 (uri (git-reference
14770 (url "https://github.com/emacs-pe/docker-tramp.el")
14771 (commit (string-append "v" version))))
14772 (file-name (git-file-name name version))
14773 (sha256
14774 (base32
14775 "0lxvzmfg52fhxrhbvp92zwp7cv4i1rlxnkyyzgngj3sjm7y60yvg"))))
14776 (build-system emacs-build-system)
14777 (home-page "https://github.com/emacs-pe/docker-tramp.el")
14778 (synopsis "TRAMP integration for docker containers")
14779 (description
14780 "This package provides a TRAMP method for Docker containers.")
14781 (license license:gpl3+)))
18964a60
OP
14782
14783(define-public emacs-docker
14784 (package
14785 (name "emacs-docker")
14786 (version "1.2.0")
14787 (source (origin
14788 (method git-fetch)
14789 (uri (git-reference
14790 (url "https://github.com/Silex/docker.el")
14791 (commit version)))
14792 (file-name (git-file-name name version))
14793 (sha256
14794 (base32
14795 "15kd86kaq1x6giz855q9w6zvnyc742j309j0pmm86rwx398g4rq1"))))
14796 (inputs
14797 `(("emacs-undercover" ,emacs-undercover)))
14798 (propagated-inputs
14799 `(("emacs-dash" ,emacs-dash)
14800 ("emacs-docker-tramp" ,emacs-docker-tramp)
14801 ("emacs-magit-popup" ,emacs-magit-popup)
14802 ("emacs-s" ,emacs-s)
14803 ("emacs-tablist" ,emacs-tablist)
14804 ("emacs-json-mode" ,emacs-json-mode)))
14805 (arguments
14806 `(#:phases
14807 (modify-phases %standard-phases
14808 (delete 'check)))) ;no tests
14809 (build-system emacs-build-system)
14810 (home-page "https://github.com/Silex/docker.el")
14811 (synopsis "Manage docker from Emacs")
14812 (description "This package provides an Emacs interface for Docker.")
14813 (license license:gpl3+)))
1f058ece
OP
14814
14815(define-public emacs-dockerfile-mode
14816 ;; Latest upstream release is too old.
14817 (let ((commit "7223d92718f78fa3ab15667cdb2ed90cfeb579e7"))
14818 (package
14819 (name "emacs-dockerfile-mode")
14820 (version (git-version "1.2" "1" commit))
14821 (source
14822 (origin
14823 (method git-fetch)
14824 (uri (git-reference
14825 (url "https://github.com/spotify/dockerfile-mode.git")
14826 (commit commit)))
14827 (file-name (git-file-name name version))
14828 (sha256
14829 (base32
14830 "0hmipgl4rk6aih11i8mnspwdijjiwk2y0wns6lzs8bgkvy3c064r"))))
14831 (build-system emacs-build-system)
14832 (propagated-inputs
14833 `(("emacs-s" ,emacs-s)))
14834 (home-page "https://github.com/spotify/dockerfile-mode")
14835 (synopsis "Major mode for editing Dockerfile")
14836 (description
14837 "This package provides a major mode @code{dockerfile-mode} for use with
14838the standard @code{Dockerfile} file format.")
14839 (license license:asl2.0))))
60adaae0
BG
14840
14841(define-public emacs-lsp-mode
14842 (package
14843 (name "emacs-lsp-mode")
14844 (version "6.0")
14845 (source (origin
14846 (method git-fetch)
14847 (uri (git-reference
14848 (url "https://github.com/emacs-lsp/lsp-mode.git")
14849 (commit version)))
14850 (file-name (git-file-name name version))
14851 (sha256
14852 (base32
14853 "1v1mq6ixzlgiazj8fmg4xaqhsqn3l89iqy74yndhvzh2rdf0pbkl"))))
14854 (build-system emacs-build-system)
14855 (propagated-inputs
14856 `(("emacs-dash" ,emacs-dash)
14857 ("emacs-f" ,emacs-f)
14858 ("emacs-ht" ,emacs-ht)
14859 ("emacs-spinner" ,emacs-spinner)))
14860 (home-page "https://github.com/emacs-lsp/lsp-mode")
14861 (synopsis "Emacs client and library for the Language Server Protocol")
b9c0d544 14862 (description "@code{LSP-mode} is a client and library implementation for
60adaae0
BG
14863the Language Server Protocol. This mode aims to provide an IDE-like
14864experience by providing optional integration with other popular Emacs packages
14865like @code{company}, @code{flycheck}, and @code{projectile}.")
14866 (license license:gpl3+)))
209393a0
BG
14867
14868(define-public emacs-lsp-ui
14869 (package
14870 (name "emacs-lsp-ui")
14871 (version "6.0")
14872 (source (origin
14873 (method git-fetch)
14874 (uri (git-reference
14875 (url "https://github.com/emacs-lsp/lsp-ui.git")
14876 (commit version)))
14877 (file-name (git-file-name name version))
14878 (sha256
14879 (base32
14880 "1r4327fd8cvjxfwkddp5c4bdskyncbs4sx9m3z2w4d773y2jrakc"))))
14881 (build-system emacs-build-system)
14882 (propagated-inputs
14883 `(("emacs-dash" ,emacs-dash)
14884 ("emacs-lsp-mode" ,emacs-lsp-mode)
14885 ("emacs-markdown-mode" ,emacs-markdown-mode)
14886 ("emacs-flycheck" ,emacs-flycheck)))
14887 (home-page "https://github.com/emacs-lsp/lsp-ui")
14888 (synopsis "User interface extensions for @code{lsp-mode}")
14889 (description
14890 "@code{LSP-ui} contains several enhancements and integrations for
14891@code{lsp-mode}, such as visual flychecking, displaying references in-line,
14892and code peeking.")
14893 (license license:gpl3+)))
31960f6f
PN
14894
14895(define-public emacs-helm-notmuch
3d7a7b1d
PN
14896 (package
14897 (name "emacs-helm-notmuch")
14898 (version "1.2")
14899 (home-page "https://github.com/emacs-helm/helm-notmuch/")
14900 (source (origin
14901 (method git-fetch)
14902 (uri (git-reference
14903 (url home-page)
14904 (commit version)))
14905 (file-name (git-file-name name version))
14906 (sha256
14907 (base32
14908 "1k038dbdpaa411gl4071x19fklhnizhr346plxw23lsnxir9dhqc"))))
14909 (build-system emacs-build-system)
14910 (propagated-inputs
14911 `(("emacs-helm" ,emacs-helm)
14912 ("notmuch" ,notmuch)))
14913 (synopsis "Search emails with Emacs Notmuch and Helm")
14914 (description
14915 "This package can be used to search emails in Emacs, searching result
31960f6f
PN
14916displays as you type thanks to Helm, though @command{notmuch-search} does the
14917real search.")
3d7a7b1d 14918 (license license:gpl3+)))
4d0f20d9
PN
14919
14920(define-public emacs-elmacro
14921 (let ((commit "89b9b0feabafd01fee48111d67131c4c9b5fed9a"))
14922 (package
14923 (name "emacs-elmacro")
14924 (version (git-version "1.1.0" "1" commit))
14925 (home-page "https://github.com/Silex/elmacro")
14926 (source (origin
14927 (method git-fetch)
14928 (uri (git-reference
14929 (url home-page)
14930 (commit commit)))
14931 (file-name (git-file-name name version))
14932 (sha256
14933 (base32
14934 "06wkzafh6vbcjf0m3sl253mgcq32p8cdv7vsfmyx51baa36938ha"))))
14935 (build-system emacs-build-system)
14936 (propagated-inputs
14937 `(("emacs-s" ,emacs-s)
14938 ("emacs-dash" ,emacs-dash)))
14939 (synopsis "Convert keyboard macros to Emacs Lisp")
14940 (description
14941 "This package displays keyboard macros or latest interactive commands
14942as Emacs Lisp.")
14943 (license license:gpl3+))))
a6e4af53
PN
14944
14945(define-public emacs-transient
14946 ;; 0.1.0 depends on lv.el but not later versions.
14947 (let ((commit "7e45a57ec81185631fe763733f64c99021df2a06"))
14948 (package
14949 (name "emacs-transient")
14950 (version (git-version "0.1.0" "1" commit))
14951 (source (origin
14952 (method git-fetch)
14953 (uri (git-reference
14954 (url "https://github.com/magit/transient")
14955 (commit commit)))
14956 (file-name (git-file-name name version))
14957 (sha256
14958 (base32
14959 "0r6d4c1lga3bk0s7q7y4v4hbpxnd9h40cjxybqvax2z902931fz1"))))
14960 (build-system gnu-build-system)
14961 (native-inputs `(("texinfo" ,texinfo)
14962 ("emacs" ,emacs-minimal)))
14963 (propagated-inputs
14964 `(("dash" ,emacs-dash)))
14965 (arguments
14966 `(#:modules ((guix build gnu-build-system)
14967 (guix build utils)
14968 (srfi srfi-26)
14969 (guix build emacs-utils))
14970 #:imported-modules (,@%gnu-build-system-modules
14971 (guix build emacs-utils))
14972 #:tests? #f ; tests are not included in the release
14973 #:make-flags (list "lisp" "info"
14974 (string-append "LOAD_PATH=-L . -L "
14975 (assoc-ref %build-inputs "dash")
14976 "/share/emacs/site-lisp/guix.d/dash-"
14977 ,(package-version emacs-dash)))
14978 #:phases
14979 (modify-phases %standard-phases
14980 (delete 'configure)
14981 (replace 'install
14982 (lambda* (#:key inputs outputs #:allow-other-keys)
14983 (let* ((out (assoc-ref outputs "out"))
14984 (lisp (string-append out "/share/emacs/site-lisp/guix.d/"
14985 "transient" "-" ,version))
14986 (info (string-append out "/share/info")))
14987 (for-each (cut install-file <> lisp)
14988 (find-files "." "\\.elc*$"))
14989 (install-file "docs/transient.info" (string-append info)))
14990 #t)))))
14991 (home-page "https://magit.vc/manual/transient")
14992 (synopsis "Transient commands in Emacs")
14993 (description
14994 "Taking inspiration from prefix keys and prefix arguments in Emacs,
14995Transient implements a similar abstraction involving a prefix command, infix
14996arguments and suffix commands. We could call this abstraction a \"transient
14997command\", but because it always involves at least two commands (a prefix and
14998a suffix) we prefer to call it just a \"transient\".")
14999 (license license:gpl3+))))
da33a9e4 15000
e22ab6a1
BL
15001(define-public emacs-undo-propose-el
15002 (let ((commit "5f1fa99a04369a959aad01b476fe4f34229f28cd")
15003 (version "1.0.0")
15004 (revision "1"))
15005 (package
15006 (name "emacs-undo-propose-el")
15007 (version (git-version version revision commit))
15008 (source
15009 (origin
15010 (method git-fetch)
15011 (uri (git-reference
15012 (url "https://github.com/jackkamm/undo-propose-el")
15013 (commit commit)))
15014 (file-name (git-file-name name version))
15015 (sha256
15016 (base32
15017 "1p9h1fqmva07mcs46rqrg9vqn537b615as84s9b7xh76k1r8h1c0"))))
15018 (build-system emacs-build-system)
15019 (home-page "https://github.com/jackkamm/undo-propose-el")
15020 (synopsis "Simple and safe navigation of @code{undo} history")
15021 (description "This package permits navigation of @code{undo} history in a
15022temporary buffer, which is read-only save for @code{undo} commands, and
15023subsequent committal of a chain of @code{undo} commands as a single edit in
15024the @code{undo} history.")
15025 (license license:gpl3+))))
15026
5b947258
BL
15027(define-public emacs-elisp-docstring-mode
15028 (let ((commit "f512e509dd690f65133e55563ebbfd2dede5034f")
15029 (version "0.0.1")
15030 (revision "1"))
15031 (package
15032 (name "emacs-elisp-docstring-mode")
15033 (version (git-version version revision commit))
15034 (source
15035 (origin
15036 (method git-fetch)
15037 (uri (git-reference
15038 (url "https://github.com/Fuco1/elisp-docstring-mode")
15039 (commit commit)))
15040 (file-name (git-file-name name version))
15041 (sha256
15042 (base32
15043 "0al8m75p359h4n82rf0dsl22qfdg9cwwywn5pn7x6gb96c7qrqaa"))))
15044 (build-system emacs-build-system)
15045 (home-page "https://github.com/Fuco1/elisp-docstring-mode")
15046 (synopsis "Major mode for editing Emacs Lisp docstrings")
15047 (description "This package provides font lock and automatic escaping and
15048unescaping of quotes.")
15049 (license license:gpl3+))))
15050
83b6da9b
BL
15051(define-public emacs-vimrc-mode
15052 (let ((commit "13bc150a870d5d4a95f1111e4740e2b22813c30e")
15053 (version "0.3.1")
15054 (revision "1"))
15055 (package
15056 (name "emacs-vimrc-mode")
15057 (version (git-version version revision commit))
15058 (source
15059 (origin
15060 (method git-fetch)
15061 (uri (git-reference
15062 (url "https://github.com/mcandre/vimrc-mode")
15063 (commit commit)))
15064 (file-name (git-file-name name version))
15065 (sha256
15066 (base32
15067 "0026dqs3hwygk2k2xfra90w5sfnxrfj7l69jz7sq5glavbf340pk"))))
15068 (build-system emacs-build-system)
15069 (home-page "https://github.com/mcandre/vimrc-mode")
15070 (synopsis "Major mode for Vimscript")
15071 (description "This package provides font lock and @code{beginning-} and
15072@code{end-of-defun} functions for Vimscript files.")
15073 (license license:gpl3+))))
15074
a8ef7ecc
BL
15075(define-public emacs-flycheck-haskell
15076 (let ((commit "32ddff87165a7d3a35e7318bee997b5b4bd41278")
15077 (version "0.8")
15078 (revision "79"))
15079 (package
15080 (name "emacs-flycheck-haskell")
15081 (version (git-version version revision commit))
15082 (source
15083 (origin
15084 (method git-fetch)
15085 (uri (git-reference
15086 (url "https://github.com/flycheck/flycheck-haskell")
15087 (commit commit)))
15088 (file-name (git-file-name name version))
15089 (sha256
15090 (base32
15091 "10pgsbagq6qj4mshq5sypv0q0khck92b30sc793b4g1pfpsxvgjn"))))
15092 (build-system emacs-build-system)
15093 (propagated-inputs
15094 `(("emacs-dash" ,emacs-dash)
15095 ("emacs-seq" ,emacs-seq)
15096 ("emacs-flycheck" ,emacs-flycheck)
15097 ("emacs-haskell-mode" ,emacs-haskell-mode)
15098 ("emacs-let-alist" ,emacs-let-alist)))
15099 (home-page "https://github.com/flycheck/flycheck-haskell")
15100 (synopsis "Flycheck for Haskell")
15101 (description "This package configures syntax-checking for Haskell
15102buffers.")
15103 (license license:gpl3+))))
15104
b571a69a
BL
15105(define-public emacs-js2-refactor-el
15106 (let ((commit "79124b3274c43ad1f9ec6205fa362576552db02f")
15107 (version "0.9.0")
15108 (revision "27"))
15109 (package
15110 (name "emacs-js2-refactor-el")
15111 (version (git-version version revision commit))
15112 (source
15113 (origin
15114 (method git-fetch)
15115 (uri (git-reference
15116 (url "https://github.com/magnars/js2-refactor.el")
15117 (commit commit)))
15118 (file-name (git-file-name name version))
15119 (sha256
15120 (base32
15121 "1wswhlpbd3airrhyncb9vblqigwnqg9n96z0iis8jnz37q2whica"))))
15122 (build-system emacs-build-system)
15123 (propagated-inputs
15124 `(("emacs-dash" ,emacs-dash)
15125 ("emacs-s" ,emacs-s)
15126 ("emacs-js2-mode" ,emacs-js2-mode)
15127 ("emacs-yasnippet" ,emacs-yasnippet)
15128 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
15129 (native-inputs
15130 `(("emacs-buttercup" ,emacs-buttercup)
15131 ("emacs-espuds" ,emacs-espuds)))
15132 (home-page "https://github.com/magnars/js2-refactor.el")
15133 (synopsis "JavaScript refactoring in Emacs")
15134 (description "This package provides various refactoring functions for
15135JavaScript.")
15136 (license license:gpl3+))))
15137
c6b384de
BL
15138(define-public emacs-prettier
15139 (let ((commit "e9b73e81d3e1642aec682195f127a42dfb0b5774")
15140 (version "0.1.0")
15141 (revision "1"))
15142 (package
15143 (name "emacs-prettier")
15144 (version (git-version version revision commit))
15145 (source
15146 (origin
15147 (method git-fetch)
15148 (uri (git-reference
15149 (url "https://github.com/prettier/prettier-emacs")
15150 (commit commit)))
15151 (file-name (git-file-name name version))
15152 (sha256
15153 (base32
15154 "0hj4fv3fgc60i6jrsx4a81s5c9fsxxafhhs3q2q1dypsscjci9ph"))))
15155 (build-system emacs-build-system)
15156 (home-page "https://github.com/prettier/prettier-emacs")
15157 (synopsis "Automatic formatting of JavaScript code")
15158 (description "This package integrates Prettier with Emacs, and
15159provides a minor mode that autoformats the buffer upon saving.")
15160 (license license:expat))))
15161
884cc871
BL
15162(define-public emacs-fish-mode
15163 (package
15164 (name "emacs-fish-mode")
15165 (version "0.1.4")
15166 (source
15167 (origin
15168 (method git-fetch)
15169 (uri (git-reference
15170 (url "https://github.com/wwwjfy/emacs-fish")
15171 (commit version)))
15172 (file-name (git-file-name name version))
15173 (sha256
15174 (base32
15175 "0a74ghmjjrxfdhk4mvq6lar4w6l6lc4iilabs99smqr2fn5rsslq"))))
15176 (build-system emacs-build-system)
15177 (home-page "https://github.com/wwwjfy/emacs-fish")
15178 (synopsis "Major mode for Fish shell scripts")
15179 (description "This package provides syntax highlighting and indentation
15180functions for Fish shell scripts.")
15181 (license license:gpl3+)))
15182
ccf220f3
BL
15183(define-public emacs-eshell-up
15184 (let ((commit "9c100bae5c3020e8d9307e4332d3b64e7dc28519")
15185 (version "0.0.3")
15186 (revision "12"))
15187 (package
15188 (name "emacs-eshell-up")
15189 (version (git-version version revision commit))
15190 (source
15191 (origin
15192 (method git-fetch)
15193 (uri (git-reference
15194 (url "https://github.com/peterwvj/eshell-up")
15195 (commit commit)))
15196 (file-name (git-file-name name version))
15197 (sha256
15198 (base32
15199 "00zdbcncjabgj5mp47l1chymx5na18v2g4kj730dgmj3rnl3iz2q"))))
15200 (build-system emacs-build-system)
15201 (home-page "https://github.com/peterwvj/eshell-up")
15202 (synopsis "Quickly go to a parent directory in @code{Eshell}")
15203 (description "This package provides quick navigation to a specific
15204parent directory using @code{Eshell}.")
15205 (license license:gpl3+))))
15206
6a39740d
BL
15207(define-public emacs-tco-el
15208 (let ((commit "482db5313f090b17ed22ccd856f0e141dc75afe6")
15209 (version "0.3")
15210 (revision "1"))
15211 (package
15212 (name "emacs-tco-el")
15213 (version (git-version version revision commit))
15214 (source
15215 (origin
15216 (method git-fetch)
15217 (uri (git-reference
15218 (url "https://github.com/Wilfred/tco.el")
15219 (commit commit)))
15220 (file-name (git-file-name name version))
15221 (sha256
15222 (base32
15223 "1z7xkbrqznk6ni687qqknp8labcyhl8y6576hjfri89fn21385y9"))))
15224 (build-system emacs-build-system)
15225 (propagated-inputs
15226 `(("emacs-dash" ,emacs-dash)))
15227 (home-page "https://github.com/Wilfred/tco.el")
15228 (synopsis "Tail-call optimization for Emacs Lisp")
15229 (description "This package provides tail-call optimization for Emacs
15230Lisp functions that call themselves in tail position.")
15231 (license license:gpl3+))))
15232
00400e84
BL
15233(define-public emacs-equake
15234 (let ((commit "ed15fd55cd4f2276161a6f712ed0b83cd10a8cdc")
15235 (version "0.85")
15236 (revision "1"))
15237 (package
15238 (name "emacs-equake")
15239 (version (git-version version revision commit))
15240 (source
15241 (origin
15242 (method git-fetch)
15243 (uri (git-reference
15244 (url "https://gitlab.com/emacsomancer/equake/")
15245 (commit commit)))
15246 (file-name (git-file-name name version))
15247 (sha256
15248 (base32
15249 "04kj88rlnn22gwmmv2gly2ibi6jka6l2cd4979pi6lhlvqqgjdnj"))))
15250 (build-system emacs-build-system)
15251 (propagated-inputs
15252 `(("emacs-dash" ,emacs-dash)
15253 ("emacs-tco-el" ,emacs-tco-el)))
15254 (home-page "https://gitlab.com/emacsomancer/equake/")
15255 (synopsis "Drop-down console for @code{Eshell} and terminal emulators")
15256 (description "This package provides a Quake-style drop-down console
15257compatible with Emacs' shell modes.")
15258 (license license:gpl3+))))
15259
568c67e5
BL
15260(define-public emacs-vdiff
15261 (let ((commit "09e15fc932bfd2febe1d4a65780a532394562b07")
15262 (version "0.2.3")
15263 (revision "1"))
15264 (package
15265 (name "emacs-vdiff")
15266 (version (git-version version revision commit))
15267 (source
15268 (origin
15269 (method git-fetch)
15270 (uri (git-reference
15271 (url "https://github.com/justbur/emacs-vdiff/")
15272 (commit commit)))
15273 (file-name (git-file-name name version))
15274 (sha256
15275 (base32
15276 "1gvqi5l4zs872nn4pmj603aza09d81qad2rgijzv268lif8z34db"))))
15277 (build-system emacs-build-system)
15278 (propagated-inputs
15279 `(("emacs-hydra" ,emacs-hydra)))
15280 (home-page "https://github.com/justbur/emacs-vdiff/")
15281 (synopsis "Frontend for diffing based on vimdiff")
15282 (description "This package permits comparisons of two or three buffers
15283based on diff output.")
15284 (license license:gpl3+))))
15285
0ff3c6a0
BL
15286(define-public emacs-vdiff-magit
15287 ;; Need to use a more recent commit than the latest release version because
15288 ;; of Magit and Transient
15289 (let ((commit "b100d126c69e5c26a61ae05aa1778bcc4302b597")
15290 (version "0.3.2")
15291 (revision "8"))
15292 (package
15293 (name "emacs-vdiff-magit")
15294 (version (git-version version revision commit))
15295 (source
15296 (origin
15297 (method git-fetch)
15298 (uri (git-reference
15299 (url "https://github.com/justbur/emacs-vdiff-magit/")
15300 (commit commit)))
15301 (file-name (git-file-name name version))
15302 (sha256
15303 (base32
15304 "16cjmrzflf2i1w01973sl944xrfanakba8sb4dpwi79d92xp03xy"))))
15305 (build-system emacs-build-system)
15306 (propagated-inputs
15307 `(("emacs-vdiff" ,emacs-vdiff)
15308 ("emacs-magit" ,emacs-magit)
15309 ("emacs-transient" ,emacs-transient)))
15310 (home-page "https://github.com/justbur/emacs-vdiff-magit/")
15311 (synopsis "Frontend for diffing based on vimdiff")
15312 (description "This package permits comparisons of two or three buffers
15313based on diff output.")
15314 (license license:gpl3+))))
15315
bb1df815
BL
15316(define-public emacs-all-the-icons-dired
15317 (let ((commit "980b7747d6c4a7992a1ec56afad908956db0a519")
15318 (version "1.0")
15319 (revision "1"))
15320 (package
15321 (name "emacs-all-the-icons-dired")
15322 (version (git-version version revision commit))
15323 (source
15324 (origin
15325 (method git-fetch)
15326 (uri (git-reference
15327 (url "https://github.com/jtbm37/all-the-icons-dired/")
15328 (commit commit)))
15329 (file-name (git-file-name name version))
15330 (sha256
15331 (base32
15332 "1pvbgyxfj4j205nj1r02045f1y4wgavdsk7f45hxkkhms1rj8jyy"))))
15333 (build-system emacs-build-system)
15334 (propagated-inputs
15335 `(("emacs-all-the-icons" ,emacs-all-the-icons)))
15336 (home-page "https://github.com/jtbm37/all-the-icons-dired/")
15337 (synopsis "Show icons for each file in @code{dired-mode}")
15338 (description "This package allows icons from @file{all-the-icons.el} to
15339be used in @code{dired-mode}.")
15340 (license license:gpl3+))))
15341
e961133f
BL
15342(define-public emacs-exwm-edit
15343 (let ((commit "961c0f3ea45766b888c73d7353da13d329538034")
15344 (version "0.0.1")
15345 (revision "1"))
15346 (package
15347 (name "emacs-exwm-edit")
15348 (version (git-version version revision commit))
15349 (source
15350 (origin
15351 (method git-fetch)
15352 (uri (git-reference
15353 (url "https://github.com/agzam/exwm-edit/")
15354 (commit commit)))
15355 (file-name (git-file-name name version))
15356 (sha256
15357 (base32
15358 "087pk5ckx753qrn6xpka9khhlp7iqlz76w7861x90av2f5cgy6fw"))))
15359 (build-system emacs-build-system)
15360 (propagated-inputs
15361 `(("emacs-exwm" ,emacs-exwm)))
15362 (home-page "https://github.com/agzam/exwm-edit/")
15363 (synopsis "Open temp buffers for editing text from EXWM buffers")
15364 (description "This package facilitates editing text from EXWM buffers by
15365generating a temp buffer in which any useful Emacs utilities and modes can be
15366invoked.")
15367 (license license:gpl3+))))
15368
6746bddd
BL
15369(define-public emacs-ert-async
15370 (package
15371 (name "emacs-ert-async")
15372 (version "0.1.2")
15373 (source
15374 (origin
15375 (method git-fetch)
15376 (uri (git-reference
15377 (url "https://github.com/rejeep/ert-async.el")
15378 (commit (string-append "v" version))))
15379 (file-name (git-file-name name version))
15380 (sha256
15381 (base32
15382 "0hn9i405nfhjd1h9vnwj43nxbbz00khrwkjq0acfyxjaz1shfac9"))))
15383 (build-system emacs-build-system)
15384 (home-page "https://github.com/rejeep/ert-async.el")
15385 (synopsis "Async support for ERT")
15386 (description "This package allows ERT to work with asynchronous tests.")
15387 (license license:gpl3+)))
15388
877546b4
BL
15389(define-public emacs-prodigy-el
15390 (let ((commit "701dccaa56de9e6a330c05bde33bce4f3b3d6a97")
15391 (version "0.7.0")
15392 (revision "28"))
15393 (package
15394 (name "emacs-prodigy-el")
15395 (version (git-version version revision commit))
15396 (source
15397 (origin
15398 (method git-fetch)
15399 (uri (git-reference
15400 (url "https://github.com/rejeep/prodigy.el")
15401 (commit commit)))
15402 (file-name (git-file-name name version))
15403 (sha256
15404 (base32
15405 "1vyvxawlayp2nra0q83146q2nzv8qwn5a4nj0sx1jc90a0a83vgj"))))
15406 (build-system emacs-build-system)
15407 (propagated-inputs
15408 `(("emacs-dash" ,emacs-dash)
15409 ("emacs-s" ,emacs-s)
15410 ("emacs-f" ,emacs-f)))
15411 (native-inputs
15412 `(("emacs-el-mock" ,emacs-el-mock)
15413 ("emacs-ert-async" ,emacs-ert-async)))
15414 (home-page "https://github.com/rejeep/prodigy.el")
15415 (synopsis "Manage external services from within Emacs")
15416 (description "This package provides a GUI for defining and monitoring services.")
15417 (license license:gpl3+))))
15418
8d7da6f0
BL
15419(define-public emacs-web-server
15420 (let ((commit "cafa5b7582c57252a0884b2c33da9b18fb678713")
15421 (version "0.1.1")
15422 (revision "1"))
15423 (package
15424 (name "emacs-web-server")
15425 (version (git-version version revision commit))
15426 (source
15427 (origin
15428 (method git-fetch)
15429 (uri (git-reference
15430 (url "https://github.com/eschulte/emacs-web-server/")
15431 (commit commit)))
15432 (file-name (git-file-name name version))
15433 (sha256
15434 (base32
15435 "1c0lfqmbs5hvz3fh3c8wgp6ipwmxrwx9xj264bjpj3phixd5419y"))))
15436 (build-system emacs-build-system)
15437 (home-page "https://github.com/eschulte/emacs-web-server/")
15438 (synopsis "Web server with handlers in Emacs Lisp")
15439 (description "This package supports HTTP GET and POST requests with
15440url-encoded parameters, as well as web sockets.")
15441 (license license:gpl3+))))
15442
e626d7ee
BL
15443(define-public emacs-markdown-preview-mode
15444 (package
15445 (name "emacs-markdown-preview-mode")
15446 (version "0.9.2")
15447 (source
15448 (origin
15449 (method git-fetch)
15450 (uri (git-reference
15451 (url "https://github.com/ancane/markdown-preview-mode")
15452 (commit (string-append "v" version))))
15453 (file-name (git-file-name name version))
15454 (sha256
15455 (base32
15456 "1d1id99gagymvzdfa1mwqh8y3szm8ii47rpijkfi1qnifjg5jaq9"))))
15457 (build-system emacs-build-system)
15458 (propagated-inputs
15459 `(("emacs-markdown-mode" ,emacs-markdown-mode)
15460 ("emacs-websocket" ,emacs-websocket)
15461 ("emacs-web-server" ,emacs-web-server)))
15462 (arguments '(#:include '("\\.el$" "\\.html$")))
15463 (home-page "https://github.com/ancane/markdown-preview-mode")
15464 (synopsis "Live web development in Emacs")
15465 (description "This package provides a minor mode for preview of Markdown
15466files, and sends rendered Markdown to a web browser.")
15467 (license license:gpl3+)))
15468
e395359b
BL
15469(define-public emacs-dotenv-mode
15470 (package
15471 (name "emacs-dotenv-mode")
15472 (version "0.2.4")
15473 (source
15474 (origin
15475 (method git-fetch)
15476 (uri (git-reference
15477 (url "https://github.com/preetpalS/emacs-dotenv-mode")
15478 (commit (string-append "v" version))))
15479 (file-name (git-file-name name version))
15480 (sha256
15481 (base32
15482 "1fplkhxnsgdrg10iqsmw162zny2idz4vvv35spsb9j0hsk8imclc"))))
15483 (build-system emacs-build-system)
15484 (home-page "https://github.com/preetpalS/emacs-dotenv-mode")
15485 (synopsis "Major mode for @file{.env} files")
15486 (description "This package provides syntax highlighting for @file{.env}
15487files.")
15488 (license license:gpl3+)))
15489
fba587b1
BL
15490(define-public emacs-add-node-modules-path
15491 (let ((commit "f31e69ccb681f882aebb806ce6e9478e3ac39708")
15492 (version "1.2.0")
15493 (revision "10"))
15494 (package
15495 (name "emacs-add-node-modules-path")
15496 (version (git-version version revision commit))
15497 (source
15498 (origin
15499 (method git-fetch)
15500 (uri (git-reference
15501 (url "https://github.com/codesuki/add-node-modules-path")
15502 (commit commit)))
15503 (file-name (git-file-name name version))
15504 (sha256
15505 (base32
15506 "0p106bqmvdr8by5iv02bshm339qbrjcch2d15mrm4h3nav03v306"))))
15507 (build-system emacs-build-system)
15508 (home-page "https://github.com/codesuki/add-node-modules-path")
15509 (synopsis "Add @file{node_modules} to the buffer-local @file{exec-path}")
15510 (description "This package searches the parent directories of the
15511current file for the project's @file{node_modules/.bin/} directory, allowing
15512Emacs to find project-specific installations of packages.")
15513 (license license:expat))))
15514
fa07cf62
BL
15515(define-public emacs-flow-minor-mode
15516 (let ((commit "d1b32a7dd0d33c6a00a106da5f4b2323602cbd3e")
15517 (version "0.3")
15518 (revision "4"))
15519 (package
15520 (name "emacs-flow-minor-mode")
15521 (version (git-version version revision commit))
15522 (source
15523 (origin
15524 (method git-fetch)
15525 (uri (git-reference
15526 (url "https://github.com/an-sh/flow-minor-mode")
15527 (commit commit)))
15528 (file-name (git-file-name name version))
15529 (sha256
15530 (base32
15531 "169r4ib9qg9q6fm3p0p23qs1qx4pa9pg1qvyq4ysr85i7kwygppl"))))
15532 (build-system emacs-build-system)
15533 (home-page "https://github.com/an-sh/flow-minor-mode")
15534 (synopsis "Minor mode for JavaScript Flow files")
15535 (description "This package integrates Flow with Emacs, allowing for
15536definition-jumping and type-checking on demand.")
15537 (license license:bsd-3))))
15538
226ab1bc
BL
15539(define-public emacs-rjsx-mode
15540 (let ((commit "03dd8d1683501e81b58674d64c3032b7b718402c")
15541 (version "0.4.0")
15542 (revision "35"))
15543 (package
15544 (name "emacs-rjsx-mode")
15545 (version (git-version version revision commit))
15546 (source
15547 (origin
15548 (method git-fetch)
15549 (uri (git-reference
15550 (url "https://github.com/felipeochoa/rjsx-mode")
15551 (commit commit)))
15552 (file-name (git-file-name name version))
15553 (sha256
15554 (base32
15555 "1kc44g9f38klpjklmz9n50a28nqv7prz6ck6ghdr6bnj1s98pb8a"))))
15556 (build-system emacs-build-system)
15557 (propagated-inputs
15558 `(("emacs-js2-mode" ,emacs-js2-mode)))
15559 (home-page "https://github.com/felipeochoa/rjsx-mode")
15560 (synopsis "Major mode for JSX files")
15561 (description "This package extends the parser of @code{js2-mode} to
15562support JSX syntax.")
15563 (license license:expat))))
15564
87b6896e
BL
15565(define-public emacs-origami-el
15566 (let ((commit "1f38085c8f9af7842765ed63f7d6dfe4dab59366")
15567 (version "1.0")
15568 (revision "1"))
15569 (package
15570 (name "emacs-origami-el")
15571 (version (git-version version revision commit))
15572 (source
15573 (origin
15574 (method git-fetch)
15575 (uri (git-reference
15576 (url "https://github.com/gregsexton/origami.el")
15577 (commit commit)))
15578 (file-name (git-file-name name version))
15579 (sha256
15580 (base32
15581 "0ha1qsz2p36pqa0sa2sp83lspbgx5lr7930qxnwd585liajzdd9x"))))
15582 (build-system emacs-build-system)
15583 (propagated-inputs
15584 `(("emacs-dash" ,emacs-dash)
15585 ("emacs-s" ,emacs-s)))
15586 (home-page "https://github.com/gregsexton/origami.el")
15587 (synopsis "Flexible text-folding")
15588 (description "This package provides a minor mode for collapsing and
15589expanding regions of text without modifying the actual contents.")
15590 (license license:expat))))
15591
df04eeec
BL
15592(define-public emacs-peep-dired
15593 (let ((commit "c88a9a3050197840edfe145f11e0bb9488de32f4")
15594 (version "0")
15595 (revision "1"))
15596 (package
15597 (name "emacs-peep-dired")
15598 (version (git-version version revision commit))
15599 (source
15600 (origin
15601 (method git-fetch)
15602 (uri (git-reference
15603 (url "https://github.com/asok/peep-dired")
15604 (commit commit)))
15605 (file-name (git-file-name name version))
15606 (sha256
15607 (base32
15608 "1wy5qpnfri1gha2cnl6q20qar8dbl2mimpb43bnhmm2g3wgjyad6"))))
15609 (build-system emacs-build-system)
15610 (home-page "https://github.com/asok/peep-dired")
15611 (synopsis "Preview files in another window")
15612 (description "This package provides a minor mode that allows files to be
15613previewed by scrolling up and down within a @code{dired} buffer.")
15614 (license license:gpl3+))))
15615
3b60b5fa
BL
15616(define-public emacs-counsel-etags
15617 (package
15618 (name "emacs-counsel-etags")
15619 (version "1.8.3")
15620 (source
15621 (origin
15622 (method git-fetch)
15623 (uri (git-reference
15624 (url "https://github.com/redguardtoo/counsel-etags")
15625 (commit version)))
15626 (file-name (git-file-name name version))
15627 (sha256
15628 (base32
15629 "1d8nlrbsyza6q7yqm9248bxxsf49qf6hchg3zwv0l11acn3w8np5"))))
15630 (build-system emacs-build-system)
15631 (propagated-inputs
15632 `(("emacs-ivy" ,emacs-ivy)))
15633 (home-page "https://github.com/redguardtoo/counsel-etags")
15634 (synopsis "Fast @code{Ctags}/@code{Etags} solution with @code{ivy-mode}")
15635 (description "This package uses @code{ivy-mode} to facilitate navigating
15636and searching through @code{Ctags} files.")
15637 (license license:gpl3+)))
15638
5150c6e5
BL
15639(define-public emacs-helm-dash
15640 (let ((commit "192b862185df661439a06de644791171e899348a")
15641 (version "1.3.0")
15642 (revision "18"))
15643 (package
15644 (name "emacs-helm-dash")
15645 (version (git-version version revision commit))
15646 (source
15647 (origin
15648 (method git-fetch)
15649 (uri (git-reference
15650 (url "https://github.com/areina/helm-dash")
15651 (commit commit)))
15652 (file-name (git-file-name name version))
15653 (sha256
15654 (base32
15655 "06am5vnr4hsxkvh2b8q8kb80y5x1h3qyv7gwggswwhfa7w2vba3w"))))
15656 (build-system emacs-build-system)
15657 (propagated-inputs
15658 `(("emacs-helm" ,emacs-helm)))
15659 (home-page "https://github.com/areina/helm-dash")
15660 (synopsis "Offline documentation browser for APIs using Dash docsets")
15661 (description "This package uses Helm to install and navigate through
15662Dash docsets.")
15663 (license license:gpl3+))))
15664
46695dba
BL
15665(define-public emacs-counsel-dash
15666 (let ((commit "07fa74a94ff4da5b6c8c4810f5e143e701b480d2")
15667 (version "0.1.3")
15668 (revision "3"))
15669 (package
15670 (name "emacs-counsel-dash")
15671 (version (git-version version revision commit))
15672 (source
15673 (origin
15674 (method git-fetch)
15675 (uri (git-reference
15676 (url "https://github.com/nathankot/counsel-dash")
15677 (commit commit)))
15678 (file-name (git-file-name name version))
15679 (sha256
15680 (base32
15681 "17h2m9zsadq270mkq12kmdzmpbfjiwjbg8n1rg2apqnm1ndgcwf8"))))
15682 (build-system emacs-build-system)
15683 (propagated-inputs
15684 `(("emacs-helm-dash" ,emacs-helm-dash)
15685 ("emacs-dash" ,emacs-dash)
15686 ("emacs-ivy" ,emacs-ivy)))
15687 (home-page "https://github.com/nathankot/counsel-dash")
15688 (synopsis "Offline documentation browser for APIs using Dash docsets")
15689 (description "This package uses @code{ivy-mode} to install and navigate
15690through Dash docsets.")
15691 (license license:expat))))
15692
a13884dc
BL
15693(define-public emacs-el-patch
15694 (package
15695 (name "emacs-el-patch")
15696 (version "2.2.3")
15697 (source
15698 (origin
15699 (method git-fetch)
15700 (uri (git-reference
15701 (url "https://github.com/raxod502/el-patch")
15702 (commit version)))
15703 (file-name (git-file-name name version))
15704 (sha256
15705 (base32
15706 "18djslz177q6q33y82zmg2v6n9236a76kiqfvxdk4vbqzjbq82f7"))))
15707 (build-system emacs-build-system)
15708 (home-page "https://github.com/raxod502/el-patch")
15709 (synopsis "Future-proof your Emacs customizations")
15710 (description "This package allows for an alternate definition of an Elisp
15711function to be specified and for any differences from the original definition
15712to be examined using Ediff.")
15713 (license license:expat)))
15714
388168b6
BL
15715(define-public emacs-info-plus
15716 (let ((commit "b837d710f7d58db586116cf6f75e75a9a074bc4b")
15717 (version "5101")
15718 (revision "55"))
15719 (package
15720 (name "emacs-info-plus")
15721 (version (git-version version revision commit))
15722 (source
15723 (origin
15724 (method git-fetch)
15725 (uri (git-reference
15726 (url "https://github.com/emacsmirror/info-plus")
15727 (commit commit)))
15728 (file-name (git-file-name name version))
15729 (sha256
15730 (base32
15731 "1knyjkdm4rcs3qrc51jllw46ph7ycq5zxnvl70ydchzfwava43h6"))))
15732 (build-system emacs-build-system)
15733 (home-page "https://github.com/emacsmirror/info-plus")
15734 (synopsis "Extensions to @file{info.el}")
15735 (description "This package extends Emacs' @file{info.el} by allowing
15736outline-enabled table of contents, additional metadata association for Info
15737nodes, and more.")
15738 (license license:gpl2+))))
15739
ebc6a59c
BL
15740(define-public emacs-eval-sexp-fu-el
15741 (package
15742 (name "emacs-eval-sexp-fu-el")
15743 (version "0.5.0")
15744 (source
15745 (origin
15746 (method git-fetch)
15747 (uri (git-reference
15748 (url "https://github.com/hchbaw/eval-sexp-fu.el")
15749 (commit (string-append "v" version))))
15750 (file-name (git-file-name name version))
15751 (sha256
15752 (base32
15753 "01mpnpgmlnfbi2yw9dxz5iw72mw3lk223bj172i4fnx3xdrrxbij"))))
15754 (build-system emacs-build-system)
15755 (home-page "https://github.com/hchbaw/eval-sexp-fu.el")
15756 (synopsis "Enhancements for evaluating s-expressions")
15757 (description "This package provides provides variants of
15758@code{eval-last-sexp} that work on the containing list or s-expression, as
15759well as an option for visually flashing evaluated s-expressions.")
15760 (license license:gpl3+)))
15761
bbc22b98
BL
15762(define-public emacs-counsel-tramp
15763 (package
15764 (name "emacs-counsel-tramp")
f42399b5 15765 (version "0.6.3")
bbc22b98
BL
15766 (source
15767 (origin
15768 (method git-fetch)
15769 (uri (git-reference
15770 (url "https://github.com/masasam/emacs-counsel-tramp")
15771 (commit version)))
15772 (file-name (git-file-name name version))
15773 (sha256
15774 (base32
f42399b5 15775 "1qy9lf7cyv6hp9mmpwh92cpdcffbxzyzchx6878d5pmk9qh6xy92"))))
bbc22b98
BL
15776 (build-system emacs-build-system)
15777 (propagated-inputs
15778 `(("emacs-ivy" ,emacs-ivy)))
15779 (home-page "https://github.com/masasam/emacs-counsel-tramp")
15780 (synopsis "Ivy interface for TRAMP")
15781 (description "This package allows @code{ivy-mode} to display and filter
15782SSH servers.")
15783 (license license:gpl3+)))
15784
f446f789
BL
15785(define-public emacs-eacl
15786 (package
15787 (name "emacs-eacl")
15788 (version "2.0.1")
15789 (source
15790 (origin
15791 (method git-fetch)
15792 (uri (git-reference
15793 (url "https://github.com/redguardtoo/eacl")
15794 (commit version)))
15795 (file-name (git-file-name name version))
15796 (sha256
15797 (base32
15798 "0ksn11sm3g1ja5lpjz3hrzzw8b480mfcb3q589m52qjgvvn5iyfv"))))
15799 (build-system emacs-build-system)
15800 (propagated-inputs
15801 `(("emacs-ivy" ,emacs-ivy)))
15802 (home-page "https://github.com/redguardtoo/eacl")
15803 (synopsis "Auto-complete lines by using @code{grep} on a project")
15804 (description "This package provides auto-completion cammands for single
15805and multiple lines of code in a project.")
15806 (license license:gpl3+)))
15807
ea4a1e5d
JH
15808(define-public emacs-semantic-refactor
15809 ;; The last release, 0.5, was made on 2015-07-26 and there have been 47
15810 ;; commits since then.
15811 (let ((commit "6f2c97d17fb70f4ca2112f5a2b99a8ec162004f5"))
15812 (package
15813 (name "emacs-semantic-refactor")
15814 (version (git-version "0.5" "1" commit))
15815 (source
15816 (origin
15817 (method git-fetch)
15818 (uri (git-reference
15819 (url "https://github.com/tuhdo/semantic-refactor")
15820 (commit commit)))
15821 (file-name (git-file-name name version))
15822 (sha256
15823 (base32
15824 "1lyz3zjkx2csh0xdy1zpx8s32qp1p3sig57mwi9xhgpqjyf0axmb"))))
15825 (build-system emacs-build-system)
15826 (home-page "https://github.com/tuhdo/semantic-refactor")
15827 (synopsis "Refactoring tool for C/C++ and Lisp dialects")
15828 (description "This package provides a refactoring tool based on the
15829Emacs Semantic parser framework. For C and C++ it supports operations such as:
15830
15831@enumerate
15832@item Generating class implementations
15833@item Generating function prototypes
15834@item Converting functions to function pointers
15835@item Moving semantic units
15836@item etc...
15837@end enumerate
15838
15839For Lisp dialects like Clojure, ELisp, and Scheme, it supports operations such
15840as:
15841
15842@enumerate
15843@item Formatting the whole buffer
15844@item Converting sexpressions to one or multiple lines
15845@item etc...
15846@end enumerate\n")
15847 (license license:gpl3+))))
15848
da33a9e4
PN
15849(define-public emacs-nhexl-mode
15850 (package
15851 (name "emacs-nhexl-mode")
15852 (version "1.2")
15853 (source
15854 (origin
15855 (method url-fetch)
15856 (uri (string-append
15857 "https://elpa.gnu.org/packages/nhexl-mode-"
15858 version ".el"))
15859 (sha256
15860 (base32
15861 "031h22p564qdvr9khs05qcba06pmsk68cr7zyc7c04hfr3y3ziaf"))))
15862 (build-system emacs-build-system)
15863 (home-page "http://elpa.gnu.org/packages/nhexl-mode.html")
15864 (synopsis "Minor mode to edit files via hex-dump format")
15865 (description
15866 "This package implements NHexl mode, a minor mode for editing files
15867in hex dump format. The mode command is called @command{nhexl-mode}.
15868
15869This minor mode implements similar functionality to @command{hexl-mode},
15870but using a different implementation technique, which makes it
15871usable as a \"plain\" minor mode. It works on any buffer, and does
15872not mess with the undo log or with the major mode.
15873
15874It also comes with:
15875
15876@itemize
15877@item @command{nhexl-nibble-edit-mode}: a \"nibble editor\" minor mode, where
15878the cursor pretends to advance by nibbles (4-bit) and the self-insertion keys
15879(which only work for hex-digits) will only modify the nibble under point.
15880@item @command{nhexl-overwrite-only-mode}: a minor mode to try and avoid
15881moving text. In this minor mode, not only self-inserting keys overwrite
15882existing text, but commands like `yank' and @command{kill-region} as well.
15883@item It overrides @code{C-u} to use hexadecimal, so you can do @code{C-u a 4
15884C-f} to advance by #xa4 characters.
15885@end itemize\n")
15886 (license license:gpl3+)))
c0aaca02
PN
15887
15888(define-public emacs-helm-wikipedia
15889 (let ((commit "126f044e0a0e1432e0791c33ce2a41875d704a9b"))
15890 (package
15891 (name "emacs-helm-wikipedia")
15892 (version (git-version "0.0.0" "1" commit))
15893 (home-page "https://github.com/emacs-helm/helm-wikipedia/")
15894 (source
15895 (origin
15896 (method git-fetch)
15897 (uri (git-reference
15898 (url home-page)
15899 (commit commit)))
15900 (file-name (git-file-name name version))
15901 (sha256
15902 (base32
15903 "148a5xsnbsiddhf9cl7yxdk41lrv38h0pip91kcflw9d7l0dp7pr"))))
15904 (build-system emacs-build-system)
15905 (inputs
15906 `(("helm" ,emacs-helm)))
15907 (synopsis "Search suggestions and article extracts from Wikipedia for Emacs")
15908 (description
15909 "This package provides an Emacs Helm interface for search suggestions
15910and article extracts for Wikipedia.")
15911 (license license:gpl3+))))
37099f58
PN
15912
15913(define-public emacs-webfeeder
15914 (package
15915 (name "emacs-webfeeder")
15916 (version "1.0.0")
15917 (source
15918 (origin
15919 (method url-fetch)
15920 (uri (string-append
15921 "https://elpa.gnu.org/packages/webfeeder-"
15922 version
15923 ".tar"))
15924 (sha256
15925 (base32
15926 "06y5vxw9m6pmbrzb8v2i3w9dnhgqxz06vyx1knmgi9cczlrj4a64"))))
15927 (build-system emacs-build-system)
15928 (home-page "https://gitlab.com/Ambrevar/emacs-webfeeder")
15929 (synopsis "Build RSS and Atom webfeeds from HTML files")
15930 (description
15931 "Webfeeder is an Emacs library to generate RSS and Atom feeds from HTML
15932files. The various elements of the HTML input are parsed with customizable
15933functions (e.g. @code{webfeeder-title-function}).")
15934 (license license:gpl3+)))
c97ad2fd
CL
15935
15936(define-public emacs-evil-numbers
15937 (let ((commit "6ea1c8c3a9b37bed63d48f1128e9a4910e68187e"))
15938 (package
15939 (name "emacs-evil-numbers")
15940 (version (git-version "0.4" "1" commit))
15941 (source (origin
15942 (method git-fetch)
15943 (uri (git-reference
15944 (url "https://github.com/dieggsy/evil-numbers")
15945 (commit commit)))
15946 (file-name (git-file-name name version))
15947 (sha256
15948 (base32
15949 "1aq95hj8x13py0pwsnc6wvd8cc5yv5qin8ym9js42y5966vwj4np"))))
15950 (build-system emacs-build-system)
15951 (home-page "https://github.com/dieggsy/evil-numbers")
15952 (synopsis "Increment and decrement numbers in Emacs")
15953 (description "This package increments and decrements binary, octal,
15954decimal and hex literals. It works like C-a/C-x in Vim, i.e. searches for
15955number up to EOL and then increments or decrements and keeps zero padding up
15956(unlike in Vim). When a region is active, as in Evil's visual mode, all the
15957numbers within that region will be incremented/decremented (unlike in Vim).
15958
15959It is a fork of https://github.com/cofi/evil-numbers, which is unmaintained.")
15960 (license license:gpl3+))))
59e72ac8
OP
15961
15962(define-public emacs-rotate-text
15963 (package
15964 (name "emacs-rotate-text")
15965 (version "0.1")
15966 (source (origin
15967 (method git-fetch)
15968 (uri (git-reference
15969 (url "https://github.com/nschum/rotate-text.el.git")
15970 (commit version)))
15971 (file-name (git-file-name name version))
15972 (sha256
15973 (base32
15974 "1cgxv4aibkvv6lnssynn0438a615fz3zq8hg9sb0lhfgsr99pxln"))))
15975 (build-system emacs-build-system)
15976 (home-page "http://nschum.de/src/emacs/rotate-text/")
15977 (synopsis "Cycle through words, symbols and patterns in Emacs")
15978 (description "@code{rotate-text} allows you rotate to commonly
15979interchanged text with a single keystroke. For example, you can toggle
15980between \"frame-width\" and \"frame-height\", between \"public\",
15981\"protected\" and \"private\" and between \"variable1\", \"variable2\" through
15982\"variableN\".")
15983 (license license:gpl2+)))
62f6f3bb 15984
15985(define-public emacs-ediprolog
15986 (package
15987 (name "emacs-ediprolog")
15988 (version "1.2")
15989 (source
15990 (origin
15991 (method url-fetch)
15992 (uri (string-append
15993 "https://elpa.gnu.org/packages/ediprolog-"
15994 version
15995 ".el"))
15996 (sha256
15997 (base32
15998 "039ffvp7c810mjyargmgw1i87g0z8qs8qicq826sd9aiz9hprfaz"))))
15999 (build-system emacs-build-system)
16000 (home-page "http://elpa.gnu.org/packages/ediprolog.html")
16001 (synopsis "Emacs Does Interactive Prolog")
16002 (description "This package provides a major mode that let the user
16003interact with SWI-Prolog in all buffers. For instance, one can consult Prolog
16004programs and evaluate embedded queries. This mode is focused on the command
16005@code{ediprolog-dwim} (Do What I Mean) which is supposed to, depending on the
16006context, carry out the appropriate action.")
16007 (license license:gpl3+)))
dcc3d403
LJ
16008
16009(define-public emacs-evil-cleverparens
16010 (let ((commit "8c45879d49bfa6d4e414b6c1df700a4a51cbb869")
16011 (revision "1"))
16012 (package
16013 (name "emacs-evil-cleverparens")
16014 (version (git-version "2017-07-17" revision commit))
16015 (source (origin
16016 (method git-fetch)
16017 (uri (git-reference
16018 (url "https://github.com/luxbock/evil-cleverparens.git")
16019 (commit commit)))
16020 (sha256 (base32 "0lhnybpnk4n2yhlcnj9zxn0vi5hpjfaqfhvyfy7ckzz74g8v7iyw"))
16021 (file-name (git-file-name name version))))
16022 (build-system emacs-build-system)
16023 (propagated-inputs
16024 `(("emacs-evil" ,emacs-evil)
16025 ("emacs-paredit" ,emacs-paredit)
16026 ("emacs-smartparens" ,emacs-smartparens)))
16027 (home-page "https://github.com/luxbock/evil-cleverparens")
16028 (synopsis "Emacs modal editing optimized for editing Lisp")
16029 (description "@code{evil-cleverparens} remaps Evil keybindings to allow
16030modal editing with screwing up the structure of Lisp code. Alternatives for
16031verb commands which would are normally destructive (such as deletion) are
16032provided. Those alternative commands are and bound by default to their
16033corresponding Evil keys.")
16034 (license license:expat))))
d92acd8a
JF
16035
16036(define-public emacs-xterm-color
16037 (let ((commit "a452ab38a7cfae97078062ff8885b5d74fd1e5a6")
16038 (version "1.8")
16039 (revision "1"))
16040 (package
16041 (name "emacs-xterm-color")
16042 (version (git-version version revision commit))
16043 (source (origin
16044 (method git-fetch)
16045 (uri (git-reference
16046 (url "https://github.com/atomontage/xterm-color.git")
16047 (commit commit)))
16048 (sha256
28353bd0
LC
16049 (base32
16050 "02kpajb993yshhjhsizpfcbrcndyzkf4dqfipifhxxng50dhp95i"))
16051 (file-name (git-file-name name version))))
d92acd8a
JF
16052 (build-system emacs-build-system)
16053 (home-page "https://github.com/atomontage/xterm-color")
16054 (synopsis "ANSI & xterm-256 color text property translator for Emacs")
28353bd0
LC
16055 (description "@code{xterm-color.el} is an ANSI control sequence to
16056text-property translator.")
d92acd8a 16057 (license license:bsd-2))))
576cb396
DD
16058
16059(define-public emacs-org-noter
16060 (package
16061 (name "emacs-org-noter")
16062 (version "1.3.0")
16063 (source
16064 (origin
16065 (method url-fetch)
16066 (uri (string-append
16067 "https://stable.melpa.org/packages/org-noter-"
16068 version
16069 ".el"))
16070 (sha256
16071 (base32
16072 "1hczwva73gsyanl1ldhdvql01gy0hy2g861yzkaklyb763sx58x4"))))
16073 (build-system emacs-build-system)
16074 (propagated-inputs `(("emacs-org" ,emacs-org)))
30825c46
LC
16075 (home-page "https://github.com/weirdNox/org-noter")
16076 (synopsis "Synchronized, Org-mode, document annotator")
576cb396 16077 (description
30825c46
LC
16078 "This package lets you create notes that are kept in sync when you
16079scroll through the document, but that are external to it---the notes
576cb396
DD
16080themselves live in an Org-mode file. As such, this leverages the power of
16081Org-mode (the notes may have outlines, latex fragments, babel, etc...) while
30825c46 16082acting like notes that are made @emph{in} the document.")
576cb396 16083 (license license:gpl3+)))