gnu: Add WireGuard.
[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>
eeb883cb
RW
8;;; Copyright © 2016, 2017, 2018 Chris Marusich <cmmarusich@gmail.com>
9;;; Copyright © 2015, 2016, 2018 Christopher Lemmer Webber <cwebber@dustycloud.org>
10;;; Copyright © 2016 Adriano Peluso <catonano@gmail.com>
11;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
12;;; Copyright © 2016 David Thompson <davet@gnu.org>
13;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
14;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
15;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
16;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
17;;; Copyright © 2016, 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
18;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
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>
29;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com>
30;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
31;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
32;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
33;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
82328c01 34;;; Copyright © 2017, 2018, 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
eeb883cb
RW
35;;; Copyright © 2018 Sohom Bhattacharjee <soham.bhattacharjee15@gmail.com>
36;;; Copyright © 2018 Mathieu Lirzin <mthl@gnu.org>
9830f1a2 37;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
eeb883cb
RW
38;;; Copyright © 2018, 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
39;;; Copyright © 2018 Jack Hill <jackhill@jackhill.us>
40;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
41;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com>
42;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
43;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
e3da630b 44;;; Copyright © 2018, 2019 Brett Gilio <brettg@posteo.net>
d97283c3 45;;; Copyright © 2019 Dimakakos Dimos <bendersteed@teknik.io>
eeb883cb
RW
46;;;
47;;; This file is part of GNU Guix.
48;;;
49;;; GNU Guix is free software; you can redistribute it and/or modify it
50;;; under the terms of the GNU General Public License as published by
51;;; the Free Software Foundation; either version 3 of the License, or (at
52;;; your option) any later version.
53;;;
54;;; GNU Guix is distributed in the hope that it will be useful, but
55;;; WITHOUT ANY WARRANTY; without even the implied warranty of
56;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
57;;; GNU General Public License for more details.
58;;;
59;;; You should have received a copy of the GNU General Public License
60;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
61
62(define-module (gnu packages emacs-xyz)
63 #:use-module ((guix licenses) #:prefix license:)
64 #:use-module (guix packages)
65 #:use-module (guix cvs-download)
66 #:use-module (guix download)
67 #:use-module (guix git-download)
68 #:use-module (guix build-system gnu)
69 #:use-module (guix build-system cmake)
70 #:use-module (guix build-system emacs)
71 #:use-module (guix build-system glib-or-gtk)
c010ec65 72 #:use-module (guix build-system perl)
eeb883cb
RW
73 #:use-module (guix build-system trivial)
74 #:use-module (gnu packages)
75 #:use-module (gnu packages admin)
76 #:use-module (gnu packages audio)
77 #:use-module (gnu packages bash)
78 #:use-module (gnu packages cmake)
79 #:use-module (gnu packages code)
80 #:use-module (gnu packages databases)
81 #:use-module (gnu packages emacs)
82 #:use-module (gnu packages guile)
83 #:use-module (gnu packages gtk)
84 #:use-module (gnu packages gnome)
85 #:use-module (gnu packages ncurses)
86 #:use-module (gnu packages python)
87 #:use-module (gnu packages python-xyz)
88 #:use-module (gnu packages tex)
89 #:use-module (gnu packages texinfo)
90 #:use-module (gnu packages tcl)
91 #:use-module (gnu packages tls)
92 #:use-module (gnu packages pkg-config)
93 #:use-module (gnu packages xorg)
94 #:use-module (gnu packages lesstif)
95 #:use-module (gnu packages llvm)
96 #:use-module (gnu packages image)
97 #:use-module (gnu packages linux)
c010ec65 98 #:use-module (gnu packages libevent)
eeb883cb
RW
99 #:use-module (gnu packages version-control)
100 #:use-module (gnu packages imagemagick)
101 #:use-module (gnu packages w3m)
102 #:use-module (gnu packages wget)
103 #:use-module (gnu packages autotools)
104 #:use-module (gnu packages base)
105 #:use-module (gnu packages compression)
106 #:use-module (gnu packages xml)
107 #:use-module (gnu packages glib)
108 #:use-module (gnu packages acl)
109 #:use-module (gnu packages mail)
110 #:use-module (gnu packages package-management)
111 #:use-module (gnu packages perl)
112 #:use-module (gnu packages pdf)
113 #:use-module (gnu packages scheme)
b8098cc6 114 #:use-module (gnu packages speech)
eeb883cb
RW
115 #:use-module (gnu packages xiph)
116 #:use-module (gnu packages mp3)
117 #:use-module (gnu packages gettext)
118 #:use-module (gnu packages fribidi)
119 #:use-module (gnu packages gd)
120 #:use-module (gnu packages fontutils)
121 #:use-module (gnu packages password-utils)
122 #:use-module (gnu packages pulseaudio)
123 #:use-module (gnu packages xdisorg)
124 #:use-module (gnu packages shells)
125 #:use-module (gnu packages sqlite)
126 #:use-module (gnu packages gnupg)
127 #:use-module (gnu packages video)
128 #:use-module (gnu packages haskell)
129 #:use-module (gnu packages wordnet)
130 #:use-module (guix utils)
131 #:use-module (srfi srfi-1)
132 #:use-module (ice-9 match))
133
134;;;
135;;; Emacs hacking.
136;;;
137
138(define-public emacs-geiser
139 (package
140 (name "emacs-geiser")
141 (version "0.10")
142 (source (origin
143 (method url-fetch)
144 (uri (string-append "mirror://savannah/geiser/" version
145 "/geiser-" version ".tar.gz"))
146 (sha256
147 (base32
148 "0pj3l7p8d60c9b4vfprnv6g5l61d74pls4b5dvd84cn4ky9mzwjv"))))
149 (build-system gnu-build-system)
150 (arguments
151 '(#:phases
152 (modify-phases %standard-phases
153 (add-after 'install 'post-install
154 (lambda* (#:key outputs #:allow-other-keys)
155 (symlink "geiser-install.el"
156 (string-append (assoc-ref outputs "out")
157 "/share/emacs/site-lisp/"
158 "geiser-autoloads.el"))
159 #t)))))
160 (inputs `(("guile" ,guile-2.2)))
161 (native-inputs `(("emacs" ,emacs-minimal)))
162 (home-page "https://nongnu.org/geiser/")
163 (synopsis "Collection of Emacs modes for Guile and Racket hacking")
164 (description
165 "Geiser is a collection of Emacs major and minor modes that conspire with
166one or more Scheme implementations to keep the Lisp Machine Spirit alive. The
167continuously running Scheme interpreter takes the center of the stage in
168Geiser. A bundle of Elisp shims orchestrates the dialog between the Scheme
169implementation, Emacs and, ultimately, the schemer, giving them access to live
170metadata.")
171 (license license:bsd-3)))
172
173(define-public geiser
174 (deprecated-package "geiser" emacs-geiser))
175
176(define-public emacs-paredit
177 (package
178 (name "emacs-paredit")
179 (version "24")
180 (source (origin
181 (method url-fetch)
182 (uri (string-append "http://mumble.net/~campbell/emacs/paredit-"
183 version ".el"))
184 (sha256
185 (base32
186 "0pp3n8q6kc70blqsaw0zlzp6bc327dpgdrjr0cnh7hqg1lras7ka"))))
187 (build-system emacs-build-system)
188 (home-page "http://mumble.net/~campbell/emacs/paredit/")
189 (synopsis "Emacs minor mode for editing parentheses")
190 (description
191 "ParEdit (paredit.el) is a minor mode for performing structured editing
192of S-expression data. The typical example of this would be Lisp or Scheme
193source code.
194
195ParEdit helps **keep parentheses balanced** and adds many keys for moving
196S-expressions and moving around in S-expressions. Its behavior can be jarring
197for those who may want transient periods of unbalanced parentheses, such as
198when typing parentheses directly or commenting out code line by line.")
199 (license license:gpl3+)))
200
201(define-public paredit
202 (deprecated-package "paredit" emacs-paredit))
203
204(define-public git-modes
205 (package
206 (name "emacs-git-modes")
207 (version "1.2.8")
208 (source (origin
8b9fab8f
EF
209 (method git-fetch)
210 (uri (git-reference
211 (url "https://github.com/magit/git-modes")
212 (commit version)))
213 (file-name (git-file-name name version))
eeb883cb
RW
214 (sha256
215 (base32
8b9fab8f 216 "08hy7rbfazs6grkpk54i82bz0i0c74zcjk96cip8970h6jn3mj72"))))
eeb883cb
RW
217 (build-system emacs-build-system)
218 (home-page "https://github.com/magit/git-modes")
219 (synopsis "Emacs major modes for Git configuration files")
220 (description
221 "This package provides Emacs major modes for editing various Git
222configuration files, such as .gitattributes, .gitignore, and .git/config.")
223 (license license:gpl3+)))
224
225(define-public git-modes/old-name
226 (deprecated-package "git-modes" git-modes))
227
228(define-public emacs-with-editor
229 (package
230 (name "emacs-with-editor")
231 (version "2.8.0")
232 (source (origin
233 (method git-fetch)
234 (uri (git-reference
235 (url "https://github.com/magit/with-editor.git")
236 (commit (string-append "v" version))))
237 (file-name (git-file-name name version))
238 (sha256
239 (base32
240 "1bbzvxnjpxqyvi808isld025b3pcidn4r2xf8hnk9bmzcfdvdr6q"))))
241 (build-system emacs-build-system)
242 (propagated-inputs
243 `(("emacs-dash" ,emacs-dash)))
244 (home-page "https://github.com/magit/with-editor")
245 (synopsis "Emacs library for using Emacsclient as EDITOR")
246 (description
247 "This package provides an Emacs library to use the Emacsclient as
248@code{$EDITOR} of child processes, making sure they know how to call home.
249For remote processes a substitute is provided, which communicates with Emacs
250on stdout instead of using a socket as the Emacsclient does.")
251 (license license:gpl3+)))
252
253(define-public emacs-magit
254 (package
255 (name "emacs-magit")
d49d0534 256 (version "2.13.1")
eeb883cb 257 (source (origin
d49d0534
EF
258 (method git-fetch)
259 (uri (git-reference
260 (url "https://github.com/magit/magit")
261 (commit version)))
262 (file-name (git-file-name name version))
eeb883cb
RW
263 (sha256
264 (base32
d49d0534 265 "1kmjjcvhcb21qi6kmrlhf92ync8va5l41n9ban8kj25h7dbqyiym"))))
eeb883cb
RW
266 (build-system gnu-build-system)
267 (native-inputs `(("texinfo" ,texinfo)
268 ("emacs" ,emacs-minimal)))
269 (inputs
270 `(("git" ,git)
271 ("perl" ,perl)))
272 (propagated-inputs
273 `(("dash" ,emacs-dash)
274 ("ghub" ,emacs-ghub)
ae848798
EF
275 ("graphql" ,emacs-graphql)
276 ("treepy" ,emacs-treepy)
eeb883cb
RW
277 ("magit-popup" ,emacs-magit-popup)
278 ("with-editor" ,emacs-with-editor)))
279 (arguments
280 `(#:test-target "test"
281 #:tests? #f ; tests are not included in the release
282
283 #:make-flags
284 (list (string-append "PREFIX=" %output)
285 ;; Don't put .el files in a sub-directory.
286 (string-append "lispdir=" %output "/share/emacs/site-lisp")
287 (string-append "DASH_DIR="
288 (assoc-ref %build-inputs "dash")
289 "/share/emacs/site-lisp/guix.d/dash-"
290 ,(package-version emacs-dash))
291 (string-append "GHUB_DIR="
292 (assoc-ref %build-inputs "ghub")
293 "/share/emacs/site-lisp/guix.d/ghub-"
294 ,(package-version emacs-ghub))
ae848798
EF
295 (string-append "GRAPHQL_DIR="
296 (assoc-ref %build-inputs "graphql")
297 "/share/emacs/site-lisp/guix.d/graphql-"
298 ,(package-version emacs-graphql))
299 (string-append "TREEPY_DIR="
300 (assoc-ref %build-inputs "treepy")
301 "/share/emacs/site-lisp/guix.d/treepy-"
302 ,(package-version emacs-treepy))
eeb883cb
RW
303 (string-append "MAGIT_POPUP_DIR="
304 (assoc-ref %build-inputs "magit-popup")
305 "/share/emacs/site-lisp/guix.d/magit-popup-"
306 ,(package-version emacs-magit-popup))
307 (string-append "WITH_EDITOR_DIR="
308 (assoc-ref %build-inputs "with-editor")
309 "/share/emacs/site-lisp/guix.d/with-editor-"
310 ,(package-version emacs-with-editor)))
311
312 #:phases
313 (modify-phases %standard-phases
314 (delete 'configure)
315 (add-before
316 'build 'patch-exec-paths
317 (lambda* (#:key inputs #:allow-other-keys)
318 (let ((perl (assoc-ref inputs "perl")))
319 (substitute* "lisp/magit-sequence.el"
320 (("perl") (string-append perl "/bin/perl")))
321 #t))))))
322 (home-page "https://magit.vc/")
323 (synopsis "Emacs interface for the Git version control system")
324 (description
325 "With Magit, you can inspect and modify your Git repositories with Emacs.
326You can review and commit the changes you have made to the tracked files, for
327example, and you can browse the history of past changes. There is support for
328cherry picking, reverting, merging, rebasing, and other common Git
329operations.")
330 (license license:gpl3+)))
331
332(define-public magit
333 (deprecated-package "magit" emacs-magit))
334
335(define-public emacs-magit-svn
336 (package
337 (name "emacs-magit-svn")
427530b9 338 (version "2.2.1")
eeb883cb 339 (source (origin
daa82371
EF
340 (method git-fetch)
341 (uri (git-reference
342 (url "https://github.com/magit/magit-svn")
343 (commit version)))
344 (file-name (git-file-name name version))
eeb883cb
RW
345 (sha256
346 (base32
427530b9 347 "01kcsc53q3mbhgjssjpby7ypnhqsr48rkl1xz3ahaypmlp929gl9"))))
eeb883cb 348 (build-system trivial-build-system)
daa82371 349 (native-inputs `(("emacs" ,emacs-minimal)))
eeb883cb 350 (propagated-inputs `(("dash" ,emacs-dash)
ff1d5478 351 ("ghub" ,emacs-ghub)
ae848798
EF
352 ("graphql" ,emacs-graphql)
353 ("treepy" ,emacs-treepy)
eeb883cb 354 ("with-editor" ,emacs-with-editor)
ff1d5478
EF
355 ("magit" ,emacs-magit)
356 ("magit-popup" ,emacs-magit-popup)))
eeb883cb
RW
357 (arguments
358 `(#:modules ((guix build utils)
359 (guix build emacs-utils))
360
361 #:builder
362 (begin
363 (use-modules (guix build utils)
364 (guix build emacs-utils))
365
daa82371
EF
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"))
ff1d5478
EF
370 (magit-popup (string-append (assoc-ref %build-inputs "magit-popup")
371 "/share/emacs/site-lisp/guix.d/magit-popup-"
372 ,(package-version emacs-magit-popup)))
373 (ghub (string-append (assoc-ref %build-inputs "ghub")
374 "/share/emacs/site-lisp/guix.d/ghub-"
375 ,(package-version emacs-ghub)))
ae848798
EF
376 (graphql (string-append (assoc-ref %build-inputs "graphql")
377 "/share/emacs/site-lisp/guix.d/graphql-"
378 ,(package-version emacs-graphql)))
379 (treepy (string-append (assoc-ref %build-inputs "treepy")
380 "/share/emacs/site-lisp/guix.d/treepy-"
381 ,(package-version emacs-treepy)))
daa82371
EF
382 (dash (string-append (assoc-ref %build-inputs "dash")
383 "/share/emacs/site-lisp/guix.d/dash-"
384 ,(package-version emacs-dash)))
385 (with-editor (string-append (assoc-ref %build-inputs "with-editor")
386 "/share/emacs/site-lisp/guix.d/with-editor-"
387 ,(package-version emacs-with-editor)))
388 (source (assoc-ref %build-inputs "source"))
389 (lisp-dir (string-append %output "/share/emacs/site-lisp")))
eeb883cb 390
daa82371 391 (install-file (string-append source "/magit-svn.el")
eeb883cb
RW
392 lisp-dir)
393
394 (with-directory-excursion lisp-dir
395 (parameterize ((%emacs emacs))
396 (emacs-generate-autoloads ,name lisp-dir)
397 (setenv "EMACSLOADPATH"
ff1d5478 398 (string-append ":" magit ":" magit-popup ":" ghub ":"
ae848798 399 ":" graphql ":" treepy ":" dash ":" with-editor))
eeb883cb
RW
400 (emacs-batch-eval '(byte-compile-file "magit-svn.el"))))
401 #t))))
402 (home-page "https://github.com/magit/magit-svn")
403 (synopsis "Git-SVN extension to Magit")
404 (description
405 "This package is an extension to Magit, the Git Emacs mode, providing
406support for Git-SVN.")
407 (license license:gpl3+)))
408
409(define-public magit-svn
410 (deprecated-package "magit-svn" emacs-magit-svn))
411
412(define-public emacs-magit-popup
413 (package
414 (name "emacs-magit-popup")
415 (version "2.12.5")
416 (source (origin
417 (method git-fetch)
418 (uri (git-reference
419 (url "https://github.com/magit/magit-popup.git")
420 (commit (string-append "v" version))))
421 (file-name (git-file-name name version))
422 (sha256
423 (base32
424 "13riknyqr6vxqll80sfhvz165flvdz367rbd0pr5slb01bnfsi2i"))))
425 (build-system emacs-build-system)
426 (arguments
427 `(#:phases
428 (modify-phases %standard-phases
429 (add-before 'install 'make-info
430 (lambda _
431 (invoke "make" "info"))))))
432 (native-inputs
433 `(("texinfo" ,texinfo)))
434 (propagated-inputs
435 `(("emacs-dash" ,emacs-dash)))
436 (home-page "https://github.com/magit/magit-popup")
437 (synopsis "Define prefix-infix-suffix command combos")
438 (description
439 "This library implements a generic interface for toggling switches and
440setting options and then invoking an Emacs command which does something with
441these arguments. The prototypical use is for the command to call an external
442process, passing on the arguments as command line arguments.")
443 (license license:gpl3+)))
444
445(define-public emacs-treepy
446 (package
447 (name "emacs-treepy")
448 (version "0.1.1")
449 (source (origin
450 (method git-fetch)
451 (uri (git-reference
452 (url "https://github.com/volrath/treepy.el.git")
453 (commit version)))
454 (file-name (git-file-name name version))
455 (sha256
456 (base32
457 "04zwm6gx9pxfvgfkizx6pvb1ql8pqxjyzqp8flz0432x0gq5nlxk"))))
458 (build-system emacs-build-system)
459 (home-page
460 "https://github.com/volrath/treepy.el")
461 (synopsis "Tree traversal tools")
462 (description
463 "Generic tools for recursive and iterative tree traversal based on
464clojure.walk and clojure.zip respectively.")
465 (license license:gpl3+)))
466
467(define-public emacs-graphql
468 (package
469 (name "emacs-graphql")
470 (version "0.1.1")
471 (source (origin
472 (modules '((guix build utils)))
473 ;; Remove examples file with references to external packages as
474 ;; they do not exist at compilation time.
475 (snippet
476 '(begin (delete-file "examples.el")
477 #t))
478 (method git-fetch)
479 (uri (git-reference
480 (url "https://github.com/vermiculus/graphql.el.git")
481 (commit version)))
482 (file-name (git-file-name name version))
483 (sha256
484 (base32
485 "0sp0skc1rnhi39szfbq1i99pdgd3bhn4c15cff05iqhjy2d4hniw"))))
486 (build-system emacs-build-system)
487 (home-page
488 "https://github.com/vermiculus/graphql.el")
489 (synopsis "GraphQL utilities")
490 (description
491 "GraphQL.el provides a generally-applicable domain-specific language for
492creating and executing GraphQL queries against your favorite web services.
493GraphQL is a data query language and runtime designed and used to request and
494deliver data to mobile and web apps.")
495 (license license:gpl3+)))
496
497(define-public emacs-ghub
498 (package
499 (name "emacs-ghub")
ae848798 500 (version "3.2.0")
eeb883cb 501 (source (origin
0c662875
EF
502 (method git-fetch)
503 (uri (git-reference
504 (url "https://github.com/magit/ghub")
505 (commit (string-append "v" version))))
506 (file-name (git-file-name name version))
eeb883cb
RW
507 (sha256
508 (base32
ae848798 509 "0lp52qygyavddl1lrgsyb6mq7hcf9h89dy2pzya3mb2va49f0vvl"))))
eeb883cb
RW
510 (build-system emacs-build-system)
511 (arguments
512 `(#:phases
513 (modify-phases %standard-phases
514 (add-before 'install 'make-info
515 (lambda _
516 (invoke "make" "info"))))))
517 (native-inputs
518 `(("texinfo" ,texinfo)))
ae848798
EF
519 (propagated-inputs
520 `(("dash" ,emacs-dash)
521 ("graphql" ,emacs-graphql)
522 ("treepy" ,emacs-treepy)))
eeb883cb 523 (home-page "https://github.com/magit/ghub")
ae848798 524 (synopsis "Emacs client libraries for the APIs of various Git forges")
eeb883cb 525 (description
ae848798
EF
526 "Ghub provides basic support for using the APIs of various Git forges from
527Emacs packages. It supports the REST APIs of Github, Github GraphQL, Gitlab,
528Gitea, Gogs and Bitbucket. It abstracts access to API resources using only a
529handful of functions that are not resource-specific.")
eeb883cb
RW
530 (license license:gpl3+)))
531
532(define-public emacs-scribble-mode
533 (let ((commit "34e9e5edb921813b6483e0fefa848efb6ee4b314")
534 (version "0.0")
535 (revision 0))
536 (package
537 (name "emacs-scribble-mode")
538 (version (if (zero? revision)
539 version
540 (string-append version "-"
541 (number->string revision)
542 "." (string-take commit 7))))
543 (source (origin
544 (method git-fetch)
545 (uri (git-reference
546 (url "https://github.com/emacs-pe/scribble-mode.git")
547 (commit commit)))
548 (sha256
549 (base32
550 "0598byqpz2q6yi2q4dwd77jj9z3n99z34d3an51s9m2za0nh1qvp"))))
551 (build-system emacs-build-system)
552 (home-page "https://github.com/emacs-pe/scribble-mode")
553 (synopsis "Emacs mode for editing the Scribble documentation syntax.")
554 (description
555 "This package provides basic syntax highlighting and editing support
556for editing Racket's Scribble documentation syntax in Emacs.")
557 (license license:gpl3+))))
558
559(define-public emacs-haskell-mode
560 (package
561 (name "emacs-haskell-mode")
562 (version "16.1")
563 (source (origin
f5350a07
EF
564 (method git-fetch)
565 (uri (git-reference
566 (url "https://github.com/haskell/haskell-mode")
567 (commit (string-append "v" version))))
568 (file-name (git-file-name name version))
eeb883cb 569 (sha256
f5350a07 570 (base32 "1qk36y0v9fzass6785il65c6wb5cfj4ihhwkvgnzmbafpa8p4dvq"))
eeb883cb
RW
571 (patches
572 (search-patches ; backport test failure fixes
573 "haskell-mode-unused-variables.patch"
574 "haskell-mode-make-check.patch"))))
575 (inputs
576 `(("emacs-el-search" ,emacs-el-search) ; for tests
577 ("emacs-stream" ,emacs-stream))) ; for tests
578 (propagated-inputs
579 `(("emacs-dash" ,emacs-dash)))
580 (native-inputs
581 `(("emacs" ,emacs-minimal)
582 ("texinfo" ,texinfo)))
583 (build-system gnu-build-system)
584 (arguments
585 `(#:make-flags (list (string-append "EMACS="
586 (assoc-ref %build-inputs "emacs")
587 "/bin/emacs"))
588 #:modules ((ice-9 match)
589 (srfi srfi-26)
590 ,@%gnu-build-system-modules)
591 #:phases
592 (modify-phases %standard-phases
593 (delete 'configure)
594 (add-before
595 'build 'pre-build
596 (lambda* (#:key inputs #:allow-other-keys)
597 (define (el-dir store-dir)
598 (match (find-files store-dir "\\.el$")
599 ((f1 f2 ...) (dirname f1))
600 (_ "")))
601
602 (let ((sh (string-append (assoc-ref inputs "bash") "/bin/sh")))
603 (define emacs-prefix? (cut string-prefix? "emacs-" <>))
604
605 (setenv "SHELL" "sh")
606 (setenv "EMACSLOADPATH"
607 (string-concatenate
608 (map (match-lambda
609 (((? emacs-prefix? name) . dir)
610 (string-append (el-dir dir) ":"))
611 (_ ""))
612 inputs)))
613 (substitute* (find-files "." "\\.el") (("/bin/sh") sh))
614 ;; embed filename to fix test failure
615 (let ((file "tests/haskell-cabal-tests.el"))
616 (substitute* file
617 (("\\(buffer-file-name\\)")
618 (format #f "(or (buffer-file-name) ~s)" file))))
619 #t)))
620 (replace
621 'install
622 (lambda* (#:key outputs #:allow-other-keys)
623 (let* ((out (assoc-ref outputs "out"))
624 (el-dir (string-append out "/share/emacs/site-lisp"))
625 (doc (string-append
626 out "/share/doc/haskell-mode-" ,version))
627 (info (string-append out "/share/info")))
628 (define (copy-to-dir dir files)
629 (for-each (lambda (f)
630 (install-file f dir))
631 files))
632
633 (with-directory-excursion "doc"
634 (invoke "makeinfo" "haskell-mode.texi")
635 (install-file "haskell-mode.info" info))
636 (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
637 (copy-to-dir el-dir (find-files "." "\\.elc?"))
638 ;; These are part of other packages.
639 (with-directory-excursion el-dir
640 (for-each delete-file '("dash.el" "ert.el")))
641 #t))))))
642 (home-page "https://github.com/haskell/haskell-mode")
643 (synopsis "Haskell mode for Emacs")
644 (description
645 "This is an Emacs mode for editing, debugging and developing Haskell
646programs.")
647 (license license:gpl3+)))
648
649(define-public haskell-mode
650 (deprecated-package "haskell-mode" emacs-haskell-mode))
651
652(define-public emacs-flycheck
653 (package
654 (name "emacs-flycheck")
655 (version "31")
656 (source (origin
657 (method url-fetch)
658 (uri (string-append
659 "https://github.com/flycheck/flycheck/releases/download/"
660 version "/flycheck-" version ".tar"))
661 (sha256
662 (base32
663 "01rnwan16m7cyyrfca3c5c60mbj2r3knkpzbhji2fczsf0wns240"))
664 (modules '((guix build utils)))
665 (snippet `(begin
666 ;; Change 'flycheck-version' so that it does not
667 ;; attempt to get its version from pkg-info.el.
668 (substitute* "flycheck.el"
669 (("\\(pkg-info-version-info 'flycheck\\)")
670 (string-append "\"" ,version "\"")))
671 #t))))
672 (build-system emacs-build-system)
673 (propagated-inputs
674 `(("emacs-dash" ,emacs-dash)))
675 (home-page "https://www.flycheck.org")
676 (synopsis "On-the-fly syntax checking")
677 (description
678 "This package provides on-the-fly syntax checking for GNU Emacs. It is a
679replacement for the older Flymake extension which is part of GNU Emacs, with
680many improvements and additional features.
681
682Flycheck provides fully-automatic, fail-safe, on-the-fly background syntax
683checking for over 30 programming and markup languages with more than 70
684different tools. It highlights errors and warnings inline in the buffer, and
685provides an optional IDE-like error list.")
686 (license license:gpl3+))) ;+GFDLv1.3+ for the manual
687
688(define-public emacs-a
689 (package
690 (name "emacs-a")
691 (version "0.1.1")
692 (source (origin
693 (method git-fetch)
694 (uri (git-reference
695 (url "https://github.com/plexus/a.el.git")
696 (commit (string-append "v" version))))
697 (file-name (git-file-name name version))
698 (sha256
699 (base32
700 "00v9w6qg3bkwdhypq0ssf0phdh0f4bcq59c20lngd6vhk0204dqi"))))
701 (build-system emacs-build-system)
702 (home-page "https://github.com/plexus/a.el/")
703 (synopsis
704 "Emacs library for dealing with association lists and hash tables")
705 (description "@code{emacs-a} provides Emacs Lisp functions for dealing
706with associative structures in a uniform and functional way. These functions
707can take association lists, hash tables, and in some cases vectors (where the
708index is considered the key).")
709 (license license:gpl3+)))
710
60ceff7e
NG
711(define-public emacs-anaphora
712 (package
713 (name "emacs-anaphora")
714 (version "1.0.4")
715 (source
716 (origin
717 (method git-fetch)
718 (uri (git-reference
719 (url "https://github.com/rolandwalker/anaphora.git")
720 (commit (string-append "v" version))))
721 (file-name (git-file-name name version))
722 (sha256
723 (base32
724 "11fgiy029sqz7nvdm7dcal95lacryz9zql0x5h05z48nrrcl4bib"))))
725 (build-system emacs-build-system)
726 (home-page "https://github.com/rolandwalker/anaphora/")
727 (synopsis "Anaphoric expressions for Emacs Lisp")
728 (description "@code{emacs-anaphora} implements anaphoric expressions for
729Emacs Lisp.
730
731Anaphoric expressions implicitly create one or more temporary variables which
732can be referred to during the expression. This technique can improve clarity
733in certain cases. It also enables recursion for anonymous functions.")
734 (license license:public-domain)))
735
eeb883cb
RW
736\f
737;;;
738;;; Web browsing.
739;;;
740
741(define-public emacs-w3m
742 ;; Emacs-w3m follows a "rolling release" model.
743 (package
744 (name "emacs-w3m")
745 (version "2018-11-11")
746 (source (origin
747 (method cvs-fetch)
748 (uri (cvs-reference
749 (root-directory
750 ":pserver:anonymous@cvs.namazu.org:/storage/cvsroot")
751 (module "emacs-w3m")
752 (revision version)))
753 (file-name (string-append name "-" version "-checkout"))
754 (sha256
755 (base32
756 "0nvahdbjs12zg7zsk4gql02mvnv56cf1rwj2f5p42lwp3xvswiwp"))))
757 (build-system gnu-build-system)
758 (native-inputs `(("autoconf" ,autoconf)
759 ("texinfo" ,texinfo)
760 ("emacs" ,emacs-minimal)))
761 (inputs `(("w3m" ,w3m)
762 ("imagemagick" ,imagemagick)))
763 (arguments
764 `(#:modules ((guix build gnu-build-system)
765 (guix build utils)
766 (guix build emacs-utils))
767 #:imported-modules (,@%gnu-build-system-modules
768 (guix build emacs-utils))
769 #:configure-flags
770 (let ((out (assoc-ref %outputs "out")))
771 (list (string-append "--with-lispdir="
772 out "/share/emacs/site-lisp")
773 (string-append "--with-icondir="
774 out "/share/images/emacs-w3m")
775 ;; Leave .el files uncompressed, otherwise GC can't
776 ;; identify run-time dependencies. See
777 ;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
778 "--without-compress-install"))
779 #:tests? #f ; no check target
780 #:phases
781 (modify-phases %standard-phases
782 (add-after 'unpack 'autoconf
783 (lambda _
784 (invoke "autoconf")))
785 (add-before 'configure 'support-emacs!
786 (lambda _
787 ;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
788 ;; unsupported.
789 (substitute* "configure"
790 (("EMACS_FLAVOR=unsupported")
791 "EMACS_FLAVOR=emacs"))
792 #t))
793 (add-before 'build 'patch-exec-paths
794 (lambda* (#:key inputs outputs #:allow-other-keys)
795 (let ((out (assoc-ref outputs "out"))
796 (w3m (assoc-ref inputs "w3m"))
797 (imagemagick (assoc-ref inputs "imagemagick"))
798 (coreutils (assoc-ref inputs "coreutils")))
799 (make-file-writable "w3m.el")
800 (emacs-substitute-variables "w3m.el"
801 ("w3m-command" (string-append w3m "/bin/w3m"))
802 ("w3m-touch-command"
803 (string-append coreutils "/bin/touch"))
804 ("w3m-icon-directory"
805 (string-append out "/share/images/emacs-w3m")))
806 (make-file-writable "w3m-image.el")
807 (emacs-substitute-variables "w3m-image.el"
808 ("w3m-imagick-convert-program"
809 (string-append imagemagick "/bin/convert"))
810 ("w3m-imagick-identify-program"
811 (string-append imagemagick "/bin/identify")))
812 #t)))
813 (replace 'install
814 (lambda* (#:key outputs #:allow-other-keys)
815 (invoke "make" "install" "install-icons")
816 (with-directory-excursion
817 (string-append (assoc-ref outputs "out")
818 "/share/emacs/site-lisp")
819 (for-each delete-file '("ChangeLog" "ChangeLog.1"))
820 (symlink "w3m-load.el" "w3m-autoloads.el")
821 #t))))))
822 (home-page "http://emacs-w3m.namazu.org/")
823 (synopsis "Simple Web browser for Emacs based on w3m")
824 (description
825 "Emacs-w3m is an emacs interface for the w3m web browser.")
826 (license license:gpl2+)))
827
828(define-public emacs-wget
829 (package
830 (name "emacs-wget")
831 (version "0.5.0")
832 (source (origin
833 (method url-fetch)
834 (uri (string-append "mirror://debian/pool/main/w/wget-el/wget-el_"
835 version ".orig.tar.gz"))
836 (sha256
837 (base32 "10byvyv9dk0ib55gfqm7bcpxmx2qbih1jd03gmihrppr2mn52nff"))))
838 (build-system gnu-build-system)
839 (inputs `(("wget" ,wget)))
840 (native-inputs `(("emacs" ,emacs-minimal)))
841 (arguments
842 `(#:modules ((guix build gnu-build-system)
843 (guix build utils)
844 (guix build emacs-utils))
845 #:imported-modules (,@%gnu-build-system-modules
846 (guix build emacs-utils))
847 #:tests? #f ; no check target
848 #:phases
849 (modify-phases %standard-phases
850 (replace 'configure
851 (lambda* (#:key outputs #:allow-other-keys)
852 (substitute* "Makefile"
853 (("/usr/local") (assoc-ref outputs "out"))
854 (("/site-lisp/emacs-wget") "/site-lisp"))
855 #t))
856 (add-before 'build 'patch-exec-paths
857 (lambda* (#:key inputs outputs #:allow-other-keys)
858 (let ((wget (assoc-ref inputs "wget")))
859 (emacs-substitute-variables "wget.el"
860 ("wget-command" (string-append wget "/bin/wget"))))
861 #t))
862 (add-after 'install 'post-install
863 (lambda* (#:key outputs #:allow-other-keys)
864 (emacs-generate-autoloads
865 "wget" (string-append (assoc-ref outputs "out")
866 "/share/emacs/site-lisp/"))
867 #t)))))
868 (home-page "http://www.emacswiki.org/emacs/EmacsWget")
869 (synopsis "Simple file downloader for Emacs based on wget")
870 (description
871 "Emacs-wget is an emacs interface for the wget file downloader.")
872 (license license:gpl2+)))
873
874\f
875;;;
876;;; Multimedia.
877;;;
878
879(define-public emacs-emms
880 (package
881 (name "emacs-emms")
882 (version "5.1")
883 (source (origin
884 (method url-fetch)
885 (uri (string-append "mirror://gnu/emms/emms-"
886 version ".tar.gz"))
887 (sha256
888 (base32
889 "149ddczyx6x10zn4mn8g0rll1rwf4yciv8x6j0qdnlbwszblx2x6"))
890 (modules '((guix build utils)))
891 (snippet
892 '(begin
893 (substitute* "Makefile"
894 (("/usr/bin/install-info")
895 ;; No need to use 'install-info' since it would create a
896 ;; useless 'dir' file.
897 "true")
898 (("^INFODIR=.*")
899 ;; Install Info files to $out/share/info, not $out/info.
900 "INFODIR := $(PREFIX)/share/info\n")
901 (("/site-lisp/emms")
902 ;; Install directly in share/emacs/site-lisp, not in a
903 ;; sub-directory.
904 "/site-lisp")
905 (("^all: (.*)\n" _ rest)
906 ;; Build 'emms-print-metadata'.
907 (string-append "all: " rest " emms-print-metadata\n")))
908 #t))))
909 (build-system gnu-build-system)
910 (arguments
911 `(#:modules ((guix build gnu-build-system)
912 (guix build utils)
913 (guix build emacs-utils)
914 (ice-9 ftw))
915 #:imported-modules (,@%gnu-build-system-modules
916 (guix build emacs-utils))
917
918 #:phases
919 (modify-phases %standard-phases
920 (replace 'configure
921 (lambda* (#:key inputs outputs #:allow-other-keys)
922 (let ((out (assoc-ref outputs "out"))
923 (flac (assoc-ref inputs "flac"))
924 (vorbis (assoc-ref inputs "vorbis-tools"))
925 (alsa (assoc-ref inputs "alsa-utils"))
926 (mpg321 (assoc-ref inputs "mpg321"))
927 (mp3info (assoc-ref inputs "mp3info"))
928 (opus (assoc-ref inputs "opus-tools")))
929 ;; Specify the installation directory.
930 (substitute* "Makefile"
931 (("PREFIX=.*$")
932 (string-append "PREFIX := " out "\n")))
933
934 (setenv "SHELL" (which "sh"))
935 (setenv "CC" "gcc")
936
937 ;; Specify the absolute file names of the various
938 ;; programs so that everything works out-of-the-box.
939 (with-directory-excursion "lisp"
940 (emacs-substitute-variables
941 "emms-player-mpg321-remote.el"
942 ("emms-player-mpg321-remote-command"
943 (string-append mpg321 "/bin/mpg321")))
944 (substitute* "emms-player-simple.el"
945 (("\"ogg123\"")
946 (string-append "\"" vorbis "/bin/ogg123\"")))
947 (substitute* "emms-player-simple.el"
948 (("\"mpg321\"")
949 (string-append "\"" mpg321 "/bin/mpg321\"")))
950 (emacs-substitute-variables "emms-info-ogginfo.el"
951 ("emms-info-ogginfo-program-name"
952 (string-append vorbis "/bin/ogginfo")))
953 (emacs-substitute-variables "emms-info-opusinfo.el"
954 ("emms-info-opusinfo-program-name"
955 (string-append opus "/bin/opusinfo")))
956 (emacs-substitute-variables "emms-info-libtag.el"
957 ("emms-info-libtag-program-name"
958 (string-append out "/bin/emms-print-metadata")))
959 (emacs-substitute-variables "emms-info-mp3info.el"
960 ("emms-info-mp3info-program-name"
961 (string-append mp3info "/bin/mp3info")))
962 (emacs-substitute-variables "emms-info-metaflac.el"
963 ("emms-info-metaflac-program-name"
964 (string-append flac "/bin/metaflac")))
965 (emacs-substitute-variables "emms-source-file.el"
966 ("emms-source-file-gnu-find" (which "find")))
967 (substitute* "emms-volume-amixer.el"
968 (("\"amixer\"")
969 (string-append "\"" alsa "/bin/amixer\"")))
970 (substitute* "emms-tag-editor.el"
971 (("\"mp3info\"")
972 (string-append "\"" mp3info "/bin/mp3info\"")))))))
973 (add-before 'install 'pre-install
974 (lambda* (#:key outputs #:allow-other-keys)
975 ;; The 'install' rule expects the target directories to exist.
976 (let* ((out (assoc-ref outputs "out"))
977 (bin (string-append out "/bin"))
978 (man1 (string-append out "/share/man/man1")))
979 (mkdir-p bin)
980 (mkdir-p man1)
981
982 ;; Ensure that files are not rejected by gzip
983 (let ((early-1980 315619200)) ; 1980-01-02 UTC
984 (ftw "." (lambda (file stat flag)
985 (unless (<= early-1980 (stat:mtime stat))
986 (utime file early-1980 early-1980))
987 #t)))
988 #t)))
989 (add-after 'install 'post-install
990 (lambda* (#:key outputs #:allow-other-keys)
991 (let ((out (assoc-ref outputs "out")))
992 (symlink "emms-auto.el"
993 (string-append out "/share/emacs/site-lisp/"
994 "emms-autoloads.el")))
995 #t)))
996 #:tests? #f))
997 (native-inputs `(("emacs" ,emacs-minimal) ;for (guix build emacs-utils)
998 ("texinfo" ,texinfo)))
999 (inputs `(("alsa-utils" ,alsa-utils)
1000 ("flac" ,flac) ;for metaflac
1001 ("vorbis-tools" ,vorbis-tools)
1002 ("mpg321" ,mpg321)
1003 ("taglib" ,taglib)
1004 ("mp3info" ,mp3info)
1005 ("opus-tools" ,opus-tools)))
1006 (properties '((upstream-name . "emms")))
1007 (synopsis "Emacs Multimedia System")
1008 (description
1009 "EMMS is the Emacs Multimedia System. It is a small front-end which
1010can control one of the supported external players. Thus, it supports
1011whatever formats are supported by your music player. It also
1012supports tagging and playlist management, all behind a clean and
1013light user interface.")
1014 (home-page "https://www.gnu.org/software/emms/")
1015 (license license:gpl3+)))
1016
1017(define-public emacs-emms-player-mpv
1018 ;; A new mpv backend is included in Emms from 5.0.
1019 (deprecated-package "emacs-emms-player-mpv" emacs-emms))
1020
1021(define-public emacs-emms-mode-line-cycle
1022 (package
1023 (name "emacs-emms-mode-line-cycle")
1024 (version "0.2.5")
1025 (source
1026 (origin
b2c08402
EF
1027 (method git-fetch)
1028 (uri (git-reference
1029 (url "https://github.com/momomo5717/emms-mode-line-cycle")
1030 (commit version)))
1031 (file-name (git-file-name name version))
eeb883cb
RW
1032 (sha256
1033 (base32
b2c08402 1034 "0q80f0plch6k4lhs8c9qm3mfycfbp3kn5sjrk9zxgxwnn901y9mp"))))
eeb883cb
RW
1035 (build-system emacs-build-system)
1036 (propagated-inputs
1037 `(("emms" ,emacs-emms)))
1038 (home-page "https://github.com/momomo5717/emms-mode-line-cycle")
1039 (synopsis "Display the EMMS mode line as a ticker")
1040 (description
1041 "This is a minor mode for updating the EMMS mode-line string cyclically
1042within a specified width. It is useful for displaying long track titles.")
1043 (license license:gpl3+)))
1044
1045\f
1046;;;
1047;;; Miscellaneous.
1048;;;
1049
1050(define-public emacs-bbdb
1051 (package
1052 (name "emacs-bbdb")
1053 (version "3.1.2")
1054 (source (origin
1055 (method url-fetch)
1056 (uri (string-append "mirror://savannah/bbdb/bbdb-"
1057 version ".tar.gz"))
1058 (sha256
1059 (base32
1060 "1gs16bbpiiy01w9pyg12868r57kx1v3hnw04gmqsmpc40l1hyy05"))
1061 (modules '((guix build utils)))
1062 (snippet
1063 ;; We don't want to build and install the PDF.
1064 '(begin
1065 (substitute* "doc/Makefile.in"
1066 (("^doc_DATA = .*$")
1067 "doc_DATA =\n"))
1068 #t))))
1069 (build-system gnu-build-system)
1070 (arguments
1071 '(#:phases
1072 (modify-phases %standard-phases
1073 (add-after 'install 'post-install
1074 (lambda* (#:key outputs #:allow-other-keys)
1075 ;; Add an autoloads file with the right name for guix.el.
1076 (let* ((out (assoc-ref outputs "out"))
1077 (site (string-append out "/share/emacs/site-lisp")))
1078 (with-directory-excursion site
1079 (symlink "bbdb-loaddefs.el" "bbdb-autoloads.el")))
1080 #t)))))
1081 (native-inputs `(("emacs" ,emacs-minimal)))
1082 (home-page "https://savannah.nongnu.org/projects/bbdb/")
1083 (synopsis "Contact management utility for Emacs")
1084 (description
1085 "BBDB is the Insidious Big Brother Database for GNU Emacs. It provides
1086an address book for email and snail mail addresses, phone numbers and the
1087like. It can be linked with various Emacs mail clients (Message and Mail
1088mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
1089 (license license:gpl3+)))
1090
1091(define-public bbdb
1092 (deprecated-package "bbdb" emacs-bbdb))
1093
1094(define-public emacs-aggressive-indent
1095 (package
1096 (name "emacs-aggressive-indent")
1097 (version "1.8.3")
1098 (source (origin
1099 (method url-fetch)
1100 (uri (string-append "https://elpa.gnu.org/packages/"
1101 "aggressive-indent-" version ".el"))
1102 (sha256
1103 (base32
1104 "0jnzccl50x0wapprgwxinp99pwwa6j43q6msn4gv437j7swy8wnj"))))
1105 (build-system emacs-build-system)
1106 (home-page "https://elpa.gnu.org/packages/aggressive-indent.html")
1107 (synopsis "Minor mode to aggressively keep your code always indented")
1108 (description
1109 "@code{aggressive-indent-mode} is a minor mode that keeps your code
1110always indented. It reindents after every change, making it more reliable
1111than @code{electric-indent-mode}.")
1112 (license license:gpl2+)))
1113
1114(define-public emacs-ag
1115 (package
1116 (name "emacs-ag")
1117 (version "0.47")
1118 (source (origin
1119 (method url-fetch)
1120 (uri (string-append
1121 "https://github.com/Wilfred/ag.el/archive/"
1122 version ".tar.gz"))
1123 (file-name (string-append name "-" version ".tar.gz"))
1124 (sha256
1125 (base32
1126 "1rlmp6wnyhqfg86dbz17r914msp58favn4kd4yrdwyia265a4lar"))))
1127 (build-system emacs-build-system)
1128 (arguments
1129 `(#:phases
1130 (modify-phases %standard-phases
1131 (add-before 'install 'make-info
1132 (lambda _
1133 (with-directory-excursion "docs"
1134 (invoke "make" "info"))))
1135 (add-after 'install 'install-info
1136 (lambda* (#:key outputs #:allow-other-keys)
1137 (let* ((out (assoc-ref outputs "out"))
1138 (info (string-append out "/share/info")))
1139 (install-file "docs/_build/texinfo/agel.info" info)
1140 #t))))))
1141 (native-inputs
1142 `(("python-sphinx" ,python-sphinx)
1143 ("texinfo" ,texinfo)))
1144 (propagated-inputs
1145 `(("dash" ,emacs-dash)
1146 ("s" ,emacs-s)
1147 ;; We need to use 'ag' as the executable on remote systems.
1148 ("the-silver-searcher" ,the-silver-searcher)))
1149 (home-page "https://github.com/Wilfred/ag.el")
1150 (synopsis "Front-end for ag (the-silver-searcher) for Emacs")
1151 (description "This package provides the ability to use the silver
1152searcher, a code searching tool, sometimes abbreviated to @code{ag}. Features
1153include version control system awareness, use of Perl compatible regular
1154expressions, editing the search results directly and searching file names
1155rather than the contents of files.")
1156 (license license:gpl3+)))
1157
1158(define-public emacs-async
1159 (package
1160 (name "emacs-async")
1161 (home-page "https://github.com/jwiegley/emacs-async")
1162 (version "1.9.3")
1163 (source (origin
1164 (method git-fetch)
1165 (uri (git-reference
1166 (url home-page)
1167 (commit (string-append "v" version))))
1168 (file-name (git-file-name name version))
1169 (sha256
1170 (base32
1171 "1zsnb6dy8p6y68xgidv3dfxaga4biramfw8fq7wac0sc50vc98vq"))))
1172 (build-system emacs-build-system)
1173 (synopsis "Asynchronous processing in Emacs")
1174 (description
1175 "This package provides the ability to call asynchronous functions and
1176processes. For example, it can be used to run dired commands (for copying,
1177moving, etc.) asynchronously using @code{dired-async-mode}. Also it is used
1178as a library for other Emacs packages.")
1179 (license license:gpl3+)))
1180
1181(define-public emacs-auctex
1182 (package
1183 (name "emacs-auctex")
1184 (version "12.1.0")
1185 (source
1186 (origin
1187 (method url-fetch)
1188 (uri (string-append
1189 "https://elpa.gnu.org/packages/auctex-"
1190 version
1191 ".tar"))
1192 (sha256
1193 (base32
1194 "0iy5x61xqkxaph2hq64sg50l1c6yp6qhzppwadayxkdz00b46sas"))))
1195 (build-system emacs-build-system)
1196 ;; We use 'emacs' because AUCTeX requires dbus at compile time
1197 ;; ('emacs-minimal' does not provide dbus).
1198 (arguments
1199 `(#:emacs ,emacs
1200 #:include '("\\.el$" "^images/" "^latex/" "\\.info$")
1201 #:exclude '("^tests/" "^latex/README")))
1202 (native-inputs
1203 `(("perl" ,perl)))
1204 (home-page "https://www.gnu.org/software/auctex/")
1205 (synopsis "Integrated environment for TeX")
1206 (description
1207 "AUCTeX is a comprehensive customizable integrated environment for
1208writing input files for TeX, LaTeX, ConTeXt, Texinfo, and docTeX using Emacs
1209or XEmacs.")
1210 (license license:gpl3+)))
1211
1212(define-public emacs-autothemer
1213 (package
1214 (name "emacs-autothemer")
1215 (version "0.2.2")
1216 (source
1217 (origin
1218 (method url-fetch)
1219 (uri (string-append "https://github.com/sebastiansturm/autothemer/archive/"
1220 version ".tar.gz"))
1221 (file-name (string-append name "-" version ".tar.gz"))
1222 (sha256
1223 (base32
1224 "0rd28r9wfrbll212am4ih9hrvypx785aff76va2cbfxdwm9kixsa"))))
1225 (build-system emacs-build-system)
1226 (propagated-inputs
1227 `(("emacs-dash" ,emacs-dash)))
1228 (home-page "https://github.com/sebastiansturm/autothemer")
1229 (synopsis "Conveniently create Emacs themes")
1230 (description
1231 "Autothemer provides a thin layer on top of @code{deftheme} and
1232@code{custom-theme-set-faces} that creates a new custom color theme, based on
1233a set of simplified face specifications and a user-supplied color palette")
1234 (license license:gpl3+)))
1235
1236(define-public emacs-howm
1237 (package
1238 (name "emacs-howm")
1239 (version "1.4.4")
1240 (source
1241 (origin
1242 (method url-fetch)
1243 (uri (string-append "http://howm.sourceforge.jp/a/howm-"
1244 version ".tar.gz"))
1245 (sha256
1246 (base32
1247 "0ddm91l6z58j7x59fa966j6q1rg4cinyza4r8ibg80hprn5h31qk"))))
1248 (build-system gnu-build-system)
1249 (native-inputs
1250 `(("emacs" ,emacs-minimal)))
1251 (arguments
1252 `(#:configure-flags
1253 (list (string-append "--with-howmdir=" %output
1254 "/share/emacs/site-lisp/guix.d/howm-" ,version))
1255 #:modules ((guix build gnu-build-system)
1256 ((guix build emacs-build-system) #:prefix emacs:)
1257 (guix build utils))
1258 #:imported-modules (,@%gnu-build-system-modules
1259 (guix build emacs-build-system)
1260 (guix build emacs-utils))
1261 #:phases
1262 (modify-phases %standard-phases
1263 (add-after 'install 'make-autoloads
1264 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1265 (home-page "http://howm.osdn.jp/")
1266 (synopsis "Note-taking tool for Emacs")
1267 (description "Howm is a note-taking tool for Emacs. Like
1268code@{emacs-wiki.el}, it facilitates using hyperlinks and doing full-text
1269searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
1270 (license license:gpl1+)))
1271
1272(define-public emacs-calfw
1273 (package
1274 (name "emacs-calfw")
1275 (version "1.6")
1276 (source
1277 (origin
1278 (method url-fetch)
1279 (uri (string-append
1280 "https://github.com/kiwanami/emacs-calfw/archive/v"
1281 version ".tar.gz"))
1282 (file-name (string-append name "-" version ".tar.gz"))
1283 (sha256
1284 (base32
1285 "1zr91xr0f1xfcv78yxka8vs5ximmq2ixmqf2pkb57kwwnxlypq4i"))))
1286 (build-system emacs-build-system)
1287 (propagated-inputs
1288 `(("emacs-howm" ,emacs-howm)))
1289 (home-page "https://github.com/kiwanami/emacs-calfw/")
1290 (synopsis "Calendar framework for Emacs")
1291 (description
1292 "This package displays a calendar view with various schedule data in the
1293Emacs buffer.")
1294 (license license:gpl3+)))
1295
1296(define-public emacs-direnv
1297 (package
1298 (name "emacs-direnv")
1299 (version "1.2.0")
1300 (source
1301 (origin
1302 (method url-fetch)
1303 (uri (string-append
1304 "https://github.com/wbolster/emacs-direnv/archive/"
1305 version ".tar.gz"))
1306 (file-name (string-append name "-" version ".tar.gz"))
1307 (sha256
1308 (base32
1309 "0m9nxawklhiiysyibzzhh2zkxgq1fskqvaqb06f7r8dnhabfy9fr"))))
1310 (build-system emacs-build-system)
1311 (propagated-inputs
1312 `(("dash" ,emacs-dash)
1313 ("with-editor" ,emacs-with-editor)))
1314 (home-page "https://github.com/wbolster/emacs-direnv")
1315 (synopsis "Direnv integration for Emacs")
1316 (description
1317 "This package provides support for invoking direnv to get the environment
1318for the current file and updating the environment within Emacs to match.
1319
1320Direnv can be invoked manually, and a global minor mode is included that will
1321update the environment when the active buffer changes.
1322
1323Using emacs-direnv means that programs started from Emacs will use the
1324environment set through Direnv.")
1325 (license license:gpl3+)))
1326
1327(define-public emacs-ggtags
1328 (package
1329 (name "emacs-ggtags")
1330 (version "0.8.13")
1331 (source
1332 (origin
1333 (method url-fetch)
1334 (uri (string-append "http://elpa.gnu.org/packages/ggtags-"
1335 version ".el"))
1336 (sha256
1337 (base32
1338 "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"))))
1339 (build-system emacs-build-system)
1340 (inputs
1341 `(("global" ,global)))
1342 (arguments
1343 `(#:phases
1344 (modify-phases %standard-phases
1345 (add-after 'unpack 'configure
1346 (lambda* (#:key inputs #:allow-other-keys)
1347 (chmod "ggtags.el" #o644)
1348 (emacs-substitute-variables "ggtags.el"
1349 ("ggtags-executable-directory"
1350 (string-append (assoc-ref inputs "global") "/bin")))
1351 #t)))))
1352 (home-page "https://github.com/leoliu/ggtags")
1353 (synopsis "Frontend to the GNU Global source code tagging system")
1354 (description "@code{ggtags} provides a frontend to the GNU Global source
1355code tagging system.
1356
1357Features:
1358
1359@itemize
1360@item Build on @code{compile.el} for asynchronicity and its large feature-set.
1361@item Automatically update Global's tag files when needed with tuning for
1362large source trees.
1363@item Intuitive navigation among multiple matches with mode-line display of
1364current match, total matches and exit status.
1365@item Read tag with completion.
1366@item Show definition at point.
1367@item Jump to #include files.
1368@item Support search history and saving a search to register/bookmark.
1369@item Query replace.
1370@item Manage Global's environment variables on a per-project basis.
1371@item Highlight (definition) tag at point.
1372@item Abbreviated display of file names.
1373@item Support all Global search backends: @code{grep}, @code{idutils}, etc.
1374@item Support exuberant ctags @url{http://ctags.sourceforge.net/} and
1375@code{pygments} backend.
1376@item Support all Global's output formats: @code{grep}, @code{ctags-x},
1377@code{cscope} etc.
1378@item Support projects on remote hosts (e.g. via @code{tramp}).
1379@item Support eldoc.
1380@item Search @code{GTAGSLIBPATH} for references and symbols.
1381@end itemize\n")
1382 (license license:gpl3+)))
1383
1384(define-public emacs-go-mode
1385 (package
1386 (name "emacs-go-mode")
1387 (version "1.5.0")
1388 (source (origin
1389 (method git-fetch)
1390 (uri (git-reference
1391 (url "https://github.com/dominikh/go-mode.el.git")
1392 (commit (string-append "v" version))))
1393 (file-name (git-file-name name version))
1394 (sha256
1395 (base32
1396 "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf"))))
1397 (build-system emacs-build-system)
1398 (arguments
1399 `(#:phases
1400 (modify-phases %standard-phases
1401 (add-after 'unpack 'make-writable
1402 (lambda _
1403 (for-each make-file-writable (find-files "." "\\.el$"))
1404 #t)))))
1405 (home-page "https://github.com/dominikh/go-mode.el")
1406 (synopsis "Go mode for Emacs")
1407 (description
1408 "This package provides go-mode, an Emacs mode for working with software
1409written in the Go programming language.")
1410 (license license:bsd-3)))
1411
1412(define-public emacs-google-maps
1413 (package
1414 (name "emacs-google-maps")
1415 (version "1.0.0")
1416 (source (origin
1417 (method url-fetch)
1418 (uri (string-append "https://github.com/jd/google-maps.el/"
1419 "archive/" version ".tar.gz"))
1420 (file-name (string-append name "-" version ".tar.gz"))
1421 (sha256
1422 (base32
1423 "014bxapm4d8vjxbzrfjdpsavxyfx981mlcb10aq5rmigr6il8ybs"))))
1424 (build-system emacs-build-system)
1425 (home-page "https://github.com/jd/google-maps.el")
1426 (synopsis "Access Google Maps from Emacs")
1427 (description "The @code{google-maps} package allows to display Google
1428Maps directly inside Emacs.")
1429 (license license:gpl3+)))
1430
1431(define-public emacs-graphviz-dot-mode
1432 (let ((commit "c456a2b65c734089e6c44e87209a5a432a741b1a")
1433 (revision "1"))
1434 (package
1435 (name "emacs-graphviz-dot-mode")
1436 (version (string-append "0.3.11-" revision "."
1437 (string-take commit 7)))
1438 (source (origin
1439 (method git-fetch)
1440 (uri (git-reference
1441 (url "https://github.com/ppareit/graphviz-dot-mode.git")
1442 (commit commit)))
1443 (file-name (string-append name "-" version "-checkout"))
1444 (sha256
1445 (base32
1446 "0j1r2rspaakw37b0mx7pwpvdsvixq9sw3xjbww5piihzpdxz58z1"))))
1447 (build-system emacs-build-system)
1448 (arguments
1449 `(#:phases
1450 (modify-phases %standard-phases
1451 (add-before 'install 'make-info
1452 (lambda* (#:key inputs #:allow-other-keys)
1453 (with-directory-excursion "texinfo"
1454 (substitute* "Makefile"
1455 (("\\/usr\\/bin\\/gzip")
1456 (string-append (assoc-ref inputs "gzip") "/bin/gzip")))
1457 (invoke "make"
1458 "clean"
1459 "info"
1460 (string-append "TEXINFODIR="
1461 (assoc-ref inputs "texinfo")
1462 "/bin")))))
1463 (add-after 'install 'install-info
1464 (lambda* (#:key outputs #:allow-other-keys)
1465 (let* ((out (assoc-ref outputs "out"))
1466 (info (string-append out "/share/info")))
1467 (install-file "texinfo/graphviz-dot-mode.info.gz" info)
1468 #t))))))
1469 (native-inputs
1470 `(("texinfo" ,texinfo)
1471 ("gzip" ,gzip)))
1472 (home-page "http://ppareit.github.com/graphviz-dot-mode")
1473 (synopsis "Major mode for editing Graphviz Dot files")
1474 (description
1475 "This Emacs packages helps you to create @file{.dot} or @file{.gv}
1476files using the dot syntax, and use Graphviz to convert these files to
1477diagrams.")
1478 (license license:gpl2+))))
1479
1480(define-public emacs-mmm-mode
1481 (package
1482 (name "emacs-mmm-mode")
1483 (version "0.5.5")
1484 (source
1485 (origin
1486 (method url-fetch)
1487 (uri (string-append
1488 "https://github.com/purcell/mmm-mode/archive/"
1489 version ".tar.gz"))
1490 (file-name (string-append name "-" version ".tar.gz"))
1491 (sha256
1492 (base32
1493 "0c5ing3hcr74k78hqhrfwiv6m3n8hqfrw89j2x34vf60f4iyqzqc"))))
1494 (build-system gnu-build-system)
1495 (arguments
1496 '(#:phases
1497 (modify-phases %standard-phases
1498 (add-after 'unpack 'autogen
1499 (lambda _
1500 (invoke "sh" "autogen.sh"))))))
1501 (native-inputs
1502 `(("autoconf" ,autoconf)
1503 ("automake" ,automake)
1504 ("emacs" ,emacs-minimal)
1505 ("texinfo" ,texinfo)))
1506 (home-page "https://github.com/purcell/mmm-mode")
1507 (synopsis "Allow multiple major modes in an Emacs buffer")
1508 (description
1509 "MMM Mode is a minor mode that allows multiple major modes to coexist in a
1510single buffer.")
1511 (license license:gpl3+)))
1512
1513(define-public emacs-tablist
1514 (package
1515 (name "emacs-tablist")
1516 (version "0.70")
1517 (source (origin
1518 (method url-fetch)
1519 (uri (string-append
1520 "https://github.com/politza/tablist/archive/v"
1521 version ".tar.gz"))
1522 (file-name (string-append name "-" version ".tar.gz"))
1523 (sha256
1524 (base32
1525 "177d6s7ym1mwz1nhnl09r14z3n093g9a2szm97xsaig0c204xz9c"))))
1526 (build-system emacs-build-system)
1527 (home-page "https://github.com/politza/tablist")
1528 (synopsis "Extension for @code{tabulated-list-mode}")
1529 (description "Tablist is the Emacs package that provides several
1530additional features to @code{tabulated-list-mode}: it adds marks,
1531filters, new key bindings and faces. It can be enabled by
1532@code{tablist-mode} or @code{tablist-minor-mode} commands.")
1533 (license license:gpl3+)))
1534
1535(define-public emacs-pdf-tools
1536 (package
1537 (name "emacs-pdf-tools")
2becddeb 1538 (version "0.90")
eeb883cb
RW
1539 (home-page "https://github.com/politza/pdf-tools")
1540 (source (origin
1541 (method git-fetch)
1542 (uri (git-reference (url home-page)
1543 (commit (string-append "v" version))))
1544 (file-name (git-file-name name version))
1545 (sha256
1546 (base32
2becddeb 1547 "0iv2g5kd14zk3r5dzdw7b7hk4b5w7qpbilcqkja46jgxbb6xnpl9"))))
eeb883cb
RW
1548 (build-system gnu-build-system)
1549 (arguments
2becddeb 1550 `(#:tests? #f ; there are no tests
eeb883cb
RW
1551 #:modules ((guix build gnu-build-system)
1552 ((guix build emacs-build-system) #:prefix emacs:)
1553 (guix build utils)
1554 (guix build emacs-utils))
1555 #:imported-modules (,@%gnu-build-system-modules
1556 (guix build emacs-build-system)
1557 (guix build emacs-utils))
1558 #:phases
1559 (modify-phases %standard-phases
1560 ;; Build server side using 'gnu-build-system'.
1561 (add-after 'unpack 'enter-server-dir
1562 (lambda _ (chdir "server") #t))
1563 (add-after 'enter-server-dir 'autogen
1564 (lambda _
1565 (invoke "bash" "autogen.sh")))
1566
1567 ;; Build emacs side using 'emacs-build-system'.
1568 (add-after 'compress-documentation 'enter-lisp-dir
1569 (lambda _ (chdir "../lisp") #t))
1570 (add-after 'enter-lisp-dir 'emacs-patch-variables
1571 (lambda* (#:key outputs #:allow-other-keys)
1572 (for-each make-file-writable (find-files "."))
1573
1574 ;; Set path to epdfinfo program.
1575 (emacs-substitute-variables "pdf-info.el"
1576 ("pdf-info-epdfinfo-program"
1577 (string-append (assoc-ref outputs "out")
1578 "/bin/epdfinfo")))
1579 ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto
1580 ;; upgrading" that pdf-tools tries to perform.
1581 (emacs-substitute-variables "pdf-tools.el"
1582 ("pdf-tools-handle-upgrades" '()))))
1583 (add-after 'emacs-patch-variables 'emacs-set-emacs-load-path
1584 (assoc-ref emacs:%standard-phases 'set-emacs-load-path))
1585 (add-after 'emacs-set-emacs-load-path 'emacs-install
1586 (assoc-ref emacs:%standard-phases 'install))
1587 (add-after 'emacs-install 'emacs-build
1588 (assoc-ref emacs:%standard-phases 'build))
1589 (add-after 'emacs-install 'emacs-make-autoloads
1590 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1591 (native-inputs `(("autoconf" ,autoconf)
1592 ("automake" ,automake)
1593 ("pkg-config" ,pkg-config)
1594 ("emacs" ,emacs-minimal)))
1595 (inputs `(("poppler" ,poppler)
1596 ("cairo" ,cairo)
1597 ("glib" ,glib)
1598 ("libpng" ,libpng)
1599 ("zlib" ,zlib)))
1600 (propagated-inputs `(("tablist" ,emacs-tablist)))
1601 (synopsis "Emacs support library for PDF files")
1602 (description
1603 "PDF Tools is, among other things, a replacement of DocView for PDF
1604files. The key difference is that pages are not pre-rendered by
1605e.g. ghostscript and stored in the file-system, but rather created on-demand
1606and stored in memory.")
1607 (license license:gpl3+)))
1608
1609(define-public emacs-dash
1610 (package
1611 (name "emacs-dash")
1612 (version "2.14.1")
1613 (source (origin
1614 (method git-fetch)
1615 (uri (git-reference
1616 (url "https://github.com/magnars/dash.el.git")
1617 (commit version)))
1618 (file-name (git-file-name name version))
1619 (sha256
1620 (base32
1621 "1kzijmjxjxgr7p8clphzvmm47vczckbs8mza9an77c25bn627ywl"))))
1622 (build-system emacs-build-system)
1623 (arguments
1624 `(#:tests? #t
1625 #:test-command '("./run-tests.sh")))
1626 (home-page "https://github.com/magnars/dash.el")
1627 (synopsis "Modern list library for Emacs")
1628 (description "This package provides a modern list API library for Emacs.")
1629 (license license:gpl3+)))
1630
1631(define-public emacs-bui
1632 (package
1633 (name "emacs-bui")
1634 (version "1.2.1")
1635 (source (origin
1636 (method git-fetch)
1637 (uri (git-reference
1638 (url "https://notabug.org/alezost/emacs-bui.git")
1639 (commit (string-append "v" version))))
1640 (file-name (string-append name "-" version "-checkout"))
1641 (sha256
1642 (base32
1643 "0sszdl4kvqbihdh8d7mybpp0d8yw2p3gyiipjcxz9xhvvmw3ww4x"))))
1644 (build-system emacs-build-system)
1645 (propagated-inputs
1646 `(("dash" ,emacs-dash)))
1647 (home-page "https://notabug.org/alezost/emacs-bui")
1648 (synopsis "Buffer interface library for Emacs")
1649 (description
1650 "BUI (Buffer User Interface) is a library for making @code{list} and
1651@code{info} interfaces to display an arbitrary data of the same
1652type, for example: packages, buffers, files, etc.")
1653 (license license:gpl3+)))
1654
1655(define-public emacs-guix
1656 (package
1657 (name "emacs-guix")
1658 (version "0.5.1.1")
1659 (source (origin
1660 (method url-fetch)
1661 (uri (string-append "https://emacs-guix.gitlab.io/website/"
1662 "releases/emacs-guix-" version ".tar.gz"))
1663 (sha256
1664 (base32
1665 "1gxg7lan3njc2yg2d02b2zij0d2cm2pv2q08nqz86s85jk3b6m03"))))
1666 (build-system gnu-build-system)
1667 (arguments
1668 `(#:configure-flags
1669 (let ((guix (assoc-ref %build-inputs "guix"))
1670 (gcrypt (assoc-ref %build-inputs "guile-gcrypt"))
1671 (geiser (assoc-ref %build-inputs "geiser"))
1672 (dash (assoc-ref %build-inputs "dash"))
1673 (bui (assoc-ref %build-inputs "bui"))
1674 (magit-popup (assoc-ref %build-inputs "magit-popup"))
1675 (edit-indirect (assoc-ref %build-inputs "edit-indirect"))
1676 (site-lisp "/share/emacs/site-lisp")
1677 (site-scm "/share/guile/site")
1678 (site-go "/lib/guile")
1679 (guile-dir (lambda (dir)
1680 (car (find-files dir
1681 (lambda (file stat)
1682 (string-prefix?
1683 "2." (basename file)))
1684 #:directories? #t)))))
1685 (list (string-append "--with-guix-site-dir="
1686 (guile-dir (string-append guix site-scm)))
1687 (string-append "--with-guix-site-ccache-dir="
1688 (guile-dir (string-append guix site-go))
1689 "/site-ccache")
1690 (string-append "--with-guile-gcrypt-site-dir="
1691 (guile-dir (string-append gcrypt site-scm)))
1692 (string-append "--with-guile-gcrypt-site-ccache-dir="
1693 (guile-dir (string-append gcrypt site-go))
1694 "/site-ccache")
1695 (string-append "--with-geiser-lispdir=" geiser site-lisp)
1696 (string-append "--with-dash-lispdir="
1697 dash site-lisp "/guix.d/dash-"
1698 ,(package-version emacs-dash))
1699 (string-append "--with-bui-lispdir="
1700 bui site-lisp "/guix.d/bui-"
1701 ,(package-version emacs-bui))
1702 (string-append "--with-editindirect-lispdir="
1703 edit-indirect site-lisp "/guix.d/edit-indirect-"
1704 ,(package-version emacs-edit-indirect))
1705 (string-append "--with-popup-lispdir="
1706 magit-popup site-lisp "/guix.d/magit-popup-"
1707 ,(package-version emacs-magit-popup))))))
1708 (native-inputs
1709 `(("pkg-config" ,pkg-config)
1710 ("emacs" ,emacs-minimal)))
1711 (inputs
1712 `(("guile" ,guile-2.2)
1713 ("guix" ,guix)))
1714 (propagated-inputs
1715 `(("geiser" ,emacs-geiser)
1716 ("guile-gcrypt" ,guile-gcrypt)
1717 ("dash" ,emacs-dash)
1718 ("bui" ,emacs-bui)
1719 ("edit-indirect" ,emacs-edit-indirect)
1720 ("magit-popup" ,emacs-magit-popup)))
1721 (home-page "https://emacs-guix.gitlab.io/website/")
1722 (synopsis "Emacs interface for GNU Guix")
1723 (description
1724 "Emacs-Guix provides a visual interface, tools and features for the GNU
1725Guix package manager. Particularly, it allows you to do various package
1726management tasks from Emacs. To begin with, run @code{M-x guix-about} or
1727@code{M-x guix-help} command.")
1728 (license license:gpl3+)))
1729
1730(define-public emacs-build-farm
1731 (package
1732 (name "emacs-build-farm")
1733 (version "0.2.2")
1734 (source (origin
1735 (method git-fetch)
1736 (uri (git-reference
1737 (url "https://notabug.org/alezost/emacs-build-farm.git")
1738 (commit (string-append "v" version))))
1739 (file-name (string-append name "-" version "-checkout"))
1740 (sha256
1741 (base32
1742 "0i0bwbav5861j2y15j9nd5m9rdqg9q97zgcbld8pivr9nyxy63lz"))))
1743 (build-system emacs-build-system)
1744 (propagated-inputs
1745 `(("bui" ,emacs-bui)
1746 ("magit-popup" ,emacs-magit-popup)))
1747 (home-page "https://notabug.org/alezost/emacs-build-farm")
1748 (synopsis "Emacs interface for Hydra and Cuirass build farms")
1749 (description
1750 "This Emacs package provides an interface for Hydra and
1751Cuirass (build farms used by Nix and Guix). It allows you to look at
1752various data related to the build farm projects, jobsets, builds and
1753evaluations. The entry point is @code{M-x build-farm} command.")
1754 (license license:gpl3+)))
1755
1756(define-public emacs-d-mode
1757 (package
1758 (name "emacs-d-mode")
1759 (version "2.0.9")
1760 (source (origin
1761 (method url-fetch)
1762 (uri (string-append
1763 "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode/"
1764 "archive/" version ".tar.gz"))
1765 (file-name (string-append name "-" version ".tar.gz"))
1766 (sha256
1767 (base32
1768 "127aa77ix3p7w4g339bx026df9y649dahlr3v359z0hs40zjz3kd"))))
1769 (build-system emacs-build-system)
1770 (propagated-inputs
1771 `(("emacs-undercover" ,emacs-undercover)))
1772 (home-page "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode")
1773 (synopsis "Emacs major mode for editing D code")
1774 (description "This package provides an Emacs major mode for highlighting
1775code written in the D programming language. This mode is currently known to
1776work with Emacs 24 and 25.")
1777 (license license:gpl2+)))
1778
1779(define-public emacs-keyfreq
1780 (package
1781 (name "emacs-keyfreq")
1782 (version "20160516.716")
1783 (source
1784 (origin
1785 (method url-fetch)
1786 (uri (string-append "http://melpa.org/packages/keyfreq-"
1787 version ".el"))
1788 (sha256
1789 (base32
1790 "008hd7d06qskc3mx0bbdgpgy2pwxr8185fzlyqf9qjg49y74p6g8"))))
1791 (build-system emacs-build-system)
1792 (home-page "https://github.com/dacap/keyfreq")
1793 (synopsis "Track Emacs command frequencies")
1794 (description "@code{emacs-keyfeq} tracks and shows how many times you used
1795a command.")
1796 (license license:gpl3+)))
1797
1798(define-public emacs-olivetti
1799 (package
1800 (name "emacs-olivetti")
1801 (version "1.5.7")
1802 (source (origin
1803 (method url-fetch)
1804 (uri (string-append
1805 "https://stable.melpa.org/packages/olivetti-"
1806 version ".el"))
1807 (sha256
1808 (base32
1809 "1yj2ylg46q0pw1xzlv2b0fv9x8p56x25284s9v2smwjr4vf0nwcj"))))
1810 (build-system emacs-build-system)
1811 (home-page "https://github.com/rnkn/olivetti")
1812 (synopsis "Emacs minor mode for a nice writing environment")
1813 (description "This package provides an Emacs minor mode that puts writing
1814in the center.")
1815 (license license:gpl3+)))
1816
1817(define-public emacs-undo-tree
1818 (package
1819 (name "emacs-undo-tree")
1820 (version "0.6.6")
1821 (source (origin
1822 (method git-fetch)
1823 (uri (git-reference
1824 (url "http://dr-qubit.org/git/undo-tree.git")
1825 (commit (string-append "release/" version))))
1826 (file-name (string-append name "-" version "-checkout"))
1827 (sha256
1828 (base32
1829 "1hnh2mnmw179gr094r561w6cw1haid0lpvpqvkc24wpj82vphzpa"))))
1830 (build-system emacs-build-system)
1831 (home-page "http://www.dr-qubit.org/emacs.php")
1832 (synopsis "Treat undo history as a tree")
1833 (description "Tree-like interface to Emacs undo system, providing
1834graphical tree presentation of all previous states of buffer that
1835allows easily move between them.")
1836 (license license:gpl3+)))
1837
1838(define-public emacs-s
1839 (package
1840 (name "emacs-s")
1841 (version "1.12.0")
1842 (source (origin
1843 (method url-fetch)
1844 (uri (string-append
1845 "https://github.com/magnars/s.el/archive/"
1846 version ".tar.gz"))
1847 (file-name (string-append name "-" version ".tar.gz"))
1848 (sha256
1849 (base32
1850 "0xbl75863pcm806zg0x1lw7qznzjq2c8320k8js7apyag8q4srvh"))))
1851 (build-system emacs-build-system)
1852 (arguments
1853 `(#:tests? #t
1854 #:emacs ,emacs ; FIXME: tests fail with emacs-minimal
1855 #:test-command '("./run-tests.sh")))
1856 (home-page "https://github.com/magnars/s.el")
1857 (synopsis "Emacs string manipulation library")
1858 (description "This package provides an Emacs library for manipulating
1859strings.")
1860 (license license:gpl3+)))
1861
1862(define-public emacs-symon
1863 (package
1864 (name "emacs-symon")
1865 (version "20160630")
1866 (source
1867 (origin
1868 (method url-fetch)
1869 (uri (string-append "https://github.com/zk-phi/symon/archive/"
1870 version ".tar.gz"))
1871 (file-name (string-append name "-" version ".tar.gz"))
1872 (sha256
1873 (base32
1874 "0h4jcgdnq98wc9rj72nwyazq8498yg55jfljiij5qwbn1xf1g5zz"))))
1875 (build-system emacs-build-system)
1876 (home-page "https://github.com/zk-phi/symon")
1877 (synopsis "Tiny graphical system monitor")
1878 (description
1879 "Tiny graphical system monitor for the Emacs minibuffer when idle.")
1880 (license license:gpl2+)))
1881
1882(define-public emacs-sx
1883 (let ((version "20180212")
1884 (revision "1")
1885 (commit "833435fbf90d1c9e927d165b155f3b1ef39271de"))
1886 (package
1887 (name "emacs-sx")
1888 (version (git-version version revision commit))
1889 (source
1890 (origin
1891 (method git-fetch)
1892 (uri (git-reference
1893 (url "https://github.com/vermiculus/sx.el")
1894 (commit commit)))
1895 (file-name (git-file-name name version))
1896 (sha256
1897 (base32
1898 "1369xaxq1vy3d9yh862ddnhddikdpg2d0wv1ly00pnvdp9v4cqgd"))))
1899 (build-system emacs-build-system)
1900 (propagated-inputs
1901 `(("emacs-markdown-mode" ,emacs-markdown-mode)))
1902 (home-page "https://github.com/vermiculus/sx.el")
1903 (synopsis "Emacs StackExchange client")
1904 (description
1905 "Emacs StackExchange client. Ask and answer questions on
1906Stack Overflow, Super User, and other StackExchange sites.")
1907 (license license:gpl3+))))
1908
1909(define-public emacs-f
1910 (package
1911 (name "emacs-f")
1912 (version "0.20.0")
1913 (source (origin
1914 (method git-fetch)
1915 (uri (git-reference
1916 (url "https://github.com/rejeep/f.el.git")
1917 (commit (string-append "v" version))))
1918 (file-name (git-file-name name version))
1919 (sha256
1920 (base32
1921 "1a47xk3yp1rp17fqg7ldl3d3fb888h0fz3sysqfdz1bfdgs8a9bk"))))
1922 (build-system emacs-build-system)
1923 (propagated-inputs
1924 `(("emacs-s" ,emacs-s)
1925 ("emacs-dash" ,emacs-dash)))
1926 (home-page "https://github.com/rejeep/f.el")
1927 (synopsis "Emacs API for working with files and directories")
1928 (description "This package provides an Emacs library for working with
1929files and directories.")
1930 (license license:gpl3+)))
1931
1932(define-public emacs-git-gutter
1933 (package
1934 (name "emacs-git-gutter")
1935 (version "0.90")
1936 (source (origin
1937 (method url-fetch)
1938 (uri (string-append
1939 "https://github.com/syohex/" name "/archive/"
1940 version ".tar.gz"))
1941 (file-name (string-append name "-" version ".tar.gz"))
1942 (sha256
1943 (base32
1944 "1nmhvhpq1l56mj2yq3ag23rw3x4xgnsy8szp30s26l0yjnkhc4qg"))))
1945 (build-system emacs-build-system)
1946 (home-page "https://github.com/syohex/emacs-git-gutter")
1947 (synopsis "See and manage hunks of text in a version control system")
1948 (description
1949 "This package is an Emacs minor mode for displaying and interacting with
1950hunks of text managed in a version control system. Added modified and deleted
1951areas can be indicated with symbols on the edge of the buffer, and commands
1952can be used to move between and perform actions on these hunks.
1953
1954Git, Mercurial, Subversion and Bazaar are supported, and many parts of the
1955display and behaviour is easily customisable.")
1956 (license license:gpl3+)))
1957
1958(define-public emacs-git-timemachine
1959 (package
1960 (name "emacs-git-timemachine")
1961 (version "4.5")
1962 (source
1963 (origin
1964 (method url-fetch)
1965 (uri (string-append "https://gitlab.com/pidu/git-timemachine"
1966 "/-/archive/" version
1967 "/git-timemachine-" version ".tar.gz"))
1968 (file-name (string-append name "-" version ".tar.gz"))
1969 (sha256
1970 (base32
1971 "0ii40qcincasg7s1yrvqcxkqcqzb4sfs7gcxscn6m4x4ans165zy"))))
1972 (build-system emacs-build-system)
1973 (home-page "https://gitlab.com/pidu/git-timemachine")
1974 (synopsis "Step through historic versions of Git-controlled files")
1975 (description "This package enables you to step through historic versions
1976of files under Git version control from within Emacs.")
1977 (license license:gpl3+)))
1978
1979(define-public emacs-minitest
1980 (let ((commit "1aadb7865c1dc69c201cecee275751ecec33a182")
1981 (revision "1"))
1982 (package
1983 (name "emacs-minitest")
1984 (version (git-version "0.8.0" revision commit))
1985 (source (origin
1986 (method git-fetch)
1987 (uri (git-reference
1988 (url "https://github.com/arthurnn/minitest-emacs")
1989 (commit commit)))
1990 (file-name (git-file-name name commit))
1991 (sha256
1992 (base32
1993 "1l18zqpdzbnqj2qawq8hj7z7pl8hr8z9d8ihy8jaiqma915hmhj1"))))
1994 (build-system emacs-build-system)
1995 (arguments
1996 '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include)
1997 #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude)))
1998 (propagated-inputs
1999 `(("emacs-dash" ,emacs-dash)
2000 ("emacs-f" ,emacs-f)))
2001 (home-page "https://github.com/arthurnn/minitest-emacs")
2002 (synopsis "Emacs minitest mode")
2003 (description
2004 "The minitest mode provides commands to run the tests for the current
2005file or line, as well as rerunning the previous tests, or all the tests for a
2006project.
2007
2008This package also includes relevant snippets for yasnippet.")
2009 (license license:expat))))
2010
2011(define-public emacs-el-mock
2012 (package
2013 (name "emacs-el-mock")
2014 (version "1.25.1")
2015 (source
2016 (origin
2017 (method url-fetch)
2018 (uri (string-append "https://github.com/rejeep/el-mock.el/"
2019 "archive/v" version ".tar.gz"))
2020 (file-name (string-append name "-" version ".tar.gz"))
2021 (sha256
2022 (base32
2023 "16xw94n58xxn3zvgyj72bmzs0k5lkvswjmzs79ws9n7rzdivb38b"))))
2024 (build-system emacs-build-system)
2025 (home-page "https://github.com/rejeep/el-mock.el")
2026 (synopsis "Tiny mock and stub framework in Emacs Lisp")
2027 (description
2028 "Emacs Lisp Mock is a library for mocking and stubbing using readable
2029syntax. Most commonly Emacs Lisp Mock is used in conjunction with Emacs Lisp
2030Expectations, but it can be used in other contexts.")
2031 (license license:gpl3+)))
2032
2033(define-public emacs-espuds
2034 (package
2035 (name "emacs-espuds")
2036 (version "0.3.3")
2037 (source
2038 (origin
2039 (method url-fetch)
2040 (uri (string-append "https://github.com/ecukes/espuds/"
2041 "archive/v" version ".tar.gz"))
2042 (file-name (string-append name "-" version ".tar.gz"))
2043 (sha256
2044 (base32
2045 "0xv551376pbmh735a3zjwc9z4qdx6ngj1vpq3xqjpn0a1rwjyn4k"))))
2046 (build-system emacs-build-system)
2047 (propagated-inputs
2048 `(("emacs-s" ,emacs-s)
2049 ("emacs-dash" ,emacs-dash)
2050 ("emacs-f" ,emacs-f)))
2051 (home-page "https://github.com/ecukes/espuds")
2052 (synopsis "Common step definitions for Ecukes")
2053 (description "Espuds is a collection of the most commonly used step
2054definitions for testing with the Ecukes framework.")
2055 (license license:gpl3+)))
2056
2057(define-public emacs-spark
2058 (let ((version "20160503") ; no proper tag, use date of commit
2059 (commit "0bf148c3ede3b31d56fd75f347cdd0b0eae60025")
2060 (revision "1"))
2061 (package
2062 (name "emacs-spark")
2063 (version (git-version version revision commit))
2064 (source
2065 (origin
2066 (method git-fetch)
2067 (uri (git-reference
2068 (url "https://github.com/alvinfrancis/spark.git")
2069 (commit commit)))
2070 (file-name (git-file-name name version))
2071 (sha256
2072 (base32
2073 "1ykqr86j17mi95s08d9fp02d7ych1331b04dcqxzxnmpkhwngyj1"))))
2074 (build-system emacs-build-system)
2075 (home-page "https://github.com/alvinfrancis/spark")
2076 (synopsis "Sparkline generation library for Emacs Lisp")
2077 (description "@code{emacs-spark} is a sparkline generation library for
2078Emacs Lisp. It generates a sparkline string given a list of numbers. It is a
2079port of @code{cl-spark} to Emacs Lisp.")
2080 (license license:expat))))
2081
2082(define-public emacs-es-mode
2083 (package
2084 (name "emacs-es-mode")
2085 (version "4.3.0")
2086 (source (origin
2087 (method url-fetch)
2088 (uri (string-append
2089 "https://github.com/dakrone/es-mode/archive/"
2090 version ".tar.gz"))
2091 (file-name (string-append name "-" version ".tar.gz"))
2092 (sha256
2093 (base32
2094 "0y86qdcb3g7fkcb4pzsjh3syzql6w3314hg1wqxq4a8bbk3y0cgr"))))
2095 (build-system emacs-build-system)
2096 (propagated-inputs
2097 ;; The version of org in Emacs 24.5 is not sufficient, and causes tables
2098 ;; to be rendered incorrectly
2099 `(("emacs-dash" ,emacs-dash)
2100 ("emacs-org" ,emacs-org)
2101 ("emacs-spark" ,emacs-spark)))
2102 (home-page "https://github.com/dakrone/es-mode")
2103 (synopsis "Major mode for editing Elasticsearch queries")
2104 (description "@code{es-mode} includes highlighting, completion and
2105indentation support for Elasticsearch queries. Also supported are
2106@code{es-mode} blocks in @code{org-mode}, for which the results of queries can
2107be processed through @code{jq}, or in the case of aggregations, can be
2108rendered in to a table. In addition, there is an @code{es-command-center}
2109mode, which displays information about Elasticsearch clusters.")
2110 (license license:gpl3+)))
2111
2112(define-public emacs-expand-region
2113 (package
2114 (name "emacs-expand-region")
2115 (version "0.11.0")
2116 (source
2117 (origin
2118 (method url-fetch)
2119 (uri (string-append "https://github.com/magnars/expand-region.el"
2120 "/archive/" version ".tar.gz"))
2121 (file-name (string-append name "-" version ".tar.gz"))
2122 (sha256
2123 (base32
2124 "08dy1f411sh9wwww53rjw80idcf3vpki6ba2arl4hl5jcw9651g0"))))
2125 (build-system emacs-build-system)
2126 (home-page "https://github.com/magnars/expand-region.el")
2127 (synopsis "Increase selected region by semantic units")
2128 (description
2129 "Expand region increases the selected region by semantic units. Just
2130keep pressing the key until it selects what you want. There's also
2131@code{er/contract-region} if you expand too far.")
2132 (license license:gpl3+)))
2133
2134(define-public emacs-fill-column-indicator
2135 (package
2136 (name "emacs-fill-column-indicator")
2137 (version "1.89")
2138 (source
2139 (origin
2140 (method url-fetch)
2141 (uri (string-append "https://github.com/alpaker/Fill-Column-Indicator"
2142 "/archive/v" version ".tar.gz"))
2143 (file-name (string-append name "-" version ".tar.gz"))
2144 (sha256
2145 (base32
2146 "09ab01np14bdcsr38xf95kpnvxzqr46mdjmphg3pigwnx39a3jvg"))))
2147 (build-system emacs-build-system)
2148 (home-page "https://www.emacswiki.org/emacs/FillColumnIndicator")
2149 (synopsis "Graphically indicate the fill column")
2150 (description
2151 "Fill-column-indicator graphically indicates the location of the fill
2152column by drawing a thin line down the length of the editing window.")
2153 (license license:gpl3+)))
2154
2155(define-public emacs-grep-a-lot
2156 (package
2157 (name "emacs-grep-a-lot")
2158 (version "1.0.7")
2159 (source (origin
2160 (method git-fetch)
2161 (uri (git-reference
2162 (url "https://github.com/ZungBang/emacs-grep-a-lot.git")
2163 (commit "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad")))
2164 (file-name (string-append name "-" version "-checkout"))
2165 (sha256
2166 (base32
2167 "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw"))))
2168 (build-system emacs-build-system)
2169 (home-page "https://github.com/ZungBang/emacs-grep-a-lot")
2170 (synopsis "Enables multiple grep buffers in Emacs")
2171 (description
2172 "This Emacs package allows managing multiple grep buffers.")
2173 (license license:gpl3+)))
2174
2175(define-public emacs-inf-ruby
2176 (package
2177 (name "emacs-inf-ruby")
2178 (version "2.5.1")
2179 (source
2180 (origin
2181 (method url-fetch)
2182 (uri (string-append "https://github.com/nonsequitur/inf-ruby/"
2183 "archive/" version ".tar.gz"))
2184 (file-name (string-append name "-" version ".tar.gz"))
2185 (sha256
2186 (base32
2187 "0m7323k649ckxql1grsdnf71bjhys7l4qb8wbpphb1mr1q8i4066"))))
2188 (build-system emacs-build-system)
2189 (home-page "https://github.com/nonsequitur/inf-ruby")
2190 (synopsis "Provides a REPL buffer connected to a Ruby subprocess in Emacs")
2191 (description
2192 "@code{inf-ruby} provides a Read Eval Print Loop (REPL) buffer, allowing
2193for easy interaction with a ruby subprocess. Features include support for
2194detecting specific uses of Ruby, e.g. when using rails, and using a
2195appropriate console.")
2196 (license license:gpl3+)))
2197
2198(define-public emacs-znc
2199 (package
2200 (name "emacs-znc")
2201 (version "0.0.2")
2202 (source
2203 (origin
2204 (method url-fetch)
2205 (uri (string-append "https://marmalade-repo.org/packages/znc-"
2206 version ".el"))
2207 (sha256
2208 (base32
2209 "1d8lqvybgyazin5z0g1c4l3rg1vzrrvf0saqs53jr1zcdg0lianh"))))
2210 (build-system emacs-build-system)
2211 (home-page "https://github.com/sshirokov/ZNC.el")
2212 (synopsis "Make ERC and ZNC get along better")
2213 (description
2214 "This is a thin wrapper around @code{erc} that enables one to use the ZNC
2215IRC bouncer with ERC.")
2216 (license license:expat)))
2217
2218(define-public emacs-shut-up
2219 (package
2220 (name "emacs-shut-up")
2221 (version "0.3.2")
2222 (source
2223 (origin
2224 (method url-fetch)
2225 (uri (string-append "https://github.com/cask/shut-up/"
2226 "archive/v" version ".tar.gz"))
2227 (file-name (string-append name "-" version ".tar.gz"))
2228 (sha256
2229 (base32
2230 "09kzrjdkb569iviyg7ydwq44yh84m3f9hkl7jizfrlk0w4gz67d1"))))
2231 (build-system emacs-build-system)
2232 (home-page "https://github.com/cask/shut-up")
2233 (synopsis "Silence Emacs")
2234 (description "This package silences most output of Emacs when running an
2235Emacs shell script.")
2236 (license license:expat)))
2237
2238(define-public emacs-undercover
2239 (package
2240 (name "emacs-undercover")
2241 (version "0.6.0")
2242 (source
2243 (origin
2244 (method url-fetch)
2245 (uri (string-append "https://github.com/sviridov/undercover.el/"
2246 "archive/v" version ".tar.gz"))
2247 (file-name (string-append name "-" version ".tar.gz"))
2248 (sha256
2249 (base32
2250 "0f48fi0xnbsqs382rgh85m9mq1wdnr0yib7as9xhwzvq0hsr5m0a"))))
2251 (build-system emacs-build-system)
2252 (propagated-inputs
2253 `(("emacs-dash" ,emacs-dash)
2254 ("emacs-shut-up" ,emacs-shut-up)))
2255 (home-page "https://github.com/sviridov/undercover.el")
2256 (synopsis "Test coverage library for Emacs Lisp")
2257 (description
2258 "Undercover is a test coverage library for software written in Emacs
2259Lisp.")
2260 (license license:expat)))
2261
2262(define-public emacs-paren-face
2263 (package
2264 (name "emacs-paren-face")
2265 (version "1.0.0")
2266 (source
2267 (origin
2268 (method url-fetch)
2269 (uri (string-append "https://github.com/tarsius/paren-face/archive/"
2270 version ".tar.gz"))
2271 (file-name (string-append name "-" version ".tar.gz"))
2272 (sha256
2273 (base32
2274 "0y4qrhxa9332vsvr999jg7qj1ymnfgwpf591yi4a4jgg90pm7qnn"))))
2275 (build-system emacs-build-system)
2276 (home-page "https://github.com/tarsius/paren-face")
2277 (synopsis "Face for parentheses in lisp modes")
2278 (description
2279 "This library defines a face named @code{parenthesis} used just for
2280parentheses. The intended purpose of this face is to make parentheses less
2281visible in Lisp code by dimming them. Lispers probably don't need to be
2282constantly made aware of the existence of the parentheses. Dimming them might
2283be even more useful for people new to lisp who have not yet learned to
2284subconsciously blend out the parentheses.")
2285 (license license:gpl3+)))
2286
2287(define-public emacs-page-break-lines
2288 (package
2289 (name "emacs-page-break-lines")
2290 (version "0.11")
2291 (source
2292 (origin
2293 (method url-fetch)
2294 (uri (string-append "https://github.com/purcell/page-break-lines/"
2295 "archive/" version ".tar.gz"))
2296 (file-name (string-append name "-" version ".tar.gz"))
2297 (sha256
2298 (base32
2299 "1zzhziq5kbrm9rxk30kx2glz455fp1blqxg8cpcf6l8xl3w8z4pg"))))
2300 (build-system emacs-build-system)
2301 (home-page "https://github.com/purcell/page-break-lines")
2302 (synopsis "Display page breaks as tidy horizontal lines")
2303 (description
2304 "This library provides a global mode which displays form feed characters
2305as horizontal rules.")
2306 (license license:gpl3+)))
2307
2308(define-public emacs-simple-httpd
2309 (package
2310 (name "emacs-simple-httpd")
2311 (version "1.4.6")
2312 (source
2313 (origin
2314 (method url-fetch)
2315 (uri (string-append "https://github.com/skeeto/emacs-web-server/"
2316 "archive/" version ".tar.gz"))
2317 (file-name (string-append name "-" version ".tar.gz"))
2318 (sha256
2319 (base32
2320 "01r7h3imnj4qx1m53a2wjafvbylcyz5f9r2rg2cs7ky3chlg220r"))))
2321 (build-system emacs-build-system)
2322 (home-page "https://github.com/skeeto/emacs-http-server")
2323 (synopsis "HTTP server in pure Emacs Lisp")
2324 (description
2325 "This package provides a simple HTTP server written in Emacs Lisp to
2326serve files and directory listings.")
2327 (license license:unlicense)))
2328
2329(define-public emacs-skewer-mode
2330 (package
2331 (name "emacs-skewer-mode")
2332 (version "1.6.2")
2333 (source
2334 (origin
2335 (method url-fetch)
2336 (uri (string-append "https://github.com/skeeto/skewer-mode/archive/"
2337 version ".tar.gz"))
2338 (file-name (string-append name "-" version ".tar.gz"))
2339 (sha256
2340 (base32
2341 "07jpz374j0j964szy3zznrkyja2kpdl3xa87wh7349mzxivqxdx0"))))
2342 (build-system emacs-build-system)
2343 (propagated-inputs
2344 `(("emacs-simple-httpd" ,emacs-simple-httpd)
2345 ("emacs-js2-mode" ,emacs-js2-mode)))
2346 (arguments '(#:include '("\\.el$" "\\.js$" "\\.html$")))
2347 (home-page "https://github.com/skeeto/skewer-mode")
2348 (synopsis "Live web development in Emacs")
2349 (description
2350 "Skewer-mode provides live interaction with JavaScript, CSS, and HTML in
2351a web browser. Expressions are sent on-the-fly from an editing buffer to be
2352evaluated in the browser, just like Emacs does with an inferior Lisp process
2353in Lisp modes.")
2354 (license license:unlicense)))
2355
2356(define-public emacs-string-inflection
2357 (package
2358 (name "emacs-string-inflection")
2359 (version "1.0.6")
2360 (source (origin
2361 (method git-fetch)
2362 (uri (git-reference
2363 (url "https://github.com/akicho8/string-inflection")
2364 (commit "a150e7bdda60b7824d3a936750ce23f73b0e4edd")))
2365 (file-name (string-append name "-" version "-checkout"))
2366 (sha256
2367 (base32
2368 "1k0sm552iawi49v4zis6dbb81d1rzgky9v0dpv7nj31gnb7bmy7k"))))
2369 (build-system emacs-build-system)
2370 (native-inputs
2371 `(("ert-runner" ,emacs-ert-runner)))
2372 (arguments
2373 `(#:tests? #t
2374 #:test-command '("ert-runner")))
2375 (home-page "https://github.com/akicho8/string-inflection")
2376 (synopsis "Convert symbol names between different naming conventions")
2377 (description
2378 "This Emacs package provides convenient methods for manipulating the
2379naming style of a symbol. It supports different naming conventions such as:
2380
2381@enumerate
2382@item camel case
2383@item Pascal case
2384@item all upper case
2385@item lower case separated by underscore
2386@item etc...
2387@end enumerate\n")
2388 (license license:gpl2+)))
2389
2390(define-public emacs-stripe-buffer
2391 (package
2392 (name "emacs-stripe-buffer")
2393 (version "0.2.5")
2394 (source
2395 (origin
2396 (method url-fetch)
2397 (uri (string-append "https://github.com/sabof/stripe-buffer/"
2398 "archive/" version ".tar.gz"))
2399 (file-name (string-append name "-" version ".tar.gz"))
2400 (sha256
2401 (base32
2402 "1p515dq7raly5hw94kiwm3vzsfih0d8af622q4ipvvljsm98aiik"))))
2403 (build-system emacs-build-system)
2404 (home-page "https://github.com/sabof/stripe-buffer/")
2405 (synopsis "Add stripes to list buffers")
2406 (description
2407 "This Emacs package adds faces to add stripes to list buffers and org
2408tables.")
2409 (license license:gpl2+)))
2410
2411(define-public emacs-rich-minority
2412 (package
2413 (name "emacs-rich-minority")
2414 (version "1.0.1")
2415 (source
2416 (origin
2417 (method url-fetch)
2418 (uri (string-append "https://github.com/Malabarba/rich-minority/"
2419 "archive/" version ".tar.gz"))
2420 (file-name (string-append name "-" version ".tar.gz"))
2421 (sha256
2422 (base32
2423 "1l0cb0q7kyi88nwfqd542psnkgwnjklpzc5rx32gzd3lkwkrbr8v"))))
2424 (build-system emacs-build-system)
2425 (home-page "https://github.com/Malabarba/rich-minority")
2426 (synopsis "Clean-up and beautify the list of minor modes")
2427 (description
2428 "This Emacs package hides and/or highlights minor modes in the
2429mode-line.")
2430 (license license:gpl2+)))
2431
2432(define-public emacs-robe
2433 (package
2434 (name "emacs-robe")
2435 (version "0.8.1")
2436 (source
2437 (origin
2438 (method url-fetch)
2439 (uri (string-append "https://github.com/dgutov/robe/"
2440 "archive/" version ".tar.gz"))
2441 (file-name (string-append name "-" version ".tar.gz"))
2442 (sha256
2443 (base32
2444 "1vp45y99fwj88z04ah4yppz4z568qcib646az6m9az5ar0f203br"))))
2445 (build-system emacs-build-system)
2446 (arguments
2447 '(#:include (cons "^lib\\/" %default-include)))
2448 (propagated-inputs
2449 `(("emacs-inf-ruby" ,emacs-inf-ruby)))
2450 (home-page "https://github.com/dgutov/robe")
2451 (synopsis "Ruby code assistance tool for Emacs")
2452 (description
2453 "Robe can provide information on loaded classes and modules in Ruby code,
2454as well as where methods are defined. This allows the user to jump to method
2455definitions, modules and classes, display method documentation and provide
2456method and constant name completion.")
2457 (license license:gpl3+)))
2458
2459(define-public emacs-rspec
2460 (package
2461 (name "emacs-rspec")
2462 (version "1.11")
2463 (source
2464 (origin
2465 (method url-fetch)
2466 (uri (string-append "https://github.com/pezra/rspec-mode/"
2467 "archive/v" version ".tar.gz"))
2468 (file-name (string-append name "-" version ".tar.gz"))
2469 (sha256
2470 (base32
2471 "1j0a7ms5516nlg60qfyn730pfxys6acm0rgyxh5xfkpi6jafgpvw"))))
2472 (build-system emacs-build-system)
2473 (home-page "https://github.com/pezra/rspec-mode")
2474 (synopsis "Provides a rspec mode for working with RSpec")
2475 (description
2476 "The Emacs RSpec mode provides keybindings for Ruby source files, e.g. to
2477verify the spec associated with the current buffer, or entire project, as well
2478as moving between the spec files, and coresponding code files.
2479
2480Also included are keybindings for spec files and Dired buffers, as well as
2481snippets for yasnippet.")
2482 (license license:gpl3+)))
2483
2484(define-public emacs-smart-mode-line
2485 (package
2486 (name "emacs-smart-mode-line")
2487 (version "2.12.0")
2488 (source
2489 (origin
2490 (method url-fetch)
2491 (uri (string-append "https://github.com/Malabarba/smart-mode-line/"
2492 "archive/" version ".tar.gz"))
2493 (file-name (string-append name "-" version ".tar.gz"))
2494 (sha256
2495 (base32
2496 "1hn8s6laijmg7w1bgwdfrki6h9vxkbgr8rmmssvd5yqyad5w2sba"))))
2497 (build-system emacs-build-system)
2498 (propagated-inputs
2499 `(("emacs-rich-minority" ,emacs-rich-minority)))
2500 (home-page "https://github.com/Malabarba/smart-mode-line")
2501 (synopsis "Color-coded smart mode-line")
2502 (description
2503 "Smart Mode Line is a mode-line theme for Emacs. It aims to be easy to
2504read from small to large monitors by using colors, a prefix feature, and smart
2505truncation.")
2506 (license license:gpl2+)))
2507
2508(define-public emacs-sr-speedbar
2509 (let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
2510 (revision "0"))
2511 (package
2512 (name "emacs-sr-speedbar")
2513 (version (git-version "20161025" revision commit))
2514 (source
2515 (origin
2516 (method git-fetch)
2517 (uri (git-reference
2518 (url "https://github.com/emacsorphanage/sr-speedbar.git")
2519 (commit commit)))
2520 (file-name (git-file-name name version))
2521 (sha256
2522 (base32
2523 "0sd12555hk7z721y00kv3crdybvcn1i08wmd148z5imayzibj153"))))
2524 (build-system emacs-build-system)
2525 (home-page "https://www.emacswiki.org/emacs/SrSpeedbar")
2526 (synopsis "Same frame Emacs @code{speedbar}")
2527 (description
2528 "This Emacs package allows you to show @code{M-x speedbar} in the
2529same frame (in an extra window). You can customize the initial width of
2530the speedbar window.")
2531 (license license:gpl3+))))
2532
2533(define-public emacs-shell-switcher
2534 (package
2535 (name "emacs-shell-switcher")
2536 (version "1.0.1")
2537 (source
2538 (origin
2539 (method url-fetch)
2540 (uri (string-append "https://github.com/DamienCassou/shell-switcher"
2541 "/archive/v" version ".tar.gz"))
2542 (file-name (string-append name "-" version ".tar.gz"))
2543 (sha256
2544 (base32
2545 "1c23mfkdqz2g9rixd9smm323vzlvhzz3ng34ambcqjfq309qb2nz"))))
2546 (build-system emacs-build-system)
2547 (home-page "https://github.com/DamienCassou/shell-switcher")
2548 (synopsis "Provide fast switching between shell buffers")
2549 (description
2550 "This package provides commands to quickly switch between shell buffers.")
2551 (license license:gpl3+)))
2552
2553(define-public emacs-ob-ipython
2554 (package
2555 (name "emacs-ob-ipython")
2556 (version "20150704.8807064693")
2557 (source (origin
2558 (method git-fetch)
2559 (uri (git-reference
2560 (commit "880706469338ab59b5bb7dbe8460016f89755364")
2561 (url "https://github.com/gregsexton/ob-ipython.git")))
2562 (file-name (string-append name "-" version "-checkout"))
2563 (sha256
2564 (base32
2565 "1scf25snbds9ymagpny30ijbsg479r3nm0ih01dy4m9d0g7qryb7"))))
2566 (build-system emacs-build-system)
2567 (propagated-inputs
2568 `(("emacs-f" ,emacs-f)))
2569 (home-page "http://www.gregsexton.org")
2570 (synopsis "Org-Babel functions for IPython evaluation")
2571 (description "This package adds support to Org-Babel for evaluating Python
2572source code using IPython.")
2573 (license license:gpl3+)))
2574
2575(define-public emacs-debbugs
2576 (package
2577 (name "emacs-debbugs")
2578 (version "0.16")
2579 (source (origin
2580 (method url-fetch)
2581 (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
2582 version ".tar"))
2583 (sha256
2584 (base32
2585 "0y3bq803c7820h15g66d1648skxfhlfa2v6vincj6xk5ssp44s9p"))))
2586 (build-system emacs-build-system)
2587 (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
2588 (propagated-inputs
2589 `(("emacs-async" ,emacs-async)))
2590 (home-page "https://elpa.gnu.org/packages/debbugs.html")
2591 (synopsis "Access the Debbugs bug tracker in Emacs")
2592 (description
2593 "This package lets you access the @uref{http://bugs.gnu.org,GNU Bug
2594Tracker} from within Emacs.
2595
2596For instance, it defines the command @code{M-x debbugs-gnu} for listing bugs,
2597and the command @code{M-x debbugs-gnu-search} for bug searching. If you
2598prefer the listing of bugs as TODO items of @code{org-mode}, you could use
2599@code{M-x debbugs-org} and related commands.
2600
2601A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
2602Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
2603 (license license:gpl3+)))
2604
2605(define-public emacs-ert-expectations
2606 (package
2607 (name "emacs-ert-expectations")
2608 (version "0.2")
2609 (source
2610 (origin
2611 (method url-fetch)
2612 (uri "https://www.emacswiki.org/emacs/download/ert-expectations.el")
2613 (sha256
2614 (base32
2615 "0cwy3ilsid90abzzjb7ha2blq9kmv3gfp3icwwfcz6qczgirq6g7"))))
2616 (build-system emacs-build-system)
2617 (home-page "https://www.emacswiki.org/emacs/ert-expectations.el")
2618 (synopsis "Simple unit test framework for Emacs Lisp")
2619 (description "@code{emacs-ert-expectations} is a simple unit test
2620framework for Emacs Lisp to be used with @code{ert}.")
2621 (license license:gpl3+)))
2622
2623(define-public emacs-deferred
2624 (package
2625 (name "emacs-deferred")
2626 (version "0.5.1")
2627 (home-page "https://github.com/kiwanami/emacs-deferred")
2628 (source (origin
2629 (method git-fetch)
2630 (uri (git-reference
2631 (url home-page)
2632 (commit (string-append "v" version))))
2633 (sha256
2634 (base32
2635 "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h"))
2636 (file-name (string-append name "-" version))))
2637 (build-system emacs-build-system)
2638 (arguments
2639 `(#:phases
2640 (modify-phases %standard-phases
2641 (add-after 'unpack 'set-shell
2642 ;; Setting the SHELL environment variable is required for the tests
2643 ;; to find sh.
2644 (lambda _
2645 (setenv "SHELL" (which "sh"))
2646 #t))
2647 (add-before 'check 'fix-makefile
2648 (lambda _
2649 (substitute* "Makefile"
2650 (("\\$\\(CASK\\) exec ") ""))
2651 #t)))
2652 #:tests? #t
2653 #:test-command '("make" "test")))
2654 (native-inputs
2655 `(("emacs-ert-expectations" ,emacs-ert-expectations)
2656 ("emacs-undercover" ,emacs-undercover)
2657 ("ert-runner" ,emacs-ert-runner)))
2658 (synopsis "Simple asynchronous functions for Emacs Lisp")
2659 (description
2660 "The @code{deferred.el} library provides support for asynchronous tasks.
2661The API is almost the same as that of
2662@uref{https://github.com/cho45/jsdeferred, JSDeferred}, a JavaScript library
2663for asynchronous tasks.")
2664 (license license:gpl3+)))
2665
2666(define-public emacs-butler
2667 (package
2668 (name "emacs-butler")
2669 (version "0.2.4")
2670 (home-page "https://github.com/AshtonKem/Butler")
2671 (source (origin
2672 (method git-fetch)
2673 (uri (git-reference
2674 (url home-page)
2675 (commit version)))
2676 (sha256
2677 (base32
2678 "1pii9dw4skq7nr4na6qxqasl36av8cwjp71bf1fgppqpcd9z8skj"))
2679 (file-name (string-append name "-" version))))
2680 (build-system emacs-build-system)
2681 (propagated-inputs
2682 `(("emacs-deferred" ,emacs-deferred)))
2683 (synopsis "Emacs client for Jenkins")
2684 (description
2685 "Butler provides an interface to connect to Jenkins continuous
2686integration servers. Users can specify a list of server in the
2687@code{butler-server-list} variable and then use @code{M-x butler-status} to
2688view the build status of those servers' build jobs, and possibly to trigger
2689build jobs.")
2690 (license license:gpl3+)))
2691
2692(define-public emacs-company
2693 (package
2694 (name "emacs-company")
2695 (version "0.9.7")
2696 (source
2697 (origin
2698 (method url-fetch)
2699 (uri (string-append "https://github.com/company-mode/company-mode/archive/"
2700 version ".tar.gz"))
2701 (file-name (string-append name "-" version ".tar.gz"))
2702 (sha256
2703 (base32
2704 "19flv38f2qhxda8lbk2ckywvibd72vbzmn4hchqz6d8acsknh4sb"))))
2705 (build-system emacs-build-system)
2706 (arguments
2707 `(#:phases
2708 (modify-phases %standard-phases
2709 (add-before 'check 'fix-bin-dir
2710 (lambda _
2711 ;; The company-files-candidates-normal-root test looks
2712 ;; for the /bin directory, but the build environment has
2713 ;; no /bin directory. Modify the test to look for the
2714 ;; /tmp directory.
2715 (substitute* "test/files-tests.el"
2716 (("/bin/") "/tmp/"))
2717 #t)))
2718 #:tests? #t
2719 #:test-command '("make" "test-batch")))
2720 (home-page "http://company-mode.github.io/")
2721 (synopsis "Modular text completion framework")
2722 (description
2723 "Company is a modular completion mechanism. Modules for retrieving
2724completion candidates are called back-ends, modules for displaying them are
2725front-ends. Company comes with many back-ends, e.g. @code{company-elisp}.
2726These are distributed in separate files and can be used individually.")
2727 (license license:gpl3+)))
2728
2729(define-public emacs-irony-mode
2730 (package
2731 (name "emacs-irony-mode")
2732 (version "1.2.0")
2733 (home-page "https://github.com/Sarcasm/irony-mode")
2734 (source (origin
2735 (method git-fetch)
2736 (uri (git-reference
2737 (url (string-append home-page ".git"))
2738 (commit (string-append "v" version))))
2739 (sha256
2740 (base32
2741 "0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8"))
2742 (file-name (string-append name "-" version ".tar.gz"))))
2743 (build-system emacs-build-system)
2744 (inputs `(("server" ,emacs-irony-mode-server)))
2745 (arguments `(#:phases
2746 (modify-phases %standard-phases
2747 (add-after 'unpack 'configure
2748 (lambda* (#:key inputs #:allow-other-keys)
2749 (chmod "irony.el" #o644)
2750 (emacs-substitute-variables "irony.el"
2751 ("irony-server-install-prefix"
2752 (assoc-ref inputs "server")))
2753 #t)))))
2754 (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
2755 (description "Irony-mode provides Clang-assisted syntax checking and
2756completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can
2757provide syntax checking and autocompletion on compiler level which is very
2758resistent against false positives. It also integrates well with other
2759packages like @code{eldoc-mode} and especially @code{company-mode} as
2760described on the homepage.")
2761 (license license:gpl3+)))
2762
2763(define-public emacs-irony-mode-server
2764 (package (inherit emacs-irony-mode)
2765 (name "emacs-irony-mode-server")
2766 (inputs
2767 `(("clang" ,clang)))
2768 (arguments
2769 `(#:phases
2770 (modify-phases %standard-phases
2771 (replace 'configure
2772 (lambda* (#:key outputs #:allow-other-keys)
2773 (let ((out (assoc-ref outputs "out")))
2774 (invoke "cmake"
2775 "server"
2776 (string-append "-DCMAKE_INSTALL_PREFIX=" out)) #t))))))
2777 (build-system cmake-build-system)
2778 (synopsis "Server for the Emacs @dfn{irony mode}")))
2779
2780(define-public emacs-company-irony
2781 (package
2782 (name "emacs-company-irony")
2783 (version "1.1.0")
2784 (source (origin
2785 (method git-fetch)
2786 (uri (git-reference
2787 (url "https://github.com/Sarcasm/company-irony.git")
2788 (commit (string-append "v" version))))
2789 (sha256 (base32
2790 "1qgyam2vyjw90kpxns5cd6bq3qiqjhzpwrlvmi18vyb69qcgqd8a"))
2791 (file-name (git-file-name name version))))
2792 (build-system emacs-build-system)
2793 (inputs
2794 `(("emacs-irony-mode" ,emacs-irony-mode)
2795 ("emacs-company" ,emacs-company)))
2796 (synopsis "C++ completion backend for Company using irony-mode")
2797 (description "This backend for company-mode allows for C++ code completion
2798with irony-mode using clang-tooling.")
2799 (home-page "https://github.com/Sarcasm/company-irony")
2800 (license license:gpl3+)))
2801
2802(define-public emacs-flycheck-irony
2803 (package
2804 (name "emacs-flycheck-irony")
2805 (version "0.1.0")
2806 (source (origin
2807 (method git-fetch)
2808 (uri (git-reference
2809 (url "https://github.com/Sarcasm/flycheck-irony.git")
2810 (commit (string-append "v" version))))
2811 (sha256
2812 (base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996"))
2813 (file-name (string-append name "-" version))))
2814 (build-system emacs-build-system)
2815 (inputs
2816 `(("irony-mode" ,emacs-irony-mode)
2817 ("flycheck-mode" ,emacs-flycheck)
2818 ("emacs-company" ,emacs-company)))
2819 (synopsis "Live syntax checking frontend for Flycheck using irony-mode")
2820 (description "This package provides a frontend for Flycheck that lets
2821irony-mode do the syntax checking.")
2822 (home-page "https://github.com/Sarcasm/flycheck-irony")
2823 (license license:gpl3+)))
2824
2825(define-public emacs-irony-eldoc
2826 (package
2827 (name "emacs-irony-eldoc")
2828 (version (package-version emacs-irony-mode))
2829 (source
2830 (origin
2831 (method git-fetch)
2832 (uri (git-reference
2833 (url "https://github.com/ikirill/irony-eldoc.git")
2834 (commit "0df5831eaae264a25422b061eb2792aadde8b3f2")))
2835 (sha256 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd"))
2836 (file-name (string-append name "-" version))))
2837 (build-system emacs-build-system)
2838 (inputs
2839 `(("irony-mode" ,emacs-irony-mode)))
2840 (synopsis "Eldoc integration for irony-mode")
2841 (description "Irony-eldoc is an eldoc extension that shows documentation
2842for the current function or variable in the minibuffer.")
2843 (home-page "https://github.com/ikirill/irony-eldoc")
2844 (license license:gpl3+)))
2845
2846(define-public emacs-company-quickhelp
2847 (package
2848 (name "emacs-company-quickhelp")
2849 (version "2.3.0")
2850 (source
2851 (origin
2852 (method url-fetch)
2853 (uri (string-append
2854 "https://github.com/expez/company-quickhelp/archive/"
2855 version ".tar.gz"))
2856 (file-name (string-append name "-" version ".tar.gz"))
2857 (sha256
2858 (base32
2859 "0xrn2z1dgk5gmkmp2jkn9g83ckk39lqp5pyyv8rl7f6gqvib3qh0"))))
2860 (build-system emacs-build-system)
2861 (propagated-inputs
2862 `(("emacs-pos-tip" ,emacs-pos-tip)
2863 ("emacs-company" ,emacs-company)))
2864 (home-page "https://github.com/expez/company-quickhelp")
2865 (synopsis "Popup documentation for completion candidates")
2866 (description "@code{company-quickhelp} shows documentation for the
2867completion candidate when using the Company text completion framework.")
2868 (license license:gpl3+)))
2869
2870(define-public emacs-multiple-cursors
2871 (package
2872 (name "emacs-multiple-cursors")
2873 (version "1.4.0")
2874 (source
2875 (origin
2876 (method url-fetch)
2877 (uri (string-append "https://github.com/magnars/multiple-cursors.el/"
2878 "archive/" version ".tar.gz"))
2879 (file-name (string-append name "-" version ".tar.gz"))
2880 (sha256
2881 (base32
2882 "0hihihlvcvzayg5fnqzcg45fhvlmq6xlq58syy00rjwbry9w389k"))))
2883 (build-system emacs-build-system)
2884 (home-page "https://github.com/magnars/multiple-cursors.el")
2885 (synopsis "Multiple cursors for Emacs")
2886 (description
2887 "This package adds support to Emacs for editing text with multiple
2888simultaneous cursors.")
2889 (license license:gpl3+)))
2890
2891(define-public emacs-typo
2892 (package
2893 (name "emacs-typo")
2894 (version "1.1")
2895 (home-page "https://github.com/jorgenschaefer/typoel")
2896 (source (origin
2897 (method git-fetch)
2898 (uri (git-reference
2899 (url home-page)
2900 (commit (string-append "v" version))))
2901 (sha256
2902 (base32
2903 "1jhd4grch5iz12gyxwfbsgh4dmz5hj4bg4gnvphccg8dsnni05k2"))
2904 (file-name (string-append name "-" version))))
2905 (build-system emacs-build-system)
2906 (synopsis "Minor mode for typographic editing")
2907 (description
2908 "This package provides two Emacs modes, @code{typo-mode} and
2909@code{typo-global-mode}. These modes automatically insert Unicode characters
2910for quotation marks, dashes, and ellipses. For example, typing @kbd{\"}
2911automatically inserts a Unicode opening or closing quotation mark, depending
2912on context.")
2913 (license license:gpl3+)))
2914
2915(define-public emacs-scheme-complete
2916 (let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5"))
2917 (package
2918 (name "emacs-scheme-complete")
2919 (version (string-append "20151223." (string-take commit 8)))
2920 (source
2921 (origin
2922 (file-name (string-append name "-" version))
2923 (method git-fetch)
2924 (uri (git-reference
2925 (url "https://github.com/ashinn/scheme-complete.git")
2926 (commit commit)))
2927 (sha256
2928 (base32
2929 "141wn9l0m33w0g3dqmx8nxbfdny1r5xbr6ak61rsz21bk0qafs7x"))
2930 (patches
2931 (search-patches "emacs-scheme-complete-scheme-r5rs-info.patch"))))
2932 (build-system emacs-build-system)
2933 (home-page "https://github.com/ashinn/scheme-complete")
2934 (synopsis "Smart tab completion for Scheme in Emacs")
2935 (description
2936 "This file provides a single function, @code{scheme-smart-complete},
2937which you can use for intelligent, context-sensitive completion for any Scheme
2938implementation in Emacs. To use it just load this file and bind that function
2939to a key in your preferred mode.")
2940 (license license:public-domain))))
2941
2942(define-public emacs-scel
2943 (let ((version "20170629")
2944 (revision "1")
2945 (commit "aeea3ad4be9306d14c3a734a4ff54fee10ac135b"))
2946 (package
2947 (name "emacs-scel")
2948 (version (git-version version revision commit))
2949 (source
2950 (origin
2951 (method git-fetch)
2952 (uri (git-reference
2953 (url "https://github.com/supercollider/scel.git")
2954 (commit commit)))
2955 (file-name (string-append name "-" version "-checkout"))
2956 (sha256
2957 (base32
2958 "0jvmzs1lsjyndqshhii2y4mnr3wghai26i3p75453zrpxpg0zvvw"))))
2959 (build-system emacs-build-system)
2960 (arguments
2961 `(#:modules ((guix build emacs-build-system)
2962 ((guix build cmake-build-system) #:prefix cmake:)
2963 (guix build utils))
2964 #:imported-modules (,@%emacs-build-system-modules
2965 (guix build cmake-build-system))
2966 #:phases
2967 (modify-phases %standard-phases
2968 (add-after 'unpack 'configure
2969 (lambda* (#:key outputs #:allow-other-keys)
2970 (substitute* "el/CMakeLists.txt"
2971 (("share/emacs/site-lisp/SuperCollider")
2972 (string-append
2973 "share/emacs/site-lisp/guix.d/scel-" ,version)))
2974 ((assoc-ref cmake:%standard-phases 'configure)
2975 #:outputs outputs
2976 #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF"))))
2977 (add-after 'set-emacs-load-path 'add-el-dir-to-emacs-load-path
2978 (lambda _
2979 (setenv "EMACSLOADPATH"
2980 (string-append (getcwd) "/el:" (getenv "EMACSLOADPATH")))
2981 #t))
2982 (replace 'install (assoc-ref cmake:%standard-phases 'install)))))
2983 (inputs
2984 `(("supercollider" ,supercollider)))
2985 (native-inputs
2986 `(("cmake" ,cmake)))
2987 (home-page "https://github.com/supercollider/scel")
2988 (synopsis "SuperCollider Emacs interface")
2989 (description "@code{emacs-scel} is an Emacs interface to SuperCollider.
2990SuperCollider is a platform for audio synthesis and algorithmic composition.")
2991 (license license:gpl2+))))
2992
2993(define-public emacs-mit-scheme-doc
2994 (package
2995 (name "emacs-mit-scheme-doc")
2996 (version "20140203")
2997 (source
2998 (origin
2999 (modules '((guix build utils)))
3000 (snippet
3001 ;; keep only file of interest
3002 '(begin
3003 (for-each delete-file '("dot-emacs.el" "Makefile"))
3004 (install-file "6.945-config/mit-scheme-doc.el" ".")
3005 (delete-file-recursively "6.945-config")
3006 #t))
3007 (file-name (string-append name "-" version ".tar.bz2"))
3008 (method url-fetch)
3009 (uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/"
3010 "6.945/dont-panic/emacs-basic-config.tar.bz2"))
3011 (sha256
3012 (base32
3013 "0dqidg2bd66pawqfarvwca93w5gqf9mikn1k2a2rmd9ymfjpziq1"))))
3014 (build-system emacs-build-system)
3015 (inputs `(("mit-scheme" ,mit-scheme)))
3016 (arguments
3017 `(#:phases
3018 (modify-phases %standard-phases
3019 (add-after 'unpack 'configure-doc
3020 (lambda* (#:key inputs #:allow-other-keys)
3021 (let* ((mit-scheme-dir (assoc-ref inputs "mit-scheme"))
3022 (doc-dir (string-append mit-scheme-dir "/share/doc/"
3023 "mit-scheme-"
3024 ,(package-version mit-scheme))))
3025 (substitute* "mit-scheme-doc.el"
3026 (("http://www\\.gnu\\.org/software/mit-scheme/documentation/mit-scheme-ref/")
3027 (string-append "file:" doc-dir "/mit-scheme-ref/")))))))))
3028 (home-page "http://groups.csail.mit.edu/mac/users/gjs/6.945/dont-panic/")
3029 (synopsis "MIT-Scheme documentation lookup for Emacs")
3030 (description
3031 "This package provides a set of Emacs functions to search definitions of
3032identifiers in the MIT-Scheme documentation.")
3033 (license license:gpl2+)))
3034
3035(define-public emacs-constants
3036 (package
3037 (name "emacs-constants")
3038 (version "2.6")
3039 (home-page "https://staff.fnwi.uva.nl/c.dominik/Tools/constants")
3040 (source
3041 (origin
3042 (file-name (string-append name "-" version ".tar.gz"))
3043 (method url-fetch)
3044 (uri (string-append "https://github.com/fedeinthemix/emacs-constants"
3045 "/archive/v" version ".tar.gz"))
3046 (sha256
3047 (base32
3048 "0pnrpmmxq8mh5h2hbrp5vcym0j0fh6dv3s7c5ccn18wllhzg9g7n"))))
3049 (build-system emacs-build-system)
3050 (synopsis "Enter definition of constants into an Emacs buffer")
3051 (description
3052 "This package provides functions for inserting the definition of natural
3053constants and units into an Emacs buffer.")
3054 (license license:gpl2+)))
3055
3056(define-public emacs-tagedit
3057 (package
3058 (name "emacs-tagedit")
3059 (version "1.4.0")
3060 (source
3061 (origin
3062 (method url-fetch)
3063 (uri (string-append "https://github.com/magnars/tagedit/"
3064 "archive/" version ".tar.gz"))
3065 (file-name (string-append name "-" version ".tar.gz"))
3066 (sha256
3067 (base32
3068 "1apfnann4qklfdsmdi7icjsj18x7gwx8d83iqr4z25clszz95xfq"))))
3069 (build-system emacs-build-system)
3070 (propagated-inputs
3071 `(("emacs-s" ,emacs-s)
3072 ("emacs-dash" ,emacs-dash)))
3073 (home-page "https://github.com/magnars/tagedit")
3074 (synopsis "Some paredit-like features for html-mode")
3075 (description
3076 "This package provides a collection of paredit-like functions for editing
3077in @code{html-mode}.")
3078 (license license:gpl3+)))
3079
3080(define-public emacs-slime
3081 (package
3082 (name "emacs-slime")
c4e4b853 3083 (version "2.23")
eeb883cb
RW
3084 (source
3085 (origin
3086 (file-name (string-append name "-" version ".tar.gz"))
3087 (method url-fetch)
3088 (uri (string-append
3089 "https://github.com/slime/slime/archive/v"
3090 version ".tar.gz"))
3091 (sha256
3092 (base32
c4e4b853 3093 "01gkrqfpifcx1vipwrbhns2r4s8izp3z1w4p41azc943s1a2d5nc"))))
eeb883cb
RW
3094 (build-system emacs-build-system)
3095 (native-inputs
3096 `(("texinfo" ,texinfo)))
3097 (arguments
3098 `(#:include '("\\.el$" "\\.lisp$" "\\.asd$" "contrib")
3099 #:exclude '("^slime-tests.el" "^contrib/test/"
3100 "^contrib/Makefile$" "^contrib/README.md$")
3101 #:phases
3102 (modify-phases %standard-phases
3103 (add-before 'install 'configure
3104 (lambda* _
3105 (emacs-substitute-variables "slime.el"
3106 ("inferior-lisp-program" "sbcl"))
3107 #t))
3108 (add-before 'install 'install-doc
3109 (lambda* (#:key outputs #:allow-other-keys)
3110 (let* ((out (assoc-ref outputs "out"))
3111 (info-dir (string-append out "/share/info"))
3112 (doc-dir (string-append out "/share/doc/"
3113 ,name "-" ,version))
3114 (doc-files '("doc/slime-refcard.pdf"
3115 "README.md" "NEWS" "PROBLEMS"
3116 "CONTRIBUTING.md")))
3117 (with-directory-excursion "doc"
3118 (substitute* "Makefile"
3119 (("infodir=/usr/local/info")
3120 (string-append "infodir=" info-dir)))
3121 (invoke "make" "html/index.html")
3122 (invoke "make" "slime.info")
3123 (install-file "slime.info" info-dir)
3124 (copy-recursively "html" (string-append doc-dir "/html")))
3125 (for-each (lambda (f)
3126 (install-file f doc-dir)
3127 (delete-file f))
3128 doc-files)
3129 (delete-file-recursively "doc")
3130 #t))))))
3131 (home-page "https://github.com/slime/slime")
3132 (synopsis "Superior Lisp Interaction Mode for Emacs")
3133 (description
3134 "SLIME extends Emacs with support for interactive programming in
3135Common Lisp. The features are centered around @command{slime-mode},
3136an Emacs minor mode that complements the standard @command{lisp-mode}.
3137While lisp-mode supports editing Lisp source files, @command{slime-mode}
3138adds support for interacting with a running Common Lisp process
3139for compilation, debugging, documentation lookup, and so on.")
3140 (license (list license:gpl2+ license:public-domain))))
3141
3142(define-public emacs-popup
3143 (package
3144 (name "emacs-popup")
3145 (version "0.5.3")
3146 (source (origin
3147 (method url-fetch)
3148 (uri (string-append
3149 "https://github.com/auto-complete/popup-el/archive/v"
3150 version ".tar.gz"))
3151 (file-name (string-append name "-" version ".tar.gz"))
3152 (sha256
3153 (base32
3154 "1yrgfj8y69xmcb6kwgplhq68ndm9410qwh7sd2knnd1gchpphdc0"))))
3155 (build-system emacs-build-system)
3156 (home-page "https://github.com/auto-complete/popup-el")
3157 (synopsis "Visual Popup User Interface for Emacs")
3158 (description
3159 "Popup.el is a visual popup user interface library for Emacs.
3160This provides a basic API and common UI widgets such as popup tooltips
3161and popup menus.")
3162 (license license:gpl3+)))
3163
3164(define-public emacs-puppet-mode
3165 (let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2")
3166 (revision "1"))
3167 (package
3168 (name "emacs-puppet-mode")
3169 ;; The last release, 0.3 was several years ago, and there have been many
3170 ;; commits since
3171 (version (git-version "0.3" revision commit))
3172 (source
3173 (origin
3174 (method url-fetch)
3175 (uri (string-append
3176 "https://raw.githubusercontent.com/voxpupuli/puppet-mode/"
3177 commit "/puppet-mode.el"))
3178 (sha256
3179 (base32
3180 "1indycxawsl0p2aqqg754f6735q3cmah9vd886rpn0ncc3ipi1xm"))))
3181 (build-system emacs-build-system)
3182 (home-page "https://github.com/voxpupuli/puppet-mode")
3183 (synopsis "Emacs major mode for the Puppet configuration language")
3184 (description
3185 "This package provides support for the Puppet configuration language,
3186including syntax highlighting, indentation of expressions and statements,
3187linting of manifests and integration with Puppet Debugger.")
3188 ;; Also incorporates work covered by the Apache License, Version 2.0
3189 (license license:gpl3+))))
3190
3191(define-public emacs-god-mode
3192 (let ((commit "6cf0807b6555eb6fcf8387a4e3b667071ef38964")
3193 (revision "1"))
3194 (package
3195 (name "emacs-god-mode")
3196 (version (string-append "20151005.925."
3197 revision "-" (string-take commit 9)))
3198 (source
3199 (origin
3200 (method git-fetch)
3201 (uri (git-reference
3202 (url "https://github.com/chrisdone/god-mode.git")
3203 (commit commit)))
3204 (file-name (string-append name "-" version "-checkout"))
3205 (sha256
3206 (base32
3207 "1am415k4xxcva6y3vbvyvknzc6bma49pq3p85zmpjsdmsp18qdix"))))
3208 (build-system emacs-build-system)
3209 (home-page "https://github.com/chrisdone/god-mode")
3210 (synopsis "Minor mode for entering commands without modifier keys")
3211 (description
3212 "This package provides a global minor mode for entering Emacs commands
3213without modifier keys. It's similar to Vim's separation of commands and
3214insertion mode. When enabled all keys are implicitly prefixed with
3215@samp{C-} (among other helpful shortcuts).")
3216 (license license:gpl3+))))
3217
3218(define-public emacs-jinja2-mode
3219 (package
3220 (name "emacs-jinja2-mode")
3221 (version "0.2")
3222 (source
3223 (origin
3224 (method url-fetch)
3225 (uri (string-append "https://github.com/paradoxxxzero/jinja2-mode/"
3226 "archive/v" version ".tar.gz"))
3227 (file-name (string-append name "-" version ".tar.gz"))
3228 (sha256
3229 (base32
3230 "0cgxjab1kla2zc2fj7bzib6i7snp08zshandmp9kqcm85l262xpn"))))
3231 (build-system emacs-build-system)
3232 (home-page "https://github.com/paradoxxxzero/jinja2-mode")
3233 (synopsis "Major mode for jinja2")
3234 (description
3235 "Emacs major mode for jinja2 with: syntax highlighting,
3236sgml/html integration, and indentation (working with sgml).")
3237 (license license:gpl3+)))
3238
3239(define-public emacs-rfcview
3240 (package
3241 (name "emacs-rfcview")
3242 (version "0.13")
3243 (home-page "http://www.loveshack.ukfsn.org/emacs")
3244 (source (origin
3245 (method url-fetch)
3246 (uri "http://www.loveshack.ukfsn.org/emacs/rfcview.el")
3247 (sha256
3248 (base32
3249 "0ympj5rxig383zl2jf0pzdsa80nnq0dpvjiriq0ivfi98fj7kxbz"))))
3250 (build-system emacs-build-system)
3251 (synopsis "Prettify Request for Comments (RFC) documents")
3252 (description "The Internet Engineering Task Force (IETF) and the Internet
3253Society (ISOC) publish various Internet-related protocols and specifications
3254as \"Request for Comments\" (RFC) documents and Internet Standard (STD)
3255documents. RFCs and STDs are published in a simple text form. This package
3256provides an Emacs major mode, rfcview-mode, which makes it more pleasant to
3257read these documents in Emacs. It prettifies the text and adds
3258hyperlinks/menus for easier navigation. It also provides functions for
3259browsing the index of RFC documents and fetching them from remote servers or
3260local directories.")
3261 (license license:gpl3+)))
3262
3263(define-public emacs-ffap-rfc-space
3264 (package
3265 (name "emacs-ffap-rfc-space")
3266 (version "12")
3267 (home-page "http://user42.tuxfamily.org/ffap-rfc-space/index.html")
3268 (source (origin
3269 (method url-fetch)
3270 (uri "http://download.tuxfamily.org/user42/ffap-rfc-space.el")
3271 (sha256
3272 (base32
3273 "1iv61dv57a73mdps7rn6zmgz7nqh14v0ninidyrasy45b1nv6gck"))))
3274 (build-system emacs-build-system)
3275 (synopsis "Make ffap recognize an RFC with a space before its number")
3276 (description "The Internet Engineering Task Force (IETF) and the
3277Internet Society (ISOC) publish various Internet-related protocols and
3278specifications as \"Request for Comments\" (RFC) documents. The
3279built-in Emacs module \"ffap\" (Find File at Point) has the ability to
3280recognize names at point which look like \"RFC1234\" and \"RFC-1234\"
3281and load the appropriate RFC from a remote server. However, it fails
3282to recognize a name like \"RFC 1234\". This package enhances ffap so
3283that it correctly finds RFCs even when a space appears before the
3284number.")
3285 (license license:gpl3+)))
3286
3287(define-public emacs-org-bullets
3288 (package
3289 (name "emacs-org-bullets")
3290 (version "0.2.4")
3291 (source
3292 (origin
3293 (method url-fetch)
3294 (uri (string-append "https://github.com/sabof/org-bullets/archive/"
3295 version ".tar.gz"))
3296 (file-name (string-append name "-" version ".tar.gz"))
3297 (sha256
3298 (base32
3299 "1dyxvpb73vj80v8br2q9rf255hfphrgaw91fbvwdcd735np9pcnh"))))
3300 (build-system emacs-build-system)
3301 (home-page "https://github.com/sabof/org-bullets")
3302 (synopsis "Show bullets in org-mode as UTF-8 characters")
3303 (description
3304 "This package provides an Emacs minor mode causing bullets in
3305@code{org-mode} to be rendered as UTF-8 characters.")
3306 (license license:gpl3+)))
3307
3308(define-public emacs-org-pomodoro
3309 (package
3310 (name "emacs-org-pomodoro")
3311 (version "2.1.0")
3312 (source
3313 (origin
3314 (method url-fetch)
3315 (uri (string-append
3316 "https://github.com/lolownia/org-pomodoro/archive/"
3317 version ".tar.gz"))
3318 (file-name (string-append name "-" version ".tar.gz"))
3319 (sha256
3320 (base32
3321 "1jalsggw3q5kvj353f84x4nl04a5vmq07h75ggppy1627lb31zm4"))))
3322 (build-system emacs-build-system)
3323 (propagated-inputs
3324 `(("emacs-alert" ,emacs-alert)))
3325 (home-page "https://github.com/lolownia/org-pomodoro")
3326 (synopsis "Pomodoro technique for org-mode")
3327 (description "@code{emacs-org-pomodoro} adds very basic support for
3328Pomodoro technique in Emacs org-mode.
3329
3330Run @code{M-x org-pomodoro} for the task at point or select one of the
3331last tasks that you clocked time for. Each clocked-in pomodoro starts
3332a timer of 25 minutes and after each pomodoro a break timer of 5
3333minutes is started automatically. Every 4 breaks a long break is
3334started with 20 minutes. All values are customizable.")
3335 (license license:gpl3+)))
3336
3337(define-public emacs-org-trello
3338 (package
3339 (name "emacs-org-trello")
3340 (version "0.8.0")
3341 (source (origin
3342 (method url-fetch)
3343 (uri (string-append
3344 "https://github.com/org-trello/org-trello/archive/"
3345 version ".tar.gz"))
3346 (file-name (string-append name "-" version ".tar.gz"))
3347 (sha256
3348 (base32
3349 "0549mnf5cgwn8b8jbl38fljbaxmh1605sv9j8f3lsa95jhs1zpa0"))))
3350 (build-system emacs-build-system)
3351 (propagated-inputs
3352 `(("emacs-dash" ,emacs-dash)
3353 ("emacs-deferred" ,emacs-deferred)
3354 ("emacs-f" ,emacs-f)
3355 ("emacs-helm" ,emacs-helm)
3356 ("emacs-request" ,emacs-request)
3357 ("emacs-s" ,emacs-s)))
3358 (home-page "https://org-trello.github.io")
3359 (synopsis "Emacs minor mode for interacting with Trello")
3360 (description "This package provides an Emacs minor mode to extend
3361@code{org-mode} with Trello abilities. Trello is an online project
3362organizer.")
3363 (license license:gpl3+)))
3364
3365(define-public emacs-atom-one-dark-theme
3366 (let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
3367 (revision "0"))
3368 (package
3369 (name "emacs-atom-one-dark-theme")
3370 (version (git-version "0.4.0" revision commit))
3371 (source (origin
3372 (method git-fetch)
3373 (uri (git-reference
3374 (url "https://github.com/jonathanchu/atom-one-dark-theme.git")
3375 (commit commit)))
3376 (sha256
3377 (base32
3378 "1alma16hg3mfjly8a9s3mrswkjjx4lrpdnf43869hn2ibkn7zx9z"))
3379 (file-name (git-file-name name version))))
3380 (build-system emacs-build-system)
3381 (home-page "https://github.com/jonathanchu/atom-one-dark-theme")
3382 (synopsis "Atom One Dark color theme for Emacs")
3383 (description "An Emacs port of the Atom One Dark theme from Atom.io.")
3384 (license license:gpl3+))))
3385
3386(define-public emacs-zenburn-theme
3387 (package
3388 (name "emacs-zenburn-theme")
3389 (version "2.6")
3390 (source (origin
3391 (method url-fetch)
3392 (uri (string-append
3393 "https://github.com/bbatsov/zenburn-emacs/archive/v"
3394 version ".tar.gz"))
3395 (file-name (string-append name "-" version ".tar.gz"))
3396 (sha256
3397 (base32
3398 "0qc9d1rwq55yzh8shbppyd6izy1grpyr8kqh5zdgm7c5jccngpr4"))))
3399 (build-system emacs-build-system)
3400 (home-page "https://github.com/bbatsov/zenburn-emacs")
3401 (synopsis "Low contrast color theme for Emacs")
3402 (description
3403 "Zenburn theme is a port of the popular Vim Zenburn theme for Emacs.
3404It is built on top of the custom theme support in Emacs 24 or later.")
3405 (license license:gpl3+)))
3406
3407(define-public emacs-solarized-theme
3408 (package
3409 (name "emacs-solarized-theme")
3410 (version "1.2.2")
3411 (source (origin
3412 (method url-fetch)
3413 (uri (string-append "https://github.com/bbatsov/solarized-emacs/"
3414 "archive/v" version ".tar.gz"))
3415 (file-name (string-append name "-" version ".tar.gz"))
3416 (sha256
3417 (base32
3418 "1ha3slc6d9wi9ilkhmwrzkvf308n6ph7b0k69pk369s9304awxzx"))))
3419 (build-system emacs-build-system)
3420 (propagated-inputs
3421 `(("emacs-dash" ,emacs-dash)))
3422 (home-page "https://github.com/bbatsov/solarized-emacs")
3423 (synopsis "Port of the Solarized theme for Emacs")
3424 (description
3425 "Solarized for Emacs is a port of the Solarized theme for Vim. This
3426package provides a light and a dark variant.")
3427 (license license:gpl3+)))
3428
3429(define-public emacs-ahungry-theme
3430 (package
3431 (name "emacs-ahungry-theme")
3432 (version "1.10.0")
3433 (source
3434 (origin (method url-fetch)
3435 (uri (string-append "https://elpa.gnu.org/packages/ahungry-theme-"
3436 version ".tar"))
3437 (sha256
3438 (base32
3439 "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm"))))
3440 (build-system emacs-build-system)
3441 (home-page "https://github.com/ahungry/color-theme-ahungry")
3442 (synopsis "Ahungry color theme for Emacs")
3443 (description "Ahungry theme for Emacs provides bright and bold colors.
3444If you load it from a terminal, you will be able to make use of the
3445transparent background. If you load it from a GUI, it will default to a
3446dark background.")
3447 (license license:gpl3+)))
3448
3449(define-public emacs-2048-game
3450 (package
3451 (name "emacs-2048-game")
3452 (version "20151026.1233")
3453 (source
3454 (origin
3455 (method url-fetch)
3456 (uri (string-append "https://melpa.org/packages/2048-game-"
3457 version ".el"))
3458 (sha256
3459 (base32
3460 "0gy2pvz79whpavp4jmz8h9krzn7brmvv3diixi1d4w51pcdvaldd"))))
3461 (build-system emacs-build-system)
3462 (home-page "https://bitbucket.org/zck/2048.el")
3463 (synopsis "Implementation of the game 2048 in Emacs Lisp")
3464 (description
3465 "This program is an implementation of 2048 for Emacs.
3466The goal of this game is to create a tile with value 2048. The size of the
3467board and goal value can be customized.")
3468 (license license:gpl3+)))
3469
3470(define-public emacs-base16-theme
3471 (package
3472 (name "emacs-base16-theme")
3473 (version "2.1")
3474 (source
3475 (origin
3476 (method url-fetch)
3477 (uri (string-append "https://stable.melpa.org/packages/base16-theme-"
3478 version ".tar"))
3479 (sha256
3480 (base32
3481 "0z6hrwz2jlz6jbr381rcqcqvx6hss5cad352klx07rark7zccacj"))))
3482 (build-system emacs-build-system)
3483 (home-page "https://github.com/belak/base16-emacs")
3484 (synopsis "Base16 color themes for Emacs")
3485 (description
3486 "Base16 provides carefully chosen syntax highlighting and a default set
3487of sixteen colors suitable for a wide range of applications. Base16 is not a
3488single theme but a set of guidelines with numerous implementations.")
3489 (license license:expat)))
3490
3491(define-public emacs-smartparens
3492 (package
3493 (name "emacs-smartparens")
3494 (version "1.11.0")
3495 (source (origin
3496 (method url-fetch)
3497 (uri (string-append
3498 "https://github.com/Fuco1/smartparens/archive/"
3499 version ".tar.gz"))
3500 (file-name (string-append name "-" version ".tar.gz"))
3501 (sha256
3502 (base32
3503 "0q5as813xs8y29i3v2rm97phd6m7xsmmw6hwbvx57gwmi8i1c409"))))
3504 (build-system emacs-build-system)
3505 (propagated-inputs
3506 `(("emacs-dash" ,emacs-dash)
3507 ("emacs-markdown-mode" ,emacs-markdown-mode)))
3508 (home-page "https://github.com/Fuco1/smartparens")
3509 (synopsis "Paredit-like insertion, wrapping and navigation with user
3510defined pairs")
3511 (description
3512 "Smartparens is a minor mode for Emacs that deals with parens pairs
3513and tries to be smart about it. It started as a unification effort to
3514combine functionality of several existing packages in a single,
3515compatible and extensible way to deal with parentheses, delimiters, tags
3516and the like. Some of these packages include autopair, textmate,
3517wrap-region, electric-pair-mode, paredit and others. With the basic
3518features found in other packages it also brings many improvements as
3519well as completely new features.")
3520 (license license:gpl3+)))
3521
3522(define-public emacs-highlight-symbol
3523 (package
3524 (name "emacs-highlight-symbol")
3525 (version "1.3")
3526 (source (origin
3527 (method url-fetch)
3528 (uri (string-append
3529 "https://github.com/nschum/highlight-symbol.el/archive/"
3530 version ".tar.gz"))
3531 (file-name (string-append name "-" version ".tar.gz"))
3532 (sha256
3533 (base32
3534 "1n7k1qns0fn0jsyc0hrjac5nzk21xw48yc30vyrhwvc51h0b9g90"))))
3535 (build-system emacs-build-system)
3536 (home-page "https://nschum.de/src/emacs/highlight-symbol")
3537 (synopsis "Automatic and manual symbol highlighting for Emacs")
3538 (description
3539 "Use @code{highlight-symbol} to toggle highlighting of the symbol at
3540point throughout the current buffer. Use @code{highlight-symbol-mode} to keep
3541the symbol at point highlighted.
3542
3543The functions @code{highlight-symbol-next}, @code{highlight-symbol-prev},
3544@code{highlight-symbol-next-in-defun} and
3545@code{highlight-symbol-prev-in-defun} allow for cycling through the locations
3546of any symbol at point. Use @code{highlight-symbol-nav-mode} to enable key
3547bindings @code{M-p} and @code{M-p} for navigation. When
3548@code{highlight-symbol-on-navigation-p} is set, highlighting is triggered
3549regardless of @code{highlight-symbol-idle-delay}.
3550
3551@code{highlight-symbol-query-replace} can be used to replace the symbol. ")
3552 (license license:gpl2+)))
3553
3554(define-public emacs-hl-todo
3555 (package
3556 (name "emacs-hl-todo")
3557 (version "1.9.0")
3558 (source (origin
3559 (method url-fetch)
3560 (uri (string-append
3561 "https://raw.githubusercontent.com/tarsius/hl-todo/"
3562 version "/hl-todo.el"))
3563 (file-name (string-append "hl-todo-" version ".el"))
3564 (sha256
3565 (base32
3566 "0728givzh7xv5i88ac9if8byj1p8bilrj1fnizca10s0rv100hdr"))))
3567 (build-system emacs-build-system)
3568 (home-page "https://github.com/tarsius/hl-todo")
3569 (synopsis "Emacs mode to highlight TODO and similar keywords")
3570 (description
3571 "This package provides an Emacs mode to highlight TODO and similar
3572keywords in comments and strings. This package also provides commands for
3573moving to the next or previous keyword and to invoke @code{occur} with a
3574regexp that matches all known keywords.")
3575 (license license:gpl3+)))
3576
3577(define-public emacs-perspective
3578 (package
3579 (name "emacs-perspective")
3580 (version "1.12")
3581 (source
3582 (origin
3583 (method url-fetch)
3584 (uri (string-append "https://github.com/nex3/perspective-el/"
3585 "archive/" version ".tar.gz"))
3586 (file-name (string-append name "-" version ".tar.gz"))
3587 (sha256
3588 (base32
3589 "078ahh0kmhdylq5ib9c81c76kz1n02xwc83pm729d00i84ibviic"))))
3590 (build-system emacs-build-system)
3591 (home-page "https://github.com/nex3/perspective-el")
3592 (synopsis "Switch between named \"perspectives\"")
3593 (description
3594 "This package provides tagged workspaces in Emacs, similar to workspaces in
3595windows managers such as Awesome and XMonad. @code{perspective.el} provides
3596multiple workspaces (or \"perspectives\") for each Emacs frame. Each
3597perspective is composed of a window configuration and a set of buffers.
3598Switching to a perspective activates its window configuration, and when in a
3599perspective only its buffers are available by default.")
3600 ;; This package is released under the same license as Emacs (GPLv3+) or
3601 ;; the Expat license.
3602 (license license:gpl3+)))
3603
3604(define-public emacs-test-simple
3605 (package
3606 (name "emacs-test-simple")
3607 (version "1.3.0")
3608 (source
3609 (origin
3610 (method url-fetch)
3611 (uri (string-append "https://elpa.gnu.org/packages/test-simple-"
3612 version ".el"))
3613 (sha256
3614 (base32
3615 "1yd61jc9ds95a5n09052kwc5gasy57g4lxr0jsff040brlyi9czz"))))
3616 (build-system emacs-build-system)
3617 (home-page "https://github.com/rocky/emacs-test-simple")
3618 (synopsis "Simple unit test framework for Emacs Lisp")
3619 (description
3620 "Test Simple is a simple unit test framework for Emacs Lisp. It
3621alleviates the need for context macros, enclosing specifications or required
3622test tags. It supports both interactive and non-interactive use.")
3623 (license license:gpl3+)))
3624
3625(define-public emacs-load-relative
3626 (package
3627 (name "emacs-load-relative")
3628 (version "1.3")
3629 (source
3630 (origin
3631 (method url-fetch)
3632 (uri (string-append "https://elpa.gnu.org/packages/load-relative-"
3633 version ".el"))
3634 (sha256
3635 (base32
3636 "1hfxb2436jdsi9wfmsv47lkkpa5galjf5q81bqabbsv79rv59dps"))))
3637 (build-system emacs-build-system)
3638 (home-page "http://github.com/rocky/emacs-load-relative")
3639 (synopsis "Emacs Lisp relative file loading related functions")
3640 (description
3641 "Provides functions which facilitate writing multi-file Emacs packages
3642and running from the source tree without having to \"install\" code or fiddle
3643with @{load-path}.
3644
3645The main function, @code{load-relative}, loads an Emacs Lisp file relative to
3646another (presumably currently running) Emacs Lisp file.")
3647 (license license:gpl3+)))
3648
3649(define-public emacs-loc-changes
3650 (package
3651 (name "emacs-loc-changes")
3652 (version "1.2")
3653 (source
3654 (origin
3655 (method url-fetch)
3656 (uri (string-append "https://elpa.gnu.org/packages/loc-changes-"
3657 version ".el"))
3658 (sha256
3659 (base32
3660 "1x8fn8vqasayf1rb8a6nma9n6nbvkx60krmiahyb05vl5rrsw6r3"))))
3661 (build-system emacs-build-system)
3662 (home-page "https://github.com/rocky/emacs-loc-changes")
3663 (synopsis "Keeps track of positions even after buffer changes")
3664 (description
3665 "This Emacs package provides a mean to track important buffer positions
3666after buffer changes.")
3667 (license license:gpl3+)))
3668
3669(define-public emacs-realgud
3670 (package
3671 (name "emacs-realgud")
3672 (version "1.4.5")
3673 (source
3674 (origin
3675 (method url-fetch)
3676 (uri (string-append "https://elpa.gnu.org/packages/realgud-"
3677 version ".tar"))
3678 (sha256
3679 (base32
3680 "108wgxg7fb4byaiasgvbxv2hq7b00biq9f0mh9hy6vw4160y5w24"))
3681 (patches
3682 ;; Patch awaiting inclusion upstream (see:
3683 ;; https://github.com/realgud/realgud/pull/226).
3684 (search-patches "emacs-realgud-fix-configure-ac.patch"))))
3685 (build-system emacs-build-system)
3686 (arguments
3687 `(#:tests? #t
3688 #:phases
3689 (modify-phases %standard-phases
3690 (add-after 'set-emacs-load-path 'fix-autogen-script
3691 (lambda _
3692 (substitute* "autogen.sh"
3693 (("./configure") "sh configure"))))
3694 (add-after 'fix-autogen-script 'autogen
3695 (lambda _
3696 (setenv "CONFIG_SHELL" "sh")
3697 (invoke "sh" "autogen.sh")))
3698 (add-after 'fix-autogen-script 'set-home
3699 (lambda _
3700 (setenv "HOME" (getenv "TMPDIR"))))
3701 (add-before 'patch-el-files 'remove-realgud-pkg.el
3702 (lambda _
3703 ;; XXX: This file is auto-generated at some point and causes
3704 ;; substitute* to crash during the `patch-el-files' phase with:
3705 ;; ERROR: In procedure stat: No such file or directory:
3706 ;; "./realgud-pkg.el"
3707 (delete-file "./realgud-pkg.el")
3708 ;; FIXME: `patch-el-files' crashes on this file with error:
3709 ;; unable to locate "bashdb".
3710 (delete-file "./test/test-regexp-bashdb.el"))))
3711 #:include (cons* ".*\\.el$" %default-include)))
3712 (native-inputs
3713 `(("autoconf" ,autoconf)
3714 ("automake" ,automake)
3715 ("emacs-test-simple" ,emacs-test-simple)))
3716 (propagated-inputs
3717 `(("emacs-load-relative" ,emacs-load-relative)
3718 ("emacs-loc-changes" ,emacs-loc-changes)))
3719 (home-page "https://github.com/realgud/realgud/")
3720 (synopsis
3721 "Modular front-end for interacting with external debuggers")
3722 (description
3723 "RealGUD is a modular, extensible GNU Emacs front-end for interacting
3724with external debuggers. It integrates various debuggers such as gdb, pdb,
3725ipdb, jdb, lldb, bashdb, zshdb, etc. and allows to visually step code in the
3726sources. Unlike GUD, it also supports running multiple debug sessions in
3727parallel.")
3728 (license license:gpl3+)))
3729
3730(define-public emacs-request
3731 (package
3732 (name "emacs-request")
3733 (version "0.3.0")
3734 (source (origin
3735 (method git-fetch)
3736 (uri (git-reference
3737 (url "https://github.com/tkf/emacs-request.git")
3738 (commit (string-append "v" version))))
3739 (file-name (string-append name "-" version "-checkout"))
3740 (sha256
3741 (base32
3742 "0wyxqbb35yqf6ci47531lk32d6fppamx9d8826kdz983vm87him7"))))
3743 (build-system emacs-build-system)
3744 (propagated-inputs
3745 `(("emacs-deferred" ,emacs-deferred)))
3746 (home-page "https://github.com/tkf/emacs-request")
3747 (synopsis "Package for speaking HTTP in Emacs Lisp")
3748 (description "This package provides a HTTP request library with multiple
3749backends. It supports url.el which is shipped with Emacs and the curl command
3750line program.")
3751 (license license:gpl3+)))
3752
3753(define-public emacs-rudel
3754 (package
3755 (name "emacs-rudel")
3756 (version "0.3.1")
3757 (source
3758 (origin
3759 (method url-fetch)
3760 (uri (string-append "http://elpa.gnu.org/packages/rudel-"
3761 version ".tar"))
3762 (sha256
3763 (base32
3764 "0glqa68g509p0s2vcc0i8kzlddnc9brd9jqhnm5rzxz4i050cvnz"))))
3765 (build-system emacs-build-system)
3766 (home-page "http://rudel.sourceforge.net/")
3767 (synopsis "Collaborative editing framework")
3768 (description
3769 "Rudel is a collaborative editing environment for GNU Emacs. Its purpose
3770is to share buffers with other users in order to edit the contents of those
3771buffers collaboratively. Rudel supports multiple backends to enable
3772communication with other collaborative editors using different protocols,
3773though currently Obby (for use with the Gobby editor) is the only
3774fully-functional one.")
3775 (license license:gpl3+)))
3776
3777(define-public emacs-hydra
3778 (package
3779 (name "emacs-hydra")
3780 (version "0.14.0")
3781 (source
3782 (origin
3783 (method git-fetch)
3784 (uri (git-reference
3785 (url "https://github.com/abo-abo/hydra")
3786 (commit version)))
3787 (file-name (git-file-name name version))
3788 (sha256
3789 (base32
3790 "0ln4z2796ycy33g5jcxkqvm7638qxy4sipsab7d2864hh700cikg"))))
3791 (build-system emacs-build-system)
3792 (home-page "https://github.com/abo-abo/hydra")
3793 (synopsis "Make Emacs bindings that stick around")
3794 (description
3795 "This package can be used to tie related commands into a family of short
3796bindings with a common prefix---a Hydra. Once you summon the Hydra (through
3797the prefixed binding), all the heads can be called in succession with only a
3798short extension. Any binding that isn't the Hydra's head vanquishes the
3799Hydra. Note that the final binding, besides vanquishing the Hydra, will still
3800serve its original purpose, calling the command assigned to it. This makes
3801the Hydra very seamless; it's like a minor mode that disables itself
3802automatically.")
3803 (license license:gpl3+)))
3804
3805(define-public emacs-ivy
3806 (package
3807 (name "emacs-ivy")
db2badeb 3808 (version "0.11.0")
eeb883cb
RW
3809 (source
3810 (origin
3811 (method git-fetch)
3812 (uri (git-reference
3813 (url "https://github.com/abo-abo/swiper.git")
3814 (commit version)))
3815 (file-name (string-append name "-" version "-checkout"))
3816 (sha256
3817 (base32
db2badeb 3818 "009n8zjycs62cv4i1k9adbb284wz2w3r13xki2740sj34k683v13"))))
eeb883cb
RW
3819 (build-system emacs-build-system)
3820 (arguments
3821 `(#:phases
3822 (modify-phases %standard-phases
3823 (add-after 'install 'install-doc
3824 (lambda* (#:key outputs #:allow-other-keys)
3825 (let* ((out (assoc-ref outputs "out"))
3826 (info (string-append out "/share/info")))
3827 (with-directory-excursion "doc"
3828 (invoke "makeinfo" "ivy.texi")
3829 (install-file "ivy.info" info)
3830 #t)))))))
3831 (propagated-inputs
3832 `(("emacs-hydra" ,emacs-hydra)))
3833 (native-inputs
3834 `(("texinfo" ,texinfo)))
3835 (home-page "http://oremacs.com/swiper/")
3836 (synopsis "Incremental vertical completion for Emacs")
3837 (description
3838 "This package provides @code{ivy-read} as an alternative to
3839@code{completing-read} and similar functions. No attempt is made to determine
3840the best candidate. Instead, the user can navigate candidates with
3841@code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
3842splitting the input text by spaces and re-building it into a regular
3843expression.")
3844 (license license:gpl3+)))
3845
3846(define-public emacs-ivy-yasnippet
3847 (let ((commit "32580b4fd23ebf9ca7dde96704f7d53df6e253cd")
3848 (revision "2"))
3849 (package
3850 (name "emacs-ivy-yasnippet")
3851 (version (git-version "0.1" revision commit))
3852 (source
3853 (origin
3854 (method git-fetch)
3855 (uri (git-reference
3856 (url "https://github.com/mkcms/ivy-yasnippet.git")
3857 (commit commit)))
3858 (file-name (git-file-name name version))
3859 (sha256
3860 (base32
3861 "1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"))))
3862 (build-system emacs-build-system)
3863 (propagated-inputs
3864 `(("emacs-ivy" ,emacs-ivy)
3865 ("emacs-yasnippet" ,emacs-yasnippet)
3866 ("emacs-dash" ,emacs-dash)))
3867 (home-page "https://github.com/mkcms/ivy-yasnippet")
3868 (synopsis "Preview @code{yasnippets} with @code{ivy}")
3869 (description "This package allows you to select @code{yasnippet}
3870snippets using @code{ivy} completion. When current selection changes in the
3871minibuffer, the snippet contents are temporarily expanded in the buffer. To
3872use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
3873@code{yas-minor-mode} first).")
3874 (license license:gpl3+))))
3875
3876(define-public emacs-ivy-rich
3877 (package
3878 (name "emacs-ivy-rich")
3879 (version "0.1.0")
3880 (source
3881 (origin
3882 (method url-fetch)
3883 (uri (string-append "https://github.com/Yevgnen/ivy-rich/archive/"
3884 version ".tar.gz"))
3885 (file-name (string-append name "-" version ".tar.gz"))
3886 (sha256
3887 (base32
3888 "14r3mx5rkd4wz0ls5pv5w6c7la3z9iy93d3jfind3xyg4kywy95c"))))
3889 (build-system emacs-build-system)
3890 (propagated-inputs
3891 `(("emacs-ivy" ,emacs-ivy)))
3892 (home-page "https://github.com/Yevgnen/ivy-rich")
3893 (synopsis "More friendly interface for @code{ivy}")
3894 (description
3895 "This package extends @code{ivy} by showing more information in the
3896minibuffer for each candidate. It adds columns showing buffer modes, file
3897sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can
3898show icons as well.")
3899 (license license:gpl3+)))
3900
3901(define-public emacs-avy
3902 (package
3903 (name "emacs-avy")
3904 (version "0.4.0")
3905 (source
3906 (origin
3907 (method url-fetch)
3908 (uri (string-append "https://github.com/abo-abo/avy/archive/"
3909 version ".tar.gz"))
3910 (file-name (string-append name "-" version ".tar.gz"))
3911 (sha256
3912 (base32
3913 "1wdrq512h25ymzjbf2kbsdymvd2ryfwzb6bh5bc3yv7q203im796"))))
3914 (build-system emacs-build-system)
3915 (home-page "https://github.com/abo-abo/avy")
3916 (synopsis "Tree-based completion for Emacs")
3917 (description
3918 "This package provides a generic completion method based on building a
3919balanced decision tree with each candidate being a leaf. To traverse the tree
3920from the root to a desired leaf, typically a sequence of @code{read-key} can
3921be used.
3922
3923In order for @code{read-key} to make sense, the tree needs to be visualized
3924appropriately, with a character at each branch node. So this completion
3925method works only for things that you can see on your screen, all at once,
3926such as the positions of characters, words, line beginnings, links, or
3927windows.")
3928 (license license:gpl3+)))
3929
3930(define-public emacs-ace-window
3931 (package
3932 (name "emacs-ace-window")
3933 (version "0.9.0")
3934 (source
3935 (origin
3936 (method url-fetch)
3937 (uri (string-append "https://github.com/abo-abo/ace-window/archive/"
3938 version ".tar.gz"))
3939 (file-name (string-append name "-" version ".tar.gz"))
3940 (sha256
3941 (base32
3942 "1p2sgfl5dml4zbd6ldql6lm2m9vmd236ah996ni32x254s48j5pn"))))
3943 (build-system emacs-build-system)
3944 (propagated-inputs
3945 `(("emacs-avy" ,emacs-avy)))
3946 (home-page "https://github.com/abo-abo/ace-window")
3947 (synopsis "Quickly switch windows in Emacs")
3948 (description
3949 "@code{ace-window} is meant to replace @code{other-window}.
3950In fact, when there are only two windows present, @code{other-window} is
3951called. If there are more, each window will have its first character
3952highlighted. Pressing that character will switch to that window.")
3953 (license license:gpl3+)))
3954
3955(define-public emacs-iedit
3956 (package
3957 (name "emacs-iedit")
3958 (version "0.9.9.9")
3959 (source
3960 (origin
3961 (method url-fetch)
3962 (uri (string-append "https://github.com/victorhge/iedit/archive/v"
3963 version ".tar.gz"))
3964 (file-name (string-append name "-" version ".tar.gz"))
3965 (sha256
3966 (base32
3967 "1hv8q6pr85ss9g3158l1fqv3m62vsq8rslsi86jicr2dcxyascr0"))))
3968 (build-system emacs-build-system)
3969 (home-page "http://www.emacswiki.org/emacs/Iedit")
3970 (synopsis "Edit multiple regions in the same way simultaneously")
3971 (description
3972 "This package is an Emacs minor mode and allows you to edit one
3973occurrence of some text in a buffer (possibly narrowed) or region, and
3974simultaneously have other occurrences edited in the same way.
3975
3976You can also use Iedit mode as a quick way to temporarily show only the buffer
3977lines that match the current text being edited. This gives you the effect of
3978a temporary @code{keep-lines} or @code{occur}.")
3979 (license license:gpl3+)))
3980
3981(define-public emacs-zoutline
3982 (let ((commit "b3ee0f0e0b916838c2d2c249beba74ffdb8d5699")
3983 (revision "0"))
3984 (package
3985 (name "emacs-zoutline")
3986 (version (git-version "0.1" revision commit))
3987 (home-page "https://github.com/abo-abo/zoutline")
3988 (source (origin
3989 (method git-fetch)
3990 (uri (git-reference (url home-page) (commit commit)))
3991 (sha256
3992 (base32
3993 "0sd0017piw0dis6dhpq5dkqd3acisxqgipl7dj8gmc1vnswhdwr8"))
3994 (file-name (git-file-name name version))))
3995 (build-system emacs-build-system)
3996 (synopsis "Simple outline library")
3997 (description
3998 "This library provides helpers for outlines. Outlines allow users to
3999navigate code in a tree-like fashion.")
4000 (license license:gpl3+))))
4001
4002(define-public emacs-lispy
4003 ;; Release 0.26.0 was almost 3 years ago, and there have been ~772 commits
4004 ;; since.
caf810d3
PN
4005 (let ((commit "f94cfc6b8f9c3afe7d028c366928049c011023de")
4006 (revision "1"))
eeb883cb
RW
4007 (package
4008 (name "emacs-lispy")
4009 (version (git-version "0.26.0" revision commit))
4010 (home-page "https://github.com/abo-abo/lispy")
4011 (source (origin
4012 (method git-fetch)
4013 (uri (git-reference (url home-page) (commit commit)))
4014 (sha256
4015 (base32
caf810d3 4016 "1bm2cpwizg1qfpm377gpx1af1hm5maw69if1csnk5vwaphmv8c4g"))
eeb883cb
RW
4017 (file-name (git-file-name name version))))
4018 (build-system emacs-build-system)
4019 (propagated-inputs
4020 `(("emacs-ace-window" ,emacs-ace-window)
4021 ("emacs-iedit" ,emacs-iedit)
4022 ("emacs-ivy" ,emacs-ivy)
4023 ("emacs-hydra" ,emacs-hydra)
4024 ("emacs-zoutline" ,emacs-zoutline)))
4025 (synopsis "Modal S-expression editing")
4026 (description
4027 "Due to the structure of Lisp syntax it's very rare for the programmer
4028to want to insert characters right before \"(\" or right after \")\". Thus
4029unprefixed printable characters can be used to call commands when the point is
4030at one of these special locations. Lispy provides unprefixed keybindings for
4031S-expression editing when point is at the beginning or end of an
4032S-expression.")
4033 (license license:gpl3+))))
4034
4035(define-public emacs-lispyville
808136bd
PN
4036 (let ((commit "d28b937f0cabd8ce61e2020fe9a733ca80d82c74")
4037 (revision "1"))
eeb883cb
RW
4038 (package
4039 (name "emacs-lispyville")
4040 (version (git-version "0.1" revision commit))
4041 (home-page "https://github.com/noctuid/lispyville")
4042 (source (origin
4043 (method git-fetch)
4044 (uri (git-reference (url home-page) (commit commit)))
4045 (sha256
4046 (base32
808136bd 4047 "0f6srwj1qqkfkbmp5n5pjvi6gm7b7xav05p5hrs2i83rjrakzzqx"))
eeb883cb
RW
4048 (file-name (git-file-name name version))))
4049 (propagated-inputs
4050 `(("emacs-evil" ,emacs-evil)
4051 ("emacs-lispy" ,emacs-lispy)))
4052 (build-system emacs-build-system)
4053 (synopsis "Minor mode for integrating Evil with lispy")
4054 (description
4055 "LispyVille's main purpose is to provide a Lisp editing environment
4056suited towards Evil users. It can serve as a minimal layer on top of lispy
4057for better integration with Evil, but it does not require the use of lispy’s
4058keybinding style. The provided commands allow for editing Lisp in normal
4059state and will work even without lispy being enabled.")
4060 (license license:gpl3+))))
4061
4062(define-public emacs-clojure-mode
4063 (package
4064 (name "emacs-clojure-mode")
4065 (version "5.6.1")
4066 (source (origin
4067 (method url-fetch)
4068 (uri (string-append
4069 "https://github.com/clojure-emacs/clojure-mode/archive/"
4070 version ".tar.gz"))
4071 (file-name (string-append name "-" version ".tar.gz"))
4072 (sha256
4073 (base32
4074 "1f4k1hncy5ygh4izn7mqfp744nnisrp9ywn2njknbjxx34ai1q88"))))
4075 (build-system emacs-build-system)
4076 (native-inputs
4077 `(("emacs-dash" ,emacs-dash)
4078 ("emacs-s" ,emacs-s)
4079 ("ert-runner" ,emacs-ert-runner)))
4080 (arguments
4081 `(#:tests? #t
4082 #:test-command '("ert-runner")))
4083 (home-page "https://github.com/clojure-emacs/clojure-mode")
4084 (synopsis "Major mode for Clojure code")
4085 (description
4086 "This Emacs package provides font-lock, indentation, navigation and basic
4087refactoring for the @uref{http://clojure.org, Clojure programming language}.
4088It is recommended to use @code{clojure-mode} with paredit or smartparens.")
4089 (license license:gpl3+)))
4090
4091(define-public emacs-epl
4092 (package
4093 (name "emacs-epl")
4094 (version "0.8")
4095 (source (origin
4096 (method url-fetch)
4097 (uri (string-append
4098 "https://github.com/cask/epl/archive/"
4099 version ".tar.gz"))
4100 (file-name (string-append name "-" version ".tar.gz"))
4101 (sha256
4102 (base32
4103 "1511n3a3f5gvaf2b4nh018by61ciyzi3y3603fzqma7p9hrckarc"))))
4104 (build-system emacs-build-system)
4105 (home-page "https://github.com/cask/epl")
4106 (synopsis "Emacs Package Library")
4107 (description
4108 "A package management library for Emacs, based on @code{package.el}.
4109
4110The purpose of this library is to wrap all the quirks and hassle of
4111@code{package.el} into a sane API.")
4112 (license license:gpl3+)))
4113
4114(define-public emacs-queue
4115 (package
4116 (name "emacs-queue")
4117 (version "0.2")
4118 (source (origin
4119 (method url-fetch)
4120 (uri (string-append "https://elpa.gnu.org/packages/queue-"
4121 version ".el"))
4122 (sha256
4123 (base32
4124 "0cx2848sqnnkkr4zisvqadzxngjyhmb36mh0q3if7q19yjjhmrkb"))))
4125 (build-system emacs-build-system)
4126 (home-page "http://www.dr-qubit.org/tags/computing-code-emacs.html")
4127 (synopsis "Queue data structure for Emacs")
4128 (description
4129 "This Emacs library provides queue data structure. These queues can be
4130used both as a first-in last-out (FILO) and as a first-in first-out (FIFO)
4131stack, i.e. elements can be added to the front or back of the queue, and can
4132be removed from the front. This type of data structure is sometimes called an
4133\"output-restricted deque\".")
4134 (license license:gpl3+)))
4135
4136(define-public emacs-pkg-info
4137 (package
4138 (name "emacs-pkg-info")
4139 (version "0.6")
4140 (source (origin
4141 (method url-fetch)
4142 (uri (string-append
4143 "https://github.com/lunaryorn/pkg-info.el/archive/"
4144 version ".tar.gz"))
4145 (file-name (string-append name "-" version ".tar.gz"))
4146 (sha256
4147 (base32
4148 "1gy1jks5mmm02gg1c8gcyr4f8a9s5ggzhk56gv33b9mzjqzi5rd5"))))
4149 (build-system emacs-build-system)
4150 (propagated-inputs `(("emacs-epl" ,emacs-epl)))
4151 (home-page "https://github.com/lunaryorn/pkg-info.el")
4152 (synopsis "Information about Emacs packages")
4153 (description
4154 "This library extracts information from the installed Emacs packages.")
4155 (license license:gpl3+)))
4156
4157(define-public emacs-spinner
4158 (package
4159 (name "emacs-spinner")
4160 (version "1.7.3")
4161 (source (origin
4162 (method url-fetch)
4163 (uri (string-append "https://elpa.gnu.org/packages/spinner-"
4164 version ".el"))
4165 (sha256
4166 (base32
4167 "19kp1mmndbmw11sgvv2ggfjl4pyf5zrsbh3871f0965pw9z8vahd"))))
4168 (build-system emacs-build-system)
4169 (home-page "https://github.com/Malabarba/spinner.el")
4170 (synopsis "Emacs mode-line spinner for operations in progress")
4171 (description
4172 "This Emacs package adds spinners and progress-bars to the mode-line for
4173ongoing operations.")
4174 (license license:gpl3+)))
4175
4176(define-public emacs-sparql-mode
4177 (package
4178 (name "emacs-sparql-mode")
4179 (version "2.0.1")
4180 (source (origin
4181 (method url-fetch)
4182 (uri (string-append "https://github.com/ljos/sparql-mode/archive/"
4183 "v" version ".tar.gz"))
4184 (file-name (string-append name "-" version ".tar.gz"))
4185 (sha256
4186 (base32
4187 "1s93mkllxnhy7fw616cnnc2danacdlarys0g3cn89drh0llh53cv"))))
4188 (build-system emacs-build-system)
4189 (home-page "https://github.com/ljos/sparql-mode")
4190 (synopsis "SPARQL mode for Emacs")
4191 (description "This package provides a major mode for Emacs that provides
4192syntax highlighting for SPARQL. It also provides a way to execute queries
4193against a SPARQL HTTP endpoint, such as is provided by Fuseki. It is also
4194possible to query other endpoints like DBPedia.")
4195 (license license:gpl3+)))
4196
4197(define-public emacs-better-defaults
4198 (package
4199 (name "emacs-better-defaults")
4200 (version "0.1.3")
4201 (source
4202 (origin
4203 (method url-fetch)
4204 (uri (string-append "https://github.com/technomancy/better-defaults"
4205 "/archive/" version ".tar.gz"))
4206 (file-name (string-append name "-" version ".tar.gz"))
4207 (sha256
4208 (base32
4209 "08fg4zslzlxbvyil5g4gwvwd22fh4zsgqprs5wh9hv1rgc6757m2"))))
4210 (build-system emacs-build-system)
4211 (home-page "https://github.com/technomancy/better-defaults")
4212 (synopsis "Better defaults for Emacs")
4213 (description
4214 "Better defaults attempts to address the most obvious deficiencies of the
4215Emacs default configuration in uncontroversial ways that nearly everyone can
4216agree upon.")
4217 (license license:gpl3+)))
4218
4219(define-public emacs-eprime
4220 (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f"))
4221 (package
4222 (name "emacs-eprime")
4223 (version (string-append "20140513-" (string-take commit 7)))
4224 (source (origin
4225 (method url-fetch)
4226 (uri (string-append "https://raw.githubusercontent.com"
4227 "/AndrewHynes/eprime-mode/"
4228 commit "/eprime-mode.el"))
4229 (file-name (string-append "eprime-" version ".el"))
4230 (sha256
4231 (base32
4232 "0v68lggkyq7kbcr9zyi573m2g2x251xy3jadlaw8kx02l8krwq8d"))))
4233 (build-system emacs-build-system)
4234 (home-page "https://github.com/AndrewHynes/eprime-mode")
4235 (synopsis "E-prime checking mode for Emacs")
4236 (description "This package provides an E-prime checking mode for Emacs
4237that highlights non-conforming text. The subset of the English language called
4238E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
4239 (license license:gpl3+))))
4240
4241(define-public emacs-julia-mode
4242 ;; XXX: Upstream version remained stuck at 0.3. See
4243 ;; <https://github.com/JuliaEditorSupport/julia-emacs/issues/46>.
4244 (let ((commit "115d4dc8a07445301772da8376b232fa8c7168f4")
4245 (revision "1"))
4246 (package
4247 (name "emacs-julia-mode")
4248 (version (string-append "0.3-" revision "." (string-take commit 8)))
4249 (source
4250 (origin
4251 (method git-fetch)
4252 (uri (git-reference
4253 (url "https://github.com/JuliaEditorSupport/julia-emacs.git")
4254 (commit commit)))
4255 (file-name (string-append name "-" version "-checkout"))
4256 (sha256
4257 (base32
4258 "1is4dcv6blslpzbjcg8l2jpxi8xj96q4cm0nxjxsyswpm8bw8ki0"))))
4259 (build-system emacs-build-system)
4260 (arguments
4261 `(#:tests? #t
4262 #:test-command '("emacs" "--batch"
4263 "-l" "julia-mode-tests.el"
4264 "-f" "ert-run-tests-batch-and-exit")))
4265 (home-page "https://github.com/JuliaEditorSupport/julia-emacs")
4266 (synopsis "Major mode for Julia")
4267 (description "This Emacs package provides a mode for the Julia
4268programming language.")
4269 (license license:expat))))
4270
4271(define-public emacs-smex
4272 (package
4273 (name "emacs-smex")
4274 (version "3.0")
4275 (source (origin
4276 (method url-fetch)
4277 (uri (string-append "https://raw.githubusercontent.com"
4278 "/nonsequitur/smex/" version "/smex.el"))
4279 (file-name (string-append "smex-" version ".el"))
4280 (sha256
4281 (base32
4282 "0ar310zx9k5y4i1vl2rawvi712xj9gx77160860jbs691p77cxqp"))))
4283 (build-system emacs-build-system)
4284 (home-page "https://github.com/nonsequitur/smex/")
4285 (synopsis "M-x interface with Ido-style fuzzy matching")
4286 (description
4287 "Smex is a M-x enhancement for Emacs. Built on top of Ido, it provides a
4288convenient interface to your recently and most frequently used commands. And
4289to all the other commands, too.")
4290 (license license:gpl3+)))
4291
4292(define-public emacs-js2-mode
4293 (package
4294 (name "emacs-js2-mode")
4295 (version "20180301")
4296 (source (origin
4297 (method url-fetch)
4298 (uri (string-append "https://github.com/mooz/js2-mode/archive/"
4299 version ".tar.gz"))
4300 (file-name (string-append name "-" version ".tar.gz"))
4301 (sha256
4302 (base32
4303 "13aghgwaqrmbf3pbifcry52kya454wnh1gbdh5805n1n6xgjm5w3"))))
4304 (build-system emacs-build-system)
4305 (home-page "https://github.com/mooz/js2-mode/")
4306 (synopsis "Improved JavaScript editing mode for Emacs")
4307 (description
4308 "Js2-mode provides a JavaScript major mode for Emacs that is more
4309advanced than the built-in javascript-mode. Features include accurate syntax
4310highlighting using a recursive-descent parser, on-the-fly reporting of syntax
4311errors and strict-mode warnings, smart line-wrapping within comments and
4312strings, and code folding.")
4313 (license license:gpl3+)))
4314
4315(define-public emacs-nodejs-repl
4316 (package
4317 (name "emacs-nodejs-repl")
4318 (version "0.2.0")
4319 (source (origin
4320 (method url-fetch)
4321 (uri (string-append "https://github.com/abicky/nodejs-repl.el"
4322 "/archive/" version ".tar.gz"))
4323 (sha256
4324 (base32
4325 "0hq2cqdq2668yf48g7qnkci90nhih1gnhacsgz355jnib56lhmkz"))
4326 (file-name (string-append name "-" version ".tar.gz"))))
4327 (build-system emacs-build-system)
4328 (home-page "https://github.com/abicky/nodejs-repl.el")
4329 (synopsis "Node.js REPL inside Emacs")
4330 (description
4331 "This program is derived from comint-mode and provides the following
4332features:
4333
4334@itemize
4335@item TAB completion same as Node.js REPL
4336@item file name completion in string
4337@item incremental history search
4338@end itemize")
4339 (license license:gpl3+)))
4340
4341(define-public emacs-typescript-mode
4342 (package
4343 (name "emacs-typescript-mode")
4344 (version "0.3")
4345 (source (origin
4346 (method url-fetch)
4347 (uri (string-append
4348 "https://github.com/ananthakumaran/typescript.el"
4349 "/archive/v" version ".tar.gz"))
4350 (sha256
4351 (base32
4352 "1gqjirm8scf0wysm7x97zdfbs4qa5nqdl64jfbkd18iskv5mg3rj"))
4353 (file-name (string-append name "-" version ".tar.gz"))))
4354 (build-system emacs-build-system)
4355 (home-page "https://github.com/ananthakumaran/typescript.el")
4356 (synopsis "Emacs major mode for editing Typescript code")
4357 (description
4358 "This is based on Karl Landstrom's barebones @code{typescript-mode}.
4359This is much more robust and works with @code{cc-mode}'s comment
4360filling (mostly). The modifications to the original @code{javascript.el} mode
4361mainly consisted in replacing \"javascript\" with \"typescript\"
4362
4363The main features of this Typescript mode are syntactic highlighting (enabled
4364with @code{font-lock-mode} or @code{global-font-lock-mode}), automatic
4365indentation and filling of comments and C preprocessor fontification.")
4366 (license license:gpl3+)))
4367
4368(define-public emacs-tide
4369 (package
4370 (name "emacs-tide")
608b922f 4371 (version "3.2.3")
eeb883cb
RW
4372 (source (origin
4373 (method url-fetch)
4374 (uri (string-append "https://github.com/ananthakumaran/tide"
4375 "/archive/v" version ".tar.gz"))
4376 (sha256
4377 (base32
608b922f 4378 "1c600myr2yqbkmy9lify38lz0zzjdqk1733db5n7vsay16vn6fzi"))
eeb883cb
RW
4379 (file-name (string-append name "-" version ".tar.gz"))))
4380 (build-system emacs-build-system)
4381 (propagated-inputs
4382 `(("emacs-dash" ,emacs-dash)
4383 ("emacs-s" ,emacs-s)
4384 ("emacs-flycheck" ,emacs-flycheck)
4385 ("emacs-typescript-mode" ,emacs-typescript-mode)))
4386 (home-page "https://github.com/ananthakumaran/tide")
4387 (synopsis "Typescript IDE for Emacs")
4388 (description
4389 "Tide is an Interactive Development Environment (IDE) for Emacs which
4390provides the following features:
4391
4392@itemize
4393@item ElDoc
4394@item Auto complete
4395@item Flycheck
4396@item Jump to definition, Jump to type definition
4397@item Find occurrences
4398@item Rename symbol
4399@item Imenu
4400@item Compile On Save
4401@item Highlight Identifiers
4402@item Code Fixes
4403@item Code Refactor
4404@item Organize Imports
4405@end itemize")
4406 (license license:gpl3+)))
4407
4408(define-public emacs-markdown-mode
4409 (package
4410 (name "emacs-markdown-mode")
4411 (version "2.3")
4412 (source (origin
4413 (method url-fetch)
4414 (uri (string-append "https://raw.githubusercontent.com/jrblevin"
4415 "/markdown-mode/v" version
4416 "/markdown-mode.el"))
4417 (file-name (string-append "markdown-mode-" version ".el"))
4418 (sha256
4419 (base32
4420 "152whyrq3dqlqy5wv4mdd94kmal19hs5kwaxjcp2gp2r97lsmdmi"))))
4421 (build-system emacs-build-system)
4422 (home-page "http://jblevins.org/projects/markdown-mode/")
4423 (synopsis "Emacs Major mode for Markdown files")
4424 (description
4425 "Markdown-mode is a major mode for editing Markdown-formatted text files
4426in Emacs.")
4427 (license license:gpl3+)))
4428
4429(define-public emacs-edit-indirect
4430 (package
4431 (name "emacs-edit-indirect")
4432 (version "0.1.5")
4433 (source
4434 (origin
4435 (method git-fetch)
4436 (uri (git-reference
4437 (url "https://github.com/Fanael/edit-indirect")
4438 (commit version)))
4439 (file-name (git-file-name name version))
4440 (sha256
4441 (base32
4442 "0by1x53pji39fjrj5bd446kz831nv0vdgw2jqasbym4pc1p2947r"))))
4443 (build-system emacs-build-system)
4444 (home-page "https://github.com/Fanael/edit-indirect")
4445 (synopsis "Edit regions in separate buffers")
4446 (description "This package allows you to edit regions in separate buffers,
4447like @code{org-edit-src-code} but for arbitrary regions.")
4448 (license license:gpl3+)))
4449
4450(define-public emacs-projectile
4451 (package
4452 (name "emacs-projectile")
d97283c3 4453 (version "2.0.0")
eeb883cb
RW
4454 (source (origin
4455 (method url-fetch)
4456 (uri (string-append "https://raw.githubusercontent.com/bbatsov"
4457 "/projectile/v" version "/projectile.el"))
4458 (file-name (string-append "projectile-" version ".el"))
4459 (sha256
4460 (base32
d97283c3 4461 "149hablms6n9b4wp78dz4pjz1rzyylfw9ayghq5p9d7k661mvyby"))))
eeb883cb
RW
4462 (build-system emacs-build-system)
4463 (propagated-inputs
4464 `(("emacs-dash" ,emacs-dash)
4465 ("emacs-pkg-info" ,emacs-pkg-info)))
4466 (home-page "https://github.com/bbatsov/projectile")
4467 (synopsis "Manage and navigate projects in Emacs easily")
4468 (description
4469 "This library provides easy project management and navigation. The
4470concept of a project is pretty basic - just a folder containing special file.
4471Currently git, mercurial and bazaar repos are considered projects by default.
4472If you want to mark a folder manually as a project just create an empty
4473.projectile file in it.")
4474 (license license:gpl3+)))
4475
4476(define-public emacs-elfeed
4477 (package
4478 (name "emacs-elfeed")
4479 (version "3.0.0")
4480 (source (origin
4481 (method url-fetch)
4482 (uri (string-append "https://github.com/skeeto/elfeed/archive/"
4483 version ".tar.gz"))
4484 (file-name (string-append name "-" version ".tar.gz"))
4485 (sha256
4486 (base32
4487 "1wkdrxr6zzqb48czqqv34l87bx8aqjk1739ddqg933aqh241kfvn"))))
4488 (build-system emacs-build-system)
4489 (arguments
4490 `(#:tests? #t
4491 #:test-command '("make" "test")))
4492 (home-page "https://github.com/skeeto/elfeed")
4493 (synopsis "Atom/RSS feed reader for Emacs")
4494 (description
4495 "Elfeed is an extensible web feed reader for Emacs, supporting both Atom
4496and RSS, with a user interface inspired by notmuch.")
4497 (license license:gpl3+)))
4498
4499(define-public emacs-el-x
4500 (package
4501 (name "emacs-el-x")
4502 (version "0.3.1")
4503 (source (origin
4504 (method git-fetch)
4505 (uri (git-reference
4506 (url "https://github.com/sigma/el-x.git")
4507 (commit (string-append "v" version))))
4508 (file-name (string-append name "-" version "-checkout"))
4509 (sha256
4510 (base32
4511 "1i6j44ssxm1xdg0mf91nh1lnprwsaxsx8vsrf720nan7mfr283h5"))))
4512 (build-system emacs-build-system)
4513 (arguments
4514 `(#:phases
4515 (modify-phases %standard-phases
4516 ;; Move the source files to the top level, which is included in
4517 ;; the EMACSLOADPATH.
4518 (add-after 'unpack 'move-source-files
4519 (lambda _
4520 (let ((el-files (find-files "./lisp" ".*\\.el$")))
4521 (for-each (lambda (f)
4522 (rename-file f (basename f)))
4523 el-files))
4524 #t)))))
4525 (home-page "https://github.com/sigma/el-x")
4526 (synopsis "Emacs Lisp extensions")
4527 (description "command@{emacs-el-x} defines the @code{dflet} macro to
4528provide the historic behavior of @code{flet}, as well as
4529@code{declare-function} stub for older Emacs.")
4530 (license license:gpl2+)))
4531
4532(define-public emacs-mocker
4533 (package
4534 (name "emacs-mocker")
4535 (version "0.3.1")
4536 (source (origin
4537 (method git-fetch)
4538 (uri (git-reference
4539 (url "https://github.com/sigma/mocker.el.git")
4540 (commit (string-append "v" version))))
4541 (file-name (string-append name "-" version "-checkout"))
4542 (sha256
4543 (base32
4544 "1lav7am41v63xgavq8pr88y828jmd1cxd4prjq7jlbxm6nvrwxh2"))))
4545 (build-system emacs-build-system)
4546 (arguments
4547 `(#:tests? #t
4548 #:test-command '("ert-runner")))
4549 (native-inputs
4550 `(("ert-runner" ,emacs-ert-runner)))
4551 (propagated-inputs
4552 `(("emacs-el-x" ,emacs-el-x)))
4553 (home-page "https://github.com/sigma/mocker.el")
4554 (synopsis "Mocking framework for Emacs Lisp")
4555 (description "Mocker.el is a framework for writing tests in Emacs Lisp.
4556It uses regular Lisp rather than a domain specific language (DSL), which
4557maximizes flexibility (at the expense of conciseness).")
4558 (license license:gpl2+)))
4559
4560(define-public emacs-find-file-in-project
4561 (package
4562 (name "emacs-find-file-in-project")
4563 (version "5.4.7")
4564 (source (origin
4565 (method git-fetch)
4566 (uri (git-reference
4567 (url "https://github.com/technomancy/find-file-in-project.git")
4568 (commit version)))
4569 (file-name (string-append name "-" version "-checkout"))
4570 (sha256
4571 (base32
4572 "1sdnyqv69mipbgs9yax88m9b6crsa59rjhwrih197pifl4089awr"))))
4573 (build-system emacs-build-system)
4574 (arguments
4575 `(#:phases
4576 (modify-phases %standard-phases
4577 (add-before 'check 'set-shell
4578 ;; Otherwise Emacs shell-file-name is set to "/bin/sh", which doesn't
4579 ;; work.
4580 (lambda _
4581 (setenv "SHELL" (which "sh"))
4582 #t)))
4583 #:tests? #t
4584 #:test-command '("./tests/test.sh")))
4585 (home-page "https://github.com/technomancy/find-file-in-project")
4586 (synopsis "File/directory finder for Emacs")
4587 (description "@code{find-file-in-project} allows to find files or
4588directories quickly in the current project. The project root is detected
4589automatically when Git, Subversion or Mercurial are used. It also provides
4590functions to assist in reviewing changes on files.")
4591 (license license:gpl3+)))
4592
4593(define-public emacs-pyvenv
4594 (package
4595 (name "emacs-pyvenv")
1275f9ef 4596 (version "1.20")
eeb883cb
RW
4597 (source (origin
4598 (method git-fetch)
4599 (uri (git-reference
4600 (url "https://github.com/jorgenschaefer/pyvenv.git")
4601 (commit (string-append "v" version))))
4602 (file-name (string-append name "-" version "-checkout"))
4603 (sha256
4604 (base32
1275f9ef 4605 "1x052fsavb94x3scpqd6n9spqgzaahzbdxhg4qa5sy6hqsabn6zh"))))
eeb883cb
RW
4606 (build-system emacs-build-system)
4607 (arguments
4608 `(#:phases
4609 (modify-phases %standard-phases
4610 ;; This phase incorrectly attempts to substitute "activate" and fails
4611 ;; doing so.
4612 (delete 'patch-el-files))
4613 #:tests? #t
4614 #:test-command '("ert-runner")))
4615 (native-inputs
4616 `(("ert-runner" ,emacs-ert-runner)
4617 ("emacs-mocker" ,emacs-mocker)))
4618 (home-page "https://github.com/jorgenschaefer/pyvenv")
1275f9ef 4619 (synopsis "Python virtual environment interface for Emacs")
eeb883cb
RW
4620 (description "pyvenv.el is a minor mode to support using Python virtual
4621environments (virtualenv) inside Emacs.")
4622 (license license:gpl3+)))
4623
4624(define-public emacs-highlight-indentation
4625 (package
4626 (name "emacs-highlight-indentation")
4627 (version "0.7.0")
4628 (source (origin
4629 (method git-fetch)
4630 (uri (git-reference
4631 (url "https://github.com/antonj/Highlight-Indentation-for-Emacs.git")
4632 (commit (string-append "v" version))))
4633 (file-name (string-append name "-" version "-checkout"))
4634 (sha256
4635 (base32
4636 "00l54k75qk24a0znzl4ij3s3nrnr2wy9ha3za8apphzlm98m907k"))))
4637 (build-system emacs-build-system)
4638 (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/")
4639 (synopsis "Highlighting indentation for Emacs")
4640 (description "Provides two minor modes to highlight indentation guides in Emacs:
4641@enumerate
4642@item @code{highlight-indentation-mode}, which displays guidelines
4643indentation (space indentation only).
4644@item @code{highlight-indentation-current-column-mode}, which displays guidelines for the current-point indentation (space indentation only).
4645@end enumerate")
4646 (license license:gpl2+)))
4647
4648(define-public emacs-elpy
4649 (package
4650 (name "emacs-elpy")
d79e0b3a 4651 (version "1.28.0")
eeb883cb
RW
4652 (source (origin
4653 (method git-fetch)
4654 (uri (git-reference
4655 (url "https://github.com/jorgenschaefer/elpy.git")
4656 (commit version)))
4657 (file-name (string-append name "-" version "-checkout"))
4658 (sha256
4659 (base32
d79e0b3a 4660 "073bwxwjzcbmvpcz9q2xjwzx9x7hkvjni6fwvikh6yawzjp56jis"))))
eeb883cb
RW
4661 (build-system emacs-build-system)
4662 (arguments
4663 `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
4664 #:phases
4665 ;; TODO: Make `elpy-config' display Guix commands :)
4666 (modify-phases %standard-phases
4667 ;; One elpy test depends on being run inside a Python virtual
4668 ;; environment to pass. We have nothing to gain from doing so here,
4669 ;; so we just trick Elpy into thinking we are (see:
4670 ;; https://github.com/jorgenschaefer/elpy/pull/1293).
4671 (add-before 'check 'fake-virtualenv
4672 (lambda _
4673 (setenv "VIRTUAL_ENV" "/tmp")
4674 #t))
4675 (add-before 'check 'build-doc
4676 (lambda _
4677 (with-directory-excursion "docs"
4678 (invoke "make" "info" "man"))
4679 ;; Move .info file at the root so that it can installed by the
4680 ;; 'move-doc phase.
4681 (rename-file "docs/_build/texinfo/Elpy.info" "Elpy.info")
4682 #t))
4683 (add-after 'build-doc 'install-manpage
4684 (lambda* (#:key outputs #:allow-other-keys)
4685 (let* ((out (assoc-ref outputs "out"))
4686 (man1 (string-append out "/share/man/man1")))
4687 (mkdir-p man1)
4688 (copy-file "docs/_build/man/elpy.1"
4689 (string-append man1 "/elpy.1")))
4690 #t)))
4691 #:tests? #t
4692 #:test-command '("ert-runner")))
4693 (propagated-inputs
4694 `(("emacs-company" ,emacs-company)
4695 ("emacs-find-file-in-project" ,emacs-find-file-in-project)
4696 ("emacs-highlight-indentation" ,emacs-highlight-indentation)
4697 ("emacs-yasnippet" ,emacs-yasnippet)
4698 ("pyvenv" ,emacs-pyvenv)
4699 ("s" ,emacs-s)))
4700 (native-inputs
4701 `(("ert-runner" ,emacs-ert-runner)
4702 ("emacs-f" ,emacs-f)
4703 ("python" ,python-wrapper)
4704 ("python-autopep8" ,python-autopep8)
4705 ("python-black" ,python-black)
4706 ("python-flake8" ,python-flake8)
4707 ("python-jedi" ,python-jedi)
4708 ("python-yapf" ,python-yapf)
4709 ;; For documentation.
4710 ("python-sphinx" ,python-sphinx)
4711 ("texinfo" ,texinfo)))
4712 (home-page "https://github.com/jorgenschaefer/elpy")
4713 (synopsis "Python development environment for Emacs")
4714 (description "Elpy brings powerful Python editing to Emacs. It combines
4715and configures a number of other packages written in Emacs Lisp as well as
4716Python, together offering features such as navigation, documentation,
4717completion, interactive development and more.")
4718 (license license:gpl3+)))
4719
4720(define-public emacs-rainbow-delimiters
4721 (package
4722 (name "emacs-rainbow-delimiters")
4723 (version "2.1.3")
4724 (source (origin
4725 (method url-fetch)
4726 (uri (string-append "https://raw.githubusercontent.com/Fanael"
4727 "/rainbow-delimiters/" version
4728 "/rainbow-delimiters.el"))
4729 (file-name (string-append "rainbow-delimiters-" version ".el"))
4730 (sha256
4731 (base32
4732 "1b3kampwsjabhcqdp0khgff13wc5jqhy3rbvaa12vnv7qy22l9ck"))))
4733 (build-system emacs-build-system)
4734 (home-page "https://github.com/Fanael/rainbow-delimiters")
4735 (synopsis "Highlight brackets according to their depth")
4736 (description
4737 "Rainbow-delimiters is a \"rainbow parentheses\"-like mode for Emacs which
4738highlights parentheses, brackets, and braces according to their depth. Each
4739successive level is highlighted in a different color, making it easy to spot
4740matching delimiters, orient yourself in the code, and tell which statements
4741are at a given level.")
4742 (license license:gpl3+)))
4743
4744(define-public emacs-rainbow-identifiers
4745 (package
4746 (name "emacs-rainbow-identifiers")
4747 (version "0.2.2")
4748 (source (origin
4749 (method url-fetch)
4750 (uri (string-append "https://raw.githubusercontent.com/Fanael"
4751 "/rainbow-identifiers/" version
4752 "/rainbow-identifiers.el"))
4753 (file-name (string-append "rainbow-identifiers-" version ".el"))
4754 (sha256
4755 (base32
4756 "0325abxj47k0g1i8nqrq70w2wr6060ckhhf92krv1s072b3jzm31"))))
4757 (build-system emacs-build-system)
4758 (home-page "https://github.com/Fanael/rainbow-identifiers")
4759 (synopsis "Highlight identifiers in source code")
4760 (description
4761 "Rainbow identifiers mode is an Emacs minor mode providing highlighting of
4762identifiers based on their names. Each identifier gets a color based on a hash
4763of its name.")
4764 (license license:bsd-2)))
4765
4766(define-public emacs-rainbow-mode
4767 (package
4768 (name "emacs-rainbow-mode")
4769 (version "1.0.1")
4770 (source (origin
4771 (method url-fetch)
4772 (uri (string-append
4773 "http://elpa.gnu.org/packages/rainbow-mode-" version ".el"))
4774 (sha256
4775 (base32
4776 "0cpga4ax635rfpj7y2vmh7ank0yw00dcy20gjg1mj74r97by8csf"))))
4777 (build-system emacs-build-system)
4778 (home-page "http://elpa.gnu.org/packages/rainbow-mode.html")
4779 (synopsis "Colorize color names in buffers")
4780 (description
4781 "This minor mode sets background color to strings that match color
4782names, e.g. #0000ff is displayed in white with a blue background.")
4783 (license license:gpl3+)))
4784
4785(define-public emacs-visual-fill-column
4786 (package
4787 (name "emacs-visual-fill-column")
4788 (version "1.11")
4789 (source (origin
4790 (method url-fetch)
4791 (uri (string-append "https://codeload.github.com/joostkremers/"
4792 "visual-fill-column/tar.gz/" version))
4793 (file-name (string-append name "-" version ".tar.gz"))
4794 (sha256
4795 (base32
4796 "13jnviakp607zcms7f8ams56mr8wffnq1pghlc6fvqs39663pgwh"))))
4797 (build-system emacs-build-system)
4798 (home-page "https://github.com/joostkremers/visual-fill-column")
4799 (synopsis "Fill-column for visual-line-mode")
4800 (description
4801 "@code{visual-fill-column-mode} is a small Emacs minor mode that mimics
4802the effect of @code{fill-column} in @code{visual-line-mode}. Instead of
4803wrapping lines at the window edge, which is the standard behaviour of
4804@code{visual-line-mode}, it wraps lines at @code{fill-column}. If
4805@code{fill-column} is too large for the window, the text is wrapped at the
4806window edge.")
4807 (license license:gpl3+)))
4808
4809(define-public emacs-writeroom
4810 (package
4811 (name "emacs-writeroom")
4812 (version "3.7")
4813 (source (origin
4814 (method url-fetch)
4815 (uri (string-append
4816 "https://github.com/joostkremers/writeroom-mode/archive/"
4817 version ".tar.gz"))
4818 (file-name (string-append name "-" version ".tar.gz"))
4819 (sha256
4820 (base32
4821 "0yqgp5h3kvvpgva4azakb2wnjl7gsyh45glf75crspv3xyq57f2r"))))
4822 (build-system emacs-build-system)
4823 (propagated-inputs
4824 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)))
4825 (home-page "https://github.com/joostkremers/writeroom-mode")
4826 (synopsis "Distraction-free writing for Emacs")
4827 (description
4828 "This package defines a minor mode for distraction-free writing. Some of
4829the default effects include entering fullscreen, deleting other windows of the
4830current frame, disabling the mode line, and adding margins to the buffer that
4831restrict the text width to 80 characters.")
4832 (license license:bsd-3)))
4833
4834(define-public emacs-ido-completing-read+
4835 (package
4836 (name "emacs-ido-completing-read+")
4837 (version "3.12")
4838 (source (origin
4839 (method url-fetch)
4840 (uri (string-append "https://raw.githubusercontent.com"
4841 "/DarwinAwardWinner/ido-ubiquitous/v"
4842 version "/ido-completing-read+.el"))
4843 (file-name (string-append "ido-completing-read+-" version ".el"))
4844 (sha256
4845 (base32
4846 "1cyalb0p7nfsm4n6n9q6rjmvn6adqc0fq8ybnlj3n41n289dkfjf"))))
4847 (build-system emacs-build-system)
4848 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
4849 (synopsis "Replacement for completing-read using ido")
4850 (description
4851 "The ido-completing-read+ function is a wrapper for ido-completing-read.
4852Importantly, it detects edge cases that ordinary ido cannot handle and either
4853adjusts them so ido can handle them, or else simply falls back to the standard
4854Emacs completion function instead.")
4855 (license license:gpl3+)))
4856
4857(define-public emacs-ido-ubiquitous
4858 (package
4859 (name "emacs-ido-ubiquitous")
4860 (version "3.12")
4861 (source (origin
4862 (method url-fetch)
4863 (uri (string-append "https://raw.githubusercontent.com"
4864 "/DarwinAwardWinner/ido-ubiquitous/v"
4865 version "/ido-ubiquitous.el"))
4866 (file-name (string-append "ido-ubiquitous-" version ".el"))
4867 (sha256
4868 (base32
4869 "197ypji0fb6jsdcq40rpnknwlh3imas6s6jbsvkfm0pz9988c3q2"))))
4870 (build-system emacs-build-system)
4871 (propagated-inputs
4872 `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
4873 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
4874 (synopsis "Use ido (nearly) everywhere")
4875 (description
4876 "Ido-ubiquitous enables ido-style completion for almost every function
4877that uses the standard completion function completing-read.")
4878 (license license:gpl3+)))
4879
4880(define-public emacs-yaml-mode
4881 (package
4882 (name "emacs-yaml-mode")
4883 (version "0.0.13")
4884 (source (origin
4885 (method url-fetch)
4886 (uri (string-append "https://raw.githubusercontent.com/yoshiki"
4887 "/yaml-mode/v" version "/yaml-mode.el"))
4888 (file-name (string-append "yaml-mode-" version ".el"))
4889 (sha256
4890 (base32
4891 "0im88sk9dqw03x6d6zaspgvg9i0pfpgb8f2zygrmbifh2w4pwmvj"))))
4892 (build-system emacs-build-system)
4893 (home-page "https://github.com/yoshiki/yaml-mode")
4894 (synopsis "Major mode for editing YAML files")
4895 (description
4896 "Yaml-mode is an Emacs major mode for editing files in the YAML data
4897serialization format. It was initially developed by Yoshiki Kurihara and many
4898features were added by Marshall Vandegrift. As YAML and Python share the fact
4899that indentation determines structure, this mode provides indentation and
4900indentation command behavior very similar to that of python-mode.")
4901 (license license:gpl3+)))
4902
4903(define-public emacs-web-mode
4904 (package
4905 (name "emacs-web-mode")
4906 (version "16")
4907 (source (origin
4908 (method url-fetch)
4909 (uri (string-append "https://raw.githubusercontent.com/fxbois"
4910 "/web-mode/v" version "/web-mode.el"))
4911 (file-name (string-append "web-mode-" version ".el"))
4912 (sha256
4913 (base32
4914 "1hs5w7kdvcyn4ihyw1kfjg48djn5p7lz4rlbhzzdqv1g56xqx3gw"))))
4915 (build-system emacs-build-system)
4916 (synopsis "Major mode for editing web templates")
4917 (description "Web-mode is an Emacs major mode for editing web templates
4918aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by
4919client/server side engines). Web-mode is compatible with many template
4920engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker,
4921Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template,
4922Dust.js, React/JSX, Angularjs, ejs, etc.")
4923 (home-page "http://web-mode.org/")
4924 (license license:gpl3+)))
4925
4926(define-public emacs-wgrep
4927 (let ((commit "414be70bd313e482cd9f0b70fd2daad4ee23497c"))
4928 ;; Late commit fixes compatibility issue with Emacs 26+.
4929 (package
4930 (name "emacs-wgrep")
4931 (version (git-version "2.1.10" "1" commit))
4932 (source (origin
4933 (method git-fetch)
4934 (uri (git-reference
4935 (url "https://github.com/mhayashi1120/Emacs-wgrep")
4936 (commit commit)))
4937 (file-name (git-file-name name version))
4938 (sha256
4939 (base32
4940 "1sdhd587q3pg92lhiayph87azhalmf1gzrnsprkmqvnphv7mvks9"))))
4941 (build-system emacs-build-system)
4942 (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
4943 (synopsis "Edit a grep buffer and apply those changes to the files")
4944 (description
4945 "Emacs wgrep allows you to edit a grep buffer and apply those changes
4946to the file buffer. Several backends are supported beside the classic grep:
4947ack, ag, helm and pt.")
4948 (license license:gpl3+))))
4949
4950(define-public emacs-helm
4951 (package
4952 (name "emacs-helm")
4953 (version "3.0")
4954 (source (origin
4955 (method url-fetch)
4956 (uri (string-append
4957 "https://github.com/" name "/helm/archive/v"
4958 version ".tar.gz"))
4959 (file-name (string-append name "-" version ".tar.gz"))
4960 (sha256
4961 (base32
4962 "0k2r0ccppaqfjvyszaxa16vf7g2qzj1clhfr6v646ncsy17laciw"))))
4963 (build-system emacs-build-system)
4964 (propagated-inputs
4965 `(("emacs-async" ,emacs-async)
4966 ("emacs-popup" ,emacs-popup)))
4967 (home-page "https://emacs-helm.github.io/helm/")
4968 (synopsis "Incremental completion and selection narrowing
4969framework for Emacs")
4970 (description "Helm is incremental completion and selection narrowing
4971framework for Emacs. It will help steer you in the right direction when
4972you're looking for stuff in Emacs (like buffers, files, etc). Helm is a fork
4973of @code{anything.el} originally written by Tamas Patrovic and can be
4974considered to be its successor. Helm sets out to clean up the legacy code in
4975@code{anything.el} and provide a cleaner, leaner and more modular tool, that's
4976not tied in the trap of backward compatibility.")
4977 (license license:gpl3+)))
4978
4979(define-public emacs-helm-swoop
4980 (package
4981 (name "emacs-helm-swoop")
4982 (version "1.7.4")
4983 (source (origin
4984 (method url-fetch)
4985 (uri (string-append
4986 "https://github.com/ShingoFukuyama/helm-swoop/archive/"
4987 version
4988 ".tar.gz"))
4989 (file-name (string-append name "-" version ".tar.gz"))
4990 (sha256
4991 (base32
4992 "1ssivsjzlnkg049cg993l8fp09l5nhpz6asj7w5c91zp5kpc6fh7"))))
4993 (build-system emacs-build-system)
4994 (propagated-inputs
4995 `(("emacs-helm" ,emacs-helm)))
4996 (home-page "https://github.com/ShingoFukuyama/helm-swoop")
4997 (synopsis "Filter and jump to lines in an Emacs buffer using Helm")
4998 (description
4999 "This package builds on the Helm interface to provide several commands
5000for search-based navigation of buffers.")
5001 (license license:gpl2+)))
5002
5003(define-public emacs-helm-projectile
5004 (package
5005 (name "emacs-helm-projectile")
5006 (version "0.14.0")
5007 (source (origin
5008 (method url-fetch)
5009 (uri (string-append
5010 "https://github.com/bbatsov/helm-projectile/archive/v"
5011 version
5012 ".tar.gz"))
5013 (file-name (string-append name "-" version ".tar.gz"))
5014 (sha256
5015 (base32
5016 "19cfmilqh8kbab3b2hmx6lyrj73q6vfmn3p730x95g23iz16mnd5"))))
5017 (build-system emacs-build-system)
5018 (propagated-inputs
5019 `(("emacs-dash" ,emacs-dash)
5020 ("emacs-helm" ,emacs-helm)
5021 ("emacs-projectile" ,emacs-projectile)))
5022 (home-page "https://github.com/bbatsov/helm-projectile")
5023 (synopsis "Helm integration for Projectile")
5024 (description
5025 "This Emacs library provides a Helm interface for Projectile.")
5026 (license license:gpl3+)))
5027
5028(define-public emacs-helm-make
5029 (let ((commit "feae8df22bc4b20705ea08ac9adfc2b43bb348d0")
5030 (revision "1"))
5031 (package
5032 (name "emacs-helm-make")
5033 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
5034 (source
5035 (origin
5036 (method git-fetch)
5037 (uri (git-reference
5038 (url "https://github.com/abo-abo/helm-make.git")
5039 (commit commit)))
5040 (file-name (string-append name "-" version "-checkout"))
5041 (sha256
5042 (base32
5043 "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam"))))
5044 (build-system emacs-build-system)
5045 (propagated-inputs
5046 `(("emacs-helm" ,emacs-helm)
5047 ("emacs-projectile" ,emacs-projectile)))
5048 (home-page "https://github.com/abo-abo/helm-make")
5049 (synopsis "Select a Makefile target with helm")
5050 (description "@code{helm-make} or @code{helm-make-projectile} will give
5051you a @code{helm} selection of directory Makefile's targets. Selecting a
5052target will call @code{compile} on it.")
5053 (license license:gpl3+))))
5054
5055(define-public emacs-cider
5056 (package
5057 (name "emacs-cider")
de8abc96 5058 (version "0.20.0")
eeb883cb
RW
5059 (source
5060 (origin
5061 (method git-fetch)
5062 (uri (git-reference
5063 (url "https://github.com/clojure-emacs/cider.git")
5064 (commit (string-append "v" version))))
5065 (file-name (git-file-name name version))
5066 (sha256
5067 (base32
de8abc96 5068 "0lfhzg9c931jbx27hpshk3l76gwbp6ggf668sqa77xrvymwdlsnw"))))
eeb883cb
RW
5069 (build-system emacs-build-system)
5070 (arguments
5071 '(#:exclude ; Don't exclude 'cider-test.el'.
5072 '("^\\.dir-locals\\.el$" "^test/")))
5073 (propagated-inputs
5074 `(("emacs-clojure-mode" ,emacs-clojure-mode)
5075 ("emacs-sesman" ,emacs-sesman)
5076 ("emacs-spinner" ,emacs-spinner)
5077 ("emacs-pkg-info" ,emacs-pkg-info)
5078 ("emacs-queue" ,emacs-queue)))
5079 (home-page "https://cider.readthedocs.io/")
5080 (synopsis "Clojure development environment for Emacs")
5081 (description
5082 "CIDER (Clojure Interactive Development Environment that Rocks) aims to
5083provide an interactive development experience similar to the one you'd get
5084when programming in Emacs Lisp, Common Lisp (with SLIME or Sly), Scheme (with
5085Geiser) and Smalltalk.
5086
5087CIDER is the successor to the now deprecated combination of using SLIME +
5088swank-clojure for Clojure development.
5089
5090There are plenty of differences between CIDER and SLIME, but the core ideas
5091are pretty much the same (and SLIME served as the principle inspiration for
5092CIDER).")
5093 (license license:gpl3+)))
5094
5095;; There hasn't been a tag or release since 2015, so we take the latest
5096;; commit.
5097(define-public emacs-sly
5098 (let ((commit "486bfbe95612bcdc0960c490207970a188e0fbb9")
5099 (revision "1"))
5100 (package
5101 (name "emacs-sly")
5102 (version (string-append "1.0.0-" revision "." (string-take commit 9)))
5103 (source
5104 (origin
5105 (method git-fetch)
5106 (uri (git-reference
5107 (url "https://github.com/joaotavora/sly.git")
5108 (commit commit)))
5109 (file-name (git-file-name name version))
5110 (sha256
5111 (base32
5112 "0ib4q4k3h3qn88pymyjjmlmnpizdn1mfg5gpk5a715nqsgxlg09l"))))
5113 (build-system emacs-build-system)
5114 (arguments
5115 `(#:include (cons "^lib\\/" %default-include)
5116 #:phases
5117 ;; The package provides autoloads.
5118 (modify-phases %standard-phases
5119 (delete 'make-autoloads))))
5120 (home-page "https://github.com/joaotavora/sly")
5121 (synopsis "Sylvester the Cat's Common Lisp IDE")
5122 (description
5123 "SLY is Sylvester the Cat's Common Lisp IDE. SLY is a fork of SLIME, and
5124contains the following improvements over it:
5125
5126@enumerate
5127@item Completely redesigned REPL based on Emacs's own full-featured
5128 @code{comint.el}
5129@item Live code annotations via a new @code{sly-stickers} contrib
5130@item Consistent interactive button interface. Everything can be copied to
5131 the REPL.
5132@item Multiple inspectors with independent history
5133@item Regexp-capable @code{M-x sly-apropos}
5134@item Contribs are first class SLY citizens and enabled by default
5135@item Use ASDF to loads contribs on demand.
5136@end enumerate
5137
5138SLY tracks SLIME's bugfixes and all its familar features (debugger, inspector,
5139xref, etc...) are still available, but with better integration.")
5140 (license license:gpl3+))))
5141
5142(define-public emacs-lua-mode
5143 (let ((commit "652e299cb967fccca827dda381d61a9c144d97de")
5144 (revision "1"))
5145 (package
5146 (name "emacs-lua-mode")
5147 (version (string-append "20151025." revision "-" (string-take commit 9)))
5148 (home-page "https://github.com/immerrr/lua-mode/")
5149 (source (origin
5150 (method git-fetch)
5151 (uri (git-reference
5152 (url home-page)
5153 (commit commit)))
5154 (file-name (string-append name "-" version ".checkout"))
5155 (sha256
5156 (base32
5157 "053025k930wh0lak6rc1973ynfrmm8zsyzfqhhd39x7abkl41hc9"))))
5158 (build-system emacs-build-system)
5159 (synopsis "Major mode for lua")
5160 (description
5161 "This Emacs package provides a mode for @uref{https://www.lua.org/,
5162Lua programing language}.")
5163 (license license:gpl2+))))
5164
5165(define-public emacs-ebuild-mode
5166 (package
5167 (name "emacs-ebuild-mode")
5168 (version "1.37")
5169 (source (origin
5170 (method url-fetch)
5171 (uri (string-append
5172 "https://dev.gentoo.org/~ulm/emacs/ebuild-mode"
5173 "-" version ".tar.xz"))
5174 (file-name (string-append name "-" version ".tar.xz"))
5175 (sha256
5176 (base32
5177 "07dzrdjjczkxdfdgi60h4jjkvzi4p0k9rij2wpfp8s03ay3qldpp"))))
5178 (build-system emacs-build-system)
5179 (home-page "https://devmanual.gentoo.org")
5180 (synopsis "Major modes for Gentoo package files")
5181 (description
5182 "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
5183news items, openrc and runscripts.")
5184 (license license:gpl2+)))
5185
5186(define-public emacs-evil
b6a76979
PN
5187 (package
5188 (name "emacs-evil")
5189 (version "1.2.14")
5190 (source
5191 (origin
5192 (method git-fetch)
5193 (uri (git-reference
5194 (url "https://github.com/emacs-evil/evil")
5195 (commit version)))
5196 (file-name (string-append name "-" version "-checkout"))
5197 (sha256
5198 (base32
5199 "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"))))
5200 (build-system emacs-build-system)
5201 (propagated-inputs
5202 `(("emacs-undo-tree" ,emacs-undo-tree)
5203 ("emacs-goto-chg" ,emacs-goto-chg)))
5204 (home-page "https://github.com/emacs-evil/evil")
5205 (synopsis "Extensible Vi layer for Emacs")
5206 (description
5207 "Evil is an extensible vi layer for Emacs. It emulates the
eeb883cb
RW
5208main features of Vim, and provides facilities for writing custom
5209extensions.")
b6a76979 5210 (license license:gpl3+)))
eeb883cb
RW
5211
5212(define-public emacs-evil-collection
4727e69a
PN
5213 (let ((commit "e7b57aae0131634d0da5e599717a86c4b3ca6092")
5214 (revision "7"))
eeb883cb
RW
5215 (package
5216 (name "emacs-evil-collection")
5217 (version (git-version "0.0.1" revision commit))
5218 (source (origin
5219 (method git-fetch)
5220 (uri (git-reference
5221 (url "https://github.com/emacs-evil/evil-collection")
5222 (commit commit)))
5223 (file-name (string-append name "-" version "-checkout"))
5224 (sha256
5225 (base32
4727e69a 5226 "1g7bxvgnsikpxxdimy0lymn3xz53fari048l827sjyw5kxi59d20"))))
eeb883cb
RW
5227 (build-system emacs-build-system)
5228 (propagated-inputs
5229 `(("emacs-evil" ,emacs-evil)))
5230 (home-page "https://github.com/emacs-evil/evil-collection")
5231 (synopsis "Collection of Evil bindings for many major and minor modes")
5232 (description "This is a collection of Evil bindings for the parts of
5233Emacs that Evil does not cover properly by default, such as @code{help-mode},
5234@code{M-x calendar}, Eshell and more.")
5235 (license license:gpl3+))))
5236
5237(define-public emacs-goto-chg
5238 (package
5239 (name "emacs-goto-chg")
5240 (version "1.6")
5241 (source
5242 (origin
5243 (method url-fetch)
5244 ;; There is no versioned source.
5245 (uri "https://www.emacswiki.org/emacs/download/goto-chg.el")
5246 (file-name (string-append "goto-chg-" version ".el"))
5247 (sha256
5248 (base32
5249 "078d6p4br5vips7b9x4v6cy0wxf6m5ij9gpqd4g33bryn22gnpij"))))
5250 (build-system emacs-build-system)
5251 ;; There is no other home page.
5252 (home-page "https://www.emacswiki.org/emacs/goto-chg.el")
5253 (synopsis "Go to the last change in the Emacs buffer")
5254 (description
5255 "This package provides @code{M-x goto-last-change} command that goes to
5256the point of the most recent edit in the current Emacs buffer. When repeated,
5257go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is
5258used for reverse direction.")
5259 (license license:gpl2+)))
5260
5261(define-public emacs-monroe
5262 (package
5263 (name "emacs-monroe")
5264 (version "0.3.1")
5265 (source
5266 (origin
5267 (method url-fetch)
5268 (uri (string-append "https://github.com/sanel/monroe/archive/"
5269 version ".tar.gz"))
5270 (file-name (string-append name "-" version ".tar.gz"))
5271 (sha256
5272 (base32
5273 "0icdx8shkd951phlnmcq1vqaxp1l667q5rjscskc5r22aylakh4w"))))
5274 (build-system emacs-build-system)
5275 (home-page "https://github.com/sanel/monroe")
5276 (synopsis "Clojure nREPL client for Emacs")
5277 (description
5278 "Monroe is a nREPL client for Emacs, focused on simplicity and easy
5279distribution, primarily targeting Clojure users")
5280 (license license:gpl3+)))
5281
5282(define-public emacs-orgalist
5283 (package
5284 (name "emacs-orgalist")
5285 (version "1.9")
5286 (source
5287 (origin
5288 (method url-fetch)
5289 (uri (string-append "https://elpa.gnu.org/packages/"
5290 "orgalist-" version ".el"))
5291 (sha256
5292 (base32
5293 "1rmmcyiiqkq54hn74nhzxzl4nvd902hv6gq341jwhrm7yiagffi6"))))
5294 (build-system emacs-build-system)
5295 (home-page "http://elpa.gnu.org/packages/orgalist.html")
5296 (synopsis "Manage Org-like lists in non-Org buffers")
5297 (description "Write Org mode's plain lists in non-Org buffers. More
5298specifically, Orgalist supports the syntax of Org mode for numbered,
5299unnumbered, description items, checkboxes, and counter cookies.
5300
5301The library also implements radio lists, i.e., lists written in Org
5302syntax later translated into the host format, e.g., LaTeX or HTML.")
5303 (license license:gpl3+)))
5304
5305(define-public emacs-writegood-mode
5306 (package
5307 (name "emacs-writegood-mode")
5308 (version "2.0.2")
5309 (home-page "https://github.com/bnbeckwith/writegood-mode")
5310 (source (origin
5311 (method git-fetch)
5312 (uri (git-reference
5313 (url home-page)
5314 (commit (string-append "v" version))))
5315 (sha256
5316 (base32
5317 "1nnjn1r669hvvzfycllwap4w04m8rfsk4nzcg8057m1f263kj31b"))
5318 (file-name (string-append name "-checkout"))))
5319 (build-system emacs-build-system)
5320 (synopsis "Polish up poor writing on the fly")
5321 (description
5322 "This minor mode tries to find and highlight problems with your writing
5323in English as you type. It primarily detects \"weasel words\" and abuse of
5324passive voice.")
5325 (license license:gpl3+)))
5326
5327(define-public emacs-neotree
5328 (package
5329 (name "emacs-neotree")
5330 (version "0.5.2")
5331 (home-page "https://github.com/jaypei/emacs-neotree")
5332 (source (origin
5333 (method url-fetch)
5334 (uri (string-append
5335 "https://github.com/jaypei/" name
5336 "/archive/" version ".tar.gz"))
5337 (sha256
5338 (base32
5339 "1zd6dchwyijnf7kgchfcp51gs938l204dk9z6mljrfqf2zy0gp12"))
5340 (file-name (string-append name "-" version ".tar.gz"))))
5341 (build-system emacs-build-system)
5342 (synopsis "Folder tree view for Emacs")
5343 (description "This Emacs package provides a folder tree view.")
5344 (license license:gpl3+)))
5345
5346(define-public emacs-org
5347 (package
5348 (name "emacs-org")
5349 ;; emacs-org-contrib inherits from this package. Please update its sha256
5350 ;; checksum as well.
2dd662f4 5351 (version "9.2.1")
eeb883cb
RW
5352 (source (origin
5353 (method url-fetch)
5354 (uri (string-append "http://elpa.gnu.org/packages/org-"
5355 version ".tar"))
5356 (sha256
5357 (base32
2dd662f4 5358 "0ggca29pyksvfblyd2ciqhgi392wlqx0nmph7ck4m5wbzmk2qnry"))))
eeb883cb
RW
5359 (build-system emacs-build-system)
5360 (home-page "https://orgmode.org/")
5361 (synopsis "Outline-based notes management and organizer")
5362 (description "Org is an Emacs mode for keeping notes, maintaining TODO
5363lists, and project planning with a fast and effective lightweight markup
5364language. It also is an authoring system with unique support for literate
5365programming and reproducible research.")
5366 (license license:gpl3+)))
5367
5368(define-public emacs-org-contrib
5369 (package
5370 (inherit emacs-org)
5371 (name "emacs-org-contrib")
2dd662f4 5372 (version "20190203")
eeb883cb
RW
5373 (source (origin
5374 (method url-fetch)
5375 (uri (string-append "https://orgmode.org/elpa/org-plus-contrib-"
5376 version ".tar"))
5377 (sha256
5378 (base32
2dd662f4 5379 "060rm62p1660n9f6i5w8l932w7gn5ign93q92gva4jy4bkmvczyb"))))
eeb883cb
RW
5380 (arguments
5381 `(#:modules ((guix build emacs-build-system)
5382 (guix build utils)
5383 (guix build emacs-utils)
5384 (ice-9 ftw)
5385 (srfi srfi-1))
5386 #:phases
5387 (modify-phases %standard-phases
5388 (add-after 'install 'delete-org-files
5389 (lambda* (#:key inputs outputs #:allow-other-keys)
5390 (let* ((out (assoc-ref outputs "out"))
5391 (org (assoc-ref inputs "org"))
5392 (contrib-files
5393 (map basename (find-files out)))
5394 (org+contrib-files
5395 (map basename (find-files org)))
5396 (duplicates (lset-intersection
5397 string=? contrib-files org+contrib-files)))
5398 (with-directory-excursion
5399 (string-append
5400 out "/share/emacs/site-lisp/guix.d/org-contrib-" ,version)
5401 (for-each delete-file duplicates))
5402 #t))))))
5403 (propagated-inputs
5404 `(("arduino-mode" ,emacs-arduino-mode)
5405 ("cider" ,emacs-cider)
5406 ("org" ,emacs-org)
5407 ("scel" ,emacs-scel)))
5408 (synopsis "Contributed packages to Org mode")
5409 (description "Org is an Emacs mode for keeping notes, maintaining TODO
5410lists, and project planning with a fast and effective plain-text system.
5411
5412This package is equivalent to org-plus-contrib, but only includes additional
5413files that you would find in @file{contrib/} from the git repository.")))
5414
5415(define-public emacs-flx
5416 (package
5417 (name "emacs-flx")
5418 (version "0.6.1")
5419 (source
5420 (origin
5421 (method url-fetch)
5422 (uri (string-append "https://github.com/lewang/"
5423 "flx/archive/v" version ".tar.gz"))
5424 (sha256
5425 (base32
5426 "0bkcpnf1j4i2fcc2rllwbz62l00sw2mcia6rm5amgwvlkqavmkv6"))
5427 (file-name (string-append name "-" version ".tar.gz"))))
5428 (build-system emacs-build-system)
5429 (home-page "https://github.com/lewang/flx")
5430 (synopsis "Fuzzy matching for Emacs")
5431 (description
5432 "Flx provides fuzzy matching for emacs a la sublime text.
5433The sorting algorithm is a balance between word beginnings (abbreviation)
5434and contiguous matches (substring). The longer the substring match,
5435the higher it scores. This maps well to how we think about matching.
5436Flx has support for ido (interactively do things) through flx-ido.")
5437 (license license:gpl3+)))
5438
5439(define-public emacs-cyberpunk-theme
5440 (package
5441 (name "emacs-cyberpunk-theme")
5442 (version "1.19")
5443 (source
5444 (origin
5445 (method url-fetch)
5446 (uri (string-append "https://github.com/n3mo/cyberpunk-theme.el/"
5447 "archive/" version ".tar.gz"))
5448 (sha256
5449 (base32
5450 "05l5fxw1mn5py6mfhxrzyqjq0d8m5m1akfi46vrgh13r414jffvv"))
5451 (file-name (string-append name "-" version ".tar.gz"))))
5452 (build-system emacs-build-system)
5453 (home-page "https://github.com/n3mo/cyberpunk-theme.el")
5454 (synopsis "Cyberpunk theme for emacs built-in color theme support")
5455 (description
5456 "Cyberpunk color theme for the emacs 24+ built-in color theme support
5457known loosely as deftheme. Many mode-specific customizations are included.")
5458 (license license:gpl3+)))
5459
5460(define-public emacs-danneskjold-theme
5461 (let* ((commit "8733d2fe8743e8a01826ea6d4430ef376c727e57")
5462 (revision "1"))
5463 (package
5464 (name "emacs-danneskjold-theme")
5465 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
5466 (home-page "https://github.com/rails-to-cosmos/danneskjold-theme")
5467 (source
5468 (origin
5469 (method git-fetch)
5470 (uri (git-reference
5471 (url home-page)
5472 (commit commit)))
5473 (file-name (string-append name "-" version "-checkout"))
5474 (sha256
5475 (base32
5476 "0s6rbsb0y8i8m5b9xm4gw1p1cxsxdqnqxqqb638pygz9f76mbir1"))))
5477 (build-system emacs-build-system)
5478 (arguments
5479 `(#:phases
5480 (modify-phases %standard-phases
5481 (add-after 'unpack 'delete-screenshots
5482 (lambda _
5483 (delete-file-recursively "screenshots") #t)))))
5484 (synopsis "High-contrast Emacs theme")
5485 (description
5486 "@code{danneskjold-theme} is a high-contrast theme for Emacs.")
5487 (license license:gpl3+))))
5488
5489(define-public emacs-dream-theme
5490 (let* ((commit "107a11d74365046f28a1802a2bdb5e69e4a7488b")
5491 (revision "1"))
5492 (package
5493 (name "emacs-dream-theme")
5494 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
5495 (source
5496 (origin
5497 (method git-fetch)
5498 (uri (git-reference
5499 (url "https://github.com/djcb/dream-theme")
5500 (commit commit)))
5501 (file-name (string-append name "-" version "-checkout"))
5502 (sha256
5503 (base32
5504 "0za18nfkq4xqm35k6006vsixcbmvmxqgma4iw5sw37h8vmcsdylk"))))
5505 (build-system emacs-build-system)
5506 (home-page "https://github.com/djcb/dream-theme")
5507 (synopsis "High-contrast Emacs theme")
5508 (description
5509 "@code{dream-theme} is a dark, clean theme for Emacs. It is inspired
5510by zenburn, sinburn and similar themes, but slowly diverging from them.")
5511 (license license:gpl3+))))
5512
5513(define-public emacs-auto-complete
5514 (package
5515 (name "emacs-auto-complete")
5516 (version "1.5.1")
5517 (source
5518 (origin
5519 (method url-fetch)
5520 (uri (string-append "https://github.com/auto-complete/"
5521 "auto-complete/archive/v" version ".tar.gz"))
5522 (sha256
5523 (base32
5524 "1jvq4lj00hwml75lpmlciazy8f3bbg13gffsfnl835p4qd8l7yqv"))
5525 (file-name (string-append name "-" version ".tar.gz"))))
5526 (build-system emacs-build-system)
5527 (propagated-inputs
5528 `(("emacs-popup" ,emacs-popup)))
5529 (home-page "https://github.com/auto-complete/auto-complete")
5530 (synopsis "Intelligent auto-completion extension for Emacs")
5531 (description
5532 "Auto-Complete is an intelligent auto-completion extension for Emacs.
5533It extends the standard Emacs completion interface and provides an environment
5534that allows users to concentrate more on their own work. Its features are:
5535a visual interface, reduce overhead of completion by using statistic method,
5536extensibility.")
5537 (license license:gpl3+)))
5538
5539(define-public emacs-nginx-mode
5540 (package
5541 (name "emacs-nginx-mode")
5542 (version "1.1.9")
5543 (source
5544 (origin
5545 (method url-fetch)
5546 (uri (string-append
5547 "https://github.com/ajc/nginx-mode/archive/v"
5548 version ".tar.gz"))
5549 (file-name (string-append name "-" version ".tar.gz"))
5550 (sha256
5551 (base32
5552 "0bzyrj6zz1hm67bkhw23bam7qc869s3zg7m1rb1c3aa4n0aw90cq"))))
5553 (build-system emacs-build-system)
5554 (home-page "https://github.com/ajc/nginx-mode")
5555 (synopsis "Emacs major mode for editing nginx config files")
5556 (description "This package provides an Emacs major mode for
5557editing nginx config files.")
5558 (license license:gpl2+)))
5559
5560(define-public emacs-stream
5561 (package
5562 (name "emacs-stream")
5563 (version "2.2.0")
5564 (home-page "https://github.com/NicolasPetton/stream")
5565 (source
5566 (origin
5567 (method url-fetch)
5568 (file-name (string-append name "-" version ".tar.gz"))
5569 (uri (string-append home-page "/archive/"version ".tar.gz"))
5570 (sha256
5571 (base32 "03ql4nqfz5pn55mjly6clhvc3g7x2d28kj7mrlqmigvjbql39xxc"))))
5572 (build-system emacs-build-system)
5573 (synopsis "Implementation of streams for Emacs")
5574 (description "This library provides an implementation of streams for Emacs.
5575Streams are implemented as delayed evaluation of cons cells.")
5576 (license license:gpl3+)))
5577
5578(define-public emacs-el-search
5579 (let ((commit "f26277bfbb3fc3fc74beea6592f294c439796bd4")
5580 (revision "1"))
5581 (package
5582 (name "emacs-el-search")
5583 ;; No ufficial release.
5584 (version (string-append "0.0-" revision "." (string-take commit 7)))
5585 (home-page "https://github.com/emacsmirror/el-search")
5586 (source
5587 (origin
5588 (method git-fetch)
5589 (file-name (string-append name "-" version ".tar.gz"))
5590 (uri (git-reference
5591 (commit commit)
5592 (url (string-append home-page ".git"))))
5593 (sha256
5594 (base32 "12xf40h9sb7xxg2r97gsia94q02543mgiiiw46fzh1ac7b7993g6"))))
5595 (build-system emacs-build-system)
5596 (inputs `(("emacs-stream" ,emacs-stream)))
5597 (synopsis "Expression based interactive search for emacs-lisp-mode")
5598 (description "This package provides expression based interactive search
5599procedures for emacs-lisp-mode.")
5600 (license license:gpl3+))))
5601
5602(define-public emacs-ht
5603 (package
5604 (name "emacs-ht")
b6ecf3d7 5605 (version "2.2")
eeb883cb
RW
5606 (source
5607 (origin
5608 (method url-fetch)
5609 (uri (string-append
5610 "https://github.com/Wilfred/ht.el/archive/"
5611 version ".tar.gz"))
5612 (file-name (string-append name "-" version ".tar.gz"))
5613 (sha256
5614 (base32
b6ecf3d7 5615 "0fsi27gdrh2dgwdbq43vnw5sz25war6shlxaclr60fl7krpxjkzf"))))
eeb883cb
RW
5616 (build-system emacs-build-system)
5617 (propagated-inputs `(("emacs-dash" ,emacs-dash)))
5618 (home-page "https://github.com/Wilfred/ht.el")
5619 (synopsis "Hash table library for Emacs")
5620 (description
5621 "This package simplifies the use of hash tables in elisp. It also
5622provides functions to convert hash tables from and to alists and plists.")
5623 (license license:gpl3+)))
5624
5625(define-public emacs-log4e
5626 (package
5627 (name "emacs-log4e")
5628 (version "0.3.0")
5629 (source
5630 (origin
5631 (method url-fetch)
5632 (uri (string-append
5633 "https://github.com/aki2o/log4e/archive/v"
5634 version ".tar.gz"))
5635 (file-name (string-append name "-" version ".tar.gz"))
5636 (sha256
5637 (base32
5638 "0nbdpbw353snda3v19l9hsm6gimppwnpxj18amm350bm81lyim2g"))))
5639 (build-system emacs-build-system)
5640 (arguments
5641 `(#:phases
5642 (modify-phases %standard-phases
5643 (add-after 'unpack 'remove-tests
5644 ;; Guile builder complains about null characters in some
5645 ;; strings of test files. Remove "test" directory (it is not
5646 ;; needed anyway).
5647 (lambda _
5648 (delete-file-recursively "test"))))))
5649 (home-page "https://github.com/aki2o/log4e")
5650 (synopsis "Logging framework for elisp")
5651 (description
5652 "This package provides a logging framework for elisp. It allows
5653you to deal with multiple log levels.")
5654 (license license:gpl3+)))
5655
5656(define-public emacs-gntp
5657 (package
5658 (name "emacs-gntp")
5659 (version "0.1")
5660 (source
5661 (origin
5662 (method url-fetch)
5663 (uri (string-append
5664 "https://github.com/tekai/gntp.el/archive/v"
5665 version ".tar.gz"))
5666 (file-name (string-append name "-" version ".tar.gz"))
5667 (sha256
5668 (base32
5669 "16c1dfkia9yhl206bdhjr3b8kfvqcqr38jl5lq8qsyrrzsnmghny"))))
5670 (build-system emacs-build-system)
5671 (home-page "https://github.com/tekai/gntp.el")
5672 (synopsis "Growl Notification Protocol for Emacs")
5673 (description
5674 "This package implements the Growl Notification Protocol GNTP
5675described at @uref{http://www.growlforwindows.com/gfw/help/gntp.aspx}.
5676It is incomplete as it only lets you send but not receive
5677notifications.")
5678 (license license:bsd-3)))
5679
5680(define-public emacs-alert
5681 (package
5682 (name "emacs-alert")
5683 (version "1.2")
5684 (source
5685 (origin
5686 (method url-fetch)
5687 (uri (string-append
5688 "https://github.com/jwiegley/alert/archive/v"
5689 version ".tar.gz"))
5690 (file-name (string-append name "-" version ".tar.gz"))
5691 (sha256
5692 (base32
5693 "1693kck3k2iz5zhpmxwqyafxm68hr6gzs60lkxd3j1wlp2c9fwyr"))))
5694 (build-system emacs-build-system)
5695 (propagated-inputs
5696 `(("emacs-gntp" ,emacs-gntp)
5697 ("emacs-log4e" ,emacs-log4e)))
5698 (home-page "https://github.com/jwiegley/alert")
5699 (synopsis "Growl-style notification system for Emacs")
5700 (description
5701 "Alert is a Growl-workalike for Emacs which uses a common notification
5702interface and multiple, selectable \"styles\", whose use is fully
5703customizable by the user.")
5704 (license license:gpl2+)))
5705
5706(define-public emacs-mu4e-alert
5707 (package
5708 (name "emacs-mu4e-alert")
5709 (version "1.0")
5710 (source
5711 (origin
5712 (method url-fetch)
5713 (uri (string-append
5714 "https://github.com/iqbalansari/mu4e-alert/archive/v"
5715 version ".tar.gz"))
5716 (file-name (string-append name "-" version ".tar.gz"))
5717 (sha256
5718 (base32
5719 "07qc834qnxn8xi4bw5nawj8g91bmkzw0r0vahkgysp7r9xrf57gj"))))
5720 (build-system emacs-build-system)
5721 (propagated-inputs
5722 `(("emacs-alert" ,emacs-alert)
5723 ("emacs-s" ,emacs-s)
5724 ("emacs-ht" ,emacs-ht)
5725 ("mu" ,mu)))
5726 (home-page "https://github.com/iqbalansari/mu4e-alert")
5727 (synopsis "Desktop notification for mu4e")
5728 (description
5729 "This package provides desktop notifications for mu4e.
5730Additionally it can display the number of unread emails in the
5731mode-line.")
5732 (license license:gpl3+)))
5733
5734(define-public emacs-pretty-mode
5735 (package
5736 (name "emacs-pretty-mode")
5737 (version "2.0.3")
5738 (source
5739 (origin
5740 (method url-fetch)
5741 (uri (string-append "https://github.com/akatov/pretty-mode/"
5742 "archive/" version ".tar.gz"))
5743 (file-name (string-append name "-" version ".tar.gz"))
5744 (sha256
5745 (base32
5746 "1fan7m4vnqs8kpg7r54kx3g7faadkpkf9kzarfv8n57kq8w157pl"))))
5747 (build-system emacs-build-system)
5748 (home-page "https://github.com/akatov/pretty-mode")
5749 (synopsis "Redisplay parts of the buffer as Unicode symbols")
5750 (description
5751 "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
5752 (license license:gpl3+)))
5753
5754(define-public emacs-yasnippet
5755 (package
5756 (name "emacs-yasnippet")
5757 (version "0.13.0")
5758 (source (origin
5759 (method url-fetch)
5760 (uri (string-append "https://github.com/joaotavora/yasnippet/"
5761 "archive/" version ".tar.gz"))
5762 (file-name (string-append name "-" version ".tar.gz"))
5763 (sha256
5764 (base32
5765 "12ls2x17agzbrj1xynjbmfa11igqxia4hj4fv6fpr66yci2r1plc"))
5766 (modules '((guix build utils)))
5767 (snippet
5768 '(begin
5769 ;; YASnippet expects a "snippets" subdirectory in the same
5770 ;; directory as yasnippet.el, but we don't install it
5771 ;; because it's a git submodule pointing to an external
5772 ;; repository. Adjust `yas-snippet-dirs' to prevent
5773 ;; warnings about a missing directory.
5774 (substitute* "yasnippet.el"
5775 (("^ +'yas-installed-snippets-dir\\)\\)\n")
5776 "))\n"))
5777 #t))))
5778 (build-system emacs-build-system)
5779 (home-page "https://github.com/joaotavora/yasnippet")
5780 (synopsis "Yet another snippet extension for Emacs")
5781 (description
5782 "YASnippet is a template system for Emacs. It allows you to type an
5783abbreviation and automatically expand it into function templates.")
5784 (license license:gpl3+)))
5785
5786(define-public emacs-yasnippet-snippets
5787 (let ((commit "885050d34737e2fb36a3e7759d60c09347bd4ce0")
5788 (revision "1"))
5789 (package
5790 (name "emacs-yasnippet-snippets")
5791 (version (string-append "1-" revision "." (string-take commit 8)))
5792 (source
5793 (origin
5794 (method git-fetch)
5795 (uri (git-reference
5796 (url "https://github.com/AndreaCrotti/yasnippet-snippets")
5797 (commit commit)))
5798 (file-name (string-append name "-" version "-checkout"))
5799 (sha256
5800 (base32
5801 "1m935zgglw0iakzrixld5rcjz3wnj84f8wy2mvc3pggjri9l0qr9"))))
5802 (build-system trivial-build-system)
5803 (arguments
5804 `(#:modules ((ice-9 ftw)
5805 (ice-9 regex)
5806 (guix build utils))
5807 #:builder
5808 (begin
5809 (use-modules (ice-9 ftw)
5810 (ice-9 regex)
5811 (guix build utils))
5812 (with-directory-excursion (assoc-ref %build-inputs "source")
5813 (for-each (lambda (dir)
5814 (copy-recursively
5815 dir
5816 (string-append %output
5817 "/share/emacs/yasnippet-snippets/"
5818 dir)))
5819 (scandir "." (lambda (fname)
5820 (and (string-match "-mode$" fname)
5821 (directory-exists? fname))))))
5822 #t)))
5823 (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
5824 (synopsis "Collection of YASnippet snippets for many languages")
5825 (description
5826 "Provides Andrea Crotti's collection of YASnippet snippets. After installation,
5827the snippets will be in \"~/.guix-profile/share/emacs/yasnippet-snippets/\".
5828To make YASnippet aware of these snippets, add the above directory to
5829@code{yas-snippet-dirs}.")
5830 (license license:expat))))
5831
5832(define-public emacs-helm-c-yasnippet
5833 (let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")
5834 (revision "1"))
5835 (package
5836 (name "emacs-helm-c-yasnippet")
5837 (version (string-append "0.6.7" "-" revision "."
5838 (string-take commit 7)))
5839 (source (origin
5840 (method git-fetch)
5841 (uri (git-reference
5842 (url "https://github.com/emacs-jp/helm-c-yasnippet")
5843 (commit commit)))
5844 (file-name (string-append name "-" version "-checkout"))
5845 (sha256
5846 (base32
5847 "1cbafjqlzxbg19xfdqsinsh7afq58gkf44rsg1qxfgm8g6zhr7f8"))))
5848 (build-system emacs-build-system)
5849 (propagated-inputs
5850 `(("emacs-helm" ,emacs-helm)
5851 ("emacs-yasnippet" ,emacs-yasnippet)))
5852 (home-page "https://github.com/emacs-jp/helm-c-yasnippet")
5853 (synopsis "Helm integration for Yasnippet")
5854 (description "This Emacs library provides Helm interface for
5855Yasnippet.")
5856 (license license:gpl2+))))
5857
5858(define-public emacs-helm-system-packages
5859 (package
5860 (name "emacs-helm-system-packages")
5861 (version "1.10.1")
5862 (source (origin
5863 (method git-fetch)
5864 (uri (git-reference
5865 (url "https://github.com/emacs-helm/helm-system-packages")
5866 (commit (string-append "v" version))))
5867 (file-name (string-append name "-" version "-checkout"))
5868 (sha256
5869 (base32
5870 "01by0c4lqi2cw8xmbxkjw7m9x78zssm31sx4hdpw5j35s2951j0f"))))
5871 (build-system emacs-build-system)
5872 (inputs
5873 `(("recutils" ,recutils)))
5874 (propagated-inputs
5875 `(("emacs-helm" ,emacs-helm)))
5876 (arguments
5877 `(#:phases
5878 (modify-phases %standard-phases
5879 (add-after 'unpack 'configure
5880 (lambda* (#:key inputs outputs #:allow-other-keys)
5881 (let ((recutils (assoc-ref inputs "recutils")))
5882 ;; Specify the absolute file names of the various
5883 ;; programs so that everything works out-of-the-box.
5884 (substitute* "helm-system-packages-guix.el"
5885 (("recsel") (string-append recutils "/bin/recsel")))))))))
5886 (home-page "https://github.com/emacs-helm/helm-system-packages")
5887 (synopsis "Helm System Packages is an interface to your package manager")
5888 (description "List all available packages in Helm (with installed
5889packages displayed in their own respective face). Fuzzy-search, mark and
5890execute the desired action over any selections of packages: Install,
5891uninstall, display packages details (in Org Mode) or insert details at point,
5892find files owned by packages... And much more, including performing all the
5893above over the network.")
5894 (license license:gpl3+)))
5895
5896(define-public emacs-memoize
5897 (package
5898 (name "emacs-memoize")
5899 (version "1.1")
5900 (source
5901 (origin
5902 (method url-fetch)
5903 (uri (string-append
5904 "https://github.com/skeeto/emacs-memoize/archive/"
5905 version ".tar.gz"))
5906 (file-name (string-append name "-" version ".tar.gz"))
5907 (sha256
5908 (base32
5909 "05ijgwi4ymxx31vpjm2pn356j85cykknajn14lrzz8pn5sh0vrg4"))))
5910 (build-system emacs-build-system)
5911 (arguments
5912 `(#:tests? #t
5913 #:test-command '("emacs" "--batch"
5914 "-l" "memoize-test.el"
5915 "-f" "ert-run-tests-batch-and-exit")))
5916 (home-page "https://github.com/skeeto/emacs-memoize")
5917 (synopsis "Emacs lisp memoization library")
5918 (description "@code{emacs-memoize} is an Emacs library for
5919memoizing functions.")
5920 (license license:unlicense)))
5921
5922(define-public emacs-linum-relative
5923 (package
5924 (name "emacs-linum-relative")
5925 (version "0.5")
5926 (source
5927 (origin
5928 (method url-fetch)
5929 (uri (string-append
5930 "https://github.com/coldnew/linum-relative/archive/"
5931 version ".tar.gz"))
5932 (file-name (string-append name "-" version ".tar.gz"))
5933 (sha256
5934 (base32
5935 "0s4frvr27866lw1rn3jal9wj5rkz9fx4yiszqv7w06azsdgsqksv"))))
5936 (build-system emacs-build-system)
5937 (home-page "https://github.com/coldnew/linum-relative")
5938 (synopsis "Relative line numbering for Emacs")
5939 (description "@code{emacs-linum-relative} displays the relative line
5940number on the left margin in Emacs.")
5941 (license license:gpl2+)))
5942
5943(define-public emacs-idle-highlight
5944 (package
5945 (name "emacs-idle-highlight")
5946 (version "1.1.3")
5947 (source
5948 (origin
5949 (method url-fetch)
5950 (uri (string-append
5951 "https://github.com/nonsequitur/idle-highlight-mode/archive/"
5952 version ".tar.gz"))
5953 (file-name (string-append name "-" version ".tar.gz"))
5954 (sha256
5955 (base32
5956 "0kdv10hrgqpskjh0zvpnzwlkn5bccnqxas62gkws6njln57bf8nl"))))
5957 (build-system emacs-build-system)
5958 (home-page "https://www.emacswiki.org/emacs/IdleHighlight")
5959 (synopsis "Highlights all occurrences of the word the point is on")
5960 (description
5961 "This Emacs package provides @code{idle-highlight-mode} that sets
5962 an idle timer to highlight all occurrences in the buffer of the word under
5963 the point.")
5964 (license license:gpl3+)))
5965
5966(define-public emacs-ox-twbs
5967 (package
5968 (name "emacs-ox-twbs")
5969 (version "1.1.1")
5970 (source
5971 (origin
5972 (method url-fetch)
5973 (uri (string-append
5974 "https://github.com/marsmining/ox-twbs/archive/v"
5975 version ".tar.gz"))
5976 (file-name (string-append name "-" version ".tar.gz"))
5977 (sha256
5978 (base32
5979 "1zaq8dczq5wijjk36114k2x3hfrqig3lyx6djril6wyk67vczyqs"))))
5980 (build-system emacs-build-system)
5981 (home-page "https://github.com/marsmining/ox-twbs")
5982 (synopsis "Export org-mode docs as HTML compatible with Twitter Bootstrap")
5983 (description
5984 "This Emacs package outputs your org-mode docs with a simple, clean and
5985modern look. It implements a new HTML back-end for exporting org-mode docs as
5986HTML compatible with Twitter Bootstrap. By default, HTML is exported with
5987jQuery and Bootstrap resources included via osscdn.")
5988 (license license:gpl3+)))
5989
5990(define-public emacs-highlight-sexp
5991 (package
5992 (name "emacs-highlight-sexp")
5993 (version "1.0")
5994 (source
5995 (origin
5996 (method url-fetch)
5997 (uri (string-append
5998 "https://github.com/daimrod/highlight-sexp/archive/v"
5999 version ".tar.gz"))
6000 (file-name (string-append name "-" version ".tar.gz"))
6001 (sha256
6002 (base32
6003 "0jwx87qkln1rg9wmv4qkgkml935fh2pkgrg5x4ca6n5dgb4q6rj1"))))
6004 (build-system emacs-build-system)
6005 (home-page "https://github.com/daimrod/highlight-sexp")
6006 (synopsis "Minor mode that highlights the s-exp at the current position")
6007 (description
6008 "This Emacs package highlights the s-exp at the current position.")
6009 (license license:gpl3+)))
6010
6011(define-public emacs-highlight-stages
6012 (let ((commit "29cbc5b78261916da042ddb107420083da49b271")
6013 (revision "1"))
6014 (package
6015 (name "emacs-highlight-stages")
6016 (version (string-append "1.1.0" "-" revision "." (string-take commit 7)))
6017 (source
6018 (origin
6019 (method git-fetch)
6020 (uri (git-reference
6021 (url "https://github.com/zk-phi/highlight-stages.git")
6022 (commit commit)))
6023 (file-name (string-append name "-" version "-checkout"))
6024 (sha256
6025 (base32
6026 "0r6nbcrr0dqpgm8dir8ahzjy7rw4nrac48byamzrq96r7ajlxlv0"))
6027 (patches
6028 (search-patches "emacs-highlight-stages-add-gexp.patch"))))
6029 (build-system emacs-build-system)
6030 (home-page "https://github.com/wigust/highlight-stages")
6031 (synopsis "Minor mode that highlights (quasi-quoted) expressions")
6032 (description "@code{highlight-stages} provides an Emacs minor mode that
6033highlights quasi-quoted expressions.")
6034 (license license:gpl3+))))
6035
6036(define-public emacspeak
6037 (package
6038 (name "emacspeak")
ea32c946 6039 (version "49.0")
eeb883cb
RW
6040 (source
6041 (origin
6042 (method url-fetch)
6043 (uri (string-append
6044 "https://github.com/tvraman/emacspeak/releases/download/"
6045 version "/emacspeak-" version ".tar.bz2"))
6046 (sha256
6047 (base32
ea32c946 6048 "1smf26m7201z0bk49lzbw9zhbjfi6wylidfjixb8ylp6g0wnh8dx"))))
eeb883cb
RW
6049 (build-system gnu-build-system)
6050 (arguments
6051 '(#:make-flags (list (string-append "prefix="
6052 (assoc-ref %outputs "out")))
6053 #:phases
6054 (modify-phases %standard-phases
6055 (replace 'configure
6056 (lambda* (#:key outputs #:allow-other-keys)
6057 (let* ((out (assoc-ref outputs "out"))
6058 (lisp (string-append out
6059 "/share/emacs/site-lisp/emacspeak")))
6060 (setenv "SHELL" (which "sh"))
6061 ;; Configure Emacspeak according to etc/install.org.
6062 (invoke "make" "config"))))
6063 (add-after 'build 'build-espeak
6064 (lambda _
6065 (invoke "make" "espeak")))
6066 (replace 'install
6067 (lambda* (#:key inputs outputs #:allow-other-keys)
6068 (let* ((out (assoc-ref outputs "out"))
6069 (bin (string-append out "/bin"))
6070 (lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
6071 (info (string-append out "/share/info"))
6072 (emacs (string-append (assoc-ref inputs "emacs")
6073 "/bin/emacs")))
6074 ;; According to etc/install.org, the Emacspeak directory should
6075 ;; be copied to its installation destination.
6076 (for-each
6077 (lambda (file)
6078 (copy-recursively file (string-append lisp "/" file)))
6079 '("etc" "info" "js" "lisp" "media" "scapes" "servers" "sounds"
6080 "stumpwm" "xsl"))
6081 ;; Make sure emacspeak is loaded from the correct directory.
6082 (substitute* "etc/emacspeak.sh"
ea32c946
KK
6083 (("/lisp/emacspeak-setup.el")
6084 (string-append lisp "/lisp/emacspeak-setup.el")))
eeb883cb
RW
6085 ;; Install the convenient startup script.
6086 (mkdir-p bin)
6087 (copy-file "etc/emacspeak.sh" (string-append bin "/emacspeak")))
6088 #t))
6089 (add-after 'install 'wrap-program
6090 (lambda* (#:key inputs outputs #:allow-other-keys)
6091 (let* ((out (assoc-ref outputs "out"))
6092 (emacspeak (string-append out "/bin/emacspeak"))
6093 (espeak (string-append (assoc-ref inputs "espeak")
6094 "/bin/espeak")))
6095 ;; The environment variable DTK_PROGRAM tells emacspeak what
6096 ;; program to use for speech.
6097 (wrap-program emacspeak
6098 `("DTK_PROGRAM" ":" prefix (,espeak)))
6099 #t))))
6100 #:tests? #f)) ; no check target
6101 (inputs
6102 `(("emacs" ,emacs)
6103 ("espeak" ,espeak)
6104 ("perl" ,perl)
6105 ("tcl" ,tcl)
6106 ("tclx" ,tclx)))
6107 (home-page "http://emacspeak.sourceforge.net")
6108 (synopsis "Audio desktop interface for Emacs")
6109 (description
6110 "Emacspeak is a speech interface that allows visually impaired users to
6111interact independently and efficiently with the computer. Audio formatting
6112--a technique pioneered by AsTeR-- and full support for W3C's Aural CSS (ACSS)
6113allows Emacspeak to produce rich aural presentations of electronic information.
6114By seamlessly blending all aspects of the Internet such as Web-surfing and
6115messaging, Emacspeak speech-enables local and remote information via a
6116consistent and well-integrated user interface.")
6117 (license license:gpl2+)))
6118
6119(define-public emacs-adaptive-wrap
6120 (package
6121 (name "emacs-adaptive-wrap")
6122 (version "0.5.1")
6123 (source (origin
6124 (method url-fetch)
6125 (uri (string-append
6126 "http://elpa.gnu.org/packages/adaptive-wrap-"
6127 version ".el"))
6128 (sha256
6129 (base32
6130 "0qi7gjprcpywk2daivnlavwsx53hl5wcqvpxbwinvigg42vxh3ll"))))
6131 (build-system emacs-build-system)
6132 (home-page "http://elpa.gnu.org/packages/adaptive-wrap.html")
6133 (synopsis "Smart line-wrapping with wrap-prefix")
6134 (description
6135 "This Emacs package provides the @code{adaptive-wrap-prefix-mode}
6136minor mode which sets the wrap-prefix property on the fly so that
6137single-long-line paragraphs get word-wrapped in a way similar to what
6138you'd get with @kbd{M-q} using @code{adaptive-fill-mode}, but without
6139actually changing the buffer's text.")
6140 (license license:gpl3+)))
6141
6142(define-public emacs-diff-hl
6143 (package
6144 (name "emacs-diff-hl")
6145 (version "1.8.5")
6146 (source
6147 (origin
6148 (method url-fetch)
6149 (uri (string-append "https://elpa.gnu.org/packages/diff-hl-"
6150 version ".tar"))
6151 (sha256
6152 (base32
6153 "1vxc7z7c2qs0mx7l5sa4sybi5qbzv0s79flj74p1ynw8dl3qxg3d"))))
6154 (build-system emacs-build-system)
6155 (home-page "https://github.com/dgutov/diff-hl")
6156 (synopsis
6157 "Highlight uncommitted changes using VC")
6158 (description
6159 "@code{diff-hl-mode} highlights uncommitted changes on the side of the
6160window (using the fringe, by default), allows you to jump between
6161the hunks and revert them selectively.")
6162 (license license:gpl3+)))
6163
6164(define-public emacs-diminish
6165 (package
6166 (name "emacs-diminish")
6167 (version "0.45")
6168 (source
6169 (origin
6170 (method url-fetch)
6171 (uri (string-append
6172 "https://github.com/myrjola/diminish.el/archive/v"
6173 version ".tar.gz"))
6174 (file-name (string-append name "-" version ".tar.gz"))
6175 (sha256
6176 (base32
6177 "0i3629sv5cfrrb00hcnmaqzgs8mk36yasc1ax3ry1ga09nr6rkj9"))))
6178 (build-system emacs-build-system)
6179 (home-page "https://github.com/myrjola/diminish.el")
6180 (synopsis "Diminish minor modes with no modeline display")
6181 (description "@code{emacs-diminish} implements hiding or
6182abbreviation of the mode line displays (lighters) of minor modes.")
6183 (license license:gpl2+)))
6184
6185(define-public emacs-use-package
6186 (let ((commit "da8c9e2840343906e732f9699e43d35a1f06481d")
6187 (revision "1"))
6188 (package
6189 (name "emacs-use-package")
6190 (version (git-version "2.3" revision commit))
6191 (source (origin
6192 (method git-fetch)
6193 (uri (git-reference
6194 (url "https://github.com/jwiegley/use-package")
6195 (commit commit)))
6196 (file-name (git-file-name name version))
6197 (sha256
6198 (base32
6199 "0jz38pbq1p9h85i6qcsh3sfzkd103y6mw3rg5zd14dxigp8ir3xz"))))
6200 (build-system emacs-build-system)
6201 (propagated-inputs
6202 `(("emacs-diminish" ,emacs-diminish)))
6203 (arguments
6204 `(#:tests? #t
6205 #:test-command '("emacs" "--batch"
6206 "-l" "use-package-tests.el"
6207 "-f" "ert-run-tests-batch-and-exit")))
6208 (home-page "https://github.com/jwiegley/use-package")
6209 (synopsis "Declaration for simplifying your .emacs")
6210 (description "The use-package macro allows you to isolate package
6211configuration in your @file{.emacs} file in a way that is both
6212performance-oriented and tidy.")
6213 (license license:gpl2+))))
6214
6215(define-public emacs-strace-mode
6216 (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
6217 (revision "1"))
6218 (package
6219 (name "emacs-strace-mode")
6220 (version (string-append "0.0.2-" revision "." (string-take commit 7)))
6221 (source (origin
6222 (method git-fetch)
6223 (uri (git-reference
6224 (url "https://github.com/pkmoore/strace-mode")
6225 (commit commit)))
6226 (file-name (string-append name "-" version "-checkout"))
6227 (sha256
6228 (base32
6229 "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f"))))
6230 (build-system emacs-build-system)
6231 (home-page "https://github.com/pkmoore/strace-mode")
6232 (synopsis "Emacs major mode to highlight strace outputs")
6233 (description "@code{emacs-strace-mode} provides an Emacs major mode
6234 highlighting strace outputs.")
6235 (license license:gpl3+))))
6236
6237(define-public emacs-default-encrypt
6238 (package
6239 (name "emacs-default-encrypt")
6240 (version "4.3")
6241 (source
6242 (origin
6243 (method url-fetch)
6244 (uri (string-append
6245 "https://www.informationelle-selbstbestimmung-im-internet.de"
6246 "/emacs/jl-encrypt" version "/jl-encrypt.el"))
6247 (file-name (string-append "jl-encrypt-" version ".el"))
6248 (sha256
6249 (base32
6250 "16i3rlfp3jxlqvndn8idylhmczync3gwmy8a019v29vyr48rnnr0"))))
6251 (build-system emacs-build-system)
6252 (home-page "https://www.informationelle-selbstbestimmung-im-internet.de/Emacs.html")
6253 (synopsis "Automatically encrypt or sign Gnus messages in Emacs")
6254 (description
6255 "DefaultEncrypt is designed to be used with Gnus in Emacs. It
6256automatically encrypts messages that you send (e.g., email) when public keys
6257for all recipients are available, and it protects you from accidentally
6258sending un-encrypted messages. It can also be configured to automatically
6259sign messages that you send. For details and instructions on how to use
6260DefaultEncrypt, please refer to the home page or read the comments in the
6261source file, @file{jl-encrypt.el}.")
6262 (license license:gpl3+)))
6263
6264(define-public emacs-htmlize
6265 (package
6266 (name "emacs-htmlize")
6267 (version "1.53")
6268 (source
6269 (origin
6270 (method url-fetch)
6271 (uri (string-append
6272 "https://github.com/hniksic/emacs-htmlize/archive/release/"
6273 version ".tar.gz"))
6274 (file-name (string-append name "-" version ".tar.gz"))
6275 (sha256
6276 (base32
6277 "1lzaf9m1qr9dhw4nn53g6wszk2vqw95gpsbrc3y85bams4cn24ga"))))
6278 (build-system emacs-build-system)
6279 (home-page "https://github.com/hniksic/emacs-htmlize")
6280 (synopsis "Convert buffer text and decorations to HTML")
6281 (description "@code{emacs-htmlize} converts the buffer text and
6282the associated decorations to HTML. Output to CSS, inline CSS and
6283fonts is supported.")
6284 (license license:gpl2+)))
6285
6286(define-public emacs-xmlgen
6287 (package
6288 (name "emacs-xmlgen")
6289 (version "0.5")
6290 (source
6291 (origin
6292 (method url-fetch)
6293 (uri (string-append
6294 "https://github.com/philjackson/xmlgen/archive/"
6295 version ".tar.gz"))
6296 (file-name (string-append name "-" version ".tar.gz"))
6297 (sha256
6298 (base32
6299 "0zay490vjby3f7455r0vydmjg7q1gwc78hilpfb0rg4gwz224z8r"))))
6300 (build-system emacs-build-system)
6301 (arguments
6302 `(#:tests? #t
6303 #:test-command '("emacs" "--batch"
6304 "-l" "xmlgen-test.el"
6305 "-f" "ert-run-tests-batch-and-exit")))
6306 (home-page "https://github.com/philjackson/xmlgen")
6307 (synopsis "S-expression to XML domain specific language (DSL) in
6308Emacs Lisp")
6309 (description "@code{emacs-xmlgen} provides S-expression to XML
6310conversion for Emacs Lisp.")
6311 (license license:gpl2+)))
6312
6313(define-public emacs-cdlatex
6314 (package
6315 (name "emacs-cdlatex")
6316 (version "4.7")
6317 (source
6318 (origin
6319 (method url-fetch)
6320 (uri (string-append
6321 "https://github.com/cdominik/cdlatex/archive/"
6322 version ".tar.gz"))
6323 (file-name (string-append name "-" version ".tar.gz"))
6324 (sha256
6325 (base32
6326 "0pivapphmykc6vhvpx7hdyl55ls37vc4jcrxpvs4yk7jzcmwa9xp"))))
6327 (build-system emacs-build-system)
6328 (propagated-inputs
6329 `(("emacs-auctex" ,emacs-auctex)))
6330 (home-page "https://github.com/cdominik/cdlatex")
6331 (synopsis "Fast Emacs input methods for LaTeX environments and
6332math")
6333 (description "CDLaTeX is an Emacs minor mode supporting fast
6334insertion of environment templates and math in LaTeX. Similar
6335commands are also offered as part of the AUCTeX package, but it is not
6336the same - CDLaTeX focuses on speediness for inserting LaTeX
6337constructs.")
6338 (license license:gpl3+)))
6339
6340(define-public emacs-cnfonts
6341 (package
6342 (name "emacs-cnfonts")
6343 (version "0.9.1")
6344 (source (origin
6345 (method url-fetch)
6346 (uri (string-append
6347 "https://github.com/tumashu/cnfonts/archive/v"
6348 version ".tar.gz"))
6349 (file-name (string-append name "-" version ".tar.gz"))
6350 (sha256
6351 (base32
6352 "1l6cgcvc6md1zq97ccczankpyi0k4vjx6apflny6kjq3p33lyhf4"))))
6353 (build-system emacs-build-system)
6354 (home-page "https://github.com/tumashu/cnfonts")
6355 (synopsis "Emacs Chinese fonts setup tool")
6356 (description "cnfonts is a Chinese fonts setup tool, allowing for easy
6357configuration of Chinese fonts.")
6358 (license license:gpl2+)))
6359
6360(define-public emacs-php-mode
6361 (package
6362 (name "emacs-php-mode")
6363 (version "20171225.342")
6364 (source (origin
6365 (method url-fetch)
6366 (uri (string-append
6367 "https://melpa.org/packages/php-mode-"
6368 version ".tar"))
6369 (sha256
6370 (base32
6371 "1zz682f34v4wsm2dyj1gnrnvsrqdq1cy7j8p6cvc398w2fziyg3q"))))
6372 (build-system emacs-build-system)
6373 (home-page "https://github.com/ejmr/php-mode")
6374 (synopsis "Major mode for editing PHP code")
6375 (description "@code{php-mode} is a major mode for editing PHP source
6376code. It's an extension of C mode; thus it inherits all C mode's navigation
6377functionality. But it colors according to the PHP grammar and indents
6378according to the PEAR coding guidelines. It also includes a couple handy
6379IDE-type features such as documentation search and a source and class
6380browser.")
6381 (license license:gpl3+)))
6382
6383(define-public emacs-pos-tip
6384 (package
6385 (name "emacs-pos-tip")
6386 (version "0.4.6")
6387 (source (origin
6388 (method url-fetch)
6389 (uri (string-append
6390 "https://github.com/pitkali/pos-tip/archive/"
6391 version ".tar.gz"))
6392 (file-name (string-append name "-" version ".tar.gz"))
6393 (sha256
6394 (base32
6395 "12jqfy26vjk7lq0aa8yn8zqj8c85fkvx7y9prj0pcn4wqiz2ad2r"))))
6396 (build-system emacs-build-system)
6397 ;; The following functions and variables needed by emacs-pos-tip are
6398 ;; not included in emacs-minimal:
6399 ;; x-display-pixel-width, x-display-pixel-height, x-show-tip
6400 (arguments `(#:emacs ,emacs))
6401 (home-page "https://github.com/pitkali/pos-tip")
6402 (synopsis "Show tooltip at point")
6403 (description "The standard library tooltip.el provides a function for
6404displaying a tooltip at the mouse position. However, locating a tooltip at an
6405arbitrary buffer position in a window is not easy. Pos-tip provides such a
6406function to be used by other frontend programs.")
6407 (license license:gpl2+)))
6408
6409(define-public emacs-pyim-basedict
6410 (package
6411 (name "emacs-pyim-basedict")
6412 (version "0.3.1")
6413 (source (origin
6414 (method url-fetch)
6415 (uri (string-append
6416 "https://github.com/tumashu/pyim-basedict/archive/v"
6417 version ".tar.gz"))
6418 (file-name (string-append name "-" version ".tar.gz"))
6419 (sha256
6420 (base32
6421 "0nfgxviavkgrpyfsw60xsws4fk51fcmgl8fp6zf4ibqjjbp53n3n"))))
6422 (build-system emacs-build-system)
6423 (home-page "https://github.com/tumashu/pyim-basedict")
6424 (synopsis "Input method dictionary of pyim")
6425 (description "Pyim-basedict is the default pinyin input method dictionary,
6426containing words from the rime project.")
6427 (license license:gpl2+)))
6428
6429(define-public emacs-pyim
6430 (package
6431 (name "emacs-pyim")
6432 (version "1.8")
6433 (source
6434 (origin
6435 (method git-fetch)
6436 (uri (git-reference
6437 (url "https://github.com/tumashu/pyim")
6438 (commit (string-append "v" version))))
6439 (file-name (git-file-name name version))
6440 (sha256
6441 (base32
6442 "16rma4cv7xgky0g3x4an27v30jdi6i1sqw43cl99zhkqvp43l3f9"))))
6443 (build-system emacs-build-system)
6444 (propagated-inputs
6445 `(("emacs-async" ,emacs-async)
6446 ("emacs-pyim-basedict" ,emacs-pyim-basedict)
6447 ("emacs-popup" ,emacs-popup)
6448 ("emacs-posframe" ,emacs-posframe)))
6449 (home-page "https://github.com/tumashu/pyim")
6450 (synopsis "Chinese input method")
6451 (description "Chinese input method which supports quanpin, shuangpin, wubi
6452and cangjie.")
6453 (license license:gpl2+)))
6454
6455(define-public emacs-posframe
6456 (package
6457 (name "emacs-posframe")
6458 (version "0.4.2")
6459 (source
6460 (origin
6461 (method url-fetch)
6462 (uri (string-append
6463 "https://elpa.gnu.org/packages/posframe-" version ".el"))
6464 (sha256
6465 (base32
6466 "1h8vvxvsg41vc1nnglqjs2q0k1yzfsn72skga9s76qa3zxmx6kds"))))
6467 (build-system emacs-build-system)
6468 ;; emacs-minimal does not include the function font-info
6469 (arguments `(#:emacs ,emacs))
6470 (home-page "https://github.com/tumashu/posframe")
6471 (synopsis "Pop a posframe (a child frame) at point")
6472 (description "@code{emacs-posframe} can pop a posframe at point. A
6473posframe is a child frame displayed within its root window's buffer.
6474@code{emacs-posframe} is fast and works well with CJK languages.")
6475 (license license:gpl3+)))
6476
6477(define-public emacs-el2org
6478 (package
6479 (name "emacs-el2org")
6480 (version "0.6.0")
6481 (source (origin
6482 (method url-fetch)
6483 (uri (string-append
6484 "https://github.com/tumashu/el2org/archive/v"
6485 version ".tar.gz"))
6486 (file-name (string-append name "-" version ".tar.gz"))
6487 (sha256
6488 (base32
6489 "0gd3km1swwvg2w0kdi7370f54wgrflxn63gjgssfjc1iyc9sbqwq"))))
6490 (build-system emacs-build-system)
6491 (home-page "https://github.com/tumashu/el2org")
6492 (synopsis "Convert Emacs-lisp file to org file")
6493 (description "El2org is a simple tool, which can convert Emacs-lisp file
6494to org file, you can use this tool to write orgify commentary.")
6495 (license license:gpl2+)))
6496
6497(define-public emacs-mustache
6498 (package
6499 (name "emacs-mustache")
6500 (version "0.23")
6501 (source (origin
6502 (method url-fetch)
6503 (uri (string-append
6504 "https://github.com/Wilfred/mustache.el/archive/"
6505 version ".tar.gz"))
6506 (file-name (string-append name "-" version ".tar.gz"))
6507 (sha256
6508 (base32
6509 "0k9lcgil7kykkv1ylrgwy1g13ldjjmgi2cwmysgyb2vlj3jbwpdj"))))
6510 (build-system emacs-build-system)
6511 (propagated-inputs
6512 `(("emacs-dash" ,emacs-dash)
6513 ("emacs-ht" ,emacs-ht)
6514 ("emacs-s" ,emacs-s)))
6515 (home-page "https://github.com/Wilfred/mustache.el")
6516 (synopsis "Mustache templating library for Emacs")
6517 (description "Mustache templating library for Emacs, mustache is
6518a simple web template system, which is described as a logic-less system
6519because it lacks any explicit control flow statements, both looping and
6520conditional evaluation can be achieved using section tags processing lists
6521and lambdas.")
6522 (license license:gpl3+)))
6523
6524(define-public emacs-org2web
6525 (package
6526 (name "emacs-org2web")
6527 (version "0.9.1")
6528 (source (origin
6529 (method url-fetch)
6530 (uri (string-append
6531 "https://github.com/tumashu/org2web/archive/v"
6532 version ".tar.gz"))
6533 (file-name (string-append name "-" version ".tar.gz"))
6534 (sha256
6535 (base32
6536 "1c0ixcphlhp4c4qdiwq40bc3yp1gp1llp8pxrk4s7ny9n68s52zp"))))
6537 (build-system emacs-build-system)
6538 (propagated-inputs
6539 `(("emacs-dash" ,emacs-dash)
6540 ("emacs-el2org" ,emacs-el2org)
6541 ("emacs-ht" ,emacs-ht)
6542 ("emacs-mustache" ,emacs-mustache)
6543 ("emacs-simple-httpd" ,emacs-simple-httpd)))
6544 (home-page "https://github.com/tumashu/org2web")
6545 (synopsis "Static site generator based on org-mode ")
6546 (description "Org2web is a static site generator based on org-mode,
6547which code derived from Kelvin H's org-page.")
6548 (license license:gpl2+)))
6549
6550(define-public emacs-xelb
6551 (package
6552 (name "emacs-xelb")
e3da630b 6553 (version "0.17")
eeb883cb
RW
6554 (source (origin
6555 (method url-fetch)
6556 (uri (string-append "https://elpa.gnu.org/packages/xelb-"
6557 version ".tar"))
6558 (sha256
6559 (base32
e3da630b 6560 "0k98580vq253fjdgklgqlwl450saninfw39fbq8lv3xsnp3dcgml"))))
eeb883cb
RW
6561 (build-system emacs-build-system)
6562 ;; The following functions and variables needed by emacs-xelb are
6563 ;; not included in emacs-minimal:
6564 ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym
6565 ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region
6566 ;; x-display-pixel-width, x-display-pixel-height
6567 (arguments
6568 `(#:emacs ,emacs
6569 #:phases
6570 (modify-phases %standard-phases
6571 (add-after 'unpack 'regenerate-el-files
6572 (lambda* (#:key inputs #:allow-other-keys)
6573 (invoke "make"
6574 (string-append "PROTO_PATH="
6575 (assoc-ref inputs "xcb-proto")
6576 "/share/xcb")
6577 (string-append "EMACS_BIN="
6578 (assoc-ref inputs "emacs")
6579 "/bin/emacs -Q")))))))
6580 (native-inputs `(("xcb-proto" ,xcb-proto)))
6581 (home-page "https://github.com/ch11ng/xelb")
6582 (synopsis "X protocol Emacs Lisp binding")
6583 (description "@code{emacs-xelb} is a pure Emacs Lisp implementation of the
6584X11 protocol based on the XML description files from the XCB project. It
6585features an object-oriented API and permits a certain degree of concurrency.
6586It should enable you to implement low-level X11 applications.")
6587 (license license:gpl3+)))
6588
6589(define-public emacs-exwm
6590 (package
6591 (name "emacs-exwm")
451a5ae9 6592 (version "0.22")
eeb883cb
RW
6593 (synopsis "Emacs X window manager")
6594 (source (origin
6595 (method url-fetch)
6596 (uri (string-append "https://elpa.gnu.org/packages/exwm-"
6597 version ".tar"))
6598 (sha256
6599 (base32
451a5ae9 6600 "0lppm8ng37i5s4x7xdrxhjbdcnpl6pyvn4g7w52zbckjsn8qnqh0"))))
eeb883cb
RW
6601 (build-system emacs-build-system)
6602 (propagated-inputs
6603 `(("emacs-xelb" ,emacs-xelb)))
6604 (inputs
6605 `(("xhost" ,xhost)
6606 ("dbus" ,dbus)))
6607 ;; The following functions and variables needed by emacs-exwm are
6608 ;; not included in emacs-minimal:
6609 ;; scroll-bar-mode, fringe-mode
6610 ;; x-display-pixel-width, x-display-pixel-height
6611 (arguments
6612 `(#:emacs ,emacs
6613 #:phases
6614 (modify-phases %standard-phases
6615 (add-after 'build 'install-xsession
6616 (lambda* (#:key inputs outputs #:allow-other-keys)
6617 (let* ((out (assoc-ref outputs "out"))
6618 (xsessions (string-append out "/share/xsessions"))
6619 (bin (string-append out "/bin"))
6620 (exwm-executable (string-append bin "/exwm")))
6621 ;; Add a .desktop file to xsessions
6622 (mkdir-p xsessions)
6623 (mkdir-p bin)
6624 (with-output-to-file
6625 (string-append xsessions "/exwm.desktop")
6626 (lambda _
6627 (format #t "[Desktop Entry]~@
6628 Name=~a~@
6629 Comment=~a~@
6630 Exec=~a~@
6631 TryExec=~@*~a~@
6632 Type=Application~%" ,name ,synopsis exwm-executable)))
6633 ;; Add a shell wrapper to bin
6634 (with-output-to-file exwm-executable
6635 (lambda _
6636 (format #t "#!~a ~@
6637 ~a +SI:localuser:$USER ~@
6638 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
6639 (string-append (assoc-ref inputs "bash") "/bin/sh")
6640 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
6641 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
6642 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
6643 '(cond
6644 ((file-exists-p "~/.exwm")
6645 (load-file "~/.exwm"))
6646 ((not (featurep 'exwm))
6647 (require 'exwm)
6648 (require 'exwm-config)
6649 (exwm-config-default)
6650 (message (concat "exwm configuration not found. "
6651 "Falling back to default configuration...")))))))
6652 (chmod exwm-executable #o555)
6653 #t))))))
6654 (home-page "https://github.com/ch11ng/exwm")
6655 (description "EXWM is a full-featured tiling X window manager for Emacs
6656built on top of XELB.")
6657 (license license:gpl3+)))
6658
6659(define-public emacs-switch-window
6660 (package
6661 (name "emacs-switch-window")
6662 (version "1.6.2")
6663 (source
6664 (origin
6665 (method git-fetch)
6666 (uri (git-reference
6667 (url "https://github.com/dimitri/switch-window")
6668 (commit (string-append "v" version))))
6669 (file-name (git-file-name name version))
6670 (sha256
6671 (base32
6672 "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"))))
6673 (build-system emacs-build-system)
6674 (home-page "https://github.com/dimitri/switch-window")
6675 (synopsis "Emacs window switch tool")
6676 (description "Switch-window is an emacs window switch tool, which
6677offer a visual way to choose a window to switch to, delete, split or
6678other operations.")
6679 (license license:wtfpl2)))
6680
6681(define-public emacs-exwm-x
6682 (package
6683 (name "emacs-exwm-x")
6684 (version "1.9.0")
6685 (synopsis "Derivative window manager based on EXWM")
6686 (source
6687 (origin
6688 (method git-fetch)
6689 (uri (git-reference
6690 (url "https://github.com/tumashu/exwm-x")
6691 (commit (string-append "v" version))))
6692 (file-name (git-file-name name version))
6693 (sha256
6694 (base32
6695 "03l3dl7s1qys1kkh40rm1sfx7axy1b8sf5f6nyksj9ps6d30p5i4"))))
6696 (build-system emacs-build-system)
6697 (propagated-inputs
6698 `(("emacs-exwm" ,emacs-exwm)
6699 ("emacs-switch-window" ,emacs-switch-window)
6700 ("emacs-ivy" ,emacs-ivy)
6701 ("emacs-use-package" ,emacs-use-package)))
6702 (inputs
6703 `(("xhost" ,xhost)
6704 ("dbus" ,dbus)))
6705 ;; Need emacs instead of emacs-minimal,
6706 ;; for emacs's bin path will be inserted into bin/exwm-x file.
6707 (arguments
6708 `(#:emacs ,emacs
6709 #:phases
6710 (modify-phases %standard-phases
6711 (add-after 'build 'install-xsession
6712 (lambda* (#:key inputs outputs #:allow-other-keys)
6713 (let* ((out (assoc-ref outputs "out"))
6714 (xsessions (string-append out "/share/xsessions"))
6715 (bin (string-append out "/bin"))
6716 (exwm-executable (string-append bin "/exwm-x")))
6717 ;; Add a .desktop file to xsessions
6718 (mkdir-p xsessions)
6719 (mkdir-p bin)
6720 (with-output-to-file
6721 (string-append xsessions "/exwm-x.desktop")
6722 (lambda _
6723 (format #t "[Desktop Entry]~@
6724 Name=~a~@
6725 Comment=~a~@
6726 Exec=~a~@
6727 TryExec=~@*~a~@
6728 Type=Application~%" ,name ,synopsis exwm-executable)))
6729 ;; Add a shell wrapper to bin
6730 (with-output-to-file exwm-executable
6731 (lambda _
6732 (format #t "#!~a ~@
6733 ~a +SI:localuser:$USER ~@
6734 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
6735 (string-append (assoc-ref inputs "bash") "/bin/sh")
6736 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
6737 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
6738 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
6739 '(require 'exwmx-loader))))
6740 (chmod exwm-executable #o555)
6741 #t))))))
6742 (home-page "https://github.com/tumashu/exwm-x")
6743 (description "EXWM-X is a derivative window manager based on EXWM, with focus
6744on mouse-control.")
6745 (license license:gpl3+)))
6746
6747(define-public emacs-gnuplot
6748 (package
6749 (name "emacs-gnuplot")
6750 (version "0.7.0")
6751 (source
6752 (origin
6753 (method url-fetch)
6754 (uri (string-append
6755 "https://github.com/bruceravel/gnuplot-mode/archive/"
6756 version ".tar.gz"))
6757 (file-name (string-append name "-" version ".tar.gz"))
6758 (sha256
6759 (base32
6760 "0glzymrn138lwig7p4cj17x4if5jisr6l4g6wcbxisqkqgc1h01i"))))
6761 (build-system gnu-build-system)
6762 (native-inputs `(("emacs" ,emacs-minimal)))
6763 (arguments
6764 (let ((elisp-dir (string-append "/share/emacs/site-lisp/guix.d"
6765 "/gnuplot-" version)))
6766 `(#:modules ((guix build gnu-build-system)
6767 (guix build utils)
6768 (guix build emacs-utils))
6769 #:imported-modules (,@%gnu-build-system-modules
6770 (guix build emacs-utils))
6771 #:configure-flags
6772 (list (string-append "EMACS=" (assoc-ref %build-inputs "emacs")
6773 "/bin/emacs")
6774 (string-append "--with-lispdir=" %output ,elisp-dir))
6775 #:phases
6776 (modify-phases %standard-phases
6777 (add-after 'install 'generate-autoloads
6778 (lambda* (#:key outputs #:allow-other-keys)
6779 (emacs-generate-autoloads
6780 "gnuplot"
6781 (string-append (assoc-ref outputs "out") ,elisp-dir))
6782 #t))))))
6783 (home-page "https://github.com/bruceravel/gnuplot-mode")
6784 (synopsis "Emacs major mode for interacting with gnuplot")
6785 (description "@code{emacs-gnuplot} is an emacs major mode for interacting
6786with gnuplot.")
6787 (license license:gpl2+)))
6788
6789(define-public emacs-transpose-frame
6790 (package
6791 (name "emacs-transpose-frame")
6792 (version "0.1.0")
6793 (source
6794 (origin
6795 (method url-fetch)
6796 (uri "http://www.emacswiki.org/emacs/download/transpose-frame.el")
6797 (file-name (string-append "transpose-frame-" version ".el"))
6798 (sha256
6799 (base32
6800 "1f67yksgw9s6j0033hmqzaxx2a93jm11sd5ys7cc3li5gfh680m4"))))
6801 (build-system emacs-build-system)
6802 (home-page "https://www.emacswiki.org/emacs/TransposeFrame")
6803 (synopsis "Transpose window arrangement in current frame")
6804 (description "@code{emacs-transpose-frame} provides some interactive
6805functions which allows users to transpose windows arrangement in currently
6806selected frame.")
6807 (license license:bsd-2)))
6808
6809(define-public emacs-key-chord
6810 (package
6811 (name "emacs-key-chord")
6812 (version "0.6")
6813 (source
6814 (origin
6815 (method url-fetch)
6816 (uri "https://www.emacswiki.org/emacs/download/key-chord.el")
6817 (file-name (string-append "key-chord-" version ".el"))
6818 (sha256
6819 (base32
6820 "03m44pqggfrd53nh9dvpdjgm0rvca34qxmd30hr33hzprzjambxg"))))
6821 (build-system emacs-build-system)
6822 (home-page "https://www.emacswiki.org/emacs/key-chord.el")
6823 (synopsis "Map pairs of simultaneously pressed keys to Emacs commands")
6824 (description "@code{emacs-key-chord} provides @code{key-chord-mode}, a
6825mode for binding key chords to commands. A key chord is defined as two keys
6826pressed simultaneously or a single key quickly pressed twice.")
6827 (license license:gpl2+)))
6828
6829(define-public emacs-evil-surround
6830 (package
6831 (name "emacs-evil-surround")
6832 (version "1.0.0")
6833 (source
6834 (origin
6835 (method url-fetch)
6836 (uri (string-append
6837 "https://github.com/timcharper/evil-surround/archive/v"
6838 version ".tar.gz"))
6839 (file-name (string-append name "-" version ".tar.gz"))
6840 (sha256
6841 (base32
6842 "0p572jgic3q1ia1nz37kclir729ay6i2f4sa7wnaapyxly2lwb3r"))))
6843 (build-system emacs-build-system)
6844 (propagated-inputs
6845 `(("emacs-evil" ,emacs-evil)))
6846 (home-page "https://github.com/timcharper/evil-surround")
6847 (synopsis "Easily modify surrounding parantheses and quotes")
6848 (description "@code{emacs-evil-surround} allows easy deletion, change and
6849addition of surrounding pairs, such as parantheses and quotes, in evil mode.")
6850 (license license:gpl3+)))
6851
6852(define-public emacs-evil-commentary
6853 (package
6854 (name "emacs-evil-commentary")
6855 (version "2.1.1")
6856 (source
6857 (origin
6858 (method url-fetch)
6859 (uri (string-append
6860 "https://github.com/linktohack/evil-commentary/archive/v"
6861 version ".tar.gz"))
6862 (file-name (string-append name "-" version ".tar.gz"))
6863 (sha256
6864 (base32
6865 "1jdya0i921nwskwrzdsj0vrr3m7gm49dy6f6pk9p5nxaarfxk230"))))
6866 (build-system emacs-build-system)
6867 (propagated-inputs
6868 `(("emacs-evil" ,emacs-evil)))
6869 (home-page "https://github.com/linktohack/evil-commentary")
6870 (synopsis "Comment out code in evil mode")
6871 (description "@code{emacs-evil-commentary} adds keybindings to easily
6872comment out lines of code in evil mode. It provides @code{gcc} to comment out
6873lines, and @code{gc} to comment out the target of a motion.")
6874 (license license:gpl3+)))
6875
6876;; Tests for emacs-ansi have a circular dependency with ert-runner, and
6877;; therefore cannot be run
6878(define-public emacs-ansi
6879 (package
6880 (name "emacs-ansi")
6881 (version "0.4.1")
6882 (source
6883 (origin
6884 (method url-fetch)
6885 (uri (string-append "https://github.com/rejeep/ansi.el/archive/v"
6886 version ".tar.gz"))
6887 (file-name (string-append name "-" version ".tar.gz"))
6888 (sha256
6889 (base32
6890 "13jj4vbi98j3p17hs99bmy7g21jd5h4v3wpxk4pkvhylm3bfwjw8"))))
6891 (build-system emacs-build-system)
6892 (propagated-inputs
6893 `(("emacs-dash" ,emacs-dash)
6894 ("emacs-s" ,emacs-s)))
6895 (home-page "https://github.com/rejeep/ansi.el")
6896 (synopsis "Convert strings to ANSI")
6897 (description "@code{emacs-ansi} defines functions that turns simple
6898strings to ANSI strings. Turning a string into an ANSI string can be to add
6899color to a text, add color in the background of a text or adding a style, such
6900as bold, underscore or italic.")
6901 (license license:gpl3+)))
6902
6903;; Tests for emacs-commander have a circular dependency with ert-runner, and
6904;; therefore cannot be run
6905(define-public emacs-commander
6906 (package
6907 (name "emacs-commander")
6908 (version "0.7.0")
6909 (source
6910 (origin
6911 (method url-fetch)
6912 (uri (string-append "https://github.com/rejeep/commander.el/archive/v"
6913 version ".tar.gz"))
6914 (file-name (string-append name "-" version ".tar.gz"))
6915 (sha256
6916 (base32
6917 "196s2i15z7gwxa97l1wkxvjnfmj5n38wwm6d3g4zz15l2vqggc2y"))))
6918 (build-system emacs-build-system)
6919 (propagated-inputs
6920 `(("emacs-dash" ,emacs-dash)
6921 ("emacs-f" ,emacs-f)
6922 ("emacs-s" ,emacs-s)))
6923 (home-page "https://github.com/rejeep/commander.el")
6924 (synopsis "Emacs command line parser")
6925 (description "@code{emacs-commander} provides command line parsing for
6926Emacs.")
6927 (license license:gpl3+)))
6928
6929;; Tests for ert-runner have a circular dependency with ecukes, and therefore
6930;; cannot be run
6931(define-public emacs-ert-runner
82328c01
MC
6932 (let ((version "0.7.0")
6933 (revision "1")
6934 (commit "90b8fdd5970ef76a4649be60003b37f82cdc1a65"))
6935 (package
6936 (name "emacs-ert-runner")
6937 (version (git-version "0.7.0" revision commit))
6938 (source
6939 (origin
6940 (method git-fetch)
6941 (uri (git-reference
6942 (url "https://github.com/rejeep/ert-runner.el.git")
6943 (commit commit)))
6944 (file-name (git-file-name name version))
6945 (sha256
6946 (base32
6947 "04nxmyzncacj2wmzd84vv9wkkr2dk9lcb10dvygqmg3p1gadnwzz"))))
6948 (build-system emacs-build-system)
6949 (inputs
6950 `(("emacs-ansi" ,emacs-ansi)
6951 ("emacs-commander" ,emacs-commander)
6952 ("emacs-dash" ,emacs-dash)
6953 ("emacs-f" ,emacs-f)
6954 ("emacs-s" ,emacs-s)
6955 ("emacs-shut-up" ,emacs-shut-up)))
6956 (arguments
6957 `(#:phases
6958 (modify-phases %standard-phases
6959 (add-after 'install 'install-executable
6960 (lambda* (#:key inputs outputs #:allow-other-keys)
f9dff4f7
MC
6961 (let ((out (assoc-ref outputs "out"))
6962 (source-directory (string-append
6963 (getenv "TMPDIR") "/source")))
82328c01
MC
6964 (substitute* "bin/ert-runner"
6965 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
6966 (string-append "ERT_RUNNER=\"" out
6967 "/share/emacs/site-lisp/guix.d/ert-runner-"
6968 ,version)))
6969 (install-file "bin/ert-runner" (string-append out "/bin"))
6970 (wrap-program (string-append out "/bin/ert-runner")
6971 (list "EMACSLOADPATH" ":" 'prefix
f9dff4f7
MC
6972 ;; Do not capture the transient source directory in
6973 ;; the wrapper.
6974 (delete source-directory
6975 (string-split (getenv "EMACSLOADPATH") #\:))))
82328c01
MC
6976 #t))))
6977 #:include (cons* "^reporters/.*\\.el$" %default-include)))
6978 (home-page "https://github.com/rejeep/ert-runner.el")
6979 (synopsis "Opinionated Ert testing workflow")
6980 (description "@code{ert-runner} is a tool for Emacs projects tested
eeb883cb
RW
6981using ERT. It assumes a certain test structure setup and can therefore make
6982running tests easier.")
82328c01 6983 (license license:gpl3+))))
eeb883cb
RW
6984
6985(define-public ert-runner
6986 (deprecated-package "ert-runner" emacs-ert-runner))
6987
6988(define-public emacs-disable-mouse
6989 (package
6990 (name "emacs-disable-mouse")
6991 (version "0.2")
6992 (source
6993 (origin
6994 (method url-fetch)
6995 (uri (string-append
6996 "https://github.com/purcell/disable-mouse/archive/"
6997 version ".tar.gz"))
6998 (file-name (string-append name "-" version ".tar.gz"))
6999 (sha256
7000 (base32
7001 "0haqpq23r1wx04lsqrrg3p5visg9hx5i36dg55ab003wfsrlrzbc"))))
7002 (build-system emacs-build-system)
7003 (home-page "https://github.com/purcell/disable-mouse")
7004 (synopsis "Disable mouse commands globally")
7005 (description
7006 "Provides @code{disable-mouse-mode} and @code{global-disable-mouse-mode},
7007pair of minor modes which suppress all mouse events by intercepting them and
7008running a customisable handler command (@code{ignore} by default). ")
7009 (license license:gpl3+)))
7010
7011(define-public emacs-json-reformat
7012 (package
7013 (name "emacs-json-reformat")
7014 (version "0.0.6")
7015 (source
7016 (origin
7017 (method url-fetch)
7018 (uri (string-append "https://github.com/gongo/json-reformat/archive/"
7019 version ".tar.gz"))
7020 (file-name (string-append name "-" version ".tar.gz"))
7021 (sha256
7022 (base32
7023 "11fbq4scrgr7m0iwnzcrn2g7xvqwm2gf82sa7zy1l0nil7265p28"))
7024 (patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
7025 (build-system emacs-build-system)
7026 (propagated-inputs
7027 `(("emacs-undercover" ,emacs-undercover)))
7028 (native-inputs
7029 `(("emacs-dash" ,emacs-dash)
7030 ("emacs-shut-up" ,emacs-shut-up)
7031 ("ert-runner" ,emacs-ert-runner)))
7032 (arguments
7033 `(#:tests? #t
7034 #:test-command '("ert-runner")))
7035 (home-page "https://github.com/gongo/json-reformat")
7036 (synopsis "Reformatting tool for JSON")
7037 (description "@code{json-reformat} provides a reformatting tool for
7038@url{http://json.org/, JSON}.")
7039 (license license:gpl3+)))
7040
7041(define-public emacs-json-snatcher
7042 (package
7043 (name "emacs-json-snatcher")
7044 (version "1.0.0")
7045 (source
7046 (origin
7047 (method url-fetch)
7048 (uri (string-append "https://github.com/Sterlingg/json-snatcher/archive/"
7049 version ".tar.gz"))
7050 (file-name (string-append name "-" version ".tar.gz"))
7051 (sha256
7052 (base32
7053 "1nfiwsifpdiz0lbrqa77nl0crnfrv5h85ans9b0g5rggnmyshcfb"))))
7054 (build-system emacs-build-system)
7055 (home-page "https://github.com/sterlingg/json-snatcher")
7056 (synopsis "Grabs the path to JSON values in a JSON file")
7057 (description "@code{emacs-json-snatcher} grabs the path to JSON values in
7058a @url{http://json.org/, JSON} file.")
7059 (license license:gpl3+)))
7060
7061(define-public emacs-json-mode
7062 (package
7063 (name "emacs-json-mode")
7064 (version "1.7.0")
7065 (source
7066 (origin
7067 (method url-fetch)
7068 (uri (string-append "https://github.com/joshwnj/json-mode/archive/"
7069 "v" version ".tar.gz"))
7070 (file-name (string-append name "-" version ".tar.gz"))
7071 (sha256
7072 (base32
7073 "06h45p4cn767pk9sqi2zb1c65wy5gyyijqxzpglp80zwxhvajdz5"))))
7074 (build-system emacs-build-system)
7075 (propagated-inputs
7076 `(("emacs-json-reformat" ,emacs-json-reformat)
7077 ("emacs-json-snatcher" ,emacs-json-snatcher)))
7078 (home-page "https://github.com/joshwnj/json-mode")
7079 (synopsis "Major mode for editing JSON files")
7080 (description "@code{json-mode} extends the builtin js-mode syntax
7081highlighting.")
7082 (license license:gpl3+)))
7083
7084(define-public emacs-restclient
7085 (let ((commit "07a3888bb36d0e29608142ebe743b4362b800f40")
7086 (revision "1")) ;Guix package revision,
7087 ;upstream doesn't have official releases
7088 (package
7089 (name "emacs-restclient")
7090 (version (string-append revision "."
7091 (string-take commit 7)))
7092 (source (origin
7093 (method git-fetch)
7094 (uri (git-reference
7095 (url "https://github.com/pashky/restclient.el.git")
7096 (commit commit)))
7097 (sha256
7098 (base32
7099 "00lmjhb5im1kgrp54yipf1h9pshxzgjlg71yf2rq5n973gvb0w0q"))
7100 (file-name (git-file-name name version))))
7101 (build-system emacs-build-system)
7102 (propagated-inputs
7103 `(("emacs-helm" ,emacs-helm)))
7104 (home-page "https://github.com/pashky/restclient.el")
7105 (synopsis "Explore and test HTTP REST webservices")
7106 (description
7107 "This tool allows for testing and exploration of HTTP REST Web services
7108from within Emacs. Restclient runs queries from a plan-text query sheet,
7109displays results pretty-printed in XML or JSON with @code{restclient-mode}")
7110 (license license:public-domain))))
7111
7112(define-public emacs-eimp
7113 (let ((version "1.4.0")
7114 (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
7115 (revision "1"))
7116 (package
7117 (name "emacs-eimp")
7118 (version (git-version version revision commit))
7119 (source
7120 (origin
7121 (method git-fetch)
7122 (uri (git-reference
7123 (url "https://github.com/nicferrier/eimp.git")
7124 (commit commit)))
7125 (file-name (git-file-name name version))
7126 (sha256
7127 (base32
7128 "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra"))))
7129 (build-system emacs-build-system)
7130 (arguments
7131 `(#:phases
7132 (modify-phases %standard-phases
7133 (add-after 'unpack 'configure
7134 (lambda* (#:key inputs #:allow-other-keys)
7135 (let ((imagemagick (assoc-ref inputs "imagemagick")))
7136 ;; eimp.el is read-only in git.
7137 (chmod "eimp.el" #o644)
7138 (emacs-substitute-variables "eimp.el"
7139 ("eimp-mogrify-program"
7140 (string-append imagemagick "/bin/mogrify"))))
7141 #t)))))
7142 (inputs
7143 `(("imagemagick" ,imagemagick)))
7144 (home-page "https://github.com/nicferrier/eimp")
7145 (synopsis "Interactive image manipulation utility for Emacs")
7146 (description "@code{emacs-eimp} allows interactive image manipulation
7147from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do
7148the actual transformations.")
7149 (license license:gpl2+))))
7150
7151(define-public emacs-dired-hacks
7152 (let ((commit "eda68006ce73bbf6b9b995bfd70d08bec8cade36")
7153 (revision "1"))
7154 (package
7155 (name "emacs-dired-hacks")
7156 (version (string-append "0.0.1-" revision "."
7157 (string-take commit 7)))
7158 (source (origin
7159 (method git-fetch)
7160 (uri (git-reference
7161 (url "https://github.com/Fuco1/dired-hacks.git")
7162 (commit commit)))
7163 (file-name (string-append name "-" version "-checkout"))
7164 (sha256
7165 (base32
7166 "1w7ssl9zssn5rcha6apf4h8drkd02k4xgvs203bdbqyqp9wz9brx"))))
7167 (build-system emacs-build-system)
7168 (propagated-inputs
7169 `(("emacs-dash" ,emacs-dash)
7170 ("emacs-eimp" ,emacs-eimp)
7171 ("emacs-f" ,emacs-f)
7172 ("emacs-s" ,emacs-s)))
7173 (home-page "https://github.com/Fuco1/dired-hacks")
7174 (synopsis
7175 "Collection of useful dired additions")
7176 (description
7177 "Collection of Emacs dired mode additions:
7178@itemize
7179@item dired-avfs
7180@item dired-columns
7181@item dired-filter
7182@item dired-hacks-utils
7183@item dired-images
7184@item dired-list
7185@item dired-narrow
7186@item dired-open
7187@item dired-rainbow
7188@item dired-ranger
7189@item dired-subtree
7190@item dired-tagsistant
7191@end itemize\n")
7192 (license license:gpl3+))))
7193
7194(define-public emacs-dired-sidebar
7195 (let ((commit "06bd0d40bab812c61a668129daf29ba359424454")
7196 (revision "0"))
7197 (package
7198 (name "emacs-dired-sidebar")
7199 (home-page "https://github.com/jojojames/dired-sidebar")
7200 (version (git-version "0.0.1" revision commit))
7201 (source (origin
7202 (method git-fetch)
7203 (uri (git-reference (url home-page) (commit commit)))
7204 (sha256
7205 (base32
7206 "0lvwvq6sl80sha9fq5m4568sg534dhmifyjqw75bqddcbf3by84x"))))
7207 (build-system emacs-build-system)
7208 (propagated-inputs
7209 `(("emacs-dired-subtree" ,emacs-dired-hacks)))
7210 (synopsis "Sidebar for Emacs using Dired")
7211 (description
7212 "This package provides a sidebar for Emacs similar to @code{NeoTree}
7213or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
7214 (license license:gpl3+))))
7215
7216(define-public emacs-which-key
7217 (package
7218 (name "emacs-which-key")
498eb769 7219 (version "3.3.1")
eeb883cb
RW
7220 (source
7221 (origin
7222 (method url-fetch)
7223 (uri (string-append
7224 "https://github.com/justbur/emacs-which-key/archive/v"
7225 version ".tar.gz"))
7226 (sha256
7227 (base32
498eb769 7228 "1g8k0js21bc8mlw6hvmg93zgfjhil77c30cv1hf85y4qb9ldvika"))
eeb883cb
RW
7229 (file-name (string-append name "-" version ".tar.gz"))))
7230 (build-system emacs-build-system)
7231 (arguments
7232 `(#:tests? #t
7233 #:test-command '("emacs" "--batch"
7234 "-l" "which-key-tests.el"
7235 "-f" "ert-run-tests-batch-and-exit")))
7236 (home-page "https://github.com/justbur/emacs-which-key")
7237 (synopsis "Display available key bindings in popup")
7238 (description
7239 "@code{emacs-which-key} is a minor mode for Emacs that displays the key
7240bindings following your currently entered incomplete command (a prefix) in a
7241popup. For example, after enabling the minor mode if you enter C-x and wait
7242for the default of 1 second, the minibuffer will expand with all of the
7243available key bindings that follow C-x (or as many as space allows given your
7244settings).")
7245 (license license:gpl3+)))
7246
7247(define-public emacs-ws-butler
7248 (package
7249 (name "emacs-ws-butler")
7250 (version "0.6")
7251 (source (origin
7252 (method git-fetch)
7253 (uri (git-reference
7254 (url "https://github.com/lewang/ws-butler.git")
7255 (commit "323b651dd70ee40a25accc940b8f80c3a3185205")))
7256 (file-name (string-append name "-" version "-checkout"))
7257 (sha256
7258 (base32
7259 "1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb"))))
7260 (build-system emacs-build-system)
7261 (native-inputs
7262 `(("ert-runner" ,emacs-ert-runner)))
7263 (arguments
7264 `(#:tests? #t
7265 #:test-command '("ert-runner" "tests")))
7266 (home-page "https://github.com/lewang/ws-butler")
7267 (synopsis "Trim spaces from end of lines")
7268 (description
7269 "This Emacs package automatically and unobtrusively trims whitespace
7270characters from end of lines.")
7271 (license license:gpl3+)))
7272
7273(define-public emacs-org-edit-latex
7274 (package
7275 (name "emacs-org-edit-latex")
7276 (version "0.8.0")
7277 (source
7278 (origin
7279 (method url-fetch)
7280 (uri (string-append
7281 "https://github.com/et2010/org-edit-latex/archive/v"
7282 version ".tar.gz"))
7283 (file-name (string-append name "-" version ".tar.gz"))
7284 (sha256
7285 (base32
7286 "1y4h6wrs8286h9pbsv4d8fr67a885vz8b2k80qgv5qddipi2i78p"))))
7287 (build-system emacs-build-system)
7288 (propagated-inputs
7289 `(("emacs-auctex" ,emacs-auctex)
7290 ;; The version of org in Emacs 25.2 is not sufficient, because the
7291 ;; `org-latex-make-preamble' function is required.
7292 ("emacs-org" ,emacs-org)))
7293 (home-page "https://github.com/et2010/org-edit-latex")
7294 (synopsis "Edit a latex fragment just like editing a src block")
7295 (description "@code{emacs-org-edit-latex} is an extension for org-mode.
7296It lets you edit a latex fragment in a dedicated buffer just like editing a
7297src block.")
7298 (license license:gpl3+)))
7299
7300(define-public emacs-emamux
7301 (package
7302 (name "emacs-emamux")
7303 (version "0.14")
7304 (source (origin
7305 (method url-fetch)
7306 (uri (string-append
7307 "https://github.com/syohex/emacs-emamux/archive/"
7308 version ".tar.gz"))
7309 (file-name (string-append name "-" version ".tar.gz"))
7310 (sha256
7311 (base32
7312 "0wlqg4icy037bj70b0qmhvwvmiwhagpnx6pnxhq6gzy1hvwlilkx"))))
7313 (build-system emacs-build-system)
7314 (home-page "https://github.com/syohex/emacs-emamux")
7315 (synopsis "Manipulate Tmux from Emacs")
7316 (description
7317 "@code{emacs-emamux} lets Emacs interact with the @code{tmux} terminal
7318multiplexer.")
7319 (license license:gpl3+)))
7320
7321(define-public emacs-rpm-spec-mode
7322 (package
7323 (name "emacs-rpm-spec-mode")
7324 (version "0.16")
7325 (source
7326 (origin
7327 (method url-fetch)
7328 ;; URI has the Fedora release number instead of the version
7329 ;; number. This will have to updated manually every new release.
7330 (uri (string-append
7331 "https://src.fedoraproject.org/cgit/rpms"
7332 "/emacs-rpm-spec-mode.git/snapshot"
7333 "/emacs-rpm-spec-mode-f26.tar.gz"))
7334 (sha256
7335 (base32
7336 "17dz80lhjrc89fj17pysl8slahzrqdkxgcjdk55zls6jizkr6kz3"))))
7337 (build-system emacs-build-system)
7338 (home-page "http://pkgs.fedoraproject.org/cgit/rpms/emacs-rpm-spec-mode.git")
7339 (synopsis "Emacs major mode for editing RPM spec files")
7340 (description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
7341editing RPM spec files.")
7342 (license license:gpl2+)))
7343
7344(define-public emacs-git-messenger
7345 (package
7346 (name "emacs-git-messenger")
7347 (version "0.18")
7348 (source
7349 (origin
7350 (method url-fetch)
7351 (uri (string-append
7352 "https://github.com/syohex/emacs-git-messenger/archive/"
7353 version ".tar.gz"))
7354 (file-name (string-append name "-" version ".tar.gz"))
7355 (sha256
7356 (base32
7357 "17mqki6g0wx46fn7dcbcc2pjxik7vvrcb1j9jzxim8b9psbsbnp9"))))
7358 (build-system emacs-build-system)
7359 (propagated-inputs
7360 `(("emacs-popup" ,emacs-popup)))
7361 (arguments
7362 `(#:tests? #t
7363 #:test-command '("emacs" "--batch" "-l" "test/test.el"
7364 "-f" "ert-run-tests-batch-and-exit")))
7365 (home-page "https://github.com/syohex/emacs-git-messenger")
7366 (synopsis "Popup commit message at current line")
7367 (description "@code{emacs-git-messenger} provides
7368@code{git-messenger:popup-message}, a function that when called, will popup
7369the last git commit message for the current line. This uses git-blame
7370internally.")
7371 (license license:gpl3+)))
7372
7373(define-public emacs-gitpatch
7374 (package
7375 (name "emacs-gitpatch")
7376 (version "0.5.0")
7377 (source
7378 (origin
7379 (method url-fetch)
7380 (uri (string-append "https://github.com/tumashu/gitpatch/archive/"
7381 "v" version ".tar.gz"))
7382 (file-name (string-append name "-" version ".tar.gz"))
7383 (sha256
7384 (base32
7385 "1yj6pmic541lcnscjin300k380qp9xdfprs55xg1q57jrkq6f6k7"))))
7386 (build-system emacs-build-system)
7387 (home-page "https://github.com/tumashu/gitpatch")
7388 (synopsis "Mail git patch from Emacs")
7389 (description "@code{emacs-gitpatch} lets users easily send git patches,
7390created by @code{git format-patch}, from @code{magit}, @code{dired} and
7391@code{ibuffer} buffers.")
7392 (license license:gpl3+)))
7393
7394(define-public emacs-erc-hl-nicks
7395 (package
7396 (name "emacs-erc-hl-nicks")
7397 (version "1.3.3")
7398 (source
7399 (origin
7400 (method url-fetch)
7401 (uri (string-append "https://github.com/leathekd/erc-hl-nicks"
7402 "/archive/" version ".tar.gz"))
7403 (file-name (string-append name "-" version ".tar.gz"))
7404 (sha256
7405 (base32
7406 "1a1r2kc3688g8c2ybkpwh88kgmnqhg3h3032g2yn4zr9m0n3vpkr"))))
7407 (build-system emacs-build-system)
7408 (synopsis "Nickname highlighting for Emacs ERC")
7409 (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
7410client for Emacs. The main features are:
7411@itemize
7412@item Auto-colorizes nicknames without having to specify colors
7413@item Ignores certain characters that IRC clients add to nicknames to avoid
7414duplicates (nickname, nickname’, nickname\", etc.)
7415@item Attempts to produce colors with a sufficient amount of contrast between
7416the nick color and the background color
7417@end itemize\n")
7418 (home-page "https://github.com/leathekd/erc-hl-nicks")
7419 (license license:gpl3+)))
7420
7421(define-public emacs-engine-mode
7422 (package
7423 (name "emacs-engine-mode")
7424 (version "2.0.0")
7425 (source
7426 (origin
7427 (method url-fetch)
7428 (uri (string-append "https://github.com/hrs/engine-mode/archive/"
7429 "v" version ".tar.gz"))
7430 (file-name (string-append name "-" version ".tar.gz"))
7431 (sha256
7432 (base32
7433 "1vm4p7pcp1vnwwxvps1bhm7i7hkabqqxl898knxf2hqvxys76684"))))
7434 (build-system emacs-build-system)
7435 (synopsis "Minor mode for defining and querying search engines")
7436 (description "@code{engine-mode} is a global minor mode for Emacs. It
7437enables you to easily define search engines, bind them to keybindings, and
7438query them from the comfort of your editor.")
7439 (home-page "https://github.com/hrs/engine-mode")
7440 (license license:gpl3+)))
7441
7442(define-public emacs-prop-menu
7443 (package
7444 (name "emacs-prop-menu")
7445 (version "0.1.2")
7446 (source
7447 (origin
7448 (method url-fetch)
7449 (uri (string-append
7450 "http://stable.melpa.org/packages/prop-menu-"
7451 version ".el"))
7452 (sha256
7453 (base32
7454 "01bk4sjafzz7gqrkv9jg0pa85qr34vbk3q8ga2b0m61bndywzgpr"))))
7455 (build-system emacs-build-system)
7456 (home-page
7457 "https://github.com/david-christiansen/prop-menu-el")
7458 (synopsis
7459 "Create and display a context menu based on text and overlay properties")
7460 (description
7461 "This is a library for computing context menus based on text
7462properties and overlays. The intended use is to have tools that
7463annotate source code and others that use these annotations, without
7464requiring a direct coupling between them, but maintaining
7465discoverability.
7466
7467Major modes that wish to use this library should first define an
7468appropriate value for @code{prop-menu-item-functions}. Then, they should
7469bind @code{prop-menu-by-completing-read} to an appropriate
7470key. Optionally, a mouse pop-up can be added by binding
7471@code{prop-menu-show-menu} to a mouse event.")
7472 (license license:gpl3+)))
7473
7474(define-public emacs-idris-mode
7475 (package
7476 (name "emacs-idris-mode")
7477 (version "0.9.19")
7478 (source
7479 (origin
7480 (method url-fetch)
7481 (uri (string-append
7482 "http://stable.melpa.org/packages/idris-mode-"
7483 version ".tar"))
7484 (sha256
7485 (base32
7486 "02r1qqsxi6qk7q4cj6a6pygbj856dcw9vcmhfh0ib92j41v77q6y"))))
7487 (build-system emacs-build-system)
7488 (propagated-inputs
7489 `(("emacs-prop-menu" ,emacs-prop-menu)))
7490 (home-page
7491 "https://github.com/idris-hackers/idris-mode")
7492 (synopsis "Major mode for editing Idris code")
7493 (description
7494 "This is an Emacs mode for editing Idris code. It requires the latest
7495version of Idris, and some features may rely on the latest Git version of
7496Idris.")
7497 (license license:gpl3+)))
7498
7499(define-public emacs-browse-at-remote
7500 (package
7501 (name "emacs-browse-at-remote")
7502 (version "0.10.0")
7503 (source
7504 (origin
7505 (method url-fetch)
7506 (uri (string-append
7507 "https://github.com/rmuslimov/browse-at-remote/archive/"
7508 version ".tar.gz"))
7509 (file-name (string-append name "-" version ".tar.gz"))
7510 (sha256
7511 (base32
7512 "0ymslsp6i1naw25zckv25bf4aaq6qwkbkn95qyzlwg869l802686"))))
7513 (build-system emacs-build-system)
7514 (propagated-inputs
7515 `(("emacs-f" ,emacs-f)
7516 ("emacs-s" ,emacs-s)))
7517 (native-inputs
7518 `(("ert-runner" ,emacs-ert-runner)))
7519 (arguments
7520 `(#:tests? #t
7521 #:test-command '("ert-runner")))
7522 (home-page "https://github.com/rmuslimov/browse-at-remote")
7523 (synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
7524 (description
7525 "This Emacs package allows you to open a target page on
7526github/gitlab (or bitbucket) by calling @code{browse-at-remote} command.
7527It supports dired buffers and opens them in tree mode at destination.")
7528 (license license:gpl3+)))
7529
7530(define-public emacs-tiny
7531 (package
7532 (name "emacs-tiny")
7533 (version "0.2.1")
7534 (source
7535 (origin
7536 (method url-fetch)
7537 (uri (string-append "http://elpa.gnu.org/packages/tiny-" version ".tar"))
7538 (sha256
7539 (base32
7540 "1cr73a8gba549ja55x0c2s554f3zywf69zbnd7v82jz5q1k9wd2v"))))
7541 (build-system emacs-build-system)
7542 (home-page "https://github.com/abo-abo/tiny")
7543 (synopsis "Quickly generate linear ranges in Emacs")
7544 (description
7545 "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}.
7546It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp
7547proficiency is an advantage, since you can transform your numeric range with
7548an elisp expression.")
7549 (license license:gpl3+)))
7550
7551(define-public emacs-emojify
7552 (package
7553 (name "emacs-emojify")
7554 (version "0.4")
7555 (source
7556 (origin
7557 (method url-fetch)
7558 (uri (string-append "https://github.com/iqbalansari/emacs-emojify/"
7559 "releases/download/v" version "/emojify-"
7560 version ".tar"))
7561 (sha256
7562 (base32
7563 "0k84v2d2bkiwcky9fi1yyprgkj46g7wh6pyl9gzmcd7sqv051d5n"))))
7564 (build-system emacs-build-system)
7565 (arguments
7566 `(#:phases
7567 (modify-phases %standard-phases
7568 (add-after 'install 'install-data
7569 (lambda* (#:key outputs #:allow-other-keys)
7570 (copy-recursively "data"
7571 (string-append (assoc-ref outputs "out")
7572 "/share/emacs/site-lisp/guix.d/"
7573 "emojify-" ,version "/data"))
7574 #t)))))
7575 (propagated-inputs
7576 `(("emacs-ht" ,emacs-ht)))
7577 (home-page "https://github.com/iqbalansari/emacs-emojify")
7578 (synopsis "Display emojis in Emacs")
7579 (description "This package displays emojis in Emacs similar to how Github,
7580Slack, and other websites do. It can display plain ASCII like @code{:)} as
7581well as Github-style emojis like @code{:smile:}. It provides a minor mode
7582@code{emojify-mode} to enable the display of emojis in a buffer.")
7583 (license license:gpl3+)))
7584
7585(define-public emacs-websocket
7586 (package
7587 (name "emacs-websocket")
7588 (version "1.10")
7589 (source
7590 (origin
7591 (method git-fetch)
7592 (uri (git-reference
7593 (url "https://github.com/ahyatt/emacs-websocket.git")
7594 (commit version)))
7595 (file-name (string-append name "-" version "-checkout"))
7596 (sha256
7597 (base32
7598 "1dgrf7na6r6mmkknphzshlbd5fnzisg0qn0j7vfpa38wgsymaq52"))))
7599 (build-system emacs-build-system)
7600 (home-page "http://elpa.gnu.org/packages/websocket.html")
7601 (synopsis "Emacs WebSocket client and server")
7602 (description "This is an Elisp library for WebSocket clients to talk to
7603WebSocket servers, and for WebSocket servers to accept connections from
7604WebSocket clients. This library is designed to be used by other library
7605writers, to write applications that use WebSockets, and is not useful by
7606itself.")
7607 (license license:gpl3+)))
7608
7609(define-public emacs-oauth2
7610 (package
7611 (name "emacs-oauth2")
7612 (version "0.11")
7613 (source
7614 (origin
7615 (method url-fetch)
7616 (uri (string-append "https://elpa.gnu.org/packages/oauth2-"
7617 version ".el"))
7618 (sha256
7619 (base32
7620 "0ydkc9jazsnbbvfhd47mql52y7k06n3z7r0naqxkwb99j9blqsmp"))))
7621 (build-system emacs-build-system)
7622 (home-page "http://elpa.gnu.org/packages/oauth2.html")
7623 (synopsis "OAuth 2.0 authorization protocol implementation")
7624 (description
7625 "This package provides an Elisp implementation of the OAuth 2.0 draft.
7626The main entry point is @code{oauth2-auth-and-store} which will return a token
7627structure. This token structure can be then used with
7628@code{oauth2-url-retrieve-synchronously} or @code{oauth2-url-retrieve} to
7629retrieve any data that need OAuth authentication to be accessed. If the token
7630needs to be refreshed, the code handles it automatically and stores the new
7631value of the access token.")
7632 (license license:gpl3+)))
7633
7634(define-public emacs-circe
7635 (package
7636 (name "emacs-circe")
7637 (version "2.10")
7638 (source
7639 (origin
7640 (method git-fetch)
7641 (uri (git-reference
7642 (url "https://github.com/jorgenschaefer/circe.git")
7643 (commit (string-append "v" version))))
7644 (file-name (git-file-name name version))
7645 (sha256
7646 (base32
7647 "10gi14kwxd81blddpvqh95lgmpbfgp0m955naxix3bs3r6a75n4s"))))
7648 (build-system emacs-build-system)
7649 (arguments
7650 `(#:tests? #t
7651 #:test-command '("buttercup" "-L" ".")
7652 #:phases
7653 (modify-phases %standard-phases
7654 ;; The HOME environment variable should be set to an existing
7655 ;; directory for the tests to succeed.
7656 (add-before 'check 'set-home
7657 (lambda _
7658 (setenv "HOME" "/tmp")
7659 #t)))))
7660 (native-inputs
7661 `(("emacs-buttercup" ,emacs-buttercup)))
7662 ;; In order to securely connect to an IRC server using TLS, Circe requires
7663 ;; the GnuTLS binary.
7664 (propagated-inputs
7665 `(("gnutls" ,gnutls)))
7666 (home-page "https://github.com/jorgenschaefer/circe")
7667 (synopsis "Client for IRC in Emacs")
7668 (description "Circe is a Client for IRC in Emacs. It integrates well with
7669the rest of the editor, using standard Emacs key bindings and indicating
7670activity in channels in the status bar so it stays out of your way unless you
7671want to use it.")
7672 (license license:gpl3+)))
7673
7674(define-public emacs-tracking
7675 (package
7676 (inherit emacs-circe)
7677 (name "emacs-tracking")
7678 (arguments
7679 ;; "tracking.el" is a library extracted from Circe package. It requires
7680 ;; "shorten.el".
7681 `(#:include '("^shorten.el$" "^tracking.el$")
7682 ,@(package-arguments emacs-circe)))
7683 (home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
7684 (synopsis "Buffer tracking library")
7685 (description "@code{tracking.el} provides a way for different modes to
7686notify the user that a buffer needs attention. The user then can cycle
7687through them using @key{C-c C-SPC}.")
7688 (license license:gpl3+)))
7689
7690(define-public emacs-slack
7691 (let ((commit "99a57501629a0329a9ca090c1ea1296462eda02d")
7692 (revision "5"))
7693 (package
7694 (name "emacs-slack")
7695 (version (git-version "0.0.2" revision commit))
7696 (source (origin
7697 (method git-fetch)
7698 (uri (git-reference
7699 (url "https://github.com/yuya373/emacs-slack.git")
7700 (commit commit)))
7701 (file-name (git-file-name name commit))
7702 (sha256
7703 (base32
7704 "0jw1diypfw8pmzkq0napgxmfc0gqka7zcccgnw359604lr30k2z2"))))
7705 (build-system emacs-build-system)
7706 (propagated-inputs
7707 `(("emacs-alert" ,emacs-alert)
7708 ("emacs-emojify" ,emacs-emojify)
7709 ("emacs-helm" ,emacs-helm)
7710 ("emacs-request" ,emacs-request)
7711 ("emacs-websocket" ,emacs-websocket)
7712 ("emacs-oauth2" ,emacs-oauth2)
7713 ("emacs-circe" ,emacs-circe)))
7714 (home-page "https://github.com/yuya373/emacs-slack")
7715 (synopsis "Slack client for Emacs")
7716 (description "This package provides an Emacs client for the Slack
7717messaging service.")
7718 (license license:gpl3+))))
7719
7720(define-public emacs-bash-completion
7721 (package
7722 (name "emacs-bash-completion")
7723 (version "2.1.0")
7724 (source
7725 (origin
7726 (method url-fetch)
7727 (uri (string-append
7728 "https://github.com/szermatt/emacs-bash-completion/archive/v"
7729 version ".tar.gz"))
7730 (file-name (string-append name "-" version ".tar.gz"))
7731 (sha256
7732 (base32
7733 "1z0qck3v3ra6ivacn8n04w1v33a4xn01xx860761q31qzsv3sksq"))))
7734 (inputs `(("bash" ,bash)))
7735 (build-system emacs-build-system)
7736 (arguments
7737 `(#:phases
7738 (modify-phases %standard-phases
7739 (add-before 'install 'configure
7740 (lambda* (#:key inputs #:allow-other-keys)
7741 (let ((bash (assoc-ref inputs "bash")))
7742 (emacs-substitute-variables "bash-completion.el"
7743 ("bash-completion-prog" (string-append bash "/bin/bash"))))
7744 #t)))))
7745 (home-page "https://github.com/szermatt/emacs-bash-completion")
7746 (synopsis "Bash completion for the shell buffer")
7747 (description
7748 "@code{bash-completion} defines dynamic completion hooks for shell-mode
7749and shell-command prompts that are based on Bash completion.")
7750 (license license:gpl2+)))
7751
7752(define-public emacs-easy-kill
7753 (package
7754 (name "emacs-easy-kill")
7755 (version "0.9.3")
7756 (source (origin
7757 (method url-fetch)
7758 (uri (string-append "https://elpa.gnu.org/packages/easy-kill-"
7759 version ".tar"))
7760 (sha256
7761 (base32
7762 "17nw0mglmg877axwg1d0gs03yc0p04lzmd3pl0nsnqbh3303fnqb"))))
7763 (build-system emacs-build-system)
7764 (home-page "https://github.com/leoliu/easy-kill")
7765 (synopsis "Kill and mark things easily in Emacs")
7766 (description
7767 "This package provides commands @code{easy-kill} and @code{easy-mark} to
7768let users kill or mark things easily.")
7769 (license license:gpl3+)))
7770
7771(define-public emacs-csv-mode
7772 (package
7773 (name "emacs-csv-mode")
7774 (version "1.7")
7775 (source
7776 (origin
7777 (method url-fetch)
7778 (uri (string-append "http://elpa.gnu.org/packages/csv-mode-"
7779 version ".el"))
7780 (sha256
7781 (base32
7782 "0r4bip0w3h55i8h6sxh06czf294mrhavybz0zypzrjw91m1bi7z6"))))
7783 (build-system emacs-build-system)
7784 (home-page
7785 "http://elpa.gnu.org/packages/csv-mode.html")
7786 (synopsis
7787 "Major mode for editing comma/char separated values")
7788 (description
7789 "This Emacs package implements CSV mode, a major mode for editing records
7790in a generalized CSV (character-separated values) format.")
7791 (license license:gpl3+)))
7792
7793(define-public emacs-transmission
7794 (package
7795 (name "emacs-transmission")
7796 (version "0.12.1")
7797 (source (origin
7798 (method url-fetch)
7799 (uri (string-append
7800 "https://github.com/holomorph/transmission/archive/"
7801 version ".tar.gz"))
7802 (file-name (string-append name "-" version ".tar.gz"))
7803 (sha256
7804 (base32
7805 "1rrlgn96gi1ljfwbwvlyyxbq75xzamlbdhq1bpyadxxmxcvlmk3n"))))
7806 (build-system emacs-build-system)
7807 (home-page "https://github.com/holomorph/transmission")
7808 (synopsis "Emacs interface to a Transmission session")
7809 (description "This package provides an Emacs interface to interact with a
7810running session of the Transmission Bittorrent client.
7811
7812Features:
7813
7814@itemize
7815@item List, add, start/stop, verify, remove torrents.
7816@item Set speed limits, ratio limits, bandwidth priorities, trackers.
7817@item Navigate to the corresponding file list, torrent info, peer info
7818contexts.
7819@item Toggle downloading and set priorities for individual files.
7820@end itemize\n")
7821 (license license:gpl3+)))
7822
7823(define-public emacs-polymode
7824 (package
7825 (name "emacs-polymode")
7826 (version "0.1.5")
7827 (source (origin
7828 (method git-fetch)
7829 (uri (git-reference
7830 (url "https://github.com/vspinu/polymode.git")
7831 (commit (string-append "v" version))))
7832 (file-name (git-file-name name version))
7833 (sha256
7834 (base32
7835 "0wwphs54jx48a3ca6x1qaz56j3j9bg4mv8g2akkffrzbdcb8sbc7"))))
7836 (build-system emacs-build-system)
7837 (arguments
7838 `(#:include (cons* "^modes/.*\\.el$" %default-include)
7839 #:phases
7840 (modify-phases %standard-phases
7841 (add-after 'set-emacs-load-path 'add-modes-subdir-to-load-path
7842 (lambda _
7843 (setenv "EMACSLOADPATH"
7844 (string-append (getenv "EMACSLOADPATH")
7845 ":" (getcwd) "/modes" ":")))))))
7846 (home-page "https://github.com/vspinu/polymode")
7847 (synopsis "Framework for multiple Emacs modes based on indirect buffers")
7848 (description "Polymode is an Emacs package that offers generic support
7849for multiple major modes inside a single Emacs buffer. It is lightweight,
7850object oriented and highly extensible. Creating a new polymode typically
7851takes only a few lines of code. Polymode also provides extensible facilities
7852for external literate programming tools for exporting, weaving and tangling.")
7853 (license license:gpl3+)))
7854
7855(define-public emacs-polymode-ansible
7856 (let ((commit "b26094d029e25dc797b94254f797e7807a57e4c8"))
7857 (package
7858 (name "emacs-polymode-ansible")
7859 ;; No upstream version release yet.
7860 (version (git-version "0.1" "1" commit))
7861 (source
7862 (origin
7863 (method git-fetch)
7864 (uri (git-reference
7865 (url "https://gitlab.com/mavit/poly-ansible")
7866 (commit commit)))
7867 (file-name (git-file-name name version))
7868 (sha256
7869 (base32
7870 "055shddqibib3hx2ykwdz910nrqws40cd407mq946l2bf6v87gj6"))))
7871 (build-system emacs-build-system)
7872 (propagated-inputs
7873 `(("emacs-ansible-doc" ,emacs-ansible-doc)
7874 ("emacs-jinja2-mode" ,emacs-jinja2-mode)
7875 ("emacs-polymode" ,emacs-polymode)
7876 ("emacs-yaml-mode" ,emacs-yaml-mode)))
7877 (properties '((upstream-name . "poly-ansible")))
7878 (home-page "https://gitlab.com/mavit/poly-ansible/")
7879 (synopsis "Polymode for Ansible - Jinja2 in YAML")
7880 (description
7881 "Edit YAML files for Ansible containing embedded Jinja2 templating.")
7882 (license license:gpl3+))))
7883
7884(define-public eless
7885 (package
7886 (name "eless")
7887 (version "0.3")
7888 (source (origin
7889 (method url-fetch)
7890 (uri (string-append
7891 "https://github.com/kaushalmodi/eless/archive/"
7892 "v" version ".tar.gz"))
7893 (file-name (string-append name "-" version ".tar.gz"))
7894 (sha256
7895 (base32
7896 "0gjnnhgw5xs1w3qfnkvwa2nv44gnxr8pkhx3c7qig45p8nh1461h"))))
7897 (build-system trivial-build-system)
7898 (inputs
7899 `(("bash" ,bash)))
7900 (native-inputs
7901 `(("tar" ,tar)
7902 ("gzip" ,gzip)))
7903 (arguments
7904 `(#:modules ((guix build utils))
7905 #:builder
7906 (begin
7907 (use-modules (guix build utils))
7908 (setenv "PATH" (string-append
7909 (assoc-ref %build-inputs "tar") "/bin" ":"
7910 (assoc-ref %build-inputs "gzip") "/bin"))
7911 (invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
7912 (chdir (string-append "eless" "-" ,version))
7913 (substitute* "eless" (("/usr/bin/env bash")
7914 (string-append (assoc-ref %build-inputs "bash")
7915 "/bin/bash")))
7916 (install-file "eless" (string-append %output "/bin"))
7917 (install-file "doc/eless.info" (string-append %output "/share/info"))
7918 #t)))
7919 (home-page "https://github.com/kaushalmodi/eless")
7920 (synopsis "Use Emacs as a paginator")
7921 (description "@code{eless} provides a combination of Bash script
7922and a minimal Emacs view-mode.
7923
7924Feautures:
7925
7926@itemize
7927@item Independent of a user’s Emacs config.
7928@item Customizable via the @code{(locate-user-emacs-file \"elesscfg\")} config.
7929@item Not require an Emacs server to be already running.
7930@item Syntax highlighting.
7931@item Org-mode file rendering.
7932@item @code{man} page viewer.
7933@item Info viewer.
7934@item Dired, wdired, (batch edit symbolic links).
7935@item Colored diffs, git diff, git log, ls with auto ANSI detection.
7936@item Filter log files lines matching a regexp.
7937@item Auto-revert log files similar to @code{tail -f}.
7938@item Quickly change frame and font sizes.
7939@end itemize\n")
7940 (license license:expat)))
7941
7942(define-public emacs-evil-matchit
7943 (package
7944 (name "emacs-evil-matchit")
7945 (version "2.2.6")
7946 (source
7947 (origin
7948 (method url-fetch)
7949 (uri (string-append
7950 "https://github.com/redguardtoo/evil-matchit/archive/"
7951 version ".tar.gz"))
7952 (file-name (string-append name "-" version ".tar.gz"))
7953 (sha256
7954 (base32
7955 "1yp9sl6542317mn1060ri90zyf6bs6qylagndhqy02p368q31rhi"))))
7956 (build-system emacs-build-system)
7957 (propagated-inputs
7958 `(("emacs-evil" ,emacs-evil)))
7959 (home-page "https://github.com/redguardtoo/evil-matchit")
7960 (synopsis "Vim matchit ported into Emacs")
7961 (description
7962 "@code{evil-matchit} is a minor mode for jumping between matching tags in
7963evil mode using @kbd{%}. It is a port of @code{matchit} for Vim.")
7964 (license license:gpl3+)))
7965
7966(define-public emacs-evil-smartparens
7967 (package
7968 (name "emacs-evil-smartparens")
7969 (version "0.4.0")
7970 (source
7971 (origin
7972 (method url-fetch)
7973 (uri (string-append
7974 "https://github.com/expez/evil-smartparens/archive/"
7975 version ".tar.gz"))
7976 (file-name (string-append name "-" version ".tar.gz"))
7977 (sha256
7978 (base32
7979 "1bwzdd3054d407d5j4m3njsbvmc9r8zzp33m32pj3b3irxrl68q0"))))
7980 (build-system emacs-build-system)
7981 (propagated-inputs
7982 `(("emacs-evil" ,emacs-evil)
7983 ("emacs-smartparens" ,emacs-smartparens)))
7984 (home-page "https://github.com/expez/evil-smartparens")
7985 (synopsis "Emacs Evil integration for Smartparens")
7986 (description "@code{emacs-evil-smartparens} is an Emacs minor mode which
7987makes Evil play nice with Smartparens. Evil is an Emacs minor mode that
7988emulates Vim features and provides Vim-like key bindings.")
7989 (license license:gpl3+)))
7990
7991(define-public emacs-evil-quickscope
7992 (package
7993 (name "emacs-evil-quickscope")
7994 (version "0.1.4")
7995 (source
7996 (origin
7997 (method url-fetch)
7998 (uri (string-append "https://github.com/blorbx/evil-quickscope/archive/v"
7999 version ".tar.gz"))
8000 (file-name (string-append name "-" version ".tar.gz"))
8001 (sha256
8002 (base32
8003 "1r26a412mmar7vbf89zcifswiwpdg30mjzj32xdyqss57aqi83ma"))))
8004 (build-system emacs-build-system)
8005 (propagated-inputs
8006 `(("emacs-evil" ,emacs-evil)))
8007 (arguments
8008 `(#:tests? #t
8009 #:test-command '("emacs" "--batch"
8010 "-l" "evil-quickscope-tests.el"
8011 "-f" "ert-run-tests-batch-and-exit")))
8012 (home-page "https://github.com/blorbx/evil-quickscope")
8013 (synopsis "Target highlighting for emacs evil-mode f,F,t and T commands")
8014 (description "@code{emacs-evil-quickscope} highlights targets for Evil
8015mode’s f,F,t,T keys, allowing for quick navigation within a line. It is a
8016port of quick-scope for Vim. Evil is an Emacs minor mode that emulates Vim
8017features and provides Vim-like key bindings.")
8018 (license license:gpl3+)))
8019
8020(define-public emacs-bongo
8021 (package
8022 (name "emacs-bongo")
8023 (version "1.0")
8024 (source
8025 (origin
8026 (method url-fetch)
8027 (uri (string-append
8028 "https://github.com/dbrock/bongo/archive/"
8029 version ".tar.gz"))
8030 (file-name (string-append name "-" version ".tar.gz"))
8031 (sha256
8032 (base32
8033 "1pcsyyrvj7djjjwpaswd1i782hvqvlvs39cy9ns0k795si6xd64d"))))
8034 (build-system emacs-build-system)
8035 (home-page "https://github.com/dbrock/bongo")
8036 (synopsis "Media player for Emacs")
8037 (description
8038 "This package provides a flexible media player for Emacs. @code{Bongo}
8039supports multiple backends such as @code{vlc}, @code{mpg123},
8040@code{ogg123}, @code{speexdec}, @code{timidity}, @code{mikmod} and
8041@code{afplay}.")
8042 (license license:gpl2+)))
8043
8044(define-public emacs-groovy-modes
8045 (package
8046 (name "emacs-groovy-modes")
8047 (version "2.0")
8048 (source (origin
8049 (method url-fetch)
8050 (uri (string-append
8051 "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes"
8052 "/archive/" version ".tar.gz"))
8053 (file-name (string-append name "-" version ".tar.gz"))
8054 (sha256
8055 (base32
8056 "15j0hnkx9nppjzda5cqsxxz5f3bq9hc4xfyjcdypzqiypcvmpa39"))))
8057 (build-system emacs-build-system)
8058 (propagated-inputs
8059 `(("emacs-s" ,emacs-s)))
8060 (home-page "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
8061 (synopsis "Groovy related modes for Emacs")
8062 (description
8063 "This package provides @code{groovy-mode} for syntax highlighing in
8064Groovy source files, REPL integration with run-groovy and Grails project
8065navigation with the grails mode.")
8066 (license license:gpl3+)))
8067
8068(define-public groovy-emacs-modes
8069 (deprecated-package "groovy-emacs-modes" emacs-groovy-modes))
8070
8071(define-public emacs-org-tree-slide
8072 (let ((commit "dff8f1a4a64c8dd0a1fde0b0131e2fe186747134")
8073 (revision "0"))
8074 (package
8075 (name "emacs-org-tree-slide")
8076 (version (git-version "0.1" revision commit))
8077 (home-page "https://github.com/takaxp/org-tree-slide")
8078 (source (origin
8079 (method git-fetch)
8080 (uri (git-reference (url home-page) (commit commit)))
8081 (sha256
8082 (base32
8083 "153bg0x7ypla11pq51jmsgzfjklwwnrq56xgpbfhk1j16xwz9hyf"))
8084 (file-name (git-file-name name version))))
8085 (build-system emacs-build-system)
8086 (synopsis "Presentation tool for org-mode")
8087 (description
8088 "Org-tree-slide provides a slideshow mode to view org-mode files. Use
8089@code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
8090@kbd{C-<} to jump to the next and previous slide.")
8091 (license license:gpl3+))))
8092
8093(define-public emacs-scratch-el
8094 (let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897")
8095 (revision "1"))
8096 (package
8097 (name "emacs-scratch-el")
8098 (version (git-version "1.2" revision commit))
8099 (source (origin
8100 (method git-fetch)
8101 (uri (git-reference
8102 (url "https://github.com/ieure/scratch-el.git")
8103 (commit commit)))
8104 (file-name (git-file-name name version))
8105 (sha256
8106 (base32
8107 "0wscsndynjmnliajqaz28r1ww81j8wh84zwaaswx51abhwgl0idf"))))
8108 (build-system emacs-build-system)
8109 (native-inputs
8110 `(("texinfo" ,texinfo)))
8111 (arguments
8112 '(#:phases
8113 (modify-phases %standard-phases
8114 (add-after 'install 'install-doc
8115 (lambda* (#:key outputs #:allow-other-keys)
8116 (unless (invoke "makeinfo" "scratch.texi")
8117 (error "makeinfo failed"))
8118 (install-file "scratch.info"
8119 (string-append (assoc-ref outputs "out")
8120 "/share/info"))
8121 #t)))))
8122 (home-page "https://github.com/ieure/scratch-el/")
8123 (synopsis "Create scratch buffers with the same mode as current buffer")
8124 (description "Scratch is an extension to Emacs that enables one to create
8125scratch buffers that are in the same mode as the current buffer. This is
8126notably useful when working on code in some language; you may grab code into a
8127scratch buffer, and, by virtue of this extension, do so using the Emacs
8128formatting rules for that language.")
8129 (license license:bsd-2))))
8130
8131(define-public emacs-kv
8132 (package
8133 (name "emacs-kv")
8134 (version "0.0.19")
8135 (source
8136 (origin
8137 (method git-fetch)
8138 (uri (git-reference
8139 (url "https://github.com/nicferrier/emacs-kv.git")
8140 (commit "721148475bce38a70e0b678ba8aa923652e8900e")))
8141 (file-name (string-append name "-" version "-checkout"))
8142 (sha256
8143 (base32
8144 "0r0lz2s6gvy04fwnafai668jsf4546h4k6zd6isx5wpk0n33pj5m"))))
8145 (build-system emacs-build-system)
8146 (arguments
8147 `(#:tests? #t
8148 #:test-command '("emacs" "--batch" "-l" "kv-tests.el"
8149 "-f" "ert-run-tests-batch-and-exit")))
8150 (home-page "https://github.com/nicferrier/emacs-kv")
8151 (synopsis "Key/Value data structures library for Emacs Lisp")
8152 (description "@code{emacs-kv} is a collection of tools for dealing with
8153key/value data structures such as plists, alists and hash-tables in Emacs
8154Lisp.")
8155 (license license:gpl3+)))
8156
8157(define-public emacs-esxml
8158 (package
8159 (name "emacs-esxml")
8160 (version "0.3.4")
8161 (source (origin
8162 (method git-fetch)
8163 (uri (git-reference
8164 (url "https://github.com/tali713/esxml.git")
8165 (commit version)))
8166 (file-name (git-file-name name version))
8167 (sha256
8168 (base32
8169 "00vv8a75wdklygdyr4km9mc2ismxak69c45jmcny41xl44rp9x8m"))))
8170 (build-system emacs-build-system)
8171 (arguments
8172 `(#:phases
8173 (modify-phases %standard-phases
8174 (add-after 'unpack 'fix-sources
8175 (lambda _
8176 ;; See: https://github.com/tali713/esxml/pull/28.
8177 (substitute* "css-lite.el"
8178 ((";;; main interface")
8179 (string-append ";;; main interface\n"
8180 "(require 'cl-lib)"))
8181 (("mapcan")
8182 "cl-mapcan")
8183 (("',\\(cl-mapcan #'process-css-rule rules\\)")
8184 "(cl-mapcan #'process-css-rule ',rules)"))
8185 (substitute* "esxml-form.el"
8186 ((",esxml-form-field-defn")
8187 "#'esxml-form-field-defn"))
8188 ;; See: https://github.com/tali713/esxml/issues/25
8189 (delete-file "esxpath.el")
8190 #t)))))
8191 (propagated-inputs
8192 `(("emacs-kv" ,emacs-kv)))
8193 (home-page "https://github.com/tali713/esxml/")
8194 (synopsis "SXML for EmacsLisp")
8195 (description "This is XML/XHTML done with S-Expressions in EmacsLisp.
8196Simply, this is the easiest way to write HTML or XML in Lisp. This library
8197uses the native form of XML representation as used by many libraries already
8198included within Emacs. See @code{esxml-to-xml} for a concise description of
8199the format.")
8200 (license license:gpl3+)))
8201
8202(define-public emacs-nov-el
8203 (package
8204 (name "emacs-nov-el")
8205 (version "0.2.6")
8206 (source (origin
8207 (method git-fetch)
8208 (uri (git-reference
8209 (url "https://github.com/wasamasa/nov.el.git")
8210 (commit version)))
8211 (file-name (git-file-name name version))
8212 (sha256
8213 (base32
8214 "188h5gzn1zf443g0b7q5bpmvvpr6ds5h8aci8vxc92py56rhyrvc"))))
8215 (build-system emacs-build-system)
8216 (arguments
8217 `(#:phases
8218 (modify-phases %standard-phases
8219 (add-after 'unpack 'embed-path-to-unzip
8220 (lambda _
8221 (substitute* "nov.el"
8222 (("\\(executable-find \"unzip\"\\)")
8223 (string-append "\"" (which "unzip") "\"")))
8224 #t)))))
8225 (propagated-inputs
8226 `(("emacs-dash" ,emacs-dash)
8227 ("emacs-esxml" ,emacs-esxml)))
8228 (inputs
8229 `(("unzip" ,unzip)))
8230 (home-page "https://github.com/wasamasa/nov.el/")
8231 (synopsis "Major mode for reading EPUBs in Emacs")
8232 (description "@code{nov.el} provides a major mode for reading EPUB
8233documents.
8234
8235Features:
8236
8237@itemize
8238@item Basic navigation (jump to TOC, previous/next chapter)
8239@item Remembering and restoring the last read position
8240@item Jump to next chapter when scrolling beyond end
8241@item Renders EPUB2 (@code{.ncx}) and EPUB3 (@code{<nav>}) TOCs
8242@item Hyperlinks to internal and external targets
8243@item Supports textual and image documents
8244@item View source of document files
8245@item Metadata display
8246@item Image rescaling
8247@end itemize
8248")
8249 (license license:gpl3+)))
8250
8251(define-public epipe
8252 (package
8253 (name "epipe")
8254 (version "0.1.0")
8255 (source
8256 (origin
8257 (method url-fetch)
8258 (uri (string-append "https://github.com/cute-jumper/epipe/archive/"
8259 version ".tar.gz"))
8260 (file-name (string-append name "-" version ".tar.gz"))
8261 (sha256
8262 (base32
8263 "05a036852g4j63k1mhvyfrcsgkl9lczayi7x61570ysw3cli5wp5"))))
8264 (build-system trivial-build-system)
8265 (inputs
8266 `(("bash" ,bash)
8267 ("perl" ,perl)))
8268 (native-inputs
8269 `(("tar" ,tar)
8270 ("gzip" ,gzip)))
8271 (arguments
8272 `(#:modules
8273 ((guix build utils))
8274 #:builder
8275 (begin
8276 (use-modules (guix build utils))
8277 ;; Extract source
8278 (setenv "PATH" (string-append
8279 (assoc-ref %build-inputs "tar") "/bin" ":"
8280 (assoc-ref %build-inputs "gzip") "/bin"))
8281 (invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
8282 (chdir (string-append ,name "-" ,version))
8283 ;; Patch shebangs
8284 (substitute* "epipe"
8285 (("/usr/bin/env bash")
8286 (string-append (assoc-ref %build-inputs "bash") "/bin/bash")))
8287 (patch-shebang "epipe.pl"
8288 (list (string-append (assoc-ref %build-inputs "perl")
8289 "/bin")))
8290 ;; Installation
8291 (for-each (lambda (file)
8292 (install-file file (string-append %output "/bin")))
8293 '("epipe" "epipe.pl"))
8294 #t)))
8295 (home-page "https://github.com/cute-jumper/epipe")
8296 (synopsis "Pipe to the @code{emacsclient}")
8297 (description "@code{epipe} provides an utility to use your editor in
8298the pipeline, featuring the support for running @code{emacsclient}.")
8299 (license license:gpl3+)))
8300
8301(define-public emacs-hcl-mode
8302 (package
8303 (name "emacs-hcl-mode")
8304 (version "0.03")
8305 (source
8306 (origin
8307 (method url-fetch)
8308 (uri (string-append
8309 "https://github.com/syohex/emacs-hcl-mode/archive/"
8310 version ".tar.gz"))
8311 (file-name (string-append name "-" version ".tar.gz"))
8312 (sha256
8313 (base32
8314 "0pvw74qpwh0znqzp6syp4wxjqs7dp1hbn5h7xfk97mff9l5d8k6x"))))
8315 (build-system emacs-build-system)
8316 (home-page "https://github.com/syohex/emacs-hcl-mode")
8317 (synopsis "Major mode for the Hashicorp Configuration Language")
8318 (description
8319 "@code{emacs-hcl-mode} provides an Emacs major mode for working with
8320@acronym{HCL, Hashicorp Configuration Language}. It provides syntax
8321highlighting and indentation support.")
8322 (license license:gpl3+)))
8323
8324(define-public emacs-terraform-mode
8325 (package
8326 (name "emacs-terraform-mode")
8327 (version "0.06")
8328 (source
8329 (origin
8330 (method url-fetch)
8331 (uri (string-append
8332 "https://github.com/syohex/emacs-terraform-mode/archive/"
8333 version ".tar.gz"))
8334 (file-name (string-append name "-" version ".tar.gz"))
8335 (sha256
8336 (base32
8337 "0h9267ifdjmcin4sj8slxydbacx4bqicbvg8pa1qq2l72h9m5381"))))
8338 (build-system emacs-build-system)
8339 (propagated-inputs
8340 `(("emacs-hcl-mode" ,emacs-hcl-mode)))
8341 (home-page "https://github.com/syohex/emacs-terraform-mode")
8342 (synopsis "Major mode for Terraform")
8343 (description
8344 "@code{emacs-terraform-mode} provides a major mode for working with
8345@uref{https://www.terraform.io/, Terraform} configuration files. Most of the
8346functionality is inherited from @code{hcl-mode}.")
8347 (license license:gpl3+)))
8348
8349(define-public emacs-exec-path-from-shell
8350 (package
8351 (name "emacs-exec-path-from-shell")
8352 (version "1.11")
8353 (source
8354 (origin
8355 (method url-fetch)
8356 (uri (string-append
8357 "https://stable.melpa.org/packages/exec-path-from-shell-"
8358 version ".el"))
8359 (sha256
8360 (base32
8361 "03qjgb81cq1l3j54lvlf98r75vmmgd06mj6qh5wa6mz4xzp4w26r"))))
8362 (build-system emacs-build-system)
8363 (home-page "https://github.com/purcell/exec-path-from-shell")
8364 (synopsis "Get environment variables such as @var{PATH} from the shell")
8365 (description
8366 "This library allows the user to set Emacs @var{exec-path} and @var{PATH}
8367from the shell @var{PATH}, so that @code{shell-command}, @code{compile} and
8368the like work as expected on systems on which Emacs is not guaranteed to
8369inherit a login shell's environment variables. It also allows other
8370environment variables to be retrieved from the shell, so that Emacs will see
8371the same values you get in a terminal.")
8372 (license license:gpl3+)))
8373
8374(define-public emacs-deft
8375 (package
8376 (name "emacs-deft")
8377 (version "0.8")
8378 (source
8379 (origin
8380 (method url-fetch)
8381 (uri (string-append "https://stable.melpa.org/packages/deft-"
8382 version ".el"))
8383 (sha256
8384 (base32
8385 "1vb9cjxskc7c0yyf9pvxy1fzypg1vrcgwnjz0m3hslinsgdyig58"))))
8386 (build-system emacs-build-system)
8387 (home-page "https://jblevins.org/projects/deft/")
8388 (synopsis "Quickly browse, filter, and edit plain text notes")
8389 (description
8390 "Deft is an Emacs mode for quickly browsing, filtering, and editing
8391directories of plain text notes, inspired by Notational Velocity.")
8392 (license license:bsd-3)))
8393
8394(define-public emacs-anzu
8395 (package
8396 (name "emacs-anzu")
8397 (version "0.62")
8398 (source
8399 (origin
8400 (method url-fetch)
8401 (uri (string-append "https://github.com/syohex/emacs-anzu/archive/"
8402 version ".tar.gz"))
8403 (file-name (string-append name "-" version ".tar.gz"))
8404 (sha256
8405 (base32
8406 "16cg3897x5znbmgk7sdy0qyd0fbic9dmmz0dchq2vz5z29yhg4cz"))))
8407 (build-system emacs-build-system)
8408 (home-page "https://github.com/syohex/emacs-anzu")
8409 (synopsis "Show number of matches in mode-line while searching")
8410 (description
8411 "Anzu provides a minor mode which displays \"current match/total
8412matches\" in the mode line in various search modes. This is an Emacs port of
8413Anzu.zim.")
8414 (license license:gpl3+)))
8415
8416(define-public emacs-emmet-mode
8417 (package
8418 (name "emacs-emmet-mode")
8419 (version "1.0.8")
8420 (source (origin
8421 (method url-fetch)
8422 (uri (string-append "https://github.com/smihica/emmet-mode"
8423 "/archive/" version ".tar.gz"))
8424 (file-name (string-append name "-" version ".tar.gz"))
8425 (sha256
8426 (base32
8427 "0g3p22yabfcp98cfv9dgl9il2m2pd53isq2q11vb3s7qyn31f7zj"))))
8428 (build-system emacs-build-system)
8429 (home-page "https://github.com/smihica/emmet-mode")
8430 (synopsis "Unofficial Emmet's support for Emacs")
8431 (description
8432 "Unfold CSS-selector-like expressions to markup. It is intended to be
8433used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
8434 (license license:gpl3+)))
8435
8436(define-public emacs-ergoemacs-mode
8437 (let ((commit "3ce23bba3cb50562693860f87f3528c471d603ba")
8438 (revision "1"))
8439 (package
8440 (name "emacs-ergoemacs-mode")
8441 (version (git-version "5.16.10.12" revision commit))
8442 (source
8443 (origin
8444 (method git-fetch)
8445 (uri (git-reference
8446 (url "https://github.com/ergoemacs/ergoemacs-mode.git")
8447 (commit commit)))
8448 (sha256
8449 (base32
8450 "1s3b9bridl78hh1mxmdk9nqlmqhibbaxk0a1cixmsf23s06w8w6l"))))
8451 (build-system emacs-build-system)
8452 (propagated-inputs
8453 `(("emacs-undo-tree" ,emacs-undo-tree)))
8454 (home-page "https://ergoemacs.github.io/")
8455 (synopsis "Emacs mode based on common modern interface and ergonomics")
8456 (description
8457 "This package provides an efficient Emacs keybinding set based on
8458statistics of command frequency, and supports common shortcuts for open,
8459close, copy, cut, paste, undo, redo.")
8460 (license license:gpl3+))))
8461
8462(define-public emacs-password-store
8463 (package
8464 (name "emacs-password-store")
8465 (version "1.7.3")
8466 (source (origin
8467 (method url-fetch)
8468 (uri
8469 (string-append "https://git.zx2c4.com/password-store/snapshot/"
8470 "password-store-" version ".tar.xz"))
8471 (sha256
8472 (base32
8473 "1x53k5dn3cdmvy8m4fqdld4hji5n676ksl0ql4armkmsds26av1b"))))
8474 (build-system emacs-build-system)
8475 (arguments
8476 `(#:phases
8477 (modify-phases %standard-phases
8478 (add-after 'unpack 'extract-el-file
8479 (lambda _
8480 (copy-file "contrib/emacs/password-store.el" "password-store.el")
8481 (delete-file-recursively "contrib")
8482 (delete-file-recursively "man")
8483 (delete-file-recursively "src")
8484 (delete-file-recursively "tests"))))))
8485 (propagated-inputs
8486 `(("emacs-f" ,emacs-f)
8487 ("emacs-s" ,emacs-s)
8488 ("emacs-with-editor" ,emacs-with-editor)
8489 ("password-store" ,password-store)))
8490 (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
8491 (synopsis "Password store (pass) support for Emacs")
8492 (description
8493 "This package provides functions for working with pass (\"the
8494standard Unix password manager\").")
8495 (license license:gpl2+)))
8496
8497(define-public emacs-pass
8498 (package
8499 (name "emacs-pass")
8500 (version "1.8")
8501 (source (origin
8502 (method url-fetch)
8503 (uri (string-append
8504 "https://github.com/NicolasPetton/pass/archive/"
8505 version ".tar.gz"))
8506 (sha256
8507 (base32
8508 "0aiz90gklk0cb8n4v1s3l0mx6pp2b7f4k2c0fjpihwmga13yklwn"))
8509 (file-name (string-append name "-" version ".tar.gz"))))
8510 (build-system emacs-build-system)
8511 (propagated-inputs
8512 `(("emacs-password-store" ,emacs-password-store)
8513 ("emacs-f" ,emacs-f)))
8514 (home-page "https://github.com/NicolasPetton/pass")
8515 (synopsis "Major mode for @file{password-store.el}")
8516 (description "This is a major mode for managing password-store (pass)
8517keychains. The keychain entries are displayed in a directory-like structure
8518and can be consulted and modified.")
8519 (license license:gpl3+)))
8520
8521(define-public emacs-evil-anzu
8522 (package
8523 (name "emacs-evil-anzu")
8524 (version "0.03")
8525 (source
8526 (origin
8527 (method url-fetch)
8528 (uri (string-append "https://github.com/syohex/emacs-evil-anzu"
8529 "/archive/" version ".tar.gz"))
8530 (file-name (string-append name "-" version ".tar.gz"))
8531 (sha256
8532 (base32 "032hh2946z529cizqsg8pm6cpn5qdj8lfk3qskmx6xv3g2ra56ns"))))
8533 (build-system emacs-build-system)
8534 (propagated-inputs
8535 `(("emacs-evil" ,emacs-evil)
8536 ("emacs-anzu" ,emacs-anzu)))
8537 (home-page "https://github.com/syohex/emacs-evil-anzu")
8538 (synopsis "Anzu for evil-mode")
8539 (description "@code{anzu} provides a minor mode that displays the current
8540match and total match information in the mode-line in various search modes.")
8541 (license license:gpl3+)))
8542
8543(define-public emacs-pg
8544 (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d"))
8545 (package
8546 (name "emacs-pg")
8547 (version (git-version "0.1" "1" commit))
8548 (source (origin
8549 (method git-fetch)
8550 (uri (git-reference (url "https://github.com/cbbrowne/pg.el")
8551 (commit commit)))
8552 (file-name (git-file-name name version))
8553 (sha256
8554 (base32
8555 "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0"))))
8556 (build-system emacs-build-system)
8557 (home-page "https://github.com/cbbrowne/pg.el")
8558 (synopsis "Emacs Lisp interface for PostgreSQL")
8559 (description
8560 "This package provides an Emacs Lisp interface for PostgreSQL.")
8561 (license license:gpl3+))))
8562
8563(define-public emacs-cl-generic
8564 (package
8565 (name "emacs-cl-generic")
8566 (version "0.3")
8567 (source
8568 (origin
8569 (method url-fetch)
8570 (uri (string-append "https://elpa.gnu.org/packages/cl-generic-"
8571 version ".el"))
8572 (sha256
8573 (base32
8574 "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq"))))
8575 (build-system emacs-build-system)
8576 (home-page "https://elpa.gnu.org/packages/seq.html")
8577 (synopsis
8578 "Forward @code{cl-generic} compatibility for Emacs before version 25")
8579 (description "This package provides a subset of the features of the
8580@code{cl-generic} package introduced in Emacs-25, for use on previous
8581@code{emacsen}.")
8582 (license license:gpl3+)))
8583
8584(define-public emacs-finalize
8585 (package
8586 (name "emacs-finalize")
8587 (version "2.0.0")
8588 (source
8589 (origin
8590 (method url-fetch)
8591 (uri (string-append "https://github.com/skeeto/elisp-finalize/archive/"
8592 version ".tar.gz"))
8593 (file-name (string-append name "-" version ".tar.gz"))
8594 (sha256
8595 (base32
8596 "077fycy3i5f0kjw5z3rhf4kld5lbk2idz690nkwhkz04vppk4q4x"))))
8597 (build-system emacs-build-system)
8598 (propagated-inputs
8599 `(("emacs-cl-generic" ,emacs-cl-generic)))
8600 (home-page "https://github.com/skeeto/elisp-finalize")
8601 (synopsis "Finalizers for Emacs Lisp")
8602 (description
8603 "This package will allows to immediately run a callback (a finalizer)
8604after its registered lisp object has been garbage collected. This allows for
8605extra resources, such as buffers and processes, to be cleaned up after the
8606object has been freed.")
8607 (license license:unlicense)))
8608
8609(define-public emacs-emacsql
8610 (package
8611 (name "emacs-emacsql")
8612 (version "3.0.0")
8613 (source (origin
8614 (method git-fetch)
8615 (uri (git-reference
8616 (url "https://github.com/skeeto/emacsql.git")
8617 (commit (string-append version))))
8618 (file-name (git-file-name name version))
8619 (sha256
8620 (base32
8621 "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"))))
8622 (build-system emacs-build-system)
8623 (arguments
8624 `(#:modules ((guix build emacs-build-system)
8625 (guix build utils)
8626 (guix build emacs-utils)
8627 (srfi srfi-26))
8628 #:phases
8629 (modify-phases %standard-phases
8630 (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files.
8631 (add-before 'install 'patch-elisp-shell-shebangs
8632 (lambda _
8633 (substitute* (find-files "." "\\.el")
8634 (("/bin/sh") (which "sh")))
8635 #t))
8636 (add-after 'patch-elisp-shell-shebangs 'setenv-shell
8637 (lambda _
8638 (setenv "SHELL" "sh")))
8639 (add-after 'setenv-shell 'build-emacsql-sqlite
8640 (lambda _
8641 (invoke "make" "binary" "CC=gcc")))
8642 (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
8643 ;; This build phase installs emacs-emacsql binary.
8644 (lambda* (#:key outputs #:allow-other-keys)
8645 (install-file "sqlite/emacsql-sqlite"
8646 (string-append (assoc-ref outputs "out")
8647 "/bin"))
8648 #t))
8649 (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
8650 ;; This build phase removes interactive prompts
8651 ;; and makes sure Emacs look for binaries in the right places.
8652 (lambda* (#:key outputs #:allow-other-keys)
8653 (let ((file "emacsql-sqlite.el"))
8654 (chmod file #o644)
8655 (emacs-substitute-sexps file
8656 ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
8657 ("(executable-find" (which "gcc"))
8658 ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary
8659 ;; in the right place.
8660 ("(defvar emacsql-sqlite-executable"
8661 (string-append (assoc-ref outputs "out")
8662 "/bin/emacsql-sqlite"))))))
8663 (replace 'install
8664 (lambda* (#:key outputs #:allow-other-keys)
8665 (let* ((out (assoc-ref outputs "out")))
8666 (install-file "sqlite/emacsql-sqlite"
8667 (string-append out "/bin"))
8668 (for-each (cut install-file <>
8669 (string-append out "/share/emacs/site-lisp/guix.d/"
8670 "emacsql" "-" ,version))
8671 (find-files "." "\\.elc*$")))
8672 #t)))))
8673 (inputs
8674 `(("emacs-minimal" ,emacs-minimal)
8675 ("mariadb" ,mariadb)
8676 ("postgresql" ,postgresql)))
8677 (propagated-inputs
8678 `(("emacs-finalize" ,emacs-finalize)
8679 ("emacs-pg" ,emacs-pg)))
8680 (home-page "https://github.com/skeeto/emacsql")
8681 (synopsis "Emacs high-level SQL database front-end")
8682 (description "Any readable Lisp value can be stored as a value in EmacSQL,
8683including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
8684has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
8685object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
8686 (license license:gpl3+)))
8687
8688(define-public emacs-closql
8689 (package
8690 (name "emacs-closql")
8691 (version "1.0.0")
8692 (source
8693 (origin
8694 (method git-fetch)
8695 (uri (git-reference
8696 (url "https://github.com/emacscollective/closql.git")
8697 (commit (string-append "v" version))))
8698 (file-name (git-file-name name version))
8699 (sha256
8700 (base32
8701 "1xhpfjjkjqfc1k2rj77cscclz5r7gpvv3hi202x178vdcpipjwar"))))
8702 (build-system emacs-build-system)
8703 (propagated-inputs
8704 `(("emacs-emacsql" ,emacs-emacsql)))
8705 (home-page "https://github.com/emacscollective/closql")
8706 (synopsis "Store EIEIO objects using EmacSQL")
8707 (description
8708 "This package allows to store uniform EIEIO objects in an EmacSQL
8709database. SQLite is used as backend. This library imposes some restrictions
8710on what kind of objects can be stored; it isn't intended to store arbitrary
8711objects. All objects have to share a common superclass and subclasses cannot
8712add any additional instance slots.")
8713 (license license:gpl3)))
8714
8715(define-public emacs-epkg
8716 ;; The release version is to old for the current database scheme.
8717 (let ((commit "432312b9583ed7b88ad9644fd1bf2183765a892e"))
8718 (package
8719 (name "emacs-epkg")
8720 (version (git-version "3.0.0" "1" commit))
8721 (source
8722 (origin
8723 (method git-fetch)
8724 (uri (git-reference
8725 (url "https://github.com/emacscollective/epkg.git")
8726 (commit commit)))
8727 (file-name (git-file-name name version))
8728 (sha256
8729 (base32
8730 "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k"))))
8731 (build-system emacs-build-system)
8732 (propagated-inputs
8733 `(("emacs-closql" ,emacs-closql)
8734 ("emacs-dash" ,emacs-dash)))
8735 (home-page "https://emacsmirror.net")
8736 (synopsis "Browse the Emacsmirror package database")
8737 (description "This package provides access to a local copy of the
8738Emacsmirror package database. It provides low-level functions for querying
8739the database and a @file{package.el} user interface for browsing the database.
8740Epkg itself is not a package manager.
8741
8742Getting a local copy:
8743
8744@example
8745git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs
8746cd ~/.emacs.d/epkgs
8747git submodule init
8748git config --global url.https://github.com/.insteadOf git@@github.com:
8749git submodule update
8750@end example
8751
8752Some submodule may be missing. In this case Git will prompt for a GitHub user
8753name and password. To skip it press a @key{Return} key.
8754
8755You could get a Epkg package list by invoking @code{epkg-list-packages} in
8756Emacs.")
8757 (license license:gpl3+))))
8758
8759(define-public emacs-elisp-slime-nav
8760 (package
8761 (name "emacs-elisp-slime-nav")
8762 (version "0.9")
8763 (source
8764 (origin
8765 (method url-fetch)
8766 (uri (string-append "https://github.com/purcell/elisp-slime-nav/archive/"
8767 version ".tar.gz"))
8768 (file-name (string-append name "-" version ".tar.gz"))
8769 (sha256
8770 (base32
8771 "1vq7ym1q47p97gxrv45c9gm96d23xbp237vkmakikj6grngxjfb2"))))
8772 (build-system emacs-build-system)
8773 (home-page "https://github.com/purcell/elisp-slime-nav")
8774 (synopsis "Make @code{M-.} and @code{M-,} work for elisp like they do in SLIME")
8775 (description
8776 "This package provides SLIME's convenient @code{M-.}and @code{M-,} navigation
8777in @code{emacs-lisp-mode}, together with an elisp equivalent of
8778@code{slime-describe-symbol}.")
8779 (license license:gpl3+)))
8780
8781(define-public emacs-dedicated
8782 (package
8783 (name "emacs-dedicated")
8784 (version "1.0.0")
8785 (source (origin
8786 (method url-fetch)
8787 (uri (string-append
8788 "https://github.com/emacsorphanage/dedicated/archive/"
8789 version
8790 ".tar.gz"))
8791 (sha256
8792 (base32
8793 "0nhbkp278cvcznb5rp3jp9ii3mjgb79zx8iwfrw7zfk3yg8688ni"))
8794 (file-name (string-append name "-" version ".tar.gz"))))
8795 (build-system emacs-build-system)
8796 (home-page "https://github.com/emacsorphanage/dedicated")
8797 (synopsis "Emacs minor mode for toggling a windows's \"dedicated\" flag")
8798 (description
8799 "This simple Emacs minor mode allows you to toggle a window's
8800\"dedicated\" flag. When a window is \"dedicated\", Emacs will not select
8801files into that window. This can be quite handy since many commands will use
8802another window to show results (compilation mode, starting info, and so on).
8803A dedicated window won't be used for such a purpose. For details, please read
8804the source file.")
8805 (license license:gpl2+)))
8806
8807(define-public emacs-nnreddit
8808 (let ((commit "9843f99d01fd8f1eea2fc685965a7c7f4eeb187a")
8809 (revision "1"))
8810 (package
8811 (name "emacs-nnreddit")
8812 (version (string-append "0.0.1-" revision "."
8813 (string-take commit 7)))
8814 (source (origin
8815 (method git-fetch)
8816 (uri (git-reference
8817 (url "https://github.com/paul-issartel/nnreddit.git")
8818 (commit commit)))
8819 (file-name (string-append name "-" version "-checkout"))
8820 (sha256
8821 (base32
8822 "0j4h3bnga640250jdq8bwyja49r41ssrsjd6lba4gzzllqk02nbn"))))
8823 (build-system emacs-build-system)
8824 (home-page "https://github.com/paul-issartel/nnreddit")
8825 (synopsis "Reddit backend for the Gnus newsreader")
8826 (description "@url{https://www.reddit.com} backend for the Gnus
8827newsreader.")
8828 (license license:gpl3+))))
8829
8830(define-public emacs-makey
8831 (package
8832 (name "emacs-makey")
8833 (version "0.3")
8834 (source
8835 (origin
8836 (method url-fetch)
8837 (uri (string-append "https://github.com/mickeynp/makey/archive/"
8838 version ".tar.gz"))
8839 (file-name (string-append name "-" version ".tar.gz"))
8840 (sha256
8841 (base32
8842 "0kzl4q1wf2zhkx9nrymxa67n99iq0bj7zqhpaz4byksna1hsxfmv"))))
8843 (build-system emacs-build-system)
8844 (home-page "https://github.com/mickeynp/makey")
8845 (synopsis "Emacs interactive command-line mode")
8846 (description
8847 "This package provides an Emacs interactive command-line mode.")
8848 (license license:gpl3+)))
8849
8850(define-public emacs-outorg
8851 (let ((commit "78b0695121fb974bc4e971eb4ef7f8afd6d89d64"))
8852 (package
8853 (name "emacs-outorg")
8854 (version (git-version "2.0" "1" commit))
8855 (source
8856 (origin
8857 (method git-fetch)
8858 (uri (git-reference
8859 (url "https://github.com/alphapapa/outorg")
8860 (commit commit)))
8861 (file-name (git-file-name name version))
8862 (sha256
8863 (base32
8864 "03aclh4m3f7rb821gr9pwvnqkkl91px3qxdcarpf3ypa1x4fxvlj"))))
8865 (build-system emacs-build-system)
8866 (home-page "https://github.com/alphapapa/outorg")
8867 (synopsis "Org-style comment editing")
8868 (description "Outorg is for editing comment-sections of source-code
8869files in temporary Org-mode buffers. It turns conventional
8870literate-programming upside-down in that the default mode is the
8871programming-mode, and special action has to be taken to switch to the
8872text-mode (i.e. Org-mode).")
8873 (license license:gpl3+))))
8874
8875(define-public emacs-outshine
8876 (let ((commit "5f1a6b70231d2811c522e4e5e8c89ff461b311d6"))
8877 (package
8878 (name "emacs-outshine")
8879 (version (git-version "2.0" "1" commit))
8880 (source (origin
8881 (method git-fetch)
8882 (uri (git-reference
8883 (url "https://github.com/alphapapa/outshine.git")
8884 (commit commit)))
8885 (file-name (git-file-name name version))
8886 (sha256
8887 (base32
8888 "1l9v1dfhgg7il11ifbhvcvrg3acfjk9sdxlc3lja1k54d7dp60jv"))))
8889 (build-system emacs-build-system)
8890 (propagated-inputs
8891 `(("emacs-outorg" ,emacs-outorg)))
8892 (home-page "https://github.com/alphapapa/outshine")
8893 (synopsis "Emacs outline with outshine")
8894 (description "Outshine attempts to bring the look and feel of
8895@code{org-mode} to an Emacs outside of the Org major-mode. It is an extension
8896of @code{outline-minor-mode} (@code{org-mode} itself derives from
8897outline-mode), so there is no such thing like an outshine mode, only
8898@code{outline-minor-mode} with outshine extensions loaded.")
8899 (license license:gpl3+))))
8900
8901(define-public emacs-parsebib
8902 (package
8903 (name "emacs-parsebib")
8904 (version "2.3.1")
8905 (source
8906 (origin
8907 (method url-fetch)
8908 (uri (string-append "https://github.com/joostkremers/parsebib/archive/"
8909 version ".tar.gz"))
8910 (file-name (string-append name "-" version ".tar.gz"))
8911 (sha256
8912 (base32
8913 "0cxagnmc5ab6idmb26axpizhr4sqglkncc59768yavn3p04jyq63"))))
8914 (build-system emacs-build-system)
8915 (home-page "https://github.com/joostkremers/parsebib")
8916 (synopsis "Library for parsing bib files")
8917 (description
8918 "This package provides an Emacs library for parsing bib files.")
8919 (license license:gpl3+)))
8920
8921(define-public emacs-biblio
8922 (package
8923 (name "emacs-biblio")
c7cf43dd 8924 (version "0.2")
eeb883cb
RW
8925 (source
8926 (origin
8927 (method url-fetch)
8928 (uri (string-append "https://github.com/cpitclaudel/biblio.el/archive/"
8929 version ".tar.gz"))
8930 (file-name (string-append name "-" version ".tar.gz"))
8931 (sha256
8932 (base32
c7cf43dd 8933 "0vwrljmab8m1z83048gxx5mryml9f5pb3h0jpwkvqcl0ra152lzx"))))
eeb883cb
RW
8934 (build-system emacs-build-system)
8935 (propagated-inputs
8936 `(("emacs-seq" ,emacs-seq)
8937 ("emacs-dash" ,emacs-dash)
8938 ("emacs-let-alist" ,emacs-let-alist)))
8939 (home-page "https://github.com/cpitclaudel/biblio.el")
8940 (synopsis "Browse and import bibliographic references")
8941 (description "This package provides an extensible Emacs package for
8942browsing and fetching references.
8943
8944@file{biblio.el} makes it easy to browse and gather bibliographic references
8945and publications from various sources, by keywords or by DOI. References are
8946automatically fetched from well-curated sources, and formatted as BibTeX.")
8947 (license license:gpl3+)))
8948
8949(define-public emacs-helm-bibtex
8950 (let ((commit "8ed898fb5a68f18e9bb9973832a5c1f8abcfc463")
8951 (revision "1"))
8952 (package
8953 (name "emacs-helm-bibtex")
8954 (version (string-append "2.0.0" "-" revision "."
8955 (string-take commit 7)))
8956 (source
8957 (origin
8958 (method git-fetch)
8959 (uri (git-reference
8960 (url "https://github.com/tmalsburg/helm-bibtex.git")
8961 (commit commit)))
8962 (file-name (string-append name "-" version "-checkout"))
8963 (sha256
8964 (base32
8965 "14lyx0vbqr97p3anzrsp7m3q0kqclyjcdwplpraim403fcklzbnz"))))
8966 (build-system emacs-build-system)
8967 (propagated-inputs
8968 `(("emacs-helm" ,emacs-helm)
8969 ("emacs-parsebib" ,emacs-parsebib)
8970 ("emacs-s" ,emacs-s)
8971 ("emacs-dash" ,emacs-dash)
8972 ("emacs-f" ,emacs-f)
8973 ("emacs-biblio" ,emacs-biblio)
8974 ("emacs-ivy" ,emacs-ivy)))
8975 (home-page "https://github.com/tmalsburg/helm-bibtex")
8976 (synopsis "Bibliography manager based on Helm")
8977 (description "This package provides bibliography manager for Emacs,
8978based on Helm and the bibtex-completion backend.
8979
8980Key features:
8981
8982@itemize
8983@item Quick access to your bibliography from within Emacs
8984@item Powerful search capabilities
8985@item Provides instant search results as you type
8986@item Tightly integrated with LaTeX authoring, emails, Org mode, etc.
8987@item Open the PDFs, URLs, or DOIs associated with an entry
8988@item Insert LaTeX cite commands, Ebib links, or Pandoc citations,
8989BibTeX entries, or plain text references at point, attach PDFs to emails
8990@item Support for note taking
8991@item Quick access to online bibliographic databases such as Pubmed,
8992arXiv, Google Scholar, Library of Congress, etc.
8993@item Imports BibTeX entries from CrossRef and other sources.
8994@end itemize\n")
8995 (license license:gpl3+))))
8996
8997(define-public emacs-ewmctrl
8998 (let ((commit "3d0217c4d6cdb5c308b6cb4293574f470d4faacf"))
8999 (package
9000 (name "emacs-ewmctrl")
9001 (version (git-version "0.0.1" "1" commit))
9002 (source
9003 (origin
9004 (method git-fetch)
9005 (uri (git-reference
9006 (url "https://github.com/flexibeast/ewmctrl.git")
9007 (commit commit)))
9008 (file-name (git-file-name name version))
9009 (sha256
9010 (base32
9011 "0ilwvx0qryv3v6xf0gxqwnfm6pf96gxap8h9g3f6z6lk9ff4n1wi"))))
9012 (build-system emacs-build-system)
9013 (arguments
9014 '(#:phases
9015 (modify-phases %standard-phases
9016 (add-after 'unpack 'patch-ewmctrl
9017 ;; This build phase makes sure ‘ewmctrl’ looks
9018 ;; for ‘wmctrl’ in the right place.
9019 (lambda _
9020 (let ((file "ewmctrl.el"))
9021 (chmod file #o644)
9022 (emacs-substitute-sexps file
9023 ("(defcustom ewmctrl-wmctrl-path" (which "wmctrl")))))))))
9024 (inputs
9025 `(("wmctrl" ,wmctrl)))
9026 (home-page "https://github.com/flexibeast/ewmctrl")
9027 (synopsis "Emacs interface to @code{wmctrl}")
9028 (description "@code{ewmctrl} provides an Emacs interface to
9029@code{wmctrl} command-line window-management program.")
9030 (license license:gpl3+))))
9031
9032(define-public emacs-helm-gtags
9033 (package
9034 (name "emacs-helm-gtags")
9035 (version "1.5.6")
9036 (source (origin
9037 (method url-fetch)
9038 (uri (string-append
9039 "https://github.com/syohex/emacs-helm-gtags/archive/"
9040 version ".tar.gz"))
9041 (file-name (string-append name "-" version ".tar.gz"))
9042 (sha256
9043 (base32
9044 "1a10snhg6nnnan6w9a7mcziy26vxbsr3c35i0gcarnkdp2yqng36"))))
9045 (build-system emacs-build-system)
9046 (propagated-inputs
9047 `(("emacs-helm" ,emacs-helm)))
9048 (home-page "https://github.com/syohex/emacs-helm-gtags")
9049 (synopsis "Emacs Helm interface to GNU Global")
9050 (description
9051 "@code{emacs-helm-gtags} provides a Emacs Helm interface to GNU Global.")
9052 (license license:gpl3+)))
9053
9054(define-public emacs-list-utils
9055 (package
9056 (name "emacs-list-utils")
9057 (version "0.4.4")
9058 (source
9059 (origin
9060 (method url-fetch)
9061 (uri (string-append "https://github.com/rolandwalker/list-utils/archive/"
9062 "v" version ".tar.gz"))
9063 (file-name (string-append name "-" version ".tar.gz"))
9064 (sha256
9065 (base32
9066 "1xc1xh8c82h5gdjbgpdsdclgwxkxbb7h3x3a2bscpm41g8pnan4p"))))
9067 (build-system emacs-build-system)
9068 (home-page "https://github.com/rolandwalker/list-utils")
9069 (synopsis "List-manipulation utility functions")
9070 (description "This package provides a list manipulation library for Emacs.")
9071 (license license:gpl3+)))
9072
9073(define-public emacs-move-text
9074 (package
9075 (name "emacs-move-text")
9076 (version "2.0.8")
9077 (source
9078 (origin
9079 (method url-fetch)
9080 (uri (string-append "https://github.com/emacsfodder/move-text/archive/"
9081 version ".tar.gz"))
9082 (file-name (string-append name "-" version ".tar.gz"))
9083 (sha256
9084 (base32
9085 "1sjfja9r25692pgcldgnjzkapzy970m14jh9l4pajysiqcdk72g0"))))
9086 (build-system emacs-build-system)
9087 (home-page "https://github.com/emacsfodder/move-text")
9088 (synopsis "Move current line or region with M-up or M-down")
9089 (description "This package provide functions to move the current line
9090using @kbd{M-up} or @kbd{M-down} if a region is marked, it will move the
9091region instead.")
9092 (license license:gpl3+)))
9093
9094(define-public emacs-validate
9095 (package
9096 (name "emacs-validate")
9097 (version "1.0.5")
9098 (source (origin
9099 (method url-fetch)
9100 (uri (string-append "https://github.com/Malabarba/validate.el"
9101 "/archive/" version ".tar.gz"))
9102 (file-name (string-append name "-" version ".tar.gz"))
9103 (sha256
9104 (base32
9105 "125mbd111f1h1baw0z3fzm48y1bvaigljyzvvnqgrn0shxbj0khg"))))
9106 (build-system emacs-build-system)
9107 (home-page "https://github.com/Malabarba/validate.el")
9108 (synopsis "Emacs library for scheme validation")
9109 (description "This Emacs library provides two functions that perform
9110schema validation.")
9111 (license license:gpl3+)))
9112
9113(define-public emacs-rainbow-blocks
9114 (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842"))
9115 (package
9116 (name "emacs-rainbow-blocks")
9117 (version (git-version "1.0.0" "1" commit))
9118 (source (origin
9119 (method git-fetch)
9120 (uri (git-reference
9121 (url "https://github.com/istib/rainbow-blocks.git")
9122 (commit commit)))
9123 (file-name (git-file-name name version))
9124 (sha256
9125 (base32
9126 "06yfb3i7wzvqrhkb61zib9xvpb5i00s4frizkzff66im05k0n795"))))
9127 (build-system emacs-build-system)
9128 (home-page "https://github.com/istib/rainbow-blocks")
9129 (synopsis "Highlight sexp blocks")
9130 (description "Rainbow-blocks is an Emacs mode that highlights blocks
9131made of parentheses, brackets, and braces according to their depth. Each
9132successive level is highlighted in a different color. This makes it easy to
9133orient yourself in the code, and tell which statements are at a given level.")
9134 (license license:gpl3+))))
9135
9136(define-public emacs-hierarchy
9137 (package
9138 (name "emacs-hierarchy")
9139 (version "0.7.0")
9140 (source
9141 (origin
9142 (method url-fetch)
9143 (uri (string-append
9144 "https://github.com/DamienCassou/hierarchy/archive/"
9145 "v" version ".tar.gz"))
9146 (file-name (string-append name "-" version ".tar.gz"))
9147 (sha256
9148 (base32
9149 "1a463v5zk6zis2p8cs4mads3iyxh266yahi6j6y0paggfl2yhkc8"))))
9150 (build-system emacs-build-system)
9151 (home-page "https://github.com/DamienCassou/hierarchy")
9152 (synopsis "Library to create and display hierarchy structures")
9153 (description "This package provides an Emacs library to create, query,
9154navigate and display hierarchy structures.")
9155 (license license:gpl3+)))
9156
9157(define-public emacs-tree-mode
9158 (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534")
9159 (revision "1"))
9160 (package
9161 (name "emacs-tree-mode")
9162 (version (string-append "0.0.1" "-" revision "."
9163 (string-take commit 7)))
9164 (source
9165 (origin
9166 (method git-fetch)
9167 (uri (git-reference
9168 (url "https://github.com/emacsorphanage/tree-mode.git")
9169 (commit commit)))
9170 (file-name (string-append name "-" version "-checkout"))
9171 (sha256
9172 (base32
9173 "13bbdhdmqg4x9yghanhr8fsbsxbnypzxdxgicz31sjjm675kpnix"))))
9174 (build-system emacs-build-system)
9175 (home-page "https://github.com/emacsorphanage/tree-mode")
9176 (synopsis "Emacs mode to manage tree widgets")
9177 (description
9178 "This package provides an Emacs library to manage tree widgets.")
9179 (license license:gpl3+))))
9180
9181(define-public emacs-md4rd
9182 (let ((commit "c55512c2f7680db2a1e73db6bdf93adecaf40fec")
9183 (revision "1"))
9184 (package
9185 (name "emacs-md4rd")
9186 (version (string-append "0.0.2" "-" revision "."
9187 (string-take commit 7)))
9188 (source (origin
9189 (method git-fetch)
9190 (uri (git-reference
9191 (url "https://github.com/ahungry/md4rd.git")
9192 (commit commit)))
9193 (file-name (string-append name "-" version "-checkout"))
9194 (sha256
9195 (base32
9196 "0mvv1mvsrpkrmikcpfqf2zbawnzgq33j6zjdrlv48mcw57xb2ak9"))))
9197 (propagated-inputs
9198 `(("emacs-hierarchy" ,emacs-hierarchy)
9199 ("emacs-request" ,emacs-request)
9200 ("emacs-dash" ,emacs-dash)
9201 ("emacs-s" ,emacs-s)
9202 ("emacs-tree-mode" ,emacs-tree-mode)))
9203 (build-system emacs-build-system)
9204 (home-page "https://github.com/ahungry/md4rd")
9205 (synopsis "Emacs Mode for Reddit")
9206 (description
9207 "This package allows to read Reddit from within Emacs interactively.")
9208 (license license:gpl3+))))
9209
9210(define-public emacs-pulseaudio-control
e83d46f0
PN
9211 (let ((commit "7e1a87068379075a5e9ce36c64c686c03d20d379")
9212 (revision "3"))
eeb883cb
RW
9213 (package
9214 (name "emacs-pulseaudio-control")
9215 (version (git-version "0.0.1" revision commit))
9216 (source
9217 (origin
9218 (method git-fetch)
9219 (uri (git-reference
9220 (url "https://github.com/flexibeast/pulseaudio-control.git")
9221 (commit commit)))
9222 (file-name (git-file-name name version))
9223 (sha256
9224 (base32
e83d46f0 9225 "0wcaqyh15x56255rrj350089z15pnwixa2vf0ly6dv0hjmzmh3mr"))))
eeb883cb
RW
9226 (build-system emacs-build-system)
9227 (arguments
9228 '(#:phases (modify-phases %standard-phases
9229 (add-after 'unpack 'patch-file-name
9230 (lambda* (#:key inputs #:allow-other-keys)
9231 (let ((pulseaudio (assoc-ref inputs "pulseaudio")))
9232 (chmod "pulseaudio-control.el" #o600)
9233 (emacs-substitute-variables "pulseaudio-control.el"
9234 ("pulseaudio-control-pactl-path"
9235 (string-append pulseaudio "/bin/pactl")))
9236 #t))))))
9237 (inputs `(("pulseaudio" ,pulseaudio)))
9238 (home-page "https://github.com/flexibeast/pulseaudio-control")
9239 (synopsis "Control @code{pulseaudio} from Emacs")
9240 (description
9241 "This package allows to control @code{pulseaudio} from Emacs.")
9242 (license license:gpl3+))))
9243
9244(define-public emacs-datetime
9245 (package
9246 (name "emacs-datetime")
9247 (version "0.3")
9248 (source (origin
9249 (method url-fetch)
9250 (uri (string-append
9251 "https://github.com/doublep/datetime/archive/"
9252 version ".tar.gz"))
9253 (file-name (string-append name "-" version ".tar.gz"))
9254 (sha256
9255 (base32
9256 "12wqpj67rjij2ki7nmw38rz3k2bsq68pk6zswknlcn9qhp1zd9w9"))))
9257 (build-system emacs-build-system)
9258 (home-page "https://github.com/doublep/datetime/")
9259 (synopsis "Library to work with dates in Emacs")
9260 (description "Parsing, formatting, matching and recoding
9261timestamps and date-time format strings library for Emacs.")
9262 (license license:gpl3+)))
9263
9264(define-public emacs-org-mind-map
9265 (let ((commit "9d6e262bedd94daf9de269f4d56de277275677cb")
9266 (revision "1"))
9267 (package
9268 (name "emacs-org-mind-map")
9269 (version (string-append "0.0.1" "-" revision "."
9270 (string-take commit 7)))
9271 (source
9272 (origin
9273 (method git-fetch)
9274 (uri (git-reference
9275 (url "https://github.com/theodorewiles/org-mind-map.git")
9276 (commit commit)))
9277 (file-name (string-append name "-" version "-checkout"))
9278 (sha256
9279 (base32
9280 "0jgkkgq7g64zckrmjib0hvz0qy3ynz5vz13qbmlpf096l3bb65wn"))))
9281 (propagated-inputs
9282 `(("emacs-dash" ,emacs-dash)))
9283 (build-system emacs-build-system)
9284 (home-page "https://github.com/theodorewiles/org-mind-map")
9285 (synopsis "Create Graphviz directed graphs from Org files")
9286 (description
9287 "This package creates Graphviz directed graphs from Org files.")
9288 (license license:gpl3+))))
9289
9290(define-public emacs-npm-mode
9291 (package
9292 (name "emacs-npm-mode")
9293 (version "0.6.0")
9294 (source
9295 (origin
9296 (method url-fetch)
9297 (uri (string-append "https://github.com/mojochao/npm-mode/archive/"
9298 version ".tar.gz"))
9299 (file-name (string-append name "-" version ".tar.gz"))
9300 (sha256
9301 (base32
9302 "1kq1ww22dwf8c2i2b4z2ldbbmnihj65kb7n5vzvwkch9h4hxpqh5"))))
9303 (build-system emacs-build-system)
9304 (home-page "https://github.com/mojochao/npm-mode")
9305 (synopsis "Minor mode for working with @code{npm} projects")
9306 (description
9307 "@code{npm-mode} provides a minor mode to work with @code{npm} projects.")
9308 (license license:gpl3+)))
9309
9310(define-public emacs-seq
9311 (package
9312 (name "emacs-seq")
9313 (version "2.20")
9314 (source
9315 (origin
9316 (method url-fetch)
9317 (uri (string-append "http://elpa.gnu.org/packages/seq-" version ".tar"))
9318 (sha256
9319 (base32
9320 "0vrpx6nnyjb0gsypknzagimlhvcvi5y1rcdkpxyqr42415zr8d0n"))))
9321 (build-system emacs-build-system)
9322 (home-page "http://elpa.gnu.org/packages/seq.html")
9323 (synopsis "Sequence manipulation functions")
9324 (description "Sequence-manipulation functions that complement basic
9325functions provided by @file{subr.el}.")
9326 (license license:gpl3+)))
9327
9328(define-public emacs-itail
9329 (let ((commit "6e43c20da03be3b9c6ece93b7dc3495975ec1888")
9330 (revision "1"))
9331 (package
9332 (name "emacs-itail")
9333 (version (string-append "0.0.1" "-" revision "."
9334 (string-take commit 7)))
9335 (source
9336 (origin
9337 (method git-fetch)
9338 (uri (git-reference
9339 (url "https://github.com/re5et/itail.git")
9340 (commit commit)))
9341 (file-name (string-append name "-" version "-checkout"))
9342 (sha256
9343 (base32
9344 "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv"))))
9345 (build-system emacs-build-system)
9346 (home-page "https://github.com/re5et/itail")
9347 (synopsis "Interactive @code{tail} Emacs mode")
9348 (description "@code{itail} provides interactive @code{tail} mode
9349that allows you to filter the tail with unix pipes and highlight the
9350contents of the tailed file. Works locally or on remote files using
9351tramp.")
9352 (license license:gpl3+))))
9353
9354(define-public emacs-loop
9355 (package
9356 (name "emacs-loop")
9357 (version "1.3")
9358 (source
9359 (origin
9360 (method url-fetch)
9361 (uri (string-append "https://github.com/Wilfred/loop.el/archive/"
9362 version ".tar.gz"))
9363 (file-name (string-append name "-" version ".tar.gz"))
9364 (sha256
9365 (base32
9366 "1z3rhh3zyjabz36410yz0lp4a0qwwj0387as662wvx3z9y54jia9"))))
9367 (build-system emacs-build-system)
9368 (home-page "https://github.com/Wilfred/loop.el")
9369 (synopsis "Imperative loop structures for Emacs")
9370 (description "Loop structures familiar to users of other languages. This
9371library adds a selection of popular loop structures as well as break and
9372continue.")
9373 (license license:gpl3+)))
9374
9375(define-public emacs-elisp-refs
9376 (package
9377 (name "emacs-elisp-refs")
9378 (version "1.3")
9379 (source
9380 (origin
9381 (method url-fetch)
9382 (uri (string-append "https://github.com/Wilfred/elisp-refs/archive/"
9383 version ".tar.gz"))
9384 (file-name (string-append name "-" version ".tar.gz"))
9385 (sha256
9386 (base32
9387 "02nzcn3v14n7mp7q32j5r4wdlpsw3zixzh6cf0cdyarfir6dly3p"))))
9388 (build-system emacs-build-system)
9389 (propagated-inputs
9390 `(("emacs-dash" ,emacs-dash)
9391 ("emacs-f" ,emacs-f)
9392 ("emacs-list-utils" ,emacs-list-utils)
9393 ("emacs-loop" ,emacs-loop)
9394 ("emacs-s" ,emacs-s)
9395 ("emacs-shut-up" ,emacs-shut-up)))
9396 (home-page "https://github.com/Wilfred/elisp-refs")
9397 (synopsis "Find callers of elisp functions or macros")
9398 (description "Find references to functions, macros or variables. Unlike a
9399dumb text search, @code{elisp-refs} actually parses the code, so it's never
9400confused by comments or @code{foo-bar} matching @code{foo}.")
9401 (license license:gpl3+)))
9402
9403(define-public emacs-crux
9404 (let ((commit "4f5c8fefd5a6aa52e128c4a0401cc86410d6ac8f")
9405 (revision "1"))
9406 (package
9407 (name "emacs-crux")
9408 (version (string-append "0.3.0" "-" revision "."
9409 (string-take commit 7)))
9410 (source
9411 (origin
9412 (method git-fetch)
9413 (uri (git-reference
9414 (url "https://github.com/bbatsov/crux.git")
9415 (commit commit)))
9416 (file-name (string-append name "-" version "-checkout"))
9417 (sha256
9418 (base32
9419 "1fdxvv25cs01sg6fmvmzxpzvs50i6v8n2jya60lbavxqqhi0sbxd"))))
9420 (build-system emacs-build-system)
9421 (home-page "https://github.com/bbatsov/crux")
9422 (synopsis "Collection of useful functions for Emacs")
9423 (description
9424 "@code{crux} provides a collection of useful functions for Emacs.")
9425 (license license:gpl3+))))
9426
9427(define-public emacs-edit-server
9428 (package
9429 (name "emacs-edit-server")
9430 (version "1.13")
9431 (source
9432 (origin
9433 (method url-fetch)
9434 (uri (string-append "https://github.com/stsquad/emacs_chrome/archive/"
9435 "v" version ".tar.gz"))
9436 (file-name (string-append name "-" version ".tar.gz"))
9437 (sha256
9438 (base32
9439 "1r92kqggslqasza718z4ka883mqfbnibdm43f0j9gaipk0msm2wf"))))
9440 (build-system emacs-build-system)
9441 (arguments
9442 `(#:phases
9443 (modify-phases %standard-phases
9444 (add-after 'unpack 'chdir-elisp
9445 ;; Elisp directory is not in root of the source.
9446 (lambda _
9447 (chdir "servers"))))))
9448 (home-page "https://github.com/stsquad/emacs_chrome")
9449 (synopsis "Server that responds to edit requests from Chromium")
9450 (description
9451 "This package provides an edit server to respond to requests from Emacs.")
9452 (license license:gpl3+)))
9453
9454(define-public emacs-m-buffer-el
9455 (package
9456 (name "emacs-m-buffer-el")
9457 (version "0.15")
9458 (source
9459 (origin
9460 (method url-fetch)
9461 (uri (string-append "https://github.com/phillord/m-buffer-el"
9462 "/archive/" "v" version ".tar.gz"))
9463 (file-name (string-append name "-" version ".tar.gz"))
9464 (sha256
9465 (base32
9466 "17vdcc8q37q9db98jyww1c0ivinmwfcw4l04zccfacalra63a214"))))
9467 (arguments
9468 `(#:phases
9469 (modify-phases %standard-phases
9470 (add-before 'install 'check
9471 (lambda* (#:key inputs #:allow-other-keys)
9472 (invoke "emacs" "--batch" "-L" "."
9473 "-l" "test/m-buffer-test.el"
9474 "-l" "test/m-buffer-at-test.el"
9475 "-f" "ert-run-tests-batch-and-exit"))))))
9476 (build-system emacs-build-system)
9477 (home-page "https://github.com/phillord/m-buffer-el")
9478 (synopsis "List oriented buffer operations for Emacs")
9479 (description "@code{m-buffer} provides a set of list-orientated functions
9480for operating over the contents of Emacs buffers.")
9481 (license license:gpl3+)))
9482
9483(define-public emacs-let-alist
9484 (package
9485 (name "emacs-let-alist")
9486 (version "1.0.5")
9487 (source
9488 (origin
9489 (method url-fetch)
9490 (uri (string-append
9491 "https://elpa.gnu.org/packages/let-alist-" version ".el"))
9492 (sha256
9493 (base32
9494 "0r7b9jni50la1m79kklml11syg8d2fmdlr83pv005sv1wh02jszw"))))
9495 (build-system emacs-build-system)
9496 (home-page "https://elpa.gnu.org/packages/let-alist.html")
9497 (synopsis "Easily let-bind values of an assoc-list by their names")
9498 (description "This package offers a single macro, @code{let-alist}. This
9499macro takes a first argument (whose value must be an alist) and a body.")
9500 (license license:gpl3+)))
9501
9502(define-public emacs-esup
9503 (let ((commit "a589005a9a888537deef94d6fe38a9b8790c97c7")
9504 (revision "1"))
9505 (package
9506 (name "emacs-esup")
9507 (version (string-append "0.6" "-" revision "."
9508 (string-take commit 7)))
9509 (source
9510 (origin
9511 (method git-fetch)
9512 (uri (git-reference
9513 (url "https://github.com/jschaf/esup.git")
9514 (commit commit)))
9515 (file-name (string-append name "-" version "-checkout"))
9516 (sha256
9517 (base32
9518 "04lxmd0h7mfjjl0qghrycgff0vcv950j1wqv0dbkr61jxp64n5fv"))))
9519 ;; TODO: Add tests
9520 (build-system emacs-build-system)
9521 (home-page "https://github.com/jschaf/esup")
9522 (synopsis "Emacs start up profiler")
9523 (description "Benchmark Emacs Startup time without ever leaving
9524your Emacs.")
9525 (license license:gpl2+))))
9526
9527(define-public emacs-sourcemap
9528 (package
9529 (name "emacs-sourcemap")
9530 (version "0.03")
9531 (source
9532 (origin
9533 (method url-fetch)
9534 (uri (string-append "https://github.com/syohex/emacs-sourcemap/archive/"
9535 version ".tar.gz"))
9536 (file-name (string-append name "-" version ".tar.gz"))
9537 (sha256
9538 (base32
9539 "0bmd5l3cx2iyl7vxn84xdhs80b07kpdpfwki28lh5d0kmm5qs6m6"))))
9540 (build-system emacs-build-system)
9541 (home-page "https://github.com/syohex/emacs-sourcemap")
9542 (synopsis "Sourcemap parser")
9543 (description "Sourcemap parser")
9544 (license license:gpl3+)))
9545
9546(define-public emacs-macrostep
9547 (let ((commit "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267"))
9548 (package
9549 (name "emacs-macrostep")
9550 (version (git-version "0.9" "1" commit))
9551 (source (origin
9552 (method git-fetch)
9553 (uri (git-reference
9554 (url "https://github.com/joddie/macrostep.git")
9555 (commit commit)))
9556 (file-name (string-append name "-" version "-checkout"))
9557 (sha256
9558 (base32
9559 "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"))))
9560 (build-system emacs-build-system)
9561 (arguments
9562 '(#:phases
9563 (modify-phases %standard-phases
9564 (add-before 'check 'remove-test
9565 ;; Fails because of requirement ‘/bin/sh’.
9566 (lambda _
9567 (let ((file "macrostep-test.el"))
9568 (chmod file #o644)
9569 (emacs-batch-edit-file file
9570 `(progn (progn (goto-char (point-min))
9571 (re-search-forward
9572 "(ert-deftest macrostep-expand-c-macros")
9573 (beginning-of-line)
9574 (kill-sexp))
9575 (basic-save-buffer))))))
9576 (add-before 'install 'check
9577 (lambda _
9578 (invoke "emacs" "--batch" "-L" "."
9579 "-l" "macrostep-test.el"
9580 "-f" "ert-run-tests-batch-and-exit"))))))
9581 (home-page "https://github.com/joddie/macrostep")
9582 (synopsis "Interactive macro-expander for Emacs")
9583 (description "@code{macrostep} is an Emacs minor mode for interactively
9584stepping through the expansion of macros in Emacs Lisp source code. It lets
9585you see exactly what happens at each step of the expansion process by
9586pretty-printing the expanded forms inline in the source buffer, which is
9587temporarily read-only while macro expansions are visible. You can expand and
9588collapse macro forms one step at a time, and evaluate or instrument the
9589expansions for debugging with Edebug as normal (but see “Bugs and known
9590limitations”, below). Single-stepping through the expansion is particularly
9591useful for debugging macros that expand into another macro form. These can be
9592difficult to debug with Emacs’ built-in macroexpand, which continues expansion
9593until the top-level form is no longer a macro call.")
9594 (license license:gpl3+))))
9595
9596(define-public emacs-parent-mode
9597 (package
9598 (name "emacs-parent-mode")
9599 (version "2.3")
9600 (source
9601 (origin
9602 (method url-fetch)
9603 (uri (string-append "https://github.com/Fanael/parent-mode/archive/"
9604 version ".tar.gz"))
9605 (file-name (string-append name "-" version ".tar.gz"))
9606 (sha256
9607 (base32
9608 "0gxbl5s1w96v6v55b7aaansgw4sxhzfx9nrsvpk3pfhsibs6yqjd"))))
9609 (build-system emacs-build-system)
9610 (home-page "https://github.com/Fanael/parent-mode")
9611 (synopsis "Get major mode's parent modes")
9612 (description "Get major mode's parent modes")
9613 (license license:gpl3+)))
9614
9615(define-public emacs-lacarte
9616 (package
9617 (name "emacs-lacarte")
9618 (version "0.1")
9619 (source (origin
9620 (method url-fetch)
9621 (uri "https://www.emacswiki.org/emacs/download/lacarte.el")
9622 (sha256
9623 (base32
9624 "1sbmk37ljq5j7dsw5c37sbxvlfgdqswh7bi4dknyjzfxlq50f4am"))))
9625 (build-system emacs-build-system)
9626 (home-page "https://www.emacswiki.org/emacs/lacarte.el")
9627 (synopsis "Execute menu items as commands, with completion")
9628 (description "Execute menu items as commands, with completion.")
9629 (license license:gpl3)))
9630
48211de6 9631(define-public emacs-isearch-prop
9632 (let ((commit "5e9dc44cf582d998aaa73ccd4d07cbda01248156")
9633 (revision "1"))
9634 (package
9635 (name "emacs-isearch-prop")
9636 (version (git-version "0" revision commit))
9637 (source
9638 (origin
9639 (method git-fetch)
9640 (uri (git-reference
9641 (url "https://github.com/emacsmirror/isearch-prop.git")
9642 (commit commit)))
9643 (file-name (git-file-name name version))
9644 (sha256
9645 (base32
9646 "1xawppy705ybsgx566zvj8zk2aajq0sqvhvfs7nijqq32lx0a2zl"))))
9647 (build-system emacs-build-system)
9648 (home-page "https://www.emacswiki.org/emacs/isearch-prop.el")
9649 (synopsis "Extensions to @code{isearch.el}")
9650 (description "The Emacs library @code{isearch-prop.el} lets you search within
9651 contexts. You can limit incremental search to a set of zones of
9652 buffer text, search contexts that in effect constitute a multi-region.
9653 These zones can be defined in various ways, including some ways
9654 provided specially by this library.")
9655 (license license:gpl3+))))
9656
eeb883cb
RW
9657(define-public emacs-company-lua
9658 (let ((commit "0be8122f3adf57ad27953bf4b03545d6298d3da4"))
9659 (package
9660 (name "emacs-company-lua")
9661 (version (git-version "0.1" "1" commit))
9662 (source
9663 (origin
9664 (method git-fetch)
9665 (uri (git-reference
9666 (url "https://github.com/ptrv/company-lua.git")
9667 (commit commit)))
9668 (file-name (git-file-name name version))
9669 (sha256
9670 (base32
9671 "1d9i165apgmwns7b2fd5wcpjpkah3dyj20v5sb8ynvz6qhhr5r9c"))))
9672 (build-system emacs-build-system)
9673 (propagated-inputs
9674 `(("emacs-company" ,emacs-company)
9675 ("emacs-s" ,emacs-s)
9676 ("emacs-f" ,emacs-f)
9677 ("emacs-lua-mode" ,emacs-lua-mode)))
9678 (home-page "https://github.com/ptrv/company-lua")
9679 (synopsis "Company backend for Lua")
9680 (description
9681 "This package provides Company backend for Lua programming language.")
9682 (license license:gpl3+))))
9683
9684(define-public emacs-beginend
9685 (package
9686 (name "emacs-beginend")
9687 (version "2.0.0")
9688 (source
9689 (origin
9690 (method url-fetch)
9691 (uri (string-append "https://github.com/DamienCassou/beginend/archive/"
9692 "v" version ".tar.gz"))
9693 (file-name (string-append name "-" version ".tar.gz"))
9694 (sha256
9695 (base32
9696 "0z4rbwffh9vxfvcrlvym4p73z7gf72q0b5iv33llbpcpbijknnrq"))))
9697 ;; TODO: Run tests.
9698 (build-system emacs-build-system)
9699 (inputs
9700 `(("emacs-undercover" ,emacs-undercover))) ; For tests.
9701 (home-page "https://github.com/DamienCassou/beginend")
9702 (synopsis "Redefine @code{M-<} and @code{M->} for Emacs modes")
9703 (description "@code{beginend} redefines @code{M-<} and @code{M->}
9704keybindings for Emacs modes so that point moves to meaningful
9705locations. Redefined keys are still accessible by pressing the same
9706key again.")
9707 (license license:gpl3+)))
9708
9709(define-public emacs-mbsync
9710 (let ((commit "42077e83ae2db778ce0f8e22f8357b40355526b3")
9711 (revision "1"))
9712 (package
9713 (name "emacs-mbsync")
9714 (version (string-append "0.0.1" "-" revision "."
9715 (string-take commit 7)))
9716 (source
9717 (origin
9718 (method git-fetch)
9719 (uri (git-reference
9720 (url "https://github.com/dimitri/mbsync-el.git")
9721 (commit commit)))
9722 (file-name (string-append name "-" version "-checkout"))
9723 (sha256
9724 (base32
9725 "0yj93y2mpxlir8x73znlg1slxlv4blm1vjv5h2w3j8lxg8bxvmn6"))))
9726 (build-system emacs-build-system)
9727 (home-page "https://github.com/dimitri/mbsync-el")
9728 (synopsis "Interface to mbsync for Emacs")
9729 (description "This package allows to call the @code{mbsync} from
9730within Emacs.")
9731 (license license:gpl3+))))
9732
9733(define-public emacs-ibuffer-projectile
9734 (let ((commit "c18ac540ee46cb759fc5df18747f6e8d23563011")
9735 (revision "1"))
9736 (package
9737 (name "emacs-ibuffer-projectile")
9738 (version (string-append "0.2" "-" revision "."
9739 (string-take commit 7)))
9740 (source
9741 (origin
9742 (method git-fetch)
9743 (uri (git-reference
9744 (url "https://github.com/purcell/ibuffer-projectile.git")
9745 (commit commit)))
9746 (file-name (string-append name "-" version "-checkout"))
9747 (sha256
9748 (base32
9749 "1nd26cwwdpnwj0g4w393rd59klpyr6wqrnyr6scmwb5d06bsm44n"))))
9750 (build-system emacs-build-system)
9751 (propagated-inputs
9752 `(("emacs-projectile" ,emacs-projectile)))
9753 (home-page "https://github.com/purcell/ibuffer-projectile")
9754 (synopsis "Group ibuffer's list by projectile root")
9755 (description "Adds functionality to Emacs @code{ibuffer} for
9756grouping buffers by their projectile root directory.")
9757 (license license:gpl3+))))
9758
9759(define-public emacs-helm-mode-manager
9760 (package
9761 (name "emacs-helm-mode-manager")
9762 (version "1.0.0")
9763 (source
9764 (origin
9765 (method url-fetch)
9766 (uri (string-append "https://github.com/istib/helm-mode-manager/"
9767 "archive/" version ".tar.gz"))
9768 (file-name (string-append name "-" version ".tar.gz"))
9769 (sha256
9770 (base32
9771 "0wllj321z16hgrx0ddwzk5wz4mnnx5am7w5nclqclfc5dfdn92wm"))))
9772 (build-system emacs-build-system)
9773 (propagated-inputs
9774 `(("emacs-helm" ,emacs-helm)))
9775 (home-page "https://github.com/istib/helm-mode-manager/")
9776 (synopsis "Switch and toggle Emacs major and minor modes using Helm")
9777 (description "This package provides a Helm interface for toggling Emacs
9778major or minor mode.
9779
9780@itemize
9781@item @code{helm-switch-major-mode} list of all major modes
9782@item @code{helm-enable-minor-mode} list of all inactive minor modes
9783@item @code{helm-disable-minor-mode} list of all ACTIVE minor modes
9784@end itemize\n
9785
9786Hitting @code{RET} enables the mode, @code{C-z} shows the mode
9787documentation.")
9788 (license license:gpl3+)))
9789
9790(define-public emacs-hy-mode
9791 (package
9792 (name "emacs-hy-mode")
9793 (version "1.0.3")
9794 (source
9795 (origin
9796 (method url-fetch)
9797 (uri (string-append "https://github.com/hylang/hy-mode/archive/"
9798 "v" version ".tar.gz"))
9799 (file-name (string-append name "-" version ".tar.gz"))
9800 (sha256
9801 (base32
9802 "0b4pvbr2hf77bq2vsyfsv653q0dab7qzq85wc7kdziw7687jdf2z"))))
9803 (build-system emacs-build-system)
9804 (propagated-inputs
9805 `(("emacs-dash" ,emacs-dash)
9806 ("emacs-s" ,emacs-s)))
9807 (home-page "https://github.com/hylang/hy-mode")
9808 (synopsis "Major mode for Hylang")
9809 (description "This package provides a major mode for Hylang.")
9810 (license license:gpl3+)))
9811
9812(define-public emacs-web-beautify
9813 (package
9814 (name "emacs-web-beautify")
9815 (version "0.3.2")
9816 (source
9817 (origin
9818 (method url-fetch)
9819 (uri (string-append "https://github.com/yasuyk/web-beautify/archive/"
9820 version ".tar.gz"))
9821 (file-name (string-append name "-" version ".tar.gz"))
9822 (sha256
9823 (base32
9824 "1j57hwid74id4swkx2g0iljfawx0k9c7qjrwqc0mv657x9p78hcs"))))
9825 (build-system emacs-build-system)
9826 (home-page "https://github.com/yasuyk/web-beautify")
9827 (synopsis "Format HTML, CSS and JavaScript, JSON")
9828 (description "This package provides an Emacs functions to format HTML,
9829CSS, JavaScript, JSON.")
9830 (license license:gpl3+)))
9831
9832(define-public emacs-helm-shell-history
9833 (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1"))
9834 (package
9835 (name "emacs-helm-shell-history")
9836 (version (git-version "0.1" "1" commit))
9837 (source
9838 (origin
9839 (method git-fetch)
9840 (uri (git-reference
9841 (url "https://github.com/yuutayamada/helm-shell-history.git")
9842 (commit commit)))
9843 (file-name (git-file-name name version))
9844 (sha256
9845 (base32
9846 "18fkjcz69g4dyaxhf9j8svr5x6dhsdnglddwisis8hdn504scpfj"))))
9847 (build-system emacs-build-system)
9848 (arguments
9849 '(#:phases
9850 (modify-phases %standard-phases
9851 (add-before 'check 'patch-helm-shell-history-file
9852 (lambda _
9853 (let ((file "helm-shell-history.el"))
9854 (chmod file #o644)
9855 (emacs-substitute-sexps file
9856 ("(defvar helm-shell-history-file"
9857 `(expand-file-name "~/.bash_history"))))
9858 #t)))))
9859 (propagated-inputs
9860 `(("emacs-helm" ,emacs-helm)))
9861 (home-page "https://github.com/yuutayamada/helm-shell-history")
9862 (synopsis "Find shell history with Emacs Helm")
9863 (description "This package provides an Emacs Helm interface to search
9864throw a shell history.")
9865 (license license:gpl3+))))
9866
9867(define-public emacs-discover-my-major
9868 (package
9869 (name "emacs-discover-my-major")
9870 (version "1.0")
9871 (source
9872 (origin
9873 (method url-fetch)
9874 (uri
9875 (string-append "https://github.com/steckerhalter/discover-my-major"
9876 "/archive/" version ".tar.gz"))
9877 (file-name (string-append name "-" version ".tar.gz"))
9878 (sha256
9879 (base32
9880 "0nah41f92rrl2l405kpqr6iaks11jyclgl4z7ilfymbr4ifmsiyl"))))
9881 (build-system emacs-build-system)
9882 (propagated-inputs
9883 `(("emacs-makey" ,emacs-makey)))
9884 (home-page "https://github.com/steckerhalter/discover-my-major")
9885 (synopsis "Discover key bindings for the current Emacs major mode")
9886 (description "This package provides allows to discover key bindings and
9887their meaning for the current Emacs major-mode.")
9888 (license license:gpl3+)))
9889
9890(define-public emacs-org-ref
9891 (let ((commit "8c9b5d7efb9f0c1ad5186b8203bdd017f4249129")
9892 (revision "1"))
9893 (package
9894 (name "emacs-org-ref")
9895 (version (string-append "1.1.1" "-" revision "."
9896 (string-take commit 7)))
9897 (source
9898 (origin
9899 (method git-fetch)
9900 (uri (git-reference
9901 (url "https://github.com/jkitchin/org-ref.git")
9902 (commit commit)))
9903 (file-name (string-append name "-" version "-checkout"))
9904 (sha256
9905 (base32
9906 "1rxz0bjdsayk0slv23i07d9xhj2m7s4hsc81wc2d1cs52dkr5zmz"))))
9907 (build-system emacs-build-system)
9908 (propagated-inputs
9909 `(("emacs-dash" ,emacs-dash)
9910 ("emacs-helm" ,emacs-helm)
9911 ("emacs-helm-bibtex" ,emacs-helm-bibtex)
9912 ("emacs-ivy" ,emacs-ivy)
9913 ("emacs-hydra" ,emacs-hydra)
9914 ("emacs-key-chord" ,emacs-key-chord)
9915 ("emacs-s" ,emacs-s)
9916 ("emacs-f" ,emacs-f)
9917 ("emacs-pdf-tools" ,emacs-pdf-tools)))
9918 (home-page "https://github.com/jkitchin/org-ref")
9919 (synopsis "Citations, cross-references and bibliographies in org-mode")
9920 (description
9921 "Lisp code to setup bibliography, cite, ref and label org-mode links.
9922Also sets up reftex and helm for org-mode citations. The links are
9923clickable and do things that are useful.
9924
9925The default setup uses helm-bibtex.
9926
9927You should really read org-ref.org in this package for details.")
9928 (license license:gpl3+))))
9929
9930(define-public emacs-org-reveal
9931 (package
9932 (name "emacs-org-reveal")
9933 ;; There are no proper tag, so we use the latest commit of the stable
9934 ;; branch, as does MELPA.
9935 (version "20161027.926")
9936 (source (origin
9937 (method git-fetch)
9938 (uri (git-reference
9939 (url "https://github.com/yjwen/org-reveal.git")
9940 (commit "001567cc12d50ba07612edd1718b86a12e8c2547")))
9941 (file-name (string-append name "-" version "-checkout"))
9942 (sha256
9943 (base32
9944 "18rma8smjrskbjyna076zhvx79zs5r5vinb537h8mw13pfxd6cm8"))))
9945 (build-system emacs-build-system)
9946 (home-page "https://github.com/yjwen/org-reveal")
9947 (synopsis "Org and Reveal.js powered HTML presentation tool")
9948 (description "Org-Reveal is a command@{org-mode} extension that allows to
9949create beautiful presentations (slides) with 3D effects from simple but
9950powerful Org contents.")
9951 (license license:gpl3+)))
9952
9953(define-public emacs-add-hooks
9954 (package
9955 (name "emacs-add-hooks")
9956 (version "3.1.1")
9957 (source (origin
9958 (method url-fetch)
9959 (uri (string-append
9960 "https://github.com/nickmccurdy/add-hooks/archive/"
9961 version ".tar.gz"))
9962 (file-name (string-append name "-" version ".tar.gz"))
9963 (sha256
9964 (base32
9965 "03a28gb3298g7pc2qji9hi44p4d99ljp5mpi9cmg42ldv8fl6549"))))
9966 (build-system emacs-build-system)
9967 (home-page "https://github.com/nickmccurdy/add-hooks/")
9968 (synopsis "Emacs function for setting multiple hooks")
9969 (description "This package provides a @code{add-hooks} function tidies up
9970duplicate hook and function names further into a single declarative call.")
9971 (license license:gpl3+)))
9972
9973(define-public emacs-fancy-narrow
9974 (package
9975 (name "emacs-fancy-narrow")
9976 (version "0.9.5")
9977 (source
9978 (origin
9979 (method url-fetch)
9980 (uri (string-append "https://github.com/Malabarba/fancy-narrow/archive/"
9981 version ".tar.gz"))
9982 (file-name (string-append name "-" version ".tar.gz"))
9983 (sha256
9984 (base32
9985 "0rf2rnzg82pdqch041yyx3f9ddixffkk9s2ydzg8hwy66sg3385n"))))
9986 (build-system emacs-build-system)
9987 (home-page "https://github.com/Malabarba/fancy-narrow/releases")
9988 (synopsis "Imitate @code{narrow-to-region} with more eye candy")
9989 (description
9990 "Unlike @code{narrow-to-region}, which completely hides text outside
9991the narrowed region, this package simply de-emphasizes the text, makes it
9992read-only, and makes it unreachable. This leads to a much more natural
9993feeling where the region stays static (instead of being brutally moved to a
9994blank slate) and is clearly highlighted with respect to the rest of the
9995buffer.")
9996 (license license:gpl2+)))
9997
9998(define-public emacs-know-your-http-well
9999 (package
10000 (name "emacs-know-your-http-well")
10001 (version "0.5.0")
10002 (source
10003 (origin
10004 (method url-fetch)
10005 (uri (string-append
10006 "https://github.com/for-GET/know-your-http-well/archive/"
10007 "v" version ".tar.gz"))
10008 (file-name (string-append name "-" version ".tar.gz"))
10009 (sha256
10010 (base32
10011 "1y3kwz88awcgwaivlswq0q4g2i02762r23lpwg61bfqy5lrjjqnj"))))
10012 (arguments
10013 `(#:phases
10014 (modify-phases %standard-phases
10015 (add-after 'unpack 'install-json-files
10016 (lambda* (#:key outputs #:allow-other-keys)
10017 (for-each (lambda (directory)
10018 (copy-recursively directory
10019 (string-append
10020 (assoc-ref outputs "out")
10021 directory)))
10022 '("js" "json"))))
10023 (add-after 'unpack 'chdir-elisp
10024 ;; Elisp directory is not in root of the source.
10025 (lambda _
10026 (chdir "emacs"))))))
10027 (build-system emacs-build-system)
10028 (home-page "https://github.com/for-GET/know-your-http-well")
10029 (synopsis "Meaning of HTTP headers codes")
10030 (description "Meaning of HTTP headers codes.")
10031 (license license:gpl3+)))
10032
10033(define-public emacs-navi-mode
10034 (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674"))
10035 (package
10036 (name "emacs-navi-mode")
10037 (version (git-version "2.0" "1" commit))
10038 (source
10039 (origin
10040 (method git-fetch)
10041 (uri (git-reference
10042 (url "https://github.com/alphapapa/navi.git")
10043 (commit commit)))
10044 (file-name (git-file-name name version))
10045 (sha256
10046 (base32
10047 "0jj5spk14hgb7zb1cd2n8whcw4k1kd5zb6llwj96v178yaws7l8k"))))
10048 (build-system emacs-build-system)
10049 (propagated-inputs
10050 `(("emacs-outshine" ,emacs-outshine)
10051 ("emacs-outorg" ,emacs-outorg)))
10052 (home-page "https://github.com/alphapapa/navi")
10053 (synopsis "Emacs major-mode for easy buffer-navigation")
10054 (description
10055 "This package provides an Emacs major-mode for easy buffer-navigation")
10056 (license license:gpl3+))))
10057
10058(define-public emacs-download-region
10059 (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa")
10060 (revision "1"))
10061 (package
10062 (name "emacs-download-region")
10063 (version (string-append "0.0.1" "-" revision "."
10064 (string-take commit 7)))
10065 (source
10066 (origin
10067 (method git-fetch)
10068 (uri (git-reference
10069 (url "https://github.com/zk-phi/download-region.git")
10070 (commit commit)))
10071 (file-name (string-append name "-" version "-checkout"))
10072 (sha256
10073 (base32
10074 "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc"))))
10075 (build-system emacs-build-system)
10076 (home-page "https://github.com/zk-phi/download-region")
10077 (synopsis "In buffer download manager for Emacs")
10078 (description "@code{download-region} provides in buffer
10079downloading manager for Emacs.")
10080 (license license:gpl3+))))
10081
10082(define-public emacs-helpful
10083 (package
10084 (name "emacs-helpful")
10085 (version "0.15")
10086 (source (origin
10087 (method url-fetch)
10088 (uri (string-append
10089 "https://github.com/Wilfred/helpful/archive/"
10090 version ".tar.gz"))
10091 (file-name (string-append name "-" version ".tar.gz"))
10092 (sha256
10093 (base32
10094 "1xmvhphzb4hbg647dz4lafy6hd19b7bk3lxni6irqrzdsrclhzn6"))))
10095 (build-system emacs-build-system)
10096 (propagated-inputs
10097 `(("emacs-elisp-refs" ,emacs-elisp-refs)))
10098 (home-page "https://github.com/Wilfred/helpful")
10099 (synopsis "More contextual information in Emacs help")
10100 (description "@code{helpful} is an alternative to the built-in Emacs help
10101that provides much more contextual information.
10102
10103@itemize
10104@item Show the source code for interactively defined functions (unlike the
10105built-in Help).
10106@item Fall back to the raw sexp if no source is available.
10107@item Show where a function is being called.
10108@item Docstrings will Highlight the summary (the first sentence), include
10109cross-references, hide superfluous puncuation.
10110@item Show you the properties that have been applied to the current
10111symbol. This provides visibility of features like edebug or byte-code
10112optimisation.
10113@item Provide a separate @code{helpful-command} function to view interactive
10114functions.
10115@item Display any keybindings that apply to interactive functions.
10116@item Trace, disassemble functions from inside Helpful. This is discoverable
10117and doesn't require memorisation of commands.
10118@end itemize\n")
10119 (license license:gpl3+)))
10120
10121(define-public emacs-logview
10122 (package
10123 (name "emacs-logview")
10124 (version "0.9")
10125 (source (origin
10126 (method url-fetch)
10127 (uri (string-append
10128 "https://github.com/doublep/logview/archive/"
10129 version ".tar.gz"))
10130 (file-name (string-append name "-" version ".tar.gz"))
10131 (sha256
10132 (base32
10133 "1vd11ppm46ldqsiwhqgw91p34gbjh1y82r9mxcn9r2gj65nvhxcp"))))
10134 (propagated-inputs
10135 `(("emacs-datetime" ,emacs-datetime)))
10136 (build-system emacs-build-system)
10137 (home-page "https://github.com/doublep/logview/")
10138 (synopsis "Emacs mode for viewing log files")
10139 (description "@code{logview} provides an Emacs mode to view log files.")
10140 (license license:gpl3+)))
10141
10142(define-public emacs-suggest
10143 (package
10144 (name "emacs-suggest")
10145 (version "0.4")
10146 (source
10147 (origin
10148 (method url-fetch)
10149 (uri (string-append "https://github.com/Wilfred/suggest.el/archive/"
10150 version ".tar.gz"))
10151 (file-name (string-append name "-" version ".tar.gz"))
10152 (sha256
10153 (base32
10154 "1760fm3j19w8xxcawq6s859h86q1rdg69pg9yz48n76kwfk3vlgp"))))
10155 (build-system emacs-build-system)
10156 (propagated-inputs
10157 `(("emacs-loop" ,emacs-loop)
10158 ("emacs-dash" ,emacs-dash)
10159 ("emacs-s" ,emacs-s)
10160 ("emacs-f" ,emacs-f)))
10161 (home-page "https://github.com/Wilfred/suggest.el")
10162 (synopsis "Suggest Elisp functions that give the output requested")
10163 (description "Suggest.el will find functions that give the output
10164requested. It's a great way of exploring list, string and arithmetic
10165functions.")
10166 (license license:gpl3+)))
10167
10168(define-public emacs-benchmark-init
10169 (package
10170 (name "emacs-benchmark-init")
10171 (version "1.0")
10172 (source (origin
10173 (method url-fetch)
10174 (uri (string-append
10175 "https://github.com/dholm/benchmark-init-el/archive/"
10176 version ".tar.gz"))
10177 (file-name (string-append name "-" version ".tar.gz"))
10178 (sha256
10179 (base32
10180 "0szyqr4nncwz4vd5gww1vz31kf9r2lx25p4d0d09pm35974x53kz"))))
10181 (build-system emacs-build-system)
10182 (home-page "https://github.com/dholm/benchmark-init-el")
10183 (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
10184 (description "@code{benchmark-init} provides a way to keep track of where
10185time is being spent during Emacs startup in order to optimize startup time.")
10186 (license license:gpl3+)))
10187
10188(define-public emacs-emms-player-simple-mpv
10189 ;; A new mpv backend is included in Emms from 5.0.
10190 (deprecated-package "emacs-emms-player-simple-mpv" emacs-emms))
10191
f0caf760
MC
10192(define-public emacs-magit-gerrit
10193 (let ((version "0.3")
10194 (revision "1")
10195 (commit "ece6f369694aca17f3ac166ed2801b432acfe20d"))
10196 (package
10197 (name "emacs-magit-gerrit")
10198 (version (git-version version revision commit))
10199 (source (origin
10200 (method git-fetch)
10201 (uri (git-reference
10202 (url "https://github.com/terranpro/magit-gerrit.git")
10203 (commit commit)))
10204 (file-name (git-file-name name version))
10205 (sha256
10206 (base32
10207 "0mms0gxv9a3ns8lk5k2wjibm3088y1cmpr3axjdh6ppv7r5wdvii"))))
10208 (build-system emacs-build-system)
10209 (propagated-inputs
10210 `(("emacs-magit" ,emacs-magit)))
10211 (home-page "https://github.com/terranpro/magit-gerrit")
10212 (synopsis "Magit extension for Gerrit")
10213 (description "This Magit extension provides integration with Gerrit,
10214which makes it possible to conduct Gerrit code reviews directly from within
10215Emacs.")
10216 (license license:gpl3+))))
10217
eeb883cb
RW
10218(define-public emacs-magit-org-todos-el
10219 (let ((commit "df206287737b9671f2e36ae7b1474ebbe9940d2a"))
10220 (package
10221 (name "emacs-magit-org-todos-el")
10222 (version (git-version "0.1.1" "1" commit))
10223 (source
10224 (origin
10225 (method git-fetch)
10226 (uri (git-reference
10227 (url "https://github.com/danielma/magit-org-todos.el.git")
10228 (commit commit)))
10229 (file-name (git-file-name name version))
10230 (sha256
10231 (base32
10232 "0kdp7k7jnnrkhsg0xh1c3h7iz0vgi120gf5xwl1hxy61avivnxrn"))))
10233 (propagated-inputs
10234 `(("magit" ,emacs-magit)))
10235 (build-system emacs-build-system)
10236 (home-page "https://github.com/danielma/magit-org-todos.el")
10237 (synopsis "Get todo.org into Emacs Magit status")
10238 (description "This package allows you to get @file{todo.org} into your
10239magit status.
10240
10241If you have a @file{todo.org} file with @code{TODO} items in the root of your
10242repository, @code{magit-org-todos} will create a section in your Magit status
10243buffer with each of your todos.")
10244 (license license:gpl3+))))
10245
10246(define-public emacs-f3
10247 (package
10248 (name "emacs-f3")
10249 (version "0.1")
10250 (source
10251 (origin
10252 (method url-fetch)
10253 (uri (string-append "https://github.com/cosmicexplorer/f3/archive/"
10254 version ".tar.gz"))
10255 (file-name (string-append name "-" version ".tar.gz"))
10256 (sha256
10257 (base32
10258 "06b8i1jvklm5k3k90n65f197l1miq1xlxqkqpbppw4h3rhl4y98h"))))
10259 (build-system emacs-build-system)
10260 (propagated-inputs
10261 `(("emacs-helm" ,emacs-helm)))
10262 (home-page "https://github.com/cosmicexplorer/f3")
10263 (synopsis "Fantastic File Finder for Emacs")
10264 (description
10265 "The Fantastic File Finder for Emacs. Find files fast, using helm.")
10266 (license license:gpl3+)))
10267
10268(define-public emacs-lice-el
10269 (let ((commit "4339929927c62bd636f89bb39ea999d18d269250"))
10270 (package
10271 (name "emacs-lice-el")
10272 (version (git-version "0.2" "1" commit))
10273 (source (origin
10274 (method git-fetch)
10275 (uri (git-reference
10276 (url "https://github.com/buzztaiki/lice-el.git")
10277 (commit commit)))
10278 (file-name (git-file-name name version))
10279 (sha256
10280 (base32
10281 "0879z761b7gajkhq176ps745xpdrivch349crransv8fnsc759yb"))))
10282 (build-system emacs-build-system)
10283 (home-page "https://github.com/buzztaiki/lice-el")
10284 (synopsis "License and header template for Emacs")
10285 (description "@code{lice.el} provides following features:
10286
10287@itemize
10288@item License template management.
10289@item File header insertion.
10290@end itemize\n")
10291 (license license:gpl3+))))
10292
10293(define-public emacs-academic-phrases
10294 (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656"))
10295 (package
10296 (name "emacs-academic-phrases")
10297 (version (git-version "0.1" "1" commit))
10298 (source
10299 (origin
10300 (method git-fetch)
10301 (uri (git-reference
10302 (url "https://github.com/nashamri/academic-phrases.git")
10303 (commit commit)))
10304 (file-name (string-append name "-" version "-checkout"))
10305 (sha256
10306 (base32
10307 "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r"))))
10308 (build-system emacs-build-system)
10309 (propagated-inputs
10310 `(("emacs-dash" ,emacs-dash)
10311 ("emacs-s" ,emacs-s)
10312 ("emacs-ht" ,emacs-ht)))
10313 (home-page "https://github.com/nashamri/academic-phrases")
10314 (synopsis "Bypass that mental block when writing your papers")
10315 (description
10316 "When writing your academic paper, you might get stuck trying to find
10317the right phrase that captures your intention. This package tries to
10318alleviate that problem by presenting you with a list of phrases organized by
10319the topic or by the paper section that you are writing. This package has
10320around 600 phrases so far.
10321
10322Using this package is easy, just call @code{academic-phrases} to get a list of
10323phrases organized by topic, or call @code{academic-phrases-by-section} to
10324browse the phrases by the paper section and fill-in the blanks if required.")
10325 (license license:gpl3+))))
10326
10327(define-public emacs-auto-yasnippet
10328 (let ((commit "d1ccfea87312c6dd8cf8501ab5b71b1d3d44d95b"))
10329 (package
10330 (name "emacs-auto-yasnippet")
10331 (version (git-version "0.3.0" "1" commit))
10332 (source (origin
10333 (method git-fetch)
10334 (uri (git-reference
10335 (url "https://github.com/abo-abo/auto-yasnippet.git")
10336 (commit commit)))
10337 (file-name (string-append name "-" version "-checkout"))
10338 (sha256
10339 (base32
10340 "1i8k2qiyzd5rq0zplk4xb5nfa5mp0ibxbzwqj6c7877waq7244xk"))))
10341 (build-system emacs-build-system)
10342 (arguments
10343 '(#:phases
10344 (modify-phases %standard-phases
10345 (add-before 'install 'check
10346 (lambda _
10347 (invoke "emacs" "--batch"
10348 "-l" "auto-yasnippet.el"
10349 "-l" "auto-yasnippet-test.el"
10350 "-f" "ert-run-tests-batch-and-exit"))))))
10351 (propagated-inputs
10352 `(("emacs-yasnippet" ,emacs-yasnippet)))
10353 (home-page "https://github.com/abo-abo/auto-yasnippet/")
10354 (synopsis "Quickly create disposable yasnippets")
10355 (description "This package provides a hybrid of keyboard macros and
10356yasnippet. You create the snippet on the go, usually to be used just in the
10357one place. It's fast, because you're not leaving the current buffer, and all
10358you do is enter the code you'd enter anyway, just placing ~ where you'd like
10359yasnippet fields and mirrors to be.")
10360 (license license:gpl3+))))
10361
10362(define-public emacs-highlight-numbers
10363 (package
10364 (name "emacs-highlight-numbers")
10365 (version "0.2.3")
10366 (source
10367 (origin
10368 (method url-fetch)
10369 (uri (string-append
10370 "https://github.com/Fanael/highlight-numbers/archive/"
10371 version ".tar.gz"))
10372 (file-name (string-append name "-" version ".tar.gz"))
10373 (sha256
10374 (base32
10375 "030v5p11d4n0581ncv499l1fqrmfziy756q6378x2bv22ixghqqp"))))
10376 (build-system emacs-build-system)
10377 (propagated-inputs
10378 `(("emacs-parent-mode" ,emacs-parent-mode)))
10379 (home-page "https://github.com/Fanael/highlight-numbers")
10380 (synopsis "Highlight numbers in source code")
10381 (description "@code{highlight-numbers-mode} provides a minor mode for
10382syntax highlighting of numeric literals in source code.
10383
10384It s customizable: it's easy to add or redefine what exactly consitutes a
10385\"number\" in given major mode. See @code{highlight-numbers-modelist}.")
10386 (license license:gpl3+)))
10387
10388(define-public emacs-darkroom
10389 (package
10390 (name "emacs-darkroom")
10391 (version "0.1")
10392 (source (origin
10393 (method url-fetch)
10394 (uri (string-append "https://elpa.gnu.org/packages/darkroom-"
10395 version ".el"))
10396 (sha256
10397 (base32
10398 "0fif8fm1h7x7g16949shfnaik5f5488clsvkf8bi5izpqp3vi6ak"))))
10399 (build-system emacs-build-system)
10400 (home-page "https://elpa.gnu.org/packages/darkroom.html")
10401 (synopsis "Remove visual distractions and focus on writing")
10402 (description "@code{darkroom-mode} makes visual distractions disappear.
10403The mode-line is temporarily elided, text is enlarged and margins are adjusted
10404so that it's centered on the window.
10405
10406@code{darkroom-tentative-mode} is similar, but it doesn't immediately turn-on
10407@code{darkroom-mode}, unless the current buffer lives in the sole window of
10408the Emacs frame (i.e. all other windows are deleted). Whenever the frame is
10409split to display more windows and more buffers, the buffer exits
10410@code{darkroom-mode}. Whenever they are deleted, the buffer re-enters
10411@code{darkroom-mode}.")
10412 (license license:gpl3+)))
10413
10414(define-public emacs-rsw-elisp
10415 (package
10416 (name "emacs-rsw-elisp")
10417 (version "1.0.5")
10418 (source (origin
10419 (method url-fetch)
10420 (uri (string-append "https://github.com/rswgnu/rsw-elisp"
10421 "/archive/" version ".tar.gz"))
10422 (file-name (string-append name "-" version ".tar.gz"))
10423 (sha256
10424 (base32
10425 "1jnn7xfwl3wxc87v44ccsf1wwp80par3xgcvfb1icd6zchjmlcps"))))
10426 (build-system emacs-build-system)
10427 (home-page "https://github.com/rswgnu/rsw-elisp")
10428 (synopsis "Improved expressions that interactively evaluate Emacs Lisp")
10429 (description "This package improves and replaces the GNU Emacs commands
10430that interactively evaluate Emacs Lisp expressions. The new commands replace
10431standard key bindings and are all prefixed with @code{rsw-elisp-}. They work
10432the same way as the old commands when called non-interactively; only the
10433interactive behavior should be different.")
10434 (license license:gpl3+)))
10435
10436(define-public emacs-default-text-scale
10437 (let ((commit "968e985e219235f3e744d6d967e592acbaf6e0a8")
10438 (revision "1"))
10439 (package
10440 (name "emacs-default-text-scale")
10441 (version (string-append "0.1" "-" revision "."
10442 (string-take commit 7)))
10443 (source (origin
10444 (method git-fetch)
10445 (uri (git-reference
10446 (url "https://github.com/purcell/default-text-scale")
10447 (commit commit)))
10448 (file-name (string-append name "-" version "-checkout"))
10449 (sha256
10450 (base32
10451 "0zds01c3q5yny6ab1fxfkzzgn1kgl3q23lxxap905f4qd70v922h"))))
10452 (build-system emacs-build-system)
10453 (home-page "https://github.com/purcell/default-text-scale")
10454 (synopsis "Adjust the font size in all Emacs frames")
10455 (description "This package provides commands for increasing or
10456decreasing the default font size in all GUI Emacs frames.")
10457 (license license:gpl3+))))
10458
10459(define-public emacs-visual-regexp
10460 (package
10461 (name "emacs-visual-regexp")
10462 (version "1.1.1")
10463 (source
10464 (origin
10465 (method url-fetch)
10466 (uri (string-append "https://github.com/benma/visual-regexp.el/archive/"
10467 "v" version ".tar.gz"))
10468 (file-name (string-append name "-" version ".tar.gz"))
10469 (sha256
10470 (base32
10471 "1czmhvcivlcdyz7rfm0vd4a3xsgmy4qbvbl6yjxc217wrxqflr92"))))
10472 (build-system emacs-build-system)
10473 (home-page "https://github.com/benma/visual-regexp.el/")
10474 (synopsis "Regexp command with interactive visual feedback")
10475 (description "This package provides an Emacs regexp command with
10476interactive visual feedback.")
10477 (license license:gpl3+)))
10478
10479(define-public emacs-faceup
10480 (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154")
10481 (revision "1"))
10482 (package
10483 (name "emacs-faceup")
10484 (version (string-append "0.0.1" "-" revision "."
10485 (string-take commit 7)))
10486 (source
10487 (origin
10488 (method git-fetch)
10489 (uri (git-reference
10490 (url "https://github.com/Lindydancer/faceup.git")
10491 (commit commit)))
10492 (file-name (string-append name "-" version "-checkout"))
10493 (sha256
10494 (base32
10495 "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx"))))
10496 (build-system emacs-build-system)
10497 (home-page "https://github.com/Lindydancer/faceup")
10498 (synopsis "Markup language for faces and font-lock regression testing")
10499 (description "Emacs is capable of highlighting buffers based on
10500language-specific @code{font-lock} rules. This package makes it possible to
10501perform regression test for packages that provide font-lock rules.")
10502 (license license:gpl3+))))
10503
10504(define-public emacs-racket-mode
10505 (let ((commit "b977873e6128f8399432dcd60cc39f6a6f803d9c")
10506 (revision "2"))
10507 (package
10508 (name "emacs-racket-mode")
10509 (version (string-append "0.0.2" "-" revision "."
10510 (string-take commit 7)))
10511 (source
10512 (origin
10513 (method git-fetch)
10514 (uri (git-reference
10515 (url "https://github.com/greghendershott/racket-mode")
10516 (commit commit)))
10517 (file-name (string-append name "-" version "-checkout"))
10518 (sha256
10519 (base32
10520 "0vp4bbbplqvmnhjpl6ajrlydmrhqzil56cfbs18m5c5fddx0zlh7"))))
10521 (build-system emacs-build-system)
10522 (arguments
10523 `(#:include '("\\.el$" "\\.rkt$")))
10524 (propagated-inputs
10525 `(("emacs-faceup" ,emacs-faceup)
10526 ("emacs-s" ,emacs-s)))
10527 (home-page "https://github.com/greghendershott/racket-mode")
10528 (synopsis "Major mode for Racket language")
10529 (description "@code{racket-mode} provides:
10530
10531@itemize
10532@item Focus on Racket (not various Schemes).
10533@item Follow DrRacket concepts where applicable.
10534@item Thorough font-lock and indent.
10535@end itemize\n")
10536 (license license:gpl3+))))
10537
10538(define-public emacs-grep-context
10539 (let ((commit "a17c57e66687a54e195e08afe776bdd60cb6c0a7"))
10540 (package
10541 (name "emacs-grep-context")
10542 (version (git-version "0.1" "1" commit))
10543 (source
10544 (origin
10545 (method git-fetch)
10546 (uri (git-reference
10547 (url "https://github.com/mkcms/grep-context.git")
10548 (commit commit)))
10549 (file-name (string-append name "-" version "-checkout"))
10550 (sha256
10551 (base32
10552 "1nqfa6kjzjshww4hnwg1c0vcr90bdjihy3kmixq3c3jkvxg99b62"))))
10553 (build-system emacs-build-system)
10554 (propagated-inputs
10555 `(("emacs-dash" ,emacs-dash)))
10556 (home-page "https://github.com/nashamri/academic-phrases")
10557 (synopsis "Increase context in compilation and grep buffers")
10558 (description
10559 "This package provides an Emacs package for more context in
10560compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag},
10561@code{ivy}.")
10562 (license license:gpl3+))))
10563
10564(define-public emacs-helm-firefox
10565 (let ((commit "0ad34b7b5abc485a86cae6920c14de861cbeb085")
10566 (revision "1"))
10567 (package
10568 (name "emacs-helm-firefox")
10569 (version (string-append "0.0.1" "-" revision "."
10570 (string-take commit 7)))
10571 (source
10572 (origin
10573 (method git-fetch)
10574 (uri (git-reference
10575 (url "https://github.com/emacs-helm/helm-firefox.git")
10576 (commit commit)))
10577 (file-name (string-append name "-" version "-checkout"))
10578 (sha256
10579 (base32
10580 "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs"))))
10581 (propagated-inputs
10582 `(("emacs-helm" ,emacs-helm)))
10583 (build-system emacs-build-system)
10584 (home-page "https://github.com/emacs-helm/helm-firefox")
10585 (synopsis "Display firefox bookmarks with Emacs Helm interface")
10586 (description "Display firefox bookmarks with Emacs Helm interface")
10587 (license license:gpl3+))))
10588
10589(define-public emacs-interactive-align
10590 (package
10591 (name "emacs-interactive-align")
10592 (version "0.1.0")
10593 (source
10594 (origin
10595 (method url-fetch)
10596 (uri (string-append "https://github.com/mkcms/interactive-align/"
10597 "archive/" "v" version ".tar.gz"))
10598 (file-name (string-append name "-" version ".tar.gz"))
10599 (sha256
10600 (base32
10601 "0sibpgb4lp6yy3pziak8f3hz4b28yj0dqy2nzh51z3d0b63h528m"))))
10602 (build-system emacs-build-system)
10603 (home-page "https://github.com/mkcms/interactive-align/")
10604 (synopsis "Interactive align-regexp command in Emacs")
10605 (description "Interactive align-regexp command in Emacs")
10606 (license license:gpl3+)))
10607
10608(define-public emacs-shift-number
10609 (package
10610 (name "emacs-shift-number")
10611 (version "0.1")
10612 (source
10613 (origin
10614 (method url-fetch)
10615 (uri (string-append "https://github.com/alezost/shift-number.el"
10616 "/archive/" "v" version ".tar.gz"))
10617 (file-name (string-append name "-" version ".tar.gz"))
10618 (sha256
10619 (base32
10620 "1g79m0hqn9jgpm565vvh8pdfzndc4vw7xisnh5qysj55qfg8cb1x"))))
10621 (build-system emacs-build-system)
10622 (home-page "https://github.com/alezost/shift-number.el")
10623 (synopsis "Increase or decrease the number at point")
10624 (description "@code{emacs-shift-number} provides commands
10625@code{shift-number-up} to increase and @code{shift-number-down} to
10626decrease the number at point.")
10627 (license license:gpl3+)))
10628
10629(define-public emacs-highlight-defined
10630 (package
10631 (name "emacs-highlight-defined")
10632 (version "0.1.5")
10633 (source
10634 (origin
10635 (method url-fetch)
10636 (uri (string-append
10637 "https://github.com/Fanael/highlight-defined/archive/"
10638 version ".tar.gz"))
10639 (file-name (string-append name "-" version ".tar.gz"))
10640 (sha256
10641 (base32
10642 "1ryd66989b5byqdw8jmjrjf0c78iiz72wibld750skcnj5h5h506"))))
10643 (build-system emacs-build-system)
10644 (home-page "https://github.com/Fanael/highlight-defined")
10645 (synopsis "Syntax highlighting of known Elisp symbols")
10646 (description "Minor mode providing syntax highlighting of known Emacs Lisp
10647symbols. Currently the code distinguishes Lisp functions, built-in functions,
10648macros, faces and variables. To enable call @code{highlight-defined-mode}. ")
10649 (license license:gpl3+)))
10650
10651(define-public emacs-parinfer-mode
10652 (package
10653 (name "emacs-parinfer-mode")
10654 (version "0.4.10")
10655 (source
10656 (origin
10657 (method url-fetch)
10658 (uri (string-append "https://github.com/DogLooksGood/parinfer-mode/archive/"
10659 "v" version ".tar.gz"))
10660 (file-name (string-append name "-" version ".tar.gz"))
10661 (sha256
10662 (base32
10663 "06ba9qi59sm9ih9m38fbr8kj4qkvrm58n0c0ngfjz60gnr9x9pcv"))))
10664 (propagated-inputs
10665 `(("emacs-dash" ,emacs-dash)
10666 ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters)
10667 ("emacs-company" ,emacs-company)))
10668 (build-system emacs-build-system)
10669 (home-page "https://github.com/DogLooksGood/parinfer-mode/")
10670 (synopsis "Lisp structure editing mode")
10671 (description "@code{parinfer-mode} is a proof-of-concept editor
10672mode for Lisp programming languages. It will infer some changes to
10673keep Parens and Indentation inline with one another.")
10674 (license license:gpl3+)))
10675
10676(define-public emacs-helm-eww
266c97cb
PN
10677 (package
10678 (name "emacs-helm-eww")
10679 (version "1.1")
10680 (source (origin
10681 (method git-fetch)
10682 (uri (git-reference
10683 (url "https://github.com/emacs-helm/helm-eww.git")
10684 (commit version)))
10685 (file-name (string-append name "-" version "-checkout"))
10686 (sha256
10687 (base32
10688 "0dvlp7y6kqc4azg5b7jx5lz2rwd0ia7y0y3hcj9y23zd88r73lg7"))))
10689 (propagated-inputs
10690 `(("emacs-helm" ,emacs-helm)))
10691 (build-system emacs-build-system)
10692 (home-page "https://github.com/emacs-helm/helm-eww/")
10693 (synopsis "Helm interface to EWW")
10694 (description "This package provides a Helm interface for EWW buffers,
eeb883cb 10695bookmarks and history.")
266c97cb 10696 (license license:gpl3+)))
eeb883cb
RW
10697
10698(define-public emacs-stumpwm-mode
10699 (let ((commit "8fbe071d2c6c040794060a354eb377218dc10b35")
10700 (revision "1"))
10701 (package
10702 (name "emacs-stumpwm-mode")
10703 (version (string-append "0.0.1-" revision "."
10704 (string-take commit 7)))
10705 (source (origin
10706 (method git-fetch)
10707 (uri (git-reference
10708 (url "https://github.com/stumpwm/stumpwm-contrib.git")
10709 (commit commit)))
10710 (file-name (string-append name "-" version "-checkout"))
10711 (sha256
10712 (base32
10713 "1dfwsvz1c8w6j4jp0kzaz78ml3f5dp0a5pvf090kwpbpg176r7iq"))))
10714 (build-system emacs-build-system)
10715 (arguments
10716 `(#:phases
10717 (modify-phases %standard-phases
10718 (add-after 'unpack 'chdir-elisp
10719 ;; Elisp directory is not in root of the source.
10720 (lambda _
10721 (chdir "util/swm-emacs"))))))
10722 (home-page "https://github.com/stumpwm/stumpwm-contrib")
10723 (synopsis "Emacs minor-mode for Stumpwm")
10724 (description "Emacs minor-mode for Stumpwm")
10725 (license license:gpl3+))))
10726
10727(define-public emacs-irfc
10728 (package
10729 (name "emacs-irfc")
10730 (version "20130824.507")
10731 (source
10732 (origin
10733 (method url-fetch)
10734 (uri "https://www.emacswiki.org/emacs/download/irfc.el")
10735 (file-name (string-append "irfc-" version ".el"))
10736 (sha256
10737 (base32
10738 "197ybqwbj8qjh2p9pkf5mvqnrkpcgmv8c5s2gvl6msyrabk0mnca"))))
10739 (build-system emacs-build-system)
10740 (home-page "https://www.emacswiki.org/emacs/download/irfc.el")
10741 (synopsis "Interface for IETF RFC document")
10742 (description
10743 "This package provides an Emacs interface for IETF RFC document.")
10744 (license license:gpl3+)))
10745
10746(define-public emacs-ido-vertical-mode
10747 (package
10748 (name "emacs-ido-vertical-mode")
10749 (version "0.1.6")
10750 (source
10751 (origin
10752 (method url-fetch)
10753 (uri (string-append
10754 "https://github.com/creichert/ido-vertical-mode.el/archive/"
10755 "v" version ".tar.gz"))
10756 (file-name (string-append name "-" version ".tar.gz"))
10757 (sha256
10758 (base32
10759 "0dprdxq8wvqd45dinwj92k0kixr07c8xvspa6i613mjcpxgwjg53"))))
10760 (build-system emacs-build-system)
10761 (home-page "https://github.com/creichert/ido-vertical-mode.el")
10762 (synopsis "Makes ido-mode display vertically")
10763 (description "Makes ido-mode display prospects vertically.")
10764 (license license:gpl3+)))
10765
10766(define-public emacs-wordgen
10767 (package
10768 (name "emacs-wordgen")
10769 (version "0.1.4")
10770 (source
10771 (origin
10772 (method url-fetch)
10773 (uri (string-append "https://github.com/Fanael/wordgen.el/archive/"
10774 version ".tar.gz"))
10775 (file-name (string-append name "-" version ".tar.gz"))
10776 (sha256
10777 (base32
10778 "1h2iyixdm49h53pwj9ics9gb9h3g6wa4hainpnjg6mfarf49jkmg"))))
10779 (build-system emacs-build-system)
10780 (home-page "https://github.com/Fanael/wordgen.el")
10781 (synopsis "Random word generator")
10782 (description "This package provides functions to generate random words
10783using user-provided rules.")
10784 (license license:gpl3+)))
10785
10786(define-public emacs-on-screen
10787 (package
10788 (name "emacs-on-screen")
10789 (version "1.3.2")
10790 (source
10791 (origin
10792 (method url-fetch)
10793 (uri (string-append
10794 "http://elpa.gnu.org/packages/on-screen-" version ".el"))
10795 (file-name (string-append name "-" version ".el"))
10796 (sha256
10797 (base32
10798 "15d18mjgv1pnwl6kf3pr5w64q1322p1l1qlfvnckglwmzy5sl2qv"))))
10799 (build-system emacs-build-system)
10800 (home-page
10801 "https://github.com/michael-heerdegen/on-screen.el")
10802 (synopsis "Guide your eyes while scrolling")
10803 (description
10804 "Scrolling can be distracting because your eyes may lose
10805orientation. This library implements a minor mode that highlights
10806the previously visible buffer part after each scroll.")
10807 (license license:gpl3+)))
10808
10809(define-public emacs-highlight-escape-sequences
10810 (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41")
10811 (revision "1"))
10812 (package
10813 (name "emacs-highlight-escape-sequences")
10814 (version (string-append "0.0.1" "-" revision "."
10815 (string-take commit 7)))
10816 (source
10817 (origin
10818 (method git-fetch)
10819 (uri (git-reference
10820 (url "https://github.com/dgutov/highlight-escape-sequences.git")
10821 (commit commit)))
10822 (file-name (string-append name "-" version "-checkout"))
10823 (sha256
10824 (base32
10825 "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is"))))
10826 (build-system emacs-build-system)
10827 (home-page "https://github.com/dgutov/highlight-escape-sequences")
10828 (synopsis "Highlight escape sequences in Emacs")
10829 (description "@code{highlight-escape-sequences} provides an
10830Emacs minor mode to escape sequences in code.")
10831 (license license:gpl3+))))
10832
10833(define-public emacs-dashboard
10834 (package
10835 (name "emacs-dashboard")
10836 (version "1.2.4")
10837 (source
10838 (origin
10839 (method url-fetch)
10840 (uri (string-append
10841 "https://github.com/rakanalh/emacs-dashboard/archive/"
10842 version ".tar.gz"))
10843 (file-name (string-append name "-" version ".tar.gz"))
10844 (sha256
10845 (base32
10846 "1738lmbgq6gk24hcwic0qjyajr21l5xzhya4pv58dw1bhd6vxv9g"))))
10847 (build-system emacs-build-system)
10848 (propagated-inputs
10849 `(("emacs-page-break-lines" ,emacs-page-break-lines)))
10850 (arguments '(#:include '("\\.el$" "\\.txt$" "\\.png$")))
10851 (home-page "https://github.com/rakanalh/emacs-dashboard")
10852 (synopsis "Startup screen extracted from Spacemacs")
10853 (description "This package provides an extensible Emacs dashboard, with
10854sections for bookmarks, projectil projects, org-agenda and more. ")
10855 (license license:gpl3+)))
10856
10857(define-public emacs-slime-company
10858 (package
10859 (name "emacs-slime-company")
10860 (version "1.1")
10861 (source
10862 (origin
10863 (method url-fetch)
10864 (uri (string-append "https://github.com/anwyn/slime-company/archive/"
10865 "v" version ".tar.gz"))
10866 (sha256
10867 (base32
10868 "1myl79pxj501xfr5qc5a24qddsn2l5iaamg7rf7fpny7mr9v70ar"))
10869 (file-name (string-append name "-" version ".tar.gz"))))
10870 (build-system emacs-build-system)
10871 (propagated-inputs
10872 `(("emacs-slime" ,emacs-slime)
10873 ("emacs-company" ,emacs-company)))
10874 (home-page "https://company-mode.github.io")
10875 (synopsis "SLIME completion backend for @code{company-mode}")
10876 (description
10877 "This is a backend implementation for the completion package
10878@code{company-mode} which supports the normal and the fuzzy completion
10879modes of SLIME.")
10880 (license license:gpl3+)))
10881
10882(define-public emacs-sml-mode
10883 (package
10884 (name "emacs-sml-mode")
10885 (version "6.8")
10886 (source
10887 (origin
10888 (method url-fetch)
10889 (uri (string-append "http://elpa.gnu.org/packages/sml-mode-"
10890 version ".el"))
10891 (sha256
10892 (base32
10893 "105fcrz5qp95f2n3fdm3awr6z58sbrjihjss6qnrg4lz2ggbc328"))))
10894 (build-system emacs-build-system)
10895 (home-page "http://elpa.gnu.org/packages/sml-mode.html")
10896 (synopsis "Major mode for editing (Standard) ML")
10897 (description "SML-MODE is a major Emacs mode for editing Standard ML.
10898It provides syntax highlighting and automatic indentation and
10899comes with sml-proc which allows interaction with an inferior SML
10900interactive loop.")
10901 (license license:gpl3+)))
10902
10903(define-public emacs-eros
10904 (let ((commit "a42e45c9b2397156c684330b0fc90ee0eba773f5")
10905 (revision "1"))
10906 (package
10907 (name "emacs-eros")
10908 (version (string-append "0.0.1" "-" revision "."
10909 (string-take commit 7)))
10910 (source
10911 (origin
10912 (method git-fetch)
10913 (uri (git-reference
10914 (url "https://github.com/xiongtx/eros.git")
10915 (commit commit)))
10916 (file-name (string-append name "-" version "-checkout"))
10917 (sha256
10918 (base32
10919 "0whlsq90v13fz69k3wjrwcwb9gkpfxqjd75mg3nrp85j9nwhb5i4"))))
10920 (build-system emacs-build-system)
10921 (home-page "https://github.com/xiongtx/eros")
10922 (synopsis "Evaluation result overlays")
10923 (description "@code{eros} provides evaluation result overlays.")
10924 (license license:gpl3+))))
10925
10926(define-public emacs-stickyfunc-enhance
10927 (let ((commit "13bdba51fcd83ccbc3267959d23afc94d458dcb0")
10928 (revision "1"))
10929 (package
10930 (name "emacs-stickyfunc-enhance")
10931 (version "0.1")
10932 (source
10933 (origin
10934 (method git-fetch)
10935 (uri (git-reference
10936 (url "https://github.com/tuhdo/semantic-stickyfunc-enhance.git")
10937 (commit commit)))
10938 (file-name (string-append name "-" version "-checkout"))
10939 (sha256
10940 (base32
10941 "16dxjsr5nj20blww4xpd4jzgjprzzh1nwvb810ggdmp9paf4iy0g"))))
10942 (build-system emacs-build-system)
10943 (home-page "https://github.com/tuhdo/semantic-stickyfunc-enhance")
10944 (synopsis "Enhancement to stock @code{semantic-stickyfunc-mode}")
10945 (description
10946 "@code{semantic-stickyfunc-mode} shows the function point is currently
10947in at the first line of the current buffer. This is useful when you have a
10948very long function that spreads more than a screen, and you don't have to
10949scroll up to read the function name and then scroll down to original position.")
10950 (license license:gpl3+))))
10951
10952(define-public emacs-git-auto-commit-mode
10953 (package
10954 (name "emacs-git-auto-commit-mode")
10955 (version "4.4.0")
10956 (source
10957 (origin
10958 (method url-fetch)
10959 (uri (string-append
10960 "https://github.com/ryuslash/git-auto-commit-mode/archive/"
10961 version ".tar.gz"))
10962 (file-name (string-append name "-" version ".tar.gz"))
10963 (sha256
10964 (base32
10965 "04avxmalsl3b7zi2vipfw9rb4wrwysnipsbch96skviql9axk870"))))
10966 (build-system emacs-build-system)
10967 (home-page "https://github.com/ryuslash/git-auto-commit-mode")
10968 (synopsis "Emacs Minor mode to automatically commit and push")
10969 (description "@code{git-auto-commit-mode} is an Emacs minor mode that
10970tries to commit changes to a file after every save.
10971
10972When @code{gac-automatically-push-p} is non-nil, it also tries to push to
10973the current upstream.")
10974 (license license:gpl3+)))
10975
10976(define-public emacs-company-restclient
10977 (package
10978 (name "emacs-company-restclient")
10979 (version "0.1.0")
10980 (source
10981 (origin
10982 (method url-fetch)
10983 (uri (string-append
10984 "https://github.com/iquiw/company-restclient/archive/"
10985 "v" version ".tar.gz"))
10986 (file-name (string-append name "-" version ".tar.gz"))
10987 (sha256
10988 (base32
10989 "1kr3f0wgqlk7r171bvb2kinv7fanwj2md01wdpx04qkgwcr1as00"))))
10990 (build-system emacs-build-system)
10991 (propagated-inputs
10992 `(("emacs-company" ,emacs-company)
10993 ("emacs-know-your-http-well" ,emacs-know-your-http-well)
10994 ("emacs-restclient" ,emacs-restclient)))
10995 (home-page "https://github.com/iquiw/company-restclient")
10996 (synopsis "Company-mode completion back-end for restclient-mode")
10997 (description "@code{company-mode} back-end for
10998@code{restclient-mode}.
10999
11000It provides auto-completion for HTTP methods and headers in
11001@code{restclient-mode}. Completion source is given by
11002@code{know-your-http-well}.")
11003 (license license:gpl3+)))
11004
11005(define-public emacs-noflet
11006 (let ((version "20170629")
11007 (revision "1")
11008 (commit "7ae84dc3257637af7334101456dafe1759c6b68a"))
11009 (package
11010 (name "emacs-noflet")
11011 (version (git-version version revision commit))
11012 (source
11013 (origin
11014 (method git-fetch)
11015 (uri (git-reference
11016 (url "https://github.com/nicferrier/emacs-noflet")
11017 (commit commit)))
11018 (file-name (string-append name "-" version "-checkout"))
11019 (sha256
11020 (base32
11021 "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf"))))
11022 (build-system emacs-build-system)
11023 (arguments
11024 `(#:phases
11025 (modify-phases %standard-phases
11026 (add-after 'unpack 'require-dash
11027 ;; noflet.el uses -map from dash, but (require 'dash) is
11028 ;; missing. So, add it.
11029 (lambda _
11030 (substitute* "noflet.el"
11031 ((";;; Code:") ";;; Code:\n(require 'dash)"))
11032 #t)))))
11033 (propagated-inputs
11034 `(("emacs-dash" ,emacs-dash)))
11035 (home-page "https://github.com/nicferrier/emacs-noflet")
11036 (synopsis "Locally override functions")
11037 (description "@code{emacs-noflet} let's you locally override functions,
11038in the manner of @command{flet}, but with access to the original function
11039through the symbol: @command{this-fn}.")
11040 (license license:gpl3+))))
11041
11042(define-public emacs-dumb-jump
11043 (package
11044 (name "emacs-dumb-jump")
11045 (version "0.5.2")
11046 (source
11047 (origin
11048 (method url-fetch)
11049 (uri (string-append
11050 "https://github.com/jacktasia/dumb-jump/archive/v"
11051 version ".tar.gz"))
11052 (file-name (string-append name "-" version ".tar.gz"))
11053 (sha256
11054 (base32
11055 "07n0xjgpxjpf3vp9gxchkjpydyj0zm166930as0kwiwkhjlsirsf"))))
11056 (build-system emacs-build-system)
11057 (arguments
11058 `(#:tests? #f ; FIXME: Tests freeze when run.
11059 #:test-command '("ert-runner")
11060 #:phases
11061 (modify-phases %standard-phases
11062 (add-after 'unpack 'set-shell
11063 (lambda _
11064 ;; Setting the SHELL environment variable is required for the
11065 ;; tests to find sh.
11066 (setenv "SHELL" (which "sh"))
11067 #t)))))
11068 (native-inputs
11069 `(("emacs-el-mock" ,emacs-el-mock)
11070 ("emacs-noflet" ,emacs-noflet)
11071 ("emacs-undercover" ,emacs-undercover)
11072 ("ert-runner" ,emacs-ert-runner)))
11073 (propagated-inputs
11074 `(("emacs-f" ,emacs-f)
11075 ("emacs-popup" ,emacs-popup)))
11076 (home-page "https://github.com/jacktasia/dumb-jump")
11077 (synopsis "Jump to definition for multiple languages without configuration")
11078 (description "Dumb Jump is an Emacs \"jump to definition\" package with
11079support for multiple programming languages that favors \"just working\" over
11080speed or accuracy. This means minimal --- and ideally zero --- configuration
11081with absolutely no stored indexes (tags) or persistent background processes.
11082Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep
11083@command{rg} installed.")
11084 (license license:gpl3+)))
11085
11086(define-public emacs-dts-mode
11087 (let ((commit "9ee0854446dcc6c53d2b8d2941051768dba50344")
11088 (revision "1"))
11089 (package
11090 (name "emacs-dts-mode")
11091 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
11092 (source
11093 (origin
11094 (method git-fetch)
11095 (uri (git-reference
11096 (url "https://github.com/bgamari/dts-mode.git")
11097 (commit commit)))
11098 (file-name (string-append name "-" version "-checkout"))
11099 (sha256
11100 (base32
11101 "1k8lljdbc90nd29xrhdrsscxavzdq532wq2mg7ljc94krj7538b1"))))
11102 (build-system emacs-build-system)
11103 (home-page "https://github.com/bgamari/dts-mode.git")
11104 (synopsis "Emacs minor mode for editing device tree files")
11105 (description
11106 "This package provides an Emacs minor mode for highlighting
11107device tree files.")
11108 (license license:gpl3+))))
11109
11110(define-public emacs-daemons
11111 (package
11112 (name "emacs-daemons")
11113 (version "2.0.0")
11114 (source
11115 (origin
11116 (method git-fetch)
11117 (uri (git-reference
11118 (url "https://github.com/cbowdon/daemons.el")
11119 (commit version)))
11120 (file-name (string-append name "-" version "-checkout"))
11121 (sha256
11122 (base32
11123 "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"))))
11124 (build-system emacs-build-system)
11125 (home-page "https://github.com/cbowdon/daemons.el")
11126 (synopsis "Emacs UI for managing init system services")
11127 (description
11128 "This is an Emacs mode to give you a UI for managing init system
11129daemons (services) for those getting tired of typing out @code{sudo service
11130my_thing reload} all the time. It offers a consistent UI over different init
11131systems.")
11132 (license license:gpl3+)))
11133
11134(define-public emacs-esh-autosuggest
11135 (package
11136 (name "emacs-esh-autosuggest")
11137 (version "2.0.0")
11138 (source
11139 (origin
11140 (method git-fetch)
11141 (uri (git-reference
11142 (url "https://github.com/dieggsy/esh-autosuggest")
11143 (commit version)))
11144 (file-name (string-append name "-" version "-checkout"))
11145 (sha256
11146 (base32
11147 "116pdjgpjy9b0psm5kzwkwy7dq8vn0p6dy75dl1zsy2xrjf1iqdw"))))
11148 (build-system emacs-build-system)
11149 (propagated-inputs `(("emacs-company" ,emacs-company)))
11150 (home-page "https://github.com/dieggsy/esh-autosuggest")
11151 (synopsis "Fish-like autosuggestions in Eshell")
11152 (description
11153 "This package assumes you use something other than company for eshell
11154completion (e.g. @code{eshell-pcomplete}, @code{completion-at-point},
11155@code{helm-esh-pcomplete}). @code{company-mode} is used solely as a mechanism
11156for history autosuggestions.
11157
11158Unless you're using @code{use-package}'s hook keyword, you can enable the
11159autosuggestions with:
11160@code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}")
11161 (license license:gpl3+)))
11162
11163(define-public emacs-desktop-environment
11164 (package
11165 (name "emacs-desktop-environment")
11166 (version "0.2.0")
11167 (source
11168 (origin
11169 (method git-fetch)
11170 (uri (git-reference
11171 (url "https://github.com/DamienCassou/desktop-environment.git")
11172 (commit (string-append "v" version))))
11173 (file-name (string-append name "-" version "-checkout"))
11174 (sha256
11175 (base32
11176 "1fal3yfmqg10cb53qsf5gsq2gvyz9w16wmlpnpjwjzwnjfn6l73r"))))
11177 (build-system emacs-build-system)
11178 (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
11179 (synopsis "Control your GNU/Linux desktop environment from Emacs")
11180 (description
11181 "This package helps you control your GNU/Linux desktop from Emacs.
11182With @code{desktop-environment}, you can control the brightness and volume as
11183well as take screenshots and lock your screen. The package depends on the
11184availability of shell commands to do the hard work for us. These commands can
11185be changed by customizing the appropriate variables.")
11186 (license license:gpl3+)))
11187
11188(define-public emacs-org-caldav
11189 (package
11190 (name "emacs-org-caldav")
11191 (version "20180403")
11192 (source
11193 (origin
11194 (method url-fetch)
11195 (uri (string-append
11196 "https://github.com/dengste/org-caldav/raw/"
11197 "8d3492c27a09f437d2d94f2736c56d7652e87aa0"
11198 "/org-caldav.el"))
11199 (sha256
11200 (base32
11201 "1fh4gh68ddj0is99z2ccyh97v6psnyda61n2dsadzqhcxn51amlc"))))
11202 (build-system emacs-build-system)
11203 (propagated-inputs `(("emacs-org" ,emacs-org)))
11204 (home-page "https://github.com/dengste/org-caldav")
11205 (synopsis
11206 "Sync Org files with external calendars via the CalDAV protocol")
11207 (description
11208 "Synchronize between events in Org-mode files and a CalDAV calendar.
11209This code is still alpha.")
11210 (license license:gpl3+)))
11211
11212(define-public emacs-zotxt
11213 (package
11214 (name "emacs-zotxt")
11215 (version "20180518")
11216 (source
11217 (origin
11218 (method url-fetch)
11219 (uri (string-append
11220 "https://github.com/egh/zotxt-emacs/archive/"
11221 "23a4a9f74a658222027d53a9a83cd4bcc583ca8b"
11222 ".tar.gz"))
11223 (sha256
11224 (base32
11225 "1qlibaciqgsva6fc7vv9krssjq00bi880396jk7llbi3c52q9n1y"))))
11226 (build-system emacs-build-system)
11227 (propagated-inputs
11228 `(("emacs-deferred" ,emacs-deferred)
11229 ("emacs-request" ,emacs-request)))
11230 (home-page "https://github.com/egh/zotxt-emacs")
11231 (synopsis "Integrate Emacs with Zotero")
11232 (description "This package provides two integration features between Emacs
11233and the Zotero research assistant: Insertion of links to Zotero items into an
11234Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
11235 (license license:gpl3+)))
11236
11237(define-public emacs-evil-ediff
11238 ;; Evil-Ediff is included in Evil Collection from 20180617.
11239 (deprecated-package "emacs-evil-ediff" emacs-evil-collection))
11240
11241(define-public emacs-evil-magit
11242 (let ((commit "dbf5a646a7ce1c35c229dfdc423bd5ecd927a3a8"))
11243 (package
11244 (name "emacs-evil-magit")
11245 (version (git-version "0.4.2" "1" commit))
11246 (source
11247 (origin
11248 (method git-fetch)
11249 (uri (git-reference
11250 (url "https://github.com/emacs-evil/evil-magit")
11251 (commit commit)))
11252 (file-name (string-append name "-" version "-checkout"))
11253 (sha256
11254 (base32
11255 "0ya0dkviq4pi92ab69a4j674y5r1hc1x3x7r7hlm97ag3a6zfkav"))))
11256 (build-system emacs-build-system)
11257 (propagated-inputs
11258 `(("emacs-evil" ,emacs-evil)
11259 ("magit" ,emacs-magit)))
11260 (home-page
11261 "https://github.com/emacs-evil/evil-magit")
11262 (synopsis "Evil-based key bindings for Magit")
11263 (description
11264 "This Emacs library configures Magit and Evil to play well with each other.
11265For some background see @url{https://github.com/magit/evil-magit/issues/1}.
11266See the README at @url{https://github.com/justbur/evil-magit} for a table
11267describing the key binding changes.")
11268 (license license:gpl3+))))
11269
11270(define-public emacs-evil-mu4e
11271 ;; Evil-mu4e is included in Evil Collection from 20180617.
11272 (deprecated-package "emacs-evil-mu4e" emacs-evil-collection))
11273
11274(define-public emacs-evil-multiedit
11275 (package
11276 (name "emacs-evil-multiedit")
11277 (version "1.3.9")
11278 (source
11279 (origin
11280 (method git-fetch)
11281 (uri (git-reference
11282 (url "https://github.com/hlissner/evil-multiedit")
11283 (commit (string-append "v" version))))
11284 (file-name (string-append name "-" version "-checkout"))
11285 (sha256
11286 (base32
11287 "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"))))
11288 (build-system emacs-build-system)
11289 (propagated-inputs
11290 `(("emacs-evil" ,emacs-evil)
11291 ("emacs-iedit" ,emacs-iedit)))
11292 (home-page
11293 "https://github.com/hlissner/evil-multiedit")
11294 (synopsis "Multiple cursors for Evil mode")
11295 (description
11296 "This plugin was an answer to the lack of proper multiple cursor support
11297in Emacs+Evil. It allows you to select and edit matches interactively,
11298integrating @code{iedit-mode} into Evil mode with an attempt at sensible
11299defaults.")
11300 (license license:gpl3+)))
11301
11302(define-public emacs-evil-org
11303 (let ((commit "b6d652a9163d3430a9e0933a554bdbee5244bbf6"))
11304 (package
11305 (name "emacs-evil-org")
11306 (version (git-version "0.1.1" "1" commit))
11307 (source
11308 (origin
11309 (method git-fetch)
11310 (uri (git-reference
11311 (url "https://github.com/Somelauw/evil-org-mode")
11312 (commit commit)))
11313 (file-name (string-append name "-" version "-checkout"))
11314 (sha256
11315 (base32
11316 "176hrw7y7nczffbyhsa167b8rvfacsmcafm2gpkrdjqlrikbmrhl"))))
11317 (build-system emacs-build-system)
11318 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
11319 (home-page
11320 "https://github.com/Somelauw/evil-org-mode")
11321 (synopsis "Evil keybindings for Org mode")
11322 (description
11323 "This package adds supplemental Evil mode key-bindings to Emacs
11324Org-mode. It features:
11325@itemize
11326@item normal, visual and insert mode bindings;
11327@item key bindings organised in key themes;
11328@item operators like > and < to work on headings;
11329@item text objects;
11330@item table support;
11331@item calendar (date selection) support;
11332@item agenda support.
11333@end itemize\n")
11334 (license license:gpl3+))))
11335
11336(define-public emacs-fish-completion
674d180c
PN
11337 (package
11338 (name "emacs-fish-completion")
11339 (version "1.0")
11340 (source
11341 (origin
11342 (method url-fetch)
11343 (uri (string-append
11344 "https://gitlab.com/Ambrevar/emacs-fish-completion/repository/"
11345 "archive.tar.gz?ref="
11346 version))
11347 (sha256
11348 (base32
11349 "1hpma1c5j50ja03ibr7h1xmyv7k8j3rbvqivad47kwqhlsgw0jk0"))))
11350 (build-system emacs-build-system)
11351 (inputs `(("fish" ,fish)))
11352 (arguments
11353 `(#:phases
11354 (modify-phases %standard-phases
11355 (add-after 'unpack 'configure
11356 (lambda* (#:key inputs outputs #:allow-other-keys)
11357 (let ((fish (assoc-ref inputs "fish")))
11358 ;; Specify the absolute file names of the various
11359 ;; programs so that everything works out-of-the-box.
11360 (emacs-substitute-variables
11361 "fish-completion.el"
11362 ("fish-completion-command"
11363 (string-append fish "/bin/fish")))))))))
11364 (home-page
11365 "https://gitlab.com/Ambrevar/emacs-fish-completion")
11366 (synopsis "Fish completion for Emacs pcomplete")
11367 (description
11368 "This package provides completion for the Fish shell to pcomplete (used
eeb883cb
RW
11369by shell and Eshell). You can set it up globally with:
11370
11371@example
11372(when (and (executable-find \"fish\")
11373 (require 'fish-completion nil t))
11374 (global-fish-completion-mode))
11375@end example
11376
11377Alternatively, you can call the @code{fish-completion-mode} manually or in
11378shell/Eshell mode hook.
11379
11380The package @code{emacs-bash-completion} is an optional dependency: if available,
11381@code{fish-completion-complete} can be configured to fall back on bash to further
11382try completing. See @code{fish-completion-fallback-on-bash-p}.")
674d180c 11383 (license license:gpl3+)))
eeb883cb
RW
11384
11385(define-public emacs-gif-screencast
11386 (let ((commit "12b25442b97b84abae74ecb5190a9d14ff7cfe5a"))
11387 (package
11388 (name "emacs-gif-screencast")
11389 (version (git-version "20180616" "1" commit))
11390 (source
11391 (origin
11392 (method url-fetch)
11393 (uri (string-append
11394 "https://gitlab.com/Ambrevar/emacs-gif-screencast/"
11395 "repository/archive.tar.gz?ref="
11396 commit))
11397 (sha256
11398 (base32
11399 "0lc457i78xjkn5idr2aaiadkh76zcsksj84z0qh80a9y775syrgh"))))
11400 (build-system emacs-build-system)
11401 (inputs
11402 `(("scrot" ,scrot)
11403 ("imagemagick" ,imagemagick)
11404 ("gifsicle" ,gifsicle)))
11405 (arguments
11406 `(#:phases
11407 (modify-phases %standard-phases
11408 (add-after 'unpack 'configure
11409 (lambda* (#:key inputs outputs #:allow-other-keys)
11410 (let ((scrot (assoc-ref inputs "scrot"))
11411 (imagemagick (assoc-ref inputs "imagemagick"))
11412 (gifsicle (assoc-ref inputs "gifsicle")))
11413 ;; Specify the absolute file names of the various
11414 ;; programs so that everything works out-of-the-box.
11415 (emacs-substitute-variables
11416 "gif-screencast.el"
11417 ("gif-screencast-program"
11418 (string-append scrot "/bin/scrot"))
11419 ("gif-screencast-convert-program"
11420 (string-append imagemagick "/bin/convert"))
11421 ("gif-screencast-cropping-program"
11422 (string-append imagemagick "/bin/mogrify"))
11423 ("gif-screencast-optimize-program"
11424 (string-append imagemagick "/bin/gifsicle")))))))))
11425 (home-page
11426 "https://gitlab.com/Ambrevar/emacs-gif-screencast")
11427 (synopsis "One-frame-per-action GIF recording")
11428 (description
11429 "Call @code{gif-screencast} to start a recording.
11430A screenshot is taken for every user action. Call
11431@code{gif-screencast-stop} (<f9> by default) to finish recording and create
11432the GIF result.")
11433 (license license:gpl3+))))
11434
11435(define-public emacs-google-translate
11436 (package
11437 (name "emacs-google-translate")
11438 (version "0.11.16")
11439 (source
11440 (origin
11441 (method url-fetch)
11442 (uri (string-append "https://github.com/atykhonov/google-translate/"
11443 "archive/v" version ".tar.gz"))
11444 (file-name (string-append name "-" version ".tar.gz"))
11445 (sha256
11446 (base32
11447 "01n9spj1d0gjfj39x526rl3m9c28wnx9afipmf5s8y77cx3mfwhl"))))
11448 (build-system emacs-build-system)
11449 (home-page "https://github.com/atykhonov/google-translate")
11450 (synopsis "Emacs interface to Google Translate")
11451 (description
11452 "This packages provides an Emacs interface to the Google Translate
11453on-line service.")
11454 (license license:gpl3+)))
11455
11456(define-public emacs-helm-company
11457 (let ((commit "d3fc093a0e833b4dee6561c00d6df3d62aa50f3f"))
11458 (package
11459 (name "emacs-helm-company")
11460 (version (git-version "0.2.3" "1" commit))
11461 (source
11462 (origin
11463 (method git-fetch)
11464 (uri (git-reference
11465 (url "https://github.com/Sodel-the-Vociferous/helm-company")
11466 (commit commit)))
11467 (file-name (string-append name "-" version "-checkout"))
11468 (sha256
11469 (base32
11470 "1ciirsanhajdqm5iwl8k9ywf4jha1wdv4sc4d9kslyrfr9zn4q6k"))))
11471 (build-system emacs-build-system)
11472 (propagated-inputs
11473 `(("emacs-helm" ,emacs-helm)
11474 ("emacs-company" ,emacs-company)))
11475 (home-page "https://github.com/Sodel-the-Vociferous/helm-company")
11476 (synopsis "Helm interface for company-mode")
11477 (description
11478 "This is a Helm interface to company-mode, a text completion
11479framework.")
11480 (license license:gpl3+))))
11481
11482(define-public emacs-helm-descbinds
11483 (let ((commit "033be73f21778633813264ce1634a6e1ad873d8e"))
11484 (package
11485 (name "emacs-helm-descbinds")
11486 (version (git-version "1.13" "1" commit))
11487 (source
11488 (origin
11489 (method git-fetch)
11490 (uri (git-reference
11491 (url "https://github.com/emacs-helm/helm-descbinds")
11492 (commit commit)))
11493 (file-name (string-append name "-" version "-checkout"))
11494 (sha256
11495 (base32
11496 "1n89p56qwa243w1c85i5awnaf7piwjsvfi7nmnsrwm33hix5dknk"))))
11497 (build-system emacs-build-system)
11498 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
11499 (home-page "https://github.com/emacs-helm/helm-descbinds")
11500 (synopsis "Convenient @code{describe-bindings} with Helm")
11501 (description
11502 "This package is a replacement of @code{describe-bindings} for Helm.
11503@code{describe-bindings} is replaced with @code{helm-descbinds}. As usual,
11504type @code{C-h b}, or any incomplete key sequence plus @code{C-h}, to run
11505@code{helm-descbinds}. The bindings are presented in a similar way as
11506@code{describe-bindings} does, but you can use completion to find the command
11507you searched for and execute it, or view its documentation.")
11508 (license license:gpl3+))))
11509
11510(define-public emacs-helm-emms
11511 (let ((commit "d3f9bdef8ff0d093eaf6e26af50ea905ab53fdec"))
11512 (package
11513 (name "emacs-helm-emms")
11514 (version (git-version "1.3" "1" commit))
11515 (source
11516 (origin
11517 (method git-fetch)
11518 (uri (git-reference
11519 (url "https://github.com/emacs-helm/helm-emms")
11520 (commit commit)))
11521 (file-name (string-append name "-" version "-checkout"))
11522 (sha256
11523 (base32
11524 "0bdb8xp0yp3gijpa9i2rc17gfzjhzlm92vdzw93i10qpd1xhj4aa"))))
11525 (build-system emacs-build-system)
11526 (propagated-inputs
11527 `(("emacs-helm" ,emacs-helm)
11528 ("emacs-emms" ,emacs-emms)))
11529 (home-page
11530 "https://github.com/emacs-helm/helm-emms")
11531 (synopsis "Emms for Helm")
11532 (description "Helm interface for Emms to browse all tracks and all folders
11533from @code{emms-source-file-default-directory}.")
11534 (license license:gpl3+))))
11535
11536(define-public emacs-helm-exwm
11537 (let ((commit "56266f261ba3b3d2753b374b50da20eb768c06f5"))
11538 (package
11539 (name "emacs-helm-exwm")
11540 (version (git-version "20180703" "2" commit))
11541 (source
11542 (origin
11543 (method url-fetch)
11544 (uri (string-append
11545 "https://github.com/emacs-helm/helm-exwm/archive/"
11546 commit
11547 ".tar.gz"))
11548 (sha256
11549 (base32
11550 "0n7hdiajw5vxl8ha2r9r4cl4i7crza25348825wb6acwhhzijxcj"))))
11551 (build-system emacs-build-system)
11552 (propagated-inputs
11553 `(("emacs-helm" ,emacs-helm)
11554 ("emacs-exwm" ,emacs-exwm)))
11555 (home-page
11556 "https://github.com/emacs-helm/helm-exwm")
11557 (synopsis "Helm for EXWM buffers")
11558 (description
11559 "@code{helm-exwm} runs a Helm session over the list of EXWM buffers.
11560@code{helm-exwm-switch} is a convenience X application launcher using Helm to
11561switch between the various windows of one or several specific applications.
11562See @code{helm-exwm-switch-browser} for an example.")
11563 (license license:gpl3+))))
11564
11565(define-public emacs-helm-flycheck
11566 (let ((commit "3cf7d3bb194acacc6395f88360588013d92675d6"))
11567 (package
11568 (name "emacs-helm-flycheck")
11569 (version (git-version "0.4" "1" commit))
11570 (source
11571 (origin
11572 (method git-fetch)
11573 (uri (git-reference
11574 (url "https://github.com/yasuyk/helm-flycheck")
11575 (commit commit)))
11576 (file-name (string-append name "-" version "-checkout"))
11577 (sha256
11578 (base32
11579 "1a2yfxhz04klwhcandqvfzysxp6b7bxyxx1xk1x3kds5hif5fkl4"))))
11580 (build-system emacs-build-system)
11581 (propagated-inputs
11582 `(("emacs-dash" ,emacs-dash)
11583 ("emacs-flycheck" ,emacs-flycheck)
11584 ("emacs-helm" ,emacs-helm)))
11585 (home-page "https://github.com/yasuyk/helm-flycheck")
11586 (synopsis "Show Flycheck errors with Helm")
11587 (description
11588 "This integrates Flycheck with Helm.")
11589 (license license:gpl3+))))
11590
11591(define-public emacs-helm-ls-git
11592 (let ((commit "76654c776a7f6e2e5290645e748aac2a746f7daa"))
11593 (package
11594 (name "emacs-helm-ls-git")
11595 (version (git-version "1.9.1" "1" commit))
11596 (source
11597 (origin
11598 (method git-fetch)
11599 (uri (git-reference
11600 (url "https://github.com/emacs-helm/helm-ls-git")
11601 (commit commit)))
11602 (file-name (string-append name "-" version "-checkout"))
11603 (sha256
11604 (base32
11605 "0vsq1n3xl3ghy5zik2scm7jrs501n4kybdqd6yw6j0cv4jxdqbr0"))))
11606 (build-system emacs-build-system)
11607 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
11608 (home-page "https://github.com/emacs-helm/helm-ls-git")
11609 (synopsis "Helm interface for listing the files in a Git repository")
11610 (description
11611 "This package provides a Helm interface for Git files.
11612@itemize
11613@item Display the open buffers in project.
11614@item Display a status source showing state of project (modified files etc.).
11615@item Display a list of all files in project under git control.
11616@item Quickly look at diffs of modified files.
11617@item Allow switching to @code{git status} with your preferred frontend
11618(vc-dir, Magit,etc.).
11619@item Full integration of git-grep, also allow usage of @code{helm-grep} (you
11620can use ack-grep instead of grep).
11621@item Integrate usage of gid from id-utils.
11622@item Full integration with @code{helm-find-files}, allow you to browse
11623projects unrelated to current-buffer.
11624@item In addition, all actions of type files and buffers are provided.
11625@end itemize\n")
11626 (license license:gpl3+))))
11627
11628(define-public emacs-helm-mu
11629 (let ((commit "77e6fea24e01481418738421dbcfe28ef1bd63cf"))
11630 (package
11631 (name "emacs-helm-mu")
11632 (version (git-version "20180513" "1" commit))
11633 (source
11634 (origin
11635 (method url-fetch)
11636 (uri (string-append
11637 "https://github.com/emacs-helm/helm-mu/archive/"
11638 commit
11639 ".tar.gz"))
11640 (sha256
11641 (base32
11642 "0qm4xi3i957scm50nar398pv4x8y03si10l77jb9ckjaviyq2hj9"))))
11643 (build-system emacs-build-system)
11644 (propagated-inputs
11645 `(("emacs-helm" ,emacs-helm)
11646 ("mu" ,mu)))
11647 (home-page
11648 "https://github.com/emacs-helm/helm-mu")
11649 (synopsis
11650 "Helm sources for searching emails and contacts")
11651 (description
11652 "Helm sources for searching emails and contacts using @code{mu} and
11653@code{mu4e}. Mu is an indexer for maildirs and mu4e is a mutt-like MUA for
11654Emacs build on top of mu. Mu is highly efficient making it possible to get
11655instant results even for huge maildirs. It also provides search operators,
11656e.g: @code{from:Peter to:Anne flag:attach search term}.")
11657 (license license:gpl3+))))
11658
11659(define-public emacs-helm-pass
11660 (let ((commit "ebcbef1a962795a36e3491ae926e2a4b8a8b0ebb"))
11661 (package
11662 (name "emacs-helm-pass")
11663 (version (git-version "20180416" "1" commit))
11664 (source
11665 (origin
11666 (method url-fetch)
11667 (uri (string-append
11668 "https://github.com/jabranham/helm-pass/archive/"
11669 commit
11670 ".tar.gz"))
11671 (sha256
11672 (base32
11673 "1pgq4hj9wvz7z2fyxwsvbh6rmc1akya84v382nx26rr76iavz6wi"))))
11674 (build-system emacs-build-system)
11675 (propagated-inputs
11676 `(("emacs-helm" ,emacs-helm)
11677 ("emacs-password-store" ,emacs-password-store)))
11678 (home-page
11679 "https://github.com/jabranham/helm-pass")
11680 (synopsis "Helm interface to pass, the standard Unix password manager")
11681 (description
11682 "Users of @code{helm-pass} may also be interested in functionality
11683provided by other Emacs packages dealing with pass:
11684@itemize
11685@item @code{emacs-password-store}, which @code{helm-pass} relies on.
11686@item @code{emacs-pass}, a major mode for @code{pass}.
11687@item @code{auth-source-pass.el}: integration of Emacs' auth-source with
11688@code{pass}, included in Emacs 26+).
11689@end itemize\n")
11690 (license license:gpl3+))))
11691
11692(define-public emacs-image+
11693 (let ((commit "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc"))
11694 (package
11695 (name "emacs-image+")
11696 (version (git-version "0.6.2" "1" commit))
11697 (source
11698 (origin
11699 (method git-fetch)
11700 (uri (git-reference
11701 (url "https://github.com/mhayashi1120/Emacs-imagex")
11702 (commit commit)))
11703 (file-name (string-append name "-" version "-checkout"))
11704 (sha256
11705 (base32
11706 "0v66wk9nh0raih4jhrzmmyi5lbysjnmbv791vm2230ffi2hmwxnd"))))
11707 (build-system emacs-build-system)
11708 (inputs `(("imagemagick" ,imagemagick)))
11709 (arguments
11710 `(#:phases
11711 (modify-phases %standard-phases
11712 (add-after 'unpack 'configure
11713 (lambda* (#:key inputs outputs #:allow-other-keys)
11714 (let ((imagemagick (assoc-ref inputs "imagemagick")))
11715 ;; Specify the absolute file names of the various
11716 ;; programs so that everything works out-of-the-box.
11717 (chmod "image+.el" #o666)
11718 (emacs-substitute-variables
11719 "image+.el"
11720 ("imagex-convert-command"
11721 (string-append imagemagick "/bin/convert"))
11722 ("imagex-identify-command"
11723 (string-append imagemagick "/bin/identify")))))))))
11724 (home-page "https://github.com/mhayashi1120/Emacs-imagex")
11725 (synopsis "Image manipulation extensions for Emacs")
11726 (description
11727 "Image+ provides keybindings allowing you to zoom in or zoom out of an
11728image, rotate it, save modified images, and more.")
11729 (license license:gpl3+))))
11730
11731(define-public emacs-package-lint
11732 (let ((commit "69bb89d00ba212b734c676ad056aa793c450b288"))
11733 (package
11734 (name "emacs-package-lint")
11735 (version (git-version "0.5" "1" commit))
11736 (source
11737 (origin
11738 (method git-fetch)
11739 (uri (git-reference
11740 (url "https://github.com/purcell/package-lint")
11741 (commit commit)))
11742 (file-name (string-append name "-" version "-checkout"))
11743 (sha256
11744 (base32
11745 "1hfricsgmy3x9snnd2p4xq6vnnv94qdsxxnxp07b3hqc9bhw31rq"))))
11746 (build-system emacs-build-system)
11747 (home-page "https://github.com/purcell/package-lint")
11748 (synopsis "Linting library for elisp package authors")
11749 (description
11750 "This provides a list of issues with the Emacs package metadata of a file,
11751e.g. the package dependencies it requires. See function
11752@code{package-lint-buffer}. Checks will currently be enabled only if a
11753\"Package-Requires:\" or \"Package-Version:\" header is present in the
11754file.")
11755 (license license:gpl3+))))
11756
11757(define-public emacs-picpocket
11758 (let ((version "40")
11759 (commit "6fd88b8711c4370662c0f9c462170187d092a046"))
11760 (package
11761 (name "emacs-picpocket")
11762 (version version)
11763 (source
11764 (origin
11765 (method git-fetch)
11766 (uri (git-reference
11767 (url "https://github.com/johanclaesson/picpocket")
11768 (commit commit)))
11769 (file-name (git-file-name name version))
11770 (sha256
11771 (base32 "1mdzzxf7xm7zwrpnqqxa27d1cr31pd72d7ilbwljv13qp177a3yw"))))
11772 (build-system emacs-build-system)
11773 (arguments ; needed for running tests
11774 `(#:tests? #t
11775 #:emacs ,emacs
11776 #:test-command '("emacs" "--batch"
11777 "-l" "picpocket-test.el"
11778 "-f" "ert-run-tests-batch-and-exit")))
11779 (home-page "https://github.com/johanclaesson/picpocket")
11780 (synopsis "Image viewer for Emacs")
11781 (description
11782 "Picpocket is an image viewer for GNU Emacs. It has commands for:
11783
11784@itemize
11785@item File operations on the picture files (delete, move, copy, hardlink).
11786@item Scale and rotate the picture.
11787@item Associate pictures with tags which are saved to disk.
11788@item Filter pictures according to tags.
11789@item Customizing keystrokes for quick tagging and file operations.
11790@item Undo and browse history of undoable commands.
11791@end itemize")
11792 (license license:gpl3+))))
11793
11794(define-public emacs-wgrep-helm
11795 ;; `emacs-wgrep-helm' was mistakenly added.
11796 (deprecated-package "emacs-wgrep-helm" emacs-wgrep))
11797
11798(define-public emacs-mu4e-conversation
11799 (let ((commit "e7d4bfcb0d392b0aed1f705ccac2419a168d1f5e"))
11800 (package
11801 (name "emacs-mu4e-conversation")
11802 (version (git-version "20181126" "4" commit))
11803 (source
11804 (origin
11805 (method url-fetch)
11806 (uri (string-append
11807 "https://gitlab.com/Ambrevar/mu4e-conversation/"
11808 "repository/archive.tar.gz?ref="
11809 commit))
11810 (file-name (string-append name "-" version "-checkout"))
11811 (sha256
11812 (base32
11813 "0b52hf9rm2afba9pvgink9bwqm705sk0y5qikp0ff5sk53wqvy29"))))
11814 (build-system emacs-build-system)
11815 (propagated-inputs
11816 `(("mu" ,mu)))
11817 (home-page
11818 "https://gitlab.com/Ambrevar/mu4e-conversation")
11819 (synopsis
11820 "Show a complete thread in a single buffer")
11821 (description
11822 "This package offers an alternate view to mu4e's e-mail display. It
11823shows all e-mails of a thread in a single view, where each correspondent has
11824their own face. Threads can be displayed linearly (in which case e-mails are
11825displayed in chronological order) or as an Org document where the node tree
11826maps the thread tree.")
11827 (license license:gpl3+))))
11828
11829(define-public emacs-pinentry
11830 (let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
11831 (revision "1"))
11832 (package
11833 (name "emacs-pinentry")
11834 (version (git-version "0.1" revision commit))
11835 (source
11836 (origin
11837 (method url-fetch)
11838 (uri (string-append
11839 "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain"
11840 "/packages/pinentry/pinentry.el?id=" commit))
11841 (file-name (string-append "pinentry.el"))
11842 (sha256
11843 (base32
11844 "1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
11845 (build-system emacs-build-system)
11846 (propagated-inputs
11847 `(("gnupg" ,gnupg)))
11848 (home-page "https://elpa.gnu.org/packages/pinentry.html")
11849 (synopsis "GnuPG Pinentry server implementation")
11850 (description
11851 "This package allows GnuPG passphrase to be prompted through the
11852minibuffer instead of graphical dialog.
11853
11854To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
11855reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
11856server with @code{M-x pinentry-start}.")
11857 (license license:gpl3+))))
11858
11859(define-public emacs-org-brain
11860 (package
11861 (name "emacs-org-brain")
11862 (version "0.5")
11863 (source
11864 (origin
11865 (method git-fetch)
11866 (uri (git-reference
11867 (url "https://github.com/Kungsgeten/org-brain.git")
11868 (commit "3faf9303af3f2356e3444e69c22dc6c5774047d1")))
11869 (file-name (git-file-name name version))
11870 (sha256
11871 (base32
11872 "1ad681zk6kckw2zbk0r4iaj4bw8cfqrbd1s3gdwgdjlzq81q9mmj"))))
11873 (build-system emacs-build-system)
11874 (home-page "https://github.com/Kungsgeten/org-brain")
11875 (synopsis "Org-mode wiki and concept-mapping for Emacs")
11876 (description "@code{emacs-org-brain} implements a variant of concept
11877mapping in Emacs, using @code{org-mode}. An org-brain is a network of
11878org-mode entries, where each entry is a file or a headline, and you can get a
11879visual overview of the relationships between the entries: parents, children,
11880siblings and friends. This visual overview can also be used to browse your
11881entries. You can think of entries as nodes in a mind map, or pages in a
11882wiki.")
11883 (license license:expat)))
11884
11885(define-public emacs-recent-addresses
11886 (let ((commit "afbbfdc43b81e620acf827ca20d297e0c517b6eb")
11887 (revision "1"))
11888 (package
11889 (name "emacs-recent-addresses")
11890 (home-page "http://nschum.de/src/emacs/recent-addresses/")
11891 (version (git-version "0.1" revision commit))
11892 (source (origin
11893 (method git-fetch)
11894 (uri (git-reference
11895 ;; Note: Use a branch that works with Helm. Submitted
11896 ;; at <https://github.com/nschum/recent-addresses.el/pull/1>.
11897 (url "https://github.com/civodul/recent-addresses.el")
11898 (commit commit)))
11899 (sha256
11900 (base32
11901 "0ajrq0galjmdyjdjyxazykjyax3gh6hvfk4s7l657pi11g0q5zax"))
11902 (file-name (git-file-name name version))))
11903 (build-system emacs-build-system)
11904 (synopsis "Record recently-used email addressed and auto-complete them")
11905 (description
11906 "@code{recent-addresses} is an Emacs package that allows you to quickly
11907look up previously used email addresses. It can be used alongside the Gnus
11908email client.")
11909 (license license:gpl2+))))
11910
11911(define-public emacs-fold-dwim
11912 (let ((commit "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b")
11913 (revision "0"))
11914 (package
11915 (name "emacs-fold-dwim")
11916 (version (git-version "1.2" revision commit))
11917 (home-page "https://github.com/emacsattic/fold-dwim")
11918 (source (origin
11919 (method git-fetch)
11920 (uri (git-reference (url home-page) (commit commit)))
11921 (sha256
11922 (base32
11923 "1yz1wis31asw6xa5maliyd1ck2q02xnnh7dc6swgj9cb4wi7k6i1"))
11924 (file-name (git-file-name name version))))
11925 (build-system emacs-build-system)
11926 (synopsis "Unified user interface for Emacs folding modes")
11927 (description
11928 "DWIM stands for \"do what I mean\", as in the idea that one keystroke
11929can do different things depending on the context. In this package, it means
11930that, if the cursor is in a currently hidden folded construction, we want to
11931show it; if it's not, we want to hide whatever fold the cursor is in.")
11932 (license license:gpl2+))))
11933
11934(define-public emacs-markup-faces
11935 (package
11936 (name "emacs-markup-faces")
11937 (version "1.0.0")
11938 (source
11939 (origin
11940 (method url-fetch)
11941 (uri (string-append "https://stable.melpa.org/packages/markup-faces-"
11942 version ".el"))
11943 (sha256
11944 (base32
11945 "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32"))))
11946 (build-system emacs-build-system)
11947 (home-page "https://github.com/sensorflo/markup-faces")
11948 (synopsis "Collection of Emacs faces for markup language modes")
11949 (description "emacs-markup-faces is like font-lock-faces, but tailored for
11950markup languages instead programming languages. The sub group markup-faces-text
11951is also intended for 'text viewing modes' such as info or (wo)man. This gives a
11952common look and feel, or let's say theme, across different markup language modes
11953and 'text viewing modes' respectively.")
11954 (license license:gpl3+)))
11955
11956(define-public emacs-adoc-mode
11957 (package
11958 (name "emacs-adoc-mode")
11959 (version "0.6.6")
11960 (source
11961 (origin
11962 (method url-fetch)
11963 (uri (string-append "https://stable.melpa.org/packages/adoc-mode-"
11964 version ".el"))
11965 (sha256
11966 (base32
11967 "1c6hrgxxsnl2c19rgjykpm7r4xg9lp6bmk5z6bi7g8pqlrgwffcy"))))
11968 (build-system emacs-build-system)
11969 (propagated-inputs
11970 `(("emacs-markup-faces" ,emacs-markup-faces)))
11971 (home-page "https://github.com/sensorflo/adoc-mode/wiki")
11972 (synopsis "AsciiDoc mode for Emacs")
11973 (description "This package provides an Emacs major mode for editing AsciiDoc
11974files. It focuses on highlighting the document to improve readability.")
11975 (license license:gpl2+)))
11976
11977(define-public emacs-rust-mode
11978 (let ((commit
11979 ;; Last release is old (2016), use more recent commit to get bug
11980 ;; fixes.
11981 "64b4a2450e4d4c47f6307851c9b2598cd2254d68")
11982 (revision "0"))
11983 (package
11984 (name "emacs-rust-mode")
11985 (version (git-version "0.3.0" revision commit))
11986 (source (origin
11987 (method git-fetch)
11988 (uri
11989 (git-reference
11990 (url "https://github.com/rust-lang/rust-mode")
11991 (commit commit)))
11992 (file-name (git-file-name name version))
11993 (sha256
11994 (base32
11995 "0pbz36lljgb7bdgx3h3g0pq1nss1kvn8mhk1l3mknsmynd6w4nd8"))))
11996 (build-system emacs-build-system)
11997 (arguments
11998 `(#:phases
11999 (modify-phases %standard-phases
12000 (replace 'check
12001 (lambda _
12002 (invoke "sh" "run_rust_emacs_tests.sh"))))))
12003 (home-page "https://github.com/rust-lang/rust-mode")
12004 (synopsis "Major Emacs mode for editing Rust source code")
12005 (description "This package provides a major Emacs mode for editing Rust
12006source code.")
12007 (license (list license:expat
12008 license:asl2.0)))))
12009
12010(define-public emacs-ztree
12011 (let ((commit "c54425a094353ec40a8179f9eab3596f76c6cf94"))
12012 (package
12013 (name "emacs-ztree")
12014 (version (git-version "1.0.5" "1" commit))
12015 (source
12016 (origin
12017 (method git-fetch)
12018 (uri (git-reference
12019 (url "https://github.com/fourier/ztree")
12020 (commit commit)))
12021 (file-name (git-file-name name version))
12022 (sha256
12023 (base32
12024 "0j8fpxds8m1zi04nrs8vv21091abvh4n8ab76f1sgdxnp4l5cfb0"))))
12025 (build-system emacs-build-system)
12026 (home-page "https://github.com/fourier/ztree")
12027 (synopsis "Directory tree comparison mode for Emacs")
12028 (description "Ztree is a project dedicated to implementation of several
12029text-tree applications inside GNU Emacs. It consists of 2 subprojects:
12030@command{ztree-diff} and @command{ztree-dir} (the basis of
12031@command{ztree-diff}).")
12032 (license license:gpl3))))
12033
12034(define-public emacs-helm-org-contacts
12035 (let ((commit "0af703bd9a43032b89fdf5559673151d1ac2fffc"))
12036 (package
12037 (name "emacs-helm-org-contacts")
12038 (version (git-version "20180707" "1" commit))
12039 (source
12040 (origin
12041 (method git-fetch)
12042 (uri (git-reference
12043 (url "https://github.com/tmalsburg/helm-org-contacts")
12044 (commit commit)))
12045 (file-name (git-file-name name version))
12046 (sha256
12047 (base32
12048 "1cl7cm2ic9pg4vc9cdh84vzjj1x2lpd5ymimiva8h4l17kiphk4s"))))
12049 (build-system emacs-build-system)
12050 (propagated-inputs
12051 `(("emacs-dash" ,emacs-dash)
12052 ("emacs-helm" ,emacs-helm)
12053 ("emacs-s" ,emacs-s)))
12054 (home-page "https://github.com/tmalsburg/helm-org-contacts")
12055 (synopsis "Helm source for org-contacts")
12056 (description "This Helm source can be used to search contacts stored in
12057org-contacts format. There are actions for inserting postal addresses, email
12058addresses, and phone numbers in the buffer where @command{helm-org-contacts}
12059was called.")
12060 (license license:gpl3))))
12061
12062(define-public emacs-dired-du
12063 (package
12064 (name "emacs-dired-du")
12065 (version "0.5.1")
12066 (source
12067 (origin
12068 (method url-fetch)
12069 (uri (string-append
12070 "https://elpa.gnu.org/packages/dired-du-"
12071 version ".tar"))
12072 (sha256
12073 (base32
12074 "1091scnrjh0a4gja4z6jxic6ghy1yryv46qk9c76pmh50cpw6766"))))
12075 (build-system emacs-build-system)
12076 (home-page "http://elpa.gnu.org/packages/dired-du.html")
12077 (synopsis "Dired with recursive directory sizes")
12078 (description
12079 "Display the recursive size of directories in Dired.
12080This file defines a minor mode @command{dired-du-mode} to show the recursive
12081size of directories in Dired buffers. If @command{du} program is available,
12082then the directory sizes are obtained with it. Otherwise, the directory sizes
12083are obtained with Lisp. The former is faster and provide a more precise
12084value. For directories where the user doesn't have read permission, the
12085recursive size is not obtained. Once this mode is enabled, every new Dired
12086buffer displays recursive dir sizes.")
12087 (license license:gpl3+)))
12088
12089(define-public emacs-pcre2el
12090 ;; Last release is very old so we get the latest commit.
12091 (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
12092 (package
12093 (name "emacs-pcre2el")
12094 (version (git-version "1.8" "1" commit))
12095 (source
12096 (origin
12097 (method git-fetch)
12098 (uri (git-reference
12099 (url "https://github.com/joddie/pcre2el")
12100 (commit commit)))
12101 (file-name (git-file-name name version))
12102 (sha256
12103 (base32
12104 "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"))))
12105 (build-system emacs-build-system)
12106 (home-page "https://github.com/joddie/pcre2el")
12107 (synopsis "Convert between PCRE, Emacs and rx regexp syntax")
12108 (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp
12109Tools) is a utility for working with regular expressions in Emacs, based on a
12110recursive-descent parser for regexp syntax. In addition to converting (a
12111subset of) PCRE syntax into its Emacs equivalent, it can do the following:
12112
12113@itemize
12114@item convert Emacs syntax to PCRE
12115@item convert either syntax to @code{rx}, an S-expression based regexp syntax
12116@item untangle complex regexps by showing the parse tree in @code{rx} form and
12117highlighting the corresponding chunks of code
12118@item show the complete list of strings (productions) matching a regexp,
12119provided the list is finite
12120@item provide live font-locking of regexp syntax (so far only for Elisp
12121buffers – other modes on the TODO list).
12122@end itemize\n")
12123 (license license:gpl3))))
12124
12125(define-public emacs-magit-todos
12126 (package
12127 (name "emacs-magit-todos")
12128 (version "1.1")
12129 (source
12130 (origin
12131 (method git-fetch)
12132 (uri (git-reference
12133 (url "https://github.com/alphapapa/magit-todos")
12134 (commit version)))
12135 (file-name (git-file-name name version))
12136 (sha256
12137 (base32
12138 "1mvzbxshr6zjdim3jd368ar1hy5l7n22i03cpvzdmrw83kkwdyhd"))))
12139 (build-system emacs-build-system)
12140 (propagated-inputs
12141 `(("emacs-async" ,emacs-async)
12142 ("emacs-dash" ,emacs-dash)
12143 ("emacs-f" ,emacs-f)
12144 ("emacs-hl-todo" ,emacs-hl-todo)
12145 ("magit" ,emacs-magit)
12146 ("emacs-pcre2el" ,emacs-pcre2el)
12147 ("emacs-s" ,emacs-s)))
12148 (home-page "https://github.com/alphapapa/magit-todos")
12149 (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer")
12150 (description "This package displays keyword entries from source code
12151comments and Org files in the Magit status buffer. Activating an item jumps
12152to it in its file. By default, it uses keywords from @code{hl-todo}, minus a
12153few (like NOTE).")
12154 (license license:gpl3)))
12155
12156(define-public emacs-git-annex
12157 ;; Unreleased version has a fontification fix.
12158 (let ((commit "ebdb44aef1883f1b2b8058e05d30fb9315b03707")
12159 (revision "1"))
12160 (package
12161 (name "emacs-git-annex")
12162 (version (string-append "1.1-" revision "." (string-take commit 8)))
12163 (source
12164 (origin
12165 (method git-fetch)
12166 (uri (git-reference
12167 (url "https://github.com/jwiegley/git-annex-el")
12168 (commit commit)))
12169 (file-name (string-append name "-" version "-checkout"))
12170 (sha256
12171 (base32
12172 "1mzv40gj7k10h7h5s43my8msgzjpj680qprqa9pp8nbyhl49v3wh"))))
12173 (build-system emacs-build-system)
12174 (home-page "https://github.com/jwiegley/git-annex-el")
12175 (synopsis "Emacs integration for git-annex")
12176 (description "Enhances Dired and buffers visiting annex files with
12177git-annex functionality. In Dired, the names of annex files are shortened by
12178hiding the symbolic links and fontified based on whether content is present.
12179Commands for performing some common operations (e.g., unlocking and adding
12180files) are provided.")
12181 (license license:gpl2+))))
12182
12183(define-public emacs-hackernews
12184 (let ((commit "d8c450bbc76d6bb65ec5cdb6c3b888a23f3769e9"))
12185 (package
12186 (name "emacs-hackernews")
12187 (version (git-version "0.4.0" "1" commit))
12188 (source
12189 (origin
12190 (method git-fetch)
12191 (uri (git-reference
12192 (url "https://github.com/clarete/hackernews.el")
12193 (commit commit)))
12194 (file-name (git-file-name name version))
12195 (sha256
12196 (base32
12197 "06mp4n6c300jv5lhwf50ircfjckzr2p1zd38s4mqnxxjlf1maim7"))))
12198 (build-system emacs-build-system)
12199 (home-page "https://github.com/clarete/hackernews.el")
12200 (synopsis "Hacker News client for Emacs")
12201 (description "The @command{hackernews} package is able to fetch stories
12202from six different Hacker News feeds, namely top, new, best, ask, show and job
12203stories. The default feed is top stories, which corresponds to the Hacker
12204News homepage.")
12205 (license license:gpl3))))
12206
12207(define-public emacs-youtube-dl
12208 (let ((commit "7c9d7a7d05b72a7d1b1257a36c5e2b2567b185dd"))
12209 (package
12210 (name "emacs-youtube-dl")
12211 (version (git-version "1.0" "1" commit))
12212 (source
12213 (origin
12214 (method git-fetch)
12215 (uri (git-reference
12216 (url "https://github.com/skeeto/youtube-dl-emacs/")
12217 (commit commit)))
12218 (file-name (git-file-name name version))
12219 (sha256
12220 (base32
12221 "0mh4s089a4x8s380agzb2306kdp1hl204px1n5rrrrdcls7imnh6"))))
12222 (build-system emacs-build-system)
12223 (inputs
12224 `(("youtube-dl" ,youtube-dl)))
12225 (arguments
12226 `(#:phases
12227 (modify-phases %standard-phases
12228 (add-after 'unpack 'configure
12229 (lambda* (#:key inputs #:allow-other-keys)
12230 (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
12231 ;; .el is read-only in git.
12232 (chmod "youtube-dl.el" #o644)
12233 ;; Specify the absolute file names of the various
12234 ;; programs so that everything works out-of-the-box.
12235 (emacs-substitute-variables
12236 "youtube-dl.el"
12237 ("youtube-dl-program"
12238 (string-append youtube-dl "/bin/youtube-dl")))))))))
12239 (home-page "https://github.com/skeeto/youtube-dl-emacs/")
12240 (synopsis "Emacs youtube-dl download manager")
12241 (description "This package manages a video download queue for
12242@command{youtube-dl}, which serves as the back end. It manages a single
12243@command{youtube-dl} subprocess, downloading one video at a time. New videos
12244can be queued at any time.")
12245 (license license:unlicense))))
12246
12247(define-public emacs-org-web-tools
12248 (package
12249 (name "emacs-org-web-tools")
12250 (version "1.0")
12251 (source
12252 (origin
12253 (method git-fetch)
12254 (uri (git-reference
12255 (url "https://github.com/alphapapa/org-web-tools")
12256 (commit version)))
12257 (file-name (git-file-name name version))
12258 (sha256
12259 (base32
12260 "0kak9h5ny00d39gnwspv53nadnag01brw2fq9zk5wpfc91h9bjng"))))
12261 (build-system emacs-build-system)
12262 (propagated-inputs
12263 `(("emacs-dash" ,emacs-dash)
12264 ("emacs-esxml" ,emacs-esxml)
12265 ("emacs-s" ,emacs-s)))
12266 (inputs
12267 `(("pandoc" ,ghc-pandoc)))
12268 (arguments
12269 `(#:phases
12270 (modify-phases %standard-phases
12271 (add-after 'unpack 'patch-exec-paths
12272 (lambda* (#:key inputs #:allow-other-keys)
12273 (let ((pandoc (assoc-ref inputs "pandoc")))
12274 (substitute* "org-web-tools.el"
12275 (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))
12276 #t))))))
12277 (home-page "https://github.com/alphapapa/org-web-tools")
12278 (synopsis "Display/Process web page as Org-mode content")
12279 (description "This package contains library functions and commands useful
12280for retrieving web page content and processing it into Org-mode content.
12281
12282For example, you can copy a URL to the clipboard or kill-ring, then run a
12283command that downloads the page, isolates the “readable” content with
12284@command{eww-readable}, converts it to Org-mode content with Pandoc, and
12285displays it in an Org-mode buffer. Another command does all of that but
12286inserts it as an Org entry instead of displaying it in a new buffer.")
12287 (license license:gpl3+)))
12288
12289(define-public emacs-blimp
12290 (let ((commit "e420763d6d18b5d1be552cdbc47f91418343db03"))
12291 (package
12292 (name "emacs-blimp")
12293 (version (git-version "0.0.0" "1" commit))
12294 (source
12295 (origin
12296 (method git-fetch)
12297 (uri (git-reference
12298 (url "https://github.com/walseb/blimp")
12299 (commit commit)))
12300 (file-name (git-file-name name version))
12301 (sha256
12302 (base32
12303 "09wmhpym516b81dfq8smdmysh1fn610dzlyvyl2rkx8600f0fizd"))))
12304 (build-system emacs-build-system)
12305 (propagated-inputs
12306 `(("emacs-eimp" ,emacs-eimp)))
12307 (home-page "https://github.com/walseb/blimp")
12308 (synopsis "Emacs wrapper around all Imagemagick commands")
12309 (description "Blimp (Bustling Image Manipulation Package) is a complete
12310wrapper around all Imagemagick commands with descriptions, autocompletion (for
12311some commands) and hints displayed in prompt using @command{eimp.el} to
12312execute its commands and resize images.")
12313 (license license:gpl3+))))
12314
12315(define-public emacs-synosaurus
12316 (let ((commit "8bf95b935976ec0a1964cf175ed57cc5f6f93bdb"))
12317 (package
12318 (name "emacs-synosaurus")
12319 (version (git-version "0.1.0" "1" commit))
12320 (source
12321 (origin
12322 (method git-fetch)
12323 (uri (git-reference
12324 (url "https://github.com/hpdeifel/synosaurus")
12325 (commit commit)))
12326 (file-name (git-file-name name version))
12327 (sha256
12328 (base32
12329 "15by9jccab6kyplxa6k0glzaivxkqdigl33gl2qi2cvy6f2q7gva"))))
12330 (build-system emacs-build-system)
12331 (propagated-inputs
12332 `(("wordnet" ,wordnet)))
12333 (arguments
12334 `(#:phases
12335 (modify-phases %standard-phases
12336 (add-after 'unpack 'configure
12337 (lambda* (#:key inputs outputs #:allow-other-keys)
12338 (let ((wn (assoc-ref inputs "wordnet")))
12339 ;; .el is read-only in git.
12340 (chmod "synosaurus-wordnet.el" #o644)
12341 ;; Specify the absolute file names of the various
12342 ;; programs so that everything works out-of-the-box.
12343 (emacs-substitute-variables
12344 "synosaurus-wordnet.el"
12345 ("wordnet-command"
12346 (string-append wn "/bin/wn")))))))))
12347 (home-page "https://github.com/hpdeifel/synosaurus")
12348 (synopsis "Extensible thesaurus mode for Emacs")
12349 (description "Synosaurus is a thesaurus fontend for Emacs with pluggable
12350backends, including the @command{wordnet} offline backend.")
12351 (license license:gpl3+))))
12352
12353(define-public emacs-all-the-icons
12354 (package
12355 (name "emacs-all-the-icons")
12356 (version "3.2.0")
12357 (source
12358 (origin
12359 (method git-fetch)
12360 (uri (git-reference
12361 (url "https://github.com/domtronn/all-the-icons.el.git")
12362 (commit version)))
12363 (file-name (git-file-name name version))
12364 (sha256
12365 (base32
12366 "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn"))))
12367 (build-system emacs-build-system)
12368 (arguments
12369 `(#:include '("\\.el$" "^data/" "^fonts/")
12370 ;; Compiling "test/" fails with "Symbol’s value as variable is void:
12371 ;; all-the-icons--root-code". Ignoring tests.
12372 #:exclude '("^test/")
12373 #:tests? #f))
12374 (propagated-inputs
12375 `(("f" ,emacs-f)
12376 ("memoize" ,emacs-memoize)))
12377 (home-page "https://github.com/domtronn/all-the-icons.el")
12378 (synopsis "Collect icon fonts and propertize them within Emacs")
12379 (description "All-the-icons is a utility package to collect various icon
12380fonts and propertize them within Emacs. Icon fonts allow you to propertize
12381and format icons the same way you would normal text. This enables things such
12382as better scaling of and anti aliasing of the icons.")
12383 ;; Package is released under Expat license. Elisp files are licensed
12384 ;; under GPL3+. Fonts come with various licenses: Expat for
12385 ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
12386 ;; "material-design-icons.ttf", and SIL OFL 1.1 for "fontawesome.ttf",
12387 ;; "ocitcons.ttf" and "weathericons.ttf".
12388 (license
12389 (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
12390
12391(define-public emacs-powerline
12392 (package
12393 (name "emacs-powerline")
12394 (version "2.4")
12395 (source
12396 (origin
12397 (method git-fetch)
12398 (uri (git-reference
12399 (url "https://github.com/milkypostman/powerline.git")
12400 (commit version)))
12401 (file-name (git-file-name name version))
12402 (sha256
12403 (base32
12404 "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"))))
12405 (build-system emacs-build-system)
12406 (home-page "https://github.com/milkypostman/powerline/")
12407 (synopsis "Mode-line plugin for Emacs")
12408 (description "Powerline is a utility plugin which allows you to create
12409a better-looking, more functional Emacs mode-line. A collection of predefined
12410themes comes with the package.")
12411 (license license:gpl3+)))
12412
12413(define-public emacs-spaceline
12414 (package
12415 (name "emacs-spaceline")
12416 (version "2.0.1")
12417 (source
12418 (origin
12419 (method git-fetch)
12420 (uri (git-reference
12421 (url "https://github.com/TheBB/spaceline.git")
12422 (commit (string-append "v" version))))
12423 (file-name (git-file-name name version))
12424 (sha256
12425 (base32
12426 "1q8r95zfrh0vxna5ml2pq9b9f66clfqcl4d2qy2aizkvzyxg6skl"))))
12427 (build-system emacs-build-system)
12428 (propagated-inputs
12429 `(("dash" ,emacs-dash)
12430 ("powerline" ,emacs-powerline)
12431 ("s" ,emacs-s)))
12432 (home-page "https://github.com/TheBB/spaceline")
12433 (synopsis "Powerline theme from Spacemacs")
12434 (description "Spaceline provides Spacemacs' mode-line theme.
12435This package provides features for three kinds of users.
12436
12437@itemize
12438@item You just want to use the Spacemacs mode-line theme and forget about it.
12439@item You want to use something similar to the Spacemacs mode-line theme, but
12440with a handful of easy tweaks.
12441@item You want an easy-to-use library for building your own mode-line from
12442scratch, and you think the Spacemacs theme looks good.
12443@end itemize")
12444 (license license:gpl3+)))
12445
12446(define-public emacs-column-marker
12447 (package
12448 (name "emacs-column-marker")
12449 (version "9")
12450 (source
12451 (origin
12452 (method url-fetch)
12453 (uri "https://www.emacswiki.org/emacs/download/column-marker.el")
12454 (sha256 (base32 "05bv198zhqw5hqq6cr11mhz02dpca74hhp1ycwq369m0yb2naxy9"))))
12455 (build-system emacs-build-system)
12456 (home-page "https://www.emacswiki.org/emacs/ColumnMarker")
12457 (synopsis "Emacs mode for highlighting columns")
12458 (description
12459 "With @code{column-marker.el} you can highlight any number of text columns.
12460Three such highlight column markers are provided by default. This is
12461especially useful for languages like COBOL or Fortran where certain columns
12462have special meaning. It is also handy for aligning text across long vertical
12463distances. Multi-column characters, such as @kbd{TAB} are treated
12464correctly.")
12465 (license license:gpl2+)))
12466
12467(define-public emacs-slime-repl-ansi-color
12468 (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
12469 (package
12470 (name "emacs-slime-repl-ansi-color")
12471 (version (git-version "0.0.0" "1" commit))
12472 (source (origin
12473 (method git-fetch)
12474 (uri (git-reference
12475 (url "https://github.com/deadtrickster/slime-repl-ansi-color")
12476 (commit commit)))
12477 (file-name (git-file-name name version))
12478 (sha256
12479 (base32
12480 "0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
12481 (build-system emacs-build-system)
12482 (home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
12483 (synopsis "Color ANSI codes in the REPL of SLIME")
12484 (description "Color ANSI codes in the REPL of SLIME")
12485 (license license:gpl2+))))
12486
12487(define-public emacs-helm-slime
f81efdcb
PN
12488 (package
12489 (name "emacs-helm-slime")
12490 (version "0.2.0")
12491 (source (origin
12492 (method git-fetch)
12493 (uri (git-reference
12494 (url "https://github.com/emacs-helm/helm-slime")
12495 (commit version)))
12496 (file-name (git-file-name name version))
12497 (sha256
12498 (base32
12499 "0vn93vv2wclnwq6f480z14jn9wfp0ylhp5dd48ycc9jicfsnxqfj"))))
12500 (build-system emacs-build-system)
12501 (propagated-inputs
12502 `(("emacs-helm" ,emacs-helm)
12503 ("emacs-slime" ,emacs-slime)))
12504 (home-page "https://github.com/emacs-helm/helm-slime")
12505 (synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs")
12506 (description "Helm-SLIME defines a few new commands:
eeb883cb
RW
12507
12508@itemize
12509@item helm-slime-complete: Select a symbol from the SLIME completion systems.
12510@item helm-slime-list-connections: Yet another slime-list-connections with Helm.
12511@item: helm-slime-apropos: Yet another slime-apropos with Helm.
12512@item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it.
12513@end itemize\n")
f81efdcb 12514 (license license:gpl3+)))
eeb883cb
RW
12515
12516(define-public emacs-gtk-look
12517 (package
12518 (name "emacs-gtk-look")
12519 (version "29")
12520 (source (origin
12521 (method url-fetch)
12522 (uri "https://download.tuxfamily.org/user42/gtk-look.el")
12523 (sha256
12524 (base32
12525 "14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp"))))
12526 (build-system emacs-build-system)
12527 (arguments
12528 `(#:phases
12529 (modify-phases %standard-phases
12530 (add-after 'unpack 'configure
12531 (lambda _
12532 ;; File is read-only.
12533 (chmod "gtk-look.el" #o644)
12534 (emacs-substitute-variables "gtk-look.el"
12535 ("gtk-lookup-devhelp-indices"
12536 '(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*"))))
12537 #t)))))
12538 (home-page "http://user42.tuxfamily.org/gtk-look/index.html")
12539 (synopsis "Find and display HTML documentation for GTK, GNOME and Glib")
12540 (description "@command{gtk-look} finds and displays HTML documentation for
12541GTK, GNOME and Glib functions and variables in Emacs, similar to what
12542info-lookup-symbol does for info files (C-h S). The documentation is expected
12543to be devhelp indexes with HTML files. The location of the indexes can be
12544customized. In addition to C code development @command{gtk-look} is good for
12545
12546@itemize
12547@item @command{perl-gtk2}, recognising class funcs like
12548@command{Gtk2::Label->new} and bare method names like @command{set_text}.
12549@item @command{guile-gnome}, recognising methods like @command{set-text} and
12550classes like @command{<gtk-window>}.
12551@end itemize\n")
12552 (license license:gpl3+)))
12553
12554(define-public emacs-ov
12555 (package
12556 (name "emacs-ov")
12557 (version "1.0.6")
12558 (source (origin
12559 (method git-fetch)
12560 (uri (git-reference
12561 (url "https://github.com/ShingoFukuyama/ov.el.git")
12562 (commit version)))
12563 (file-name (git-file-name name version))
12564 (sha256
12565 (base32
12566 "0qxk2rf84j86syxi8xknsq252irwg7sz396v3bb4wqz4prpj0kzc"))))
12567 (build-system emacs-build-system)
12568 (home-page "https://github.com/ShingoFukuyama/ov.el")
12569 (synopsis "Overlay library for Emacs Lisp")
12570 (description "@code{ov.el} provides a simple way to manipulate overlays in
12571Emacs.")
12572 (license license:gpl3+)))
12573
12574(define-public emacs-matrix-client
85a3d63f 12575 (let ((commit "a0623667b07a4bf60980c97b078e9faed97ace79"))
eeb883cb
RW
12576 (package
12577 (name "emacs-matrix-client")
85a3d63f 12578 (version (git-version "0.0.0" "3" commit))
eeb883cb
RW
12579 (source (origin
12580 (method git-fetch)
12581 (uri (git-reference
12582 (url "https://github.com/jgkamat/matrix-client-el.git")
12583 (commit commit)))
12584 (file-name (git-file-name name version))
12585 (sha256
12586 (base32
85a3d63f 12587 "1zya8id3y9wzjaj7nplq7br6nhm3lsskv0fkn1xr1y77fzcfgcdb"))))
eeb883cb
RW
12588 (build-system emacs-build-system)
12589 (propagated-inputs
12590 `(("a" ,emacs-a)
e6ab20f7 12591 ("anaphora" ,emacs-anaphora)
eeb883cb
RW
12592 ("dash" ,emacs-dash)
12593 ("esxml" ,emacs-esxml)
12594 ("f" ,emacs-f)
12595 ("frame-purpose" ,emacs-frame-purpose)
12596 ("ht" ,emacs-ht)
12597 ("ov" ,emacs-ov)
12598 ("rainbow-identifiers" ,emacs-rainbow-identifiers)
12599 ("request" ,emacs-request)
12600 ("s" ,emacs-s)
12601 ("tracking" ,emacs-tracking)))
12602 (home-page "https://github.com/jgkamat/matrix-client-el")
12603 (synopsis "Matrix client for Emacs")
12604 (description "@code{matrix-client} is a simple chat UI to Matrix.org
12605rooms. It also provides an API which allows Emacs to seamlessly create
12606RPC channels with users and other software.")
12607 (license license:gpl3+))))
12608
12609(define-public emacs-sesman
12610 (package
12611 (name "emacs-sesman")
12612 (version "0.3.3")
12613 (source
12614 (origin
12615 (method git-fetch)
12616 (uri (git-reference
12617 (url "https://github.com/vspinu/sesman.git")
12618 (commit (string-append "v" version))))
12619 (file-name (git-file-name name version))
12620 (sha256
12621 (base32
12622 "0r32f8ma9ddczxrrdz0nadp14j3zmk10q1ch02gb82synkx3xdra"))))
12623 (build-system emacs-build-system)
12624 (arguments
12625 `(#:tests? #t
12626 #:test-command '("make" "test")))
12627 (home-page "https://github.com/vspinu/sesman")
12628 (synopsis "Session manager for Emacs based IDEs")
12629 (description "Sesman provides facilities for session management and
12630interactive session association with the current contexts (project, directory,
12631buffers). While sesman can be used to manage arbitrary sessions, it primary
12632targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
12633 (license license:gpl3+)))
12634
12635(define-public emacs-buttercup
12636 (package
12637 (name "emacs-buttercup")
12638 (version "1.16")
12639 (source
12640 (origin
12641 (method git-fetch)
12642 (uri (git-reference
12643 (url "https://github.com/jorgenschaefer/emacs-buttercup.git")
12644 (commit (string-append "v" version))))
12645 (file-name (git-file-name name version))
12646 (sha256
12647 (base32
12648 "0dckgcyzsav6ld78bcyrrygy1cz1jvqgav6vy8f6klpmk3r8xrl1"))))
12649 (build-system emacs-build-system)
12650 (arguments
12651 `(#:tests? #t
12652 #:test-command '("make" "test")
12653 #:phases
12654 (modify-phases %standard-phases
12655 (add-after 'install 'install-bin
12656 (lambda* (#:key outputs #:allow-other-keys)
12657 (install-file "bin/buttercup"
12658 (string-append (assoc-ref outputs "out") "/bin"))
12659 #t)))))
12660 (home-page "https://github.com/jorgenschaefer/emacs-buttercup")
12661 (synopsis "Behavior driven emacs lisp testing framework")
12662 (description "Buttercup is a behavior-driven development framework for
12663testing Emacs Lisp code. It allows to group related tests so they can share
12664common set-up and tear-down code, and allows the programmer to \"spy\" on
12665functions to ensure they are called with the right arguments during testing.")
12666 (license license:gpl3+)))
12667
12668(define-public emacs-wordnut
12669 (let ((commit "feac531404041855312c1a046bde7ea18c674915")
12670 (revision "0"))
12671 (package
12672 (name "emacs-wordnut")
12673 (version (git-version "0.1" revision commit))
12674 (home-page "https://github.com/gromnitsky/wordnut")
12675 (source (origin
12676 (method git-fetch)
12677 (uri (git-reference (url home-page) (commit commit)))
12678 (sha256
12679 (base32
12680 "1jl0b6g64a9w0q7bfvwha67vgws5xd15b7mkfyb5gkz3pymqhfxn"))
12681 (patches
12682 (search-patches "emacs-wordnut-require-adaptive-wrap.patch"))
12683 (file-name (git-file-name name version))))
12684 (build-system emacs-build-system)
12685 (propagated-inputs
12686 `(("wordnet" ,wordnet)
12687 ("emacs-adaptive-wrap" ,emacs-adaptive-wrap)))
12688 (synopsis "Major mode for WordNet")
12689 (description "This Emacs package provides an interface for
12690@code{wordnet}. Features include completion, if the query is not found
12691too ambiguous and navigation in the result buffer.")
12692 (license license:gpl3+))))
12693
12694(define-public emacs-frame-purpose
12695 (package
12696 (name "emacs-frame-purpose")
12697 (version "1.0")
12698 (source (origin
12699 (method git-fetch)
12700 (uri (git-reference
12701 (url "https://github.com/alphapapa/frame-purpose.el.git")
12702 (commit version)))
12703 (sha256
12704 (base32
12705 "0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"))
12706 (file-name (git-file-name name version))))
12707 (build-system emacs-build-system)
12708 (inputs
12709 `(("dash" ,emacs-dash)))
12710 (synopsis "Purpose-specific frames for Emacs")
12711 (description "@code{frame-purpose} makes it easy to open purpose-specific
12712frames that only show certain buffers, e.g. by buffers’ major mode, their
12713filename or directory, etc, with custom frame/X-window titles, icons, and
12714other frame parameters.")
12715 (home-page "https://github.com/alphapapa/frame-purpose.el")
12716 (license license:gpl3+)))
12717
12718(define-public emacs-arduino-mode
12719 (let ((commit "3e2bad4569ad26e929e6db2cbcff0d6d36812698")) ;no release yet
12720 (package
12721 (name "emacs-arduino-mode")
12722 (version (git-version "0" "0" commit))
12723 (source (origin
12724 (method git-fetch)
12725 (uri (git-reference
12726 (url "https://github.com/bookest/arduino-mode.git")
12727 (commit commit)))
12728 (sha256
12729 (base32
12730 "1yvaqjc9hadbnnay5fprnh890xsp53kidad1zpb4a5z4a5z61n3c"))
12731 (file-name (git-file-name name version))))
12732 (build-system emacs-build-system)
12733 (synopsis "Emacs major mode for editing Arduino sketches")
12734 (description "Emacs major mode for editing Arduino sketches.")
12735 (home-page "https://github.com/bookest/arduino-mode")
12736 (license license:gpl3+))))
12737
12738(define-public emacs-general
12739 (let ((commit "675050199b5a30d54a24b58a367db32c0bdc47f5"))
12740 (package
12741 (name "emacs-general")
12742 (version (git-version "0" "0" commit))
12743 (home-page "https://github.com/noctuid/general.el")
12744 (source (origin
12745 (method git-fetch)
12746 (uri (git-reference
12747 (url (string-append home-page ".git"))
12748 (commit commit)))
12749 (sha256
12750 (base32
12751 "175yyhzk57yk1sskxh3d2jzhrh2waiibbcfsll167qxr117yji5h"))
12752 (file-name (git-file-name name version))))
12753 (build-system emacs-build-system)
12754 (synopsis "More convenient key definitions in emacs")
12755 (description "@code{general.el} provides a more convenient method for
12756binding keys in emacs (for both evil and non-evil users). Like
12757@code{use-package}, which provides a convenient, unified interface for
12758managing packages, @code{general.el} is intended to provide a convenient,
12759unified interface for key definitions. While this package does implement some
12760completely new functionality (such as the ability to make vim-style
12761keybindings under non-prefix keys with an optional timeout), its primary
12762purpose is to build on existing functionality to make key definition more
12763clear and concise. @code{general-define-key} is user-extensible and supports
12764defining multiple keys in multiple keymaps at once, implicitly wrapping key
12765strings with (@code{kbd ...}), using named prefix key sequences (like the
12766leader key in vim), and much more.")
12767 (license license:gpl3+))))
12768
12769(define-public emacs-tldr
12770 (let ((commit "398b197c8d2238628b07e1b32d0f373876279f4c"))
12771 (package
12772 (name "emacs-tldr")
12773 (version (git-version "0" "0" commit))
12774 (home-page "https://github.com/kuanyui/tldr.el")
12775 (source (origin
12776 (method git-fetch)
12777 (uri (git-reference
12778 (url (string-append home-page ".git"))
12779 (commit commit)))
12780 (sha256
12781 (base32
12782 "0iq7qlis6c6r2qkdpncrhh5vsihkhvy5x4y1y8cjb7zxkh62w33f"))
12783 (file-name (git-file-name name version))))
12784 (build-system emacs-build-system)
12785 (synopsis "Simplified and community-driven man pages for Emacs")
12786 (description "@code{emacs-tldr} allows the user to access tldr pages
12787from within emacs. The @code{tldr} pages are a community effort to simplify
12788the man pages with practical examples.")
12789 (license license:wtfpl2))))
9830f1a2
PN
12790
12791(define-public emacs-window-layout
12792 (package
12793 (name "emacs-window-layout")
12794 (version "1.4")
12795 (home-page "https://github.com/kiwanami/emacs-window-layout")
12796 (source (origin
12797 (method git-fetch)
12798 (uri (git-reference
12799 (url home-page)
12800 (commit (string-append "v" version))))
12801 (sha256
12802 (base32
12803 "0wgqi8r844lbx52fn6az8c1n8m681rp6dkfzd54wmdk1ka7zmvv6"))
12804 (file-name (git-file-name name version))))
12805 (build-system emacs-build-system)
12806 (synopsis "Simple window layout management framework for emacs")
12807 (description "A window-layout management library that can split a frame
12808or a window into some windows according to a layout recipe.")
12809 (license license:gpl3+)))
5544a07f
PN
12810
12811(define-public emacs-e2wm
12812 (package
12813 (name "emacs-e2wm")
12814 (version "1.4")
12815 (home-page "https://github.com/kiwanami/emacs-window-manager")
12816 (source (origin
12817 (method git-fetch)
12818 (uri (git-reference
12819 (url home-page)
12820 (commit (string-append "v" version))))
12821 (sha256
12822 (base32
12823 "12midsrx07pdrsr1qbl2rpi7xyhxqx08bkz7n7gf8vsmqkpfp56s"))
12824 (file-name (git-file-name name version))))
12825 (build-system emacs-build-system)
12826 (propagated-inputs
12827 `(("emacs-window-layout" ,emacs-window-layout)))
12828 (synopsis "Equilibrium Emacs Window Manager")
12829 (description "E2WM is a window manager for Emacs. It enables to
12830customize the place of pop-up window, how the windows are split, how the
12831buffers are located in the windows, keybinds to manipulate windows and
12832buffers, etc. It also has plug-ins to help your Emacs life.")
12833 (license license:gpl3+)))
3e1fcc5e
PN
12834
12835(define-public emacs-ctable
12836 (let ((commit "b8830d1ca95abb100a81bc32011bd17d5ecba000"))
12837 (package
12838 (name "emacs-ctable")
12839 (version (git-version "0.1.2" "1" commit))
12840 (home-page "https://github.com/kiwanami/emacs-ctable")
12841 (source (origin
12842 (method git-fetch)
12843 (uri (git-reference
12844 (url home-page)
12845 (commit commit)))
12846 (sha256
12847 (base32
12848 "0pg303pnqscrsbx9579hc815angszsgf9vpd2z2f8p4f4ka6a00h"))
12849 (file-name (git-file-name name version))))
12850 (build-system emacs-build-system)
12851 (synopsis "Table component for Emacs Lisp")
12852 (description "This program is a table component for Emacs Lisp. Other
12853programs can use this table component for the application UI.")
12854 (license license:gpl3+))))
8c98ce92
PN
12855
12856(define-public emacs-epc
12857 (let ((commit "e1bfa5ca163273859336e3cc89b4b6460f7f8cda"))
12858 (package
12859 (name "emacs-epc")
12860 (version (git-version "0.1.1" "1" commit))
12861 (home-page "https://github.com/kiwanami/emacs-epc")
12862 (source (origin
12863 (method git-fetch)
12864 (uri (git-reference
12865 (url home-page)
12866 (commit commit)))
12867 (sha256
12868 (base32
12869 "15nkrjgi64f829isfd6xrhl4zw8jirr8pkas7nisrbk1av868hx0"))
12870 (file-name (git-file-name name version))))
12871 (build-system emacs-build-system)
12872 (propagated-inputs
12873 `(("emacs-deferred" ,emacs-deferred)
12874 ("emacs-ctable" ,emacs-ctable)))
12875 (synopsis "RPC stack for Emacs Lisp")
12876 (description "This program is an asynchronous RPC stack for Emacs.
12877Using this RPC stack, Emacs can communicate with the peer process
12878smoothly. Because the protocol employs S-expression encoding and consists of
12879asynchronous communications, the RPC response is fairly good.")
12880 (license license:gpl3+))))
c010ec65
PN
12881
12882(define-public emacs-edbi
12883 (let ((commit "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))
12884 (package
12885 (name "emacs-edbi")
12886 (version (git-version "0.1.3" "1" commit))
12887 (home-page "https://github.com/kiwanami/emacs-edbi")
12888 (source (origin
12889 (method git-fetch)
12890 (uri (git-reference
12891 (url home-page)
12892 (commit commit)))
12893 (sha256
12894 (base32
12895 "0x0igyvdcm4863n7zndvcv6wgzwgn7324cbfjja6xd7r0k936zdy"))
12896 (file-name (git-file-name name version))))
12897 (build-system emacs-build-system)
12898 (inputs
12899 `(("perl" ,perl)
12900 ("perl-rpc-epc-service" ,perl-rpc-epc-service)
12901 ("perl-dbi" ,perl-dbi)
12902 ;; TODO: Adding support for perl-dbd-mysql and others would
12903 ;; dramatically increase the closure size. Make several packages?
12904 ("perl-dbd-sqlite" ,perl-dbd-sqlite)))
12905 (propagated-inputs
12906 `(("emacs-e2wm" ,emacs-e2wm)
12907 ("emacs-epc" ,emacs-epc)))
12908 (arguments
12909 `(#:include '("\\.el$" "\\.pl$")
12910 #:phases
12911 (modify-phases %standard-phases
12912 (add-after 'install 'patch-path
12913 (lambda* (#:key inputs outputs #:allow-other-keys)
12914 (let ((perl (assoc-ref inputs "perl"))
12915 (dir (string-append (assoc-ref outputs "out")
12916 "/share/emacs/site-lisp/guix.d/edbi-"
12917 ,version)))
12918 (substitute* (string-append dir "/edbi.el")
12919 (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
12920 (chmod (string-append dir "/edbi-bridge.pl") #o555)
12921 (wrap-program (string-append dir "/edbi-bridge.pl")
12922 `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))
12923 #t))))))
12924 (synopsis "Database Interface for Emacs Lisp")
12925 (description "This program connects the database server through Perl's
12926DBI, and provides DB-accessing API and the simple management UI.")
12927 (license license:gpl3+))))
3d540c48
PN
12928
12929(define-public emacs-edbi-sqlite
12930 (let ((commit "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f"))
12931 (package
12932 (name "emacs-edbi-sqlite")
12933 (version (git-version "0.1.1" "1" commit))
12934 (home-page "https://github.com/proofit404/edbi-sqlite")
12935 (source (origin
12936 (method git-fetch)
12937 (uri (git-reference
12938 (url home-page)
12939 (commit commit)))
12940 (sha256
12941 (base32
12942 "1vll81386fx90lq5sy4rlxcik6mvw7zx5cc51f0yaca9bkcckp51"))
12943 (file-name (git-file-name name version))))
12944 (build-system emacs-build-system)
12945 (propagated-inputs
12946 `(("emacs-edbi" ,emacs-edbi)))
12947 (synopsis "Open SQLite files in Emacs")
12948 (description "This package is a convenience wrapper for @command{edbi}
12949to open SQLite databases.")
12950 (license license:gpl3+))))
f896abc7
LC
12951
12952(define-public emacs-nix-mode
12953 (package
12954 (name "emacs-nix-mode")
12955 (version "1.2.2")
12956 (source
12957 (origin
12958 (method url-fetch)
12959 (uri (string-append "https://github.com/NixOS/nix-mode/archive/v"
12960 version ".tar.gz"))
12961 (file-name (string-append name "-" version ".tar.gz"))
12962 (sha256
12963 (base32
12964 "06aqz0czznsj8835jqnk794sy2p6pa8kxfqwh0nl5d5vxivria6z"))))
12965 (build-system emacs-build-system)
12966 (inputs
12967 `(("emacs-company" ,emacs-company)
12968 ("emacs-mmm-mode" ,emacs-mmm-mode)))
12969 (home-page "https://github.com/NixOS/nix-mode")
12970 (synopsis "Emacs major mode for editing Nix expressions")
12971 (description "@code{nixos-mode} provides an Emacs major mode for editing
12972Nix expressions. It supports syntax highlighting, indenting and refilling of
12973comments.")
12974 (license license:lgpl2.1+)))
67248962
RW
12975
12976(define-public emacs-simple-mpc
12977 ;; There have been no releases.
12978 (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
12979 (revision "1"))
12980 (package
12981 (name "emacs-simple-mpc")
12982 (version (git-version "0" revision commit))
12983 (source
12984 (origin
12985 (method git-fetch)
12986 (uri (git-reference
12987 (url "https://github.com/jorenvo/simple-mpc.git")
12988 (commit commit)))
12989 (file-name (git-file-name name version))
12990 (sha256
12991 (base32
12992 "1ja06pv007cmzjjgka95jlg31k7d29jrih1yxyblsxv85s9sg21q"))))
12993 (build-system emacs-build-system)
12994 (propagated-inputs `(("emacs-s" ,emacs-s)))
12995 (home-page "https://github.com/jorenvo/simple-mpc")
12996 (synopsis "Simple Emacs frontend to mpc")
12997 (description "This package provides an Emacs major mode which acts as a
12998front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).")
12999 (license license:gpl3+))))
43af5f9d
AI
13000
13001(define-public emacs-mkmcc-gnuplot-mode
13002 (package
13003 (name "emacs-mkmcc-gnuplot-mode")
13004 (version "1.2.0")
13005 (source
13006 (origin
13007 (method git-fetch)
13008 (uri (git-reference
13009 (url "https://github.com/mkmcc/gnuplot-mode")
13010 (commit "601f6392986f0cba332c87678d31ae0d0a496ce7")))
13011 (file-name (string-append name "-" version "-checkout"))
13012 (sha256
13013 (base32
13014 "14f0yh1rjqc3337j4sbqzfb7pjim2c8a7wk1a73xkrdkmjn82vgb"))))
13015 (build-system emacs-build-system)
13016 (home-page "https://mkmcc.github.io/software/gnuplot-mode.html")
13017 (synopsis "Minimal emacs major mode for editing gnuplot scripts")
13018 (description "@code{emacs-mkmcc-gnuplot-mode} is a minimal emacs major
13019mode for editing gnuplot scripts. It provides syntax highlighting,
13020indentation and a command to plot the file.")
13021 (license license:gpl3+)))
ba25ba90
CL
13022
13023(define-public emacs-dtrt-indent
13024 (package
13025 (name "emacs-dtrt-indent")
13026 (version "0.8")
13027 (source (origin
13028 (method git-fetch)
13029 (uri (git-reference
13030 (url "https://github.com/jscheid/dtrt-indent")
13031 (commit version)))
13032 (file-name (git-file-name name version))
13033 (sha256
13034 (base32
13035 "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z"))))
13036 (build-system emacs-build-system)
13037 (home-page "https://github.com/jscheid/dtrt-indent")
13038 (synopsis "Minor mode that guesses the indentation offset")
13039 (description "This package provides a minor mode that guesses the
13040indentation offset originally used for creating source code files and
13041transparently adjusts the corresponding settings in Emacs, making it more
13042convenient to edit foreign files.")
13043 (license license:gpl2+)))
57b663fa
CL
13044
13045(define-public emacs-repo
13046 (package
13047 (name "emacs-repo")
13048 (version "0.1.3")
13049 (source (origin
13050 (method git-fetch)
13051 (uri (git-reference
13052 (url "https://github.com/canatella/repo-el")
13053 (commit version)))
13054 (file-name (git-file-name name version))
13055 (sha256
13056 (base32
13057 "0rbvcvm7bfr6ncji7cllfxyyr6x7n9fx863byp243phsj3n93adz"))))
13058 (build-system emacs-build-system)
13059 (native-inputs
13060 `(("emacs-el-mock" ,emacs-el-mock)
13061 ("ert-runner" ,emacs-ert-runner)))
13062 (propagated-inputs
13063 `(("emacs-f" ,emacs-f)
13064 ("magit" ,emacs-magit)))
13065 (home-page "https://github.com/canatella/repo-el")
13066 (synopsis "Emacs interface for the Google Repo tool")
13067 (description "This package provides integration of the Google Repo tool
13068with emacs. It displays the output of the @code{repo status} command in a
13069buffer and launches Magit from the status buffer for the project at point.")
b2cb1613 13070 (license license:gpl3+)))
bdccd7e1
MO
13071
13072(define-public emacs-alect-themes
13073 (package
13074 (name "emacs-alect-themes")
13075 (version "0.9")
13076 (source (origin
13077 (method git-fetch)
13078 (uri (git-reference
13079 (url "https://github.com/alezost/alect-themes")
13080 (commit (string-append "v" version))))
13081 (file-name (git-file-name name version))
13082 (sha256
13083 (base32
13084 "0nffxpdm0sa7bynwi0rmlwpc4qmvbda5ankhzz7fmk4ap9fkjxv9"))))
13085 (build-system emacs-build-system)
13086 (home-page "https://github.com/alezost/alect-themes")
13087 (synopsis "Low contrast, light, dark and black color theme for Emacs")
13088 (description "@code{emacs-alect-themes} provides configurable light, dark
13089and black color themes for Emacs. The themes are intended to be used with
13090GUI.")
57b663fa 13091 (license license:gpl3+)))
71066710
MO
13092
13093(define-public emacs-google-c-style
13094 (let ((commit "6271f3f473ceb3a7fef99388a3040903b1a145f1")
13095 (revision "0"))
13096 (package
13097 (name "emacs-google-c-style")
13098 (version (git-version "0.1" revision commit))
13099 (source (origin
13100 (method git-fetch)
13101 (uri (git-reference
13102 (url "https://github.com/google/styleguide")
13103 (commit commit)))
13104 (file-name (git-file-name name version))
13105 (sha256
13106 (base32
13107 "1jghyyasdl15c4gaqaxmdn43am63k6bykn5ab83f1ahv9zi1krxk"))))
13108 (build-system emacs-build-system)
13109 (home-page "https://github.com/google/styleguide")
13110 (synopsis "Emacs settings file for Google C/C++ style")
13111 (description "@code{emacs-google-c-style} provides an Emacs settings
13112file for Google C and C++ style.")
13113 (license license:gpl1+))))
285bf324
PN
13114
13115(define-public emacs-redshank
13116 (let ((commit "f98e68f532e622bcd464292ca4a9cf5fbea14ebb")
13117 (revision "1"))
13118 (package
13119 (name "emacs-redshank")
13120 (version (git-version "0.1" revision commit))
13121 (source (origin
13122 (method git-fetch)
13123 (uri (git-reference
13124 (url "http://www.foldr.org/~michaelw/projects/redshank.git")
13125 (commit commit)))
13126 (file-name (git-file-name name version))
13127 (sha256
13128 (base32
13129 "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p"))))
13130 (build-system emacs-build-system)
13131 (propagated-inputs
13132 `(("emacs-paredit" ,emacs-paredit)))
13133 (home-page "http://www.foldr.org/~michaelw/emacs/redshank/")
13134 (synopsis "Common Lisp Editing Extensions (for Emacs)")
13135 (description "Redshank is a collection of code-wrangling Emacs macros
13136mostly geared towards Common Lisp, but some are useful for other Lisp
13137dialects, too. Redshank's code transformations aim to be expression-based (as
13138opposed to character-based).")
13139 (license license:gpl1+))))
33756922
PN
13140
13141(define-public emacs-disk-usage
13142 (package
13143 (name "emacs-disk-usage")
933d810e
PN
13144 (version "1.2.0")
13145 (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
13146 (source
13147 (origin
13148 (method url-fetch)
13149 (uri (string-append
13150 "https://elpa.gnu.org/packages/disk-usage-"
13151 version
13152 ".el"))
13153 (sha256
13154 (base32
13155 "13n6bsrz8q07fl6sd7wi5zvf01m5xw11hmrpdz7wcn49v6vs3whl"))))
33756922
PN
13156 (build-system emacs-build-system)
13157 (synopsis "Sort and browse disk usage listings with Emacs")
13158 (description "Disk Usage is a file system analyzer: it offers a tabulated
13159view of file listings sorted by size. Directory sizes are computed
13160recursively. The results are cached for speed.")
13161 (license license:gpl3+)))
e77c7210
PN
13162
13163(define-public emacs-orgit
13164 (let ((commit "ddb830c38cb71e5cf86db7fa62d6ee88ab3962d5"))
13165 (package
13166 (name "emacs-orgit")
13167 (version (git-version "1.5.1" "1" commit))
13168 (home-page "https://github.com/magit/orgit")
13169 (source (origin
13170 (method git-fetch)
13171 (uri (git-reference
13172 (url home-page)
13173 (commit commit)))
13174 (file-name (git-file-name name version))
13175 (sha256
13176 (base32
13177 "0fy4n71yskfkjl6w9mzrw3pfd5lp8f48g2c9bxiwg7mwzsmsb9nb"))))
13178 (build-system emacs-build-system)
13179 (propagated-inputs
13180 `(("emacs-dash" ,emacs-dash)
13181 ("emacs-magit" ,emacs-magit)))
13182 (synopsis "Support for Org links to Magit buffers")
13183 (description "This package defines several Org link types, which can be
13184used to link to certain Magit buffers. Use the command
13185@command{org-store-link} while such a buffer is current to store a link.
13186Later you can insert it into an Org buffer using the command
13187@code{org-insert-link}.")
13188 (license license:gpl3+))))
089a2c51
CL
13189
13190(define-public emacs-amx
13191 (package
13192 (name "emacs-amx")
13193 (version "3.2")
13194 (source (origin
13195 (method git-fetch)
13196 (uri (git-reference
13197 (url "https://github.com/DarwinAwardWinner/amx")
13198 (commit (string-append "v" version))))
13199 (file-name (git-file-name name version))
13200 (sha256
13201 (base32
13202 "0bb8y1dmzyqkrb4mg6zndcsxppby3glridv2aap2pv05gv8kx7mj"))))
13203 (build-system emacs-build-system)
13204 (propagated-inputs `(("emacs-s" ,emacs-s)))
13205 (home-page "https://github.com/DarwinAwardWinner/amx")
13206 (synopsis "Alternative interface for M-x")
13207 (description "Amx is an alternative interface for M-x in Emacs. It
13208provides several enhancements over the ordinary
13209@code{execute-extended-command}, such as prioritizing your most-used commands
13210in the completion list and showing keyboard shortcuts, and it supports several
13211completion systems for selecting commands, such as ido and ivy.")
13212 (license license:gpl3+)))