gnu: lxqt-openssh-askpass: Update to 0.14.1.
[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>
34e3d028 29;;; Copyright © 2017, 2018, 2019 Oleg Pykhalov <go.wigust@gmail.com>
eeb883cb
RW
30;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
31;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
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>
d2f555f5 46;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
eeb883cb
RW
47;;;
48;;; This file is part of GNU Guix.
49;;;
50;;; GNU Guix is free software; you can redistribute it and/or modify it
51;;; under the terms of the GNU General Public License as published by
52;;; the Free Software Foundation; either version 3 of the License, or (at
53;;; your option) any later version.
54;;;
55;;; GNU Guix is distributed in the hope that it will be useful, but
56;;; WITHOUT ANY WARRANTY; without even the implied warranty of
57;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
58;;; GNU General Public License for more details.
59;;;
60;;; You should have received a copy of the GNU General Public License
61;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
62
63(define-module (gnu packages emacs-xyz)
64 #:use-module ((guix licenses) #:prefix license:)
65 #:use-module (guix packages)
66 #:use-module (guix cvs-download)
67 #:use-module (guix download)
68 #:use-module (guix git-download)
69 #:use-module (guix build-system gnu)
70 #:use-module (guix build-system cmake)
71 #:use-module (guix build-system emacs)
72 #:use-module (guix build-system glib-or-gtk)
c010ec65 73 #:use-module (guix build-system perl)
eeb883cb
RW
74 #:use-module (guix build-system trivial)
75 #:use-module (gnu packages)
76 #:use-module (gnu packages admin)
77 #:use-module (gnu packages audio)
78 #:use-module (gnu packages bash)
79 #:use-module (gnu packages cmake)
80 #:use-module (gnu packages code)
81 #:use-module (gnu packages databases)
82 #:use-module (gnu packages emacs)
83 #:use-module (gnu packages guile)
84 #:use-module (gnu packages gtk)
85 #:use-module (gnu packages gnome)
86 #:use-module (gnu packages ncurses)
87 #:use-module (gnu packages python)
88 #:use-module (gnu packages python-xyz)
89 #:use-module (gnu packages tex)
90 #:use-module (gnu packages texinfo)
91 #:use-module (gnu packages tcl)
92 #:use-module (gnu packages tls)
93 #:use-module (gnu packages pkg-config)
94 #:use-module (gnu packages xorg)
95 #:use-module (gnu packages lesstif)
96 #:use-module (gnu packages llvm)
97 #:use-module (gnu packages image)
98 #:use-module (gnu packages linux)
c010ec65 99 #:use-module (gnu packages libevent)
eeb883cb
RW
100 #:use-module (gnu packages version-control)
101 #:use-module (gnu packages imagemagick)
102 #:use-module (gnu packages w3m)
103 #:use-module (gnu packages wget)
104 #:use-module (gnu packages autotools)
105 #:use-module (gnu packages base)
106 #:use-module (gnu packages compression)
107 #:use-module (gnu packages xml)
108 #:use-module (gnu packages glib)
109 #:use-module (gnu packages acl)
110 #:use-module (gnu packages mail)
111 #:use-module (gnu packages package-management)
112 #:use-module (gnu packages perl)
113 #:use-module (gnu packages pdf)
114 #:use-module (gnu packages scheme)
b8098cc6 115 #:use-module (gnu packages speech)
eeb883cb
RW
116 #:use-module (gnu packages xiph)
117 #:use-module (gnu packages mp3)
118 #:use-module (gnu packages gettext)
119 #:use-module (gnu packages fribidi)
120 #:use-module (gnu packages gd)
121 #:use-module (gnu packages fontutils)
122 #:use-module (gnu packages password-utils)
123 #:use-module (gnu packages pulseaudio)
124 #:use-module (gnu packages xdisorg)
125 #:use-module (gnu packages shells)
126 #:use-module (gnu packages sqlite)
127 #:use-module (gnu packages gnupg)
128 #:use-module (gnu packages video)
129 #:use-module (gnu packages haskell)
130 #:use-module (gnu packages wordnet)
131 #:use-module (guix utils)
132 #:use-module (srfi srfi-1)
133 #:use-module (ice-9 match))
134
135;;;
136;;; Emacs hacking.
137;;;
138
139(define-public emacs-geiser
140 (package
141 (name "emacs-geiser")
142 (version "0.10")
143 (source (origin
144 (method url-fetch)
145 (uri (string-append "mirror://savannah/geiser/" version
146 "/geiser-" version ".tar.gz"))
147 (sha256
148 (base32
149 "0pj3l7p8d60c9b4vfprnv6g5l61d74pls4b5dvd84cn4ky9mzwjv"))))
150 (build-system gnu-build-system)
151 (arguments
152 '(#:phases
153 (modify-phases %standard-phases
154 (add-after 'install 'post-install
155 (lambda* (#:key outputs #:allow-other-keys)
156 (symlink "geiser-install.el"
157 (string-append (assoc-ref outputs "out")
158 "/share/emacs/site-lisp/"
159 "geiser-autoloads.el"))
160 #t)))))
161 (inputs `(("guile" ,guile-2.2)))
162 (native-inputs `(("emacs" ,emacs-minimal)))
163 (home-page "https://nongnu.org/geiser/")
164 (synopsis "Collection of Emacs modes for Guile and Racket hacking")
165 (description
166 "Geiser is a collection of Emacs major and minor modes that conspire with
167one or more Scheme implementations to keep the Lisp Machine Spirit alive. The
168continuously running Scheme interpreter takes the center of the stage in
169Geiser. A bundle of Elisp shims orchestrates the dialog between the Scheme
170implementation, Emacs and, ultimately, the schemer, giving them access to live
171metadata.")
172 (license license:bsd-3)))
173
174(define-public geiser
175 (deprecated-package "geiser" emacs-geiser))
176
177(define-public emacs-paredit
178 (package
179 (name "emacs-paredit")
180 (version "24")
181 (source (origin
182 (method url-fetch)
183 (uri (string-append "http://mumble.net/~campbell/emacs/paredit-"
184 version ".el"))
185 (sha256
186 (base32
187 "0pp3n8q6kc70blqsaw0zlzp6bc327dpgdrjr0cnh7hqg1lras7ka"))))
188 (build-system emacs-build-system)
189 (home-page "http://mumble.net/~campbell/emacs/paredit/")
190 (synopsis "Emacs minor mode for editing parentheses")
191 (description
192 "ParEdit (paredit.el) is a minor mode for performing structured editing
193of S-expression data. The typical example of this would be Lisp or Scheme
194source code.
195
196ParEdit helps **keep parentheses balanced** and adds many keys for moving
197S-expressions and moving around in S-expressions. Its behavior can be jarring
198for those who may want transient periods of unbalanced parentheses, such as
199when typing parentheses directly or commenting out code line by line.")
200 (license license:gpl3+)))
201
202(define-public paredit
203 (deprecated-package "paredit" emacs-paredit))
204
205(define-public git-modes
206 (package
207 (name "emacs-git-modes")
208 (version "1.2.8")
209 (source (origin
8b9fab8f
EF
210 (method git-fetch)
211 (uri (git-reference
212 (url "https://github.com/magit/git-modes")
213 (commit version)))
214 (file-name (git-file-name name version))
eeb883cb
RW
215 (sha256
216 (base32
8b9fab8f 217 "08hy7rbfazs6grkpk54i82bz0i0c74zcjk96cip8970h6jn3mj72"))))
eeb883cb
RW
218 (build-system emacs-build-system)
219 (home-page "https://github.com/magit/git-modes")
220 (synopsis "Emacs major modes for Git configuration files")
221 (description
222 "This package provides Emacs major modes for editing various Git
223configuration files, such as .gitattributes, .gitignore, and .git/config.")
224 (license license:gpl3+)))
225
226(define-public git-modes/old-name
227 (deprecated-package "git-modes" git-modes))
228
229(define-public emacs-with-editor
230 (package
231 (name "emacs-with-editor")
232 (version "2.8.0")
233 (source (origin
234 (method git-fetch)
235 (uri (git-reference
236 (url "https://github.com/magit/with-editor.git")
237 (commit (string-append "v" version))))
238 (file-name (git-file-name name version))
239 (sha256
240 (base32
241 "1bbzvxnjpxqyvi808isld025b3pcidn4r2xf8hnk9bmzcfdvdr6q"))))
242 (build-system emacs-build-system)
243 (propagated-inputs
244 `(("emacs-dash" ,emacs-dash)))
245 (home-page "https://github.com/magit/with-editor")
246 (synopsis "Emacs library for using Emacsclient as EDITOR")
247 (description
248 "This package provides an Emacs library to use the Emacsclient as
249@code{$EDITOR} of child processes, making sure they know how to call home.
250For remote processes a substitute is provided, which communicates with Emacs
251on stdout instead of using a socket as the Emacsclient does.")
252 (license license:gpl3+)))
253
254(define-public emacs-magit
255 (package
256 (name "emacs-magit")
d6021396 257 (version "2.90.1")
eeb883cb 258 (source (origin
d49d0534
EF
259 (method git-fetch)
260 (uri (git-reference
261 (url "https://github.com/magit/magit")
d6021396 262 (commit (string-append "v" version))))
d49d0534 263 (file-name (git-file-name name version))
eeb883cb
RW
264 (sha256
265 (base32
d6021396 266 "1kw94sdczswsyzn1zlk5s5aplpdv4qd7qcqc5zfxsmsfwm3jacl4"))))
eeb883cb
RW
267 (build-system gnu-build-system)
268 (native-inputs `(("texinfo" ,texinfo)
269 ("emacs" ,emacs-minimal)))
270 (inputs
271 `(("git" ,git)
272 ("perl" ,perl)))
273 (propagated-inputs
274 `(("dash" ,emacs-dash)
275 ("ghub" ,emacs-ghub)
ae848798
EF
276 ("graphql" ,emacs-graphql)
277 ("treepy" ,emacs-treepy)
eeb883cb
RW
278 ("magit-popup" ,emacs-magit-popup)
279 ("with-editor" ,emacs-with-editor)))
280 (arguments
68462676
PN
281 `(#:modules ((guix build gnu-build-system)
282 (guix build utils)
283 (guix build emacs-utils))
284 #:imported-modules (,@%gnu-build-system-modules
285 (guix build emacs-utils))
286 #:test-target "test"
eeb883cb
RW
287 #:tests? #f ; tests are not included in the release
288
289 #:make-flags
290 (list (string-append "PREFIX=" %output)
291 ;; Don't put .el files in a sub-directory.
292 (string-append "lispdir=" %output "/share/emacs/site-lisp")
293 (string-append "DASH_DIR="
294 (assoc-ref %build-inputs "dash")
295 "/share/emacs/site-lisp/guix.d/dash-"
296 ,(package-version emacs-dash))
297 (string-append "GHUB_DIR="
298 (assoc-ref %build-inputs "ghub")
299 "/share/emacs/site-lisp/guix.d/ghub-"
300 ,(package-version emacs-ghub))
ae848798
EF
301 (string-append "GRAPHQL_DIR="
302 (assoc-ref %build-inputs "graphql")
303 "/share/emacs/site-lisp/guix.d/graphql-"
304 ,(package-version emacs-graphql))
305 (string-append "TREEPY_DIR="
306 (assoc-ref %build-inputs "treepy")
307 "/share/emacs/site-lisp/guix.d/treepy-"
308 ,(package-version emacs-treepy))
eeb883cb
RW
309 (string-append "MAGIT_POPUP_DIR="
310 (assoc-ref %build-inputs "magit-popup")
311 "/share/emacs/site-lisp/guix.d/magit-popup-"
312 ,(package-version emacs-magit-popup))
313 (string-append "WITH_EDITOR_DIR="
314 (assoc-ref %build-inputs "with-editor")
315 "/share/emacs/site-lisp/guix.d/with-editor-"
316 ,(package-version emacs-with-editor)))
317
318 #:phases
319 (modify-phases %standard-phases
320 (delete 'configure)
321 (add-before
322 'build 'patch-exec-paths
323 (lambda* (#:key inputs #:allow-other-keys)
324 (let ((perl (assoc-ref inputs "perl")))
68462676
PN
325 (make-file-writable "lisp/magit-sequence.el")
326 (emacs-substitute-variables "lisp/magit-sequence.el"
327 ("magit-perl-executable" (string-append perl "/bin/perl")))
eeb883cb
RW
328 #t))))))
329 (home-page "https://magit.vc/")
330 (synopsis "Emacs interface for the Git version control system")
331 (description
332 "With Magit, you can inspect and modify your Git repositories with Emacs.
333You can review and commit the changes you have made to the tracked files, for
334example, and you can browse the history of past changes. There is support for
335cherry picking, reverting, merging, rebasing, and other common Git
336operations.")
337 (license license:gpl3+)))
338
339(define-public magit
340 (deprecated-package "magit" emacs-magit))
341
342(define-public emacs-magit-svn
343 (package
344 (name "emacs-magit-svn")
427530b9 345 (version "2.2.1")
eeb883cb 346 (source (origin
daa82371
EF
347 (method git-fetch)
348 (uri (git-reference
349 (url "https://github.com/magit/magit-svn")
350 (commit version)))
351 (file-name (git-file-name name version))
eeb883cb
RW
352 (sha256
353 (base32
427530b9 354 "01kcsc53q3mbhgjssjpby7ypnhqsr48rkl1xz3ahaypmlp929gl9"))))
eeb883cb 355 (build-system trivial-build-system)
daa82371 356 (native-inputs `(("emacs" ,emacs-minimal)))
eeb883cb 357 (propagated-inputs `(("dash" ,emacs-dash)
ff1d5478 358 ("ghub" ,emacs-ghub)
ae848798
EF
359 ("graphql" ,emacs-graphql)
360 ("treepy" ,emacs-treepy)
eeb883cb 361 ("with-editor" ,emacs-with-editor)
ff1d5478
EF
362 ("magit" ,emacs-magit)
363 ("magit-popup" ,emacs-magit-popup)))
eeb883cb
RW
364 (arguments
365 `(#:modules ((guix build utils)
366 (guix build emacs-utils))
367
368 #:builder
369 (begin
370 (use-modules (guix build utils)
371 (guix build emacs-utils))
372
daa82371
EF
373 (let ((emacs (string-append (assoc-ref %build-inputs "emacs")
374 "/bin/emacs"))
375 (magit (string-append (assoc-ref %build-inputs "magit")
376 "/share/emacs/site-lisp"))
ff1d5478
EF
377 (magit-popup (string-append (assoc-ref %build-inputs "magit-popup")
378 "/share/emacs/site-lisp/guix.d/magit-popup-"
379 ,(package-version emacs-magit-popup)))
380 (ghub (string-append (assoc-ref %build-inputs "ghub")
381 "/share/emacs/site-lisp/guix.d/ghub-"
382 ,(package-version emacs-ghub)))
ae848798
EF
383 (graphql (string-append (assoc-ref %build-inputs "graphql")
384 "/share/emacs/site-lisp/guix.d/graphql-"
385 ,(package-version emacs-graphql)))
386 (treepy (string-append (assoc-ref %build-inputs "treepy")
387 "/share/emacs/site-lisp/guix.d/treepy-"
388 ,(package-version emacs-treepy)))
daa82371
EF
389 (dash (string-append (assoc-ref %build-inputs "dash")
390 "/share/emacs/site-lisp/guix.d/dash-"
391 ,(package-version emacs-dash)))
392 (with-editor (string-append (assoc-ref %build-inputs "with-editor")
393 "/share/emacs/site-lisp/guix.d/with-editor-"
394 ,(package-version emacs-with-editor)))
395 (source (assoc-ref %build-inputs "source"))
396 (lisp-dir (string-append %output "/share/emacs/site-lisp")))
eeb883cb 397
daa82371 398 (install-file (string-append source "/magit-svn.el")
eeb883cb
RW
399 lisp-dir)
400
401 (with-directory-excursion lisp-dir
402 (parameterize ((%emacs emacs))
403 (emacs-generate-autoloads ,name lisp-dir)
404 (setenv "EMACSLOADPATH"
ff1d5478 405 (string-append ":" magit ":" magit-popup ":" ghub ":"
ae848798 406 ":" graphql ":" treepy ":" dash ":" with-editor))
eeb883cb
RW
407 (emacs-batch-eval '(byte-compile-file "magit-svn.el"))))
408 #t))))
409 (home-page "https://github.com/magit/magit-svn")
410 (synopsis "Git-SVN extension to Magit")
411 (description
412 "This package is an extension to Magit, the Git Emacs mode, providing
413support for Git-SVN.")
414 (license license:gpl3+)))
415
416(define-public magit-svn
417 (deprecated-package "magit-svn" emacs-magit-svn))
418
419(define-public emacs-magit-popup
420 (package
421 (name "emacs-magit-popup")
422 (version "2.12.5")
423 (source (origin
424 (method git-fetch)
425 (uri (git-reference
426 (url "https://github.com/magit/magit-popup.git")
427 (commit (string-append "v" version))))
428 (file-name (git-file-name name version))
429 (sha256
430 (base32
431 "13riknyqr6vxqll80sfhvz165flvdz367rbd0pr5slb01bnfsi2i"))))
432 (build-system emacs-build-system)
433 (arguments
434 `(#:phases
435 (modify-phases %standard-phases
436 (add-before 'install 'make-info
437 (lambda _
438 (invoke "make" "info"))))))
439 (native-inputs
440 `(("texinfo" ,texinfo)))
441 (propagated-inputs
442 `(("emacs-dash" ,emacs-dash)))
443 (home-page "https://github.com/magit/magit-popup")
444 (synopsis "Define prefix-infix-suffix command combos")
445 (description
446 "This library implements a generic interface for toggling switches and
447setting options and then invoking an Emacs command which does something with
448these arguments. The prototypical use is for the command to call an external
449process, passing on the arguments as command line arguments.")
450 (license license:gpl3+)))
451
452(define-public emacs-treepy
453 (package
454 (name "emacs-treepy")
455 (version "0.1.1")
456 (source (origin
457 (method git-fetch)
458 (uri (git-reference
459 (url "https://github.com/volrath/treepy.el.git")
460 (commit version)))
461 (file-name (git-file-name name version))
462 (sha256
463 (base32
464 "04zwm6gx9pxfvgfkizx6pvb1ql8pqxjyzqp8flz0432x0gq5nlxk"))))
465 (build-system emacs-build-system)
466 (home-page
467 "https://github.com/volrath/treepy.el")
468 (synopsis "Tree traversal tools")
469 (description
470 "Generic tools for recursive and iterative tree traversal based on
471clojure.walk and clojure.zip respectively.")
472 (license license:gpl3+)))
473
474(define-public emacs-graphql
475 (package
476 (name "emacs-graphql")
477 (version "0.1.1")
478 (source (origin
479 (modules '((guix build utils)))
480 ;; Remove examples file with references to external packages as
481 ;; they do not exist at compilation time.
482 (snippet
483 '(begin (delete-file "examples.el")
484 #t))
485 (method git-fetch)
486 (uri (git-reference
487 (url "https://github.com/vermiculus/graphql.el.git")
488 (commit version)))
489 (file-name (git-file-name name version))
490 (sha256
491 (base32
492 "0sp0skc1rnhi39szfbq1i99pdgd3bhn4c15cff05iqhjy2d4hniw"))))
493 (build-system emacs-build-system)
494 (home-page
495 "https://github.com/vermiculus/graphql.el")
496 (synopsis "GraphQL utilities")
497 (description
498 "GraphQL.el provides a generally-applicable domain-specific language for
499creating and executing GraphQL queries against your favorite web services.
500GraphQL is a data query language and runtime designed and used to request and
501deliver data to mobile and web apps.")
502 (license license:gpl3+)))
503
504(define-public emacs-ghub
505 (package
506 (name "emacs-ghub")
ae848798 507 (version "3.2.0")
eeb883cb 508 (source (origin
0c662875
EF
509 (method git-fetch)
510 (uri (git-reference
511 (url "https://github.com/magit/ghub")
512 (commit (string-append "v" version))))
513 (file-name (git-file-name name version))
eeb883cb
RW
514 (sha256
515 (base32
ae848798 516 "0lp52qygyavddl1lrgsyb6mq7hcf9h89dy2pzya3mb2va49f0vvl"))))
eeb883cb
RW
517 (build-system emacs-build-system)
518 (arguments
519 `(#:phases
520 (modify-phases %standard-phases
521 (add-before 'install 'make-info
522 (lambda _
523 (invoke "make" "info"))))))
524 (native-inputs
525 `(("texinfo" ,texinfo)))
ae848798
EF
526 (propagated-inputs
527 `(("dash" ,emacs-dash)
528 ("graphql" ,emacs-graphql)
529 ("treepy" ,emacs-treepy)))
eeb883cb 530 (home-page "https://github.com/magit/ghub")
ae848798 531 (synopsis "Emacs client libraries for the APIs of various Git forges")
eeb883cb 532 (description
ae848798
EF
533 "Ghub provides basic support for using the APIs of various Git forges from
534Emacs packages. It supports the REST APIs of Github, Github GraphQL, Gitlab,
535Gitea, Gogs and Bitbucket. It abstracts access to API resources using only a
536handful of functions that are not resource-specific.")
eeb883cb
RW
537 (license license:gpl3+)))
538
539(define-public emacs-scribble-mode
540 (let ((commit "34e9e5edb921813b6483e0fefa848efb6ee4b314")
541 (version "0.0")
542 (revision 0))
543 (package
544 (name "emacs-scribble-mode")
545 (version (if (zero? revision)
546 version
547 (string-append version "-"
548 (number->string revision)
549 "." (string-take commit 7))))
550 (source (origin
551 (method git-fetch)
552 (uri (git-reference
553 (url "https://github.com/emacs-pe/scribble-mode.git")
554 (commit commit)))
555 (sha256
556 (base32
557 "0598byqpz2q6yi2q4dwd77jj9z3n99z34d3an51s9m2za0nh1qvp"))))
558 (build-system emacs-build-system)
559 (home-page "https://github.com/emacs-pe/scribble-mode")
560 (synopsis "Emacs mode for editing the Scribble documentation syntax.")
561 (description
562 "This package provides basic syntax highlighting and editing support
563for editing Racket's Scribble documentation syntax in Emacs.")
564 (license license:gpl3+))))
565
566(define-public emacs-haskell-mode
567 (package
568 (name "emacs-haskell-mode")
569 (version "16.1")
570 (source (origin
f5350a07
EF
571 (method git-fetch)
572 (uri (git-reference
573 (url "https://github.com/haskell/haskell-mode")
574 (commit (string-append "v" version))))
575 (file-name (git-file-name name version))
eeb883cb 576 (sha256
f5350a07 577 (base32 "1qk36y0v9fzass6785il65c6wb5cfj4ihhwkvgnzmbafpa8p4dvq"))
eeb883cb
RW
578 (patches
579 (search-patches ; backport test failure fixes
580 "haskell-mode-unused-variables.patch"
581 "haskell-mode-make-check.patch"))))
582 (inputs
583 `(("emacs-el-search" ,emacs-el-search) ; for tests
584 ("emacs-stream" ,emacs-stream))) ; for tests
585 (propagated-inputs
586 `(("emacs-dash" ,emacs-dash)))
587 (native-inputs
588 `(("emacs" ,emacs-minimal)
589 ("texinfo" ,texinfo)))
590 (build-system gnu-build-system)
591 (arguments
592 `(#:make-flags (list (string-append "EMACS="
593 (assoc-ref %build-inputs "emacs")
594 "/bin/emacs"))
595 #:modules ((ice-9 match)
596 (srfi srfi-26)
597 ,@%gnu-build-system-modules)
598 #:phases
599 (modify-phases %standard-phases
600 (delete 'configure)
601 (add-before
602 'build 'pre-build
603 (lambda* (#:key inputs #:allow-other-keys)
604 (define (el-dir store-dir)
605 (match (find-files store-dir "\\.el$")
606 ((f1 f2 ...) (dirname f1))
607 (_ "")))
608
609 (let ((sh (string-append (assoc-ref inputs "bash") "/bin/sh")))
610 (define emacs-prefix? (cut string-prefix? "emacs-" <>))
611
612 (setenv "SHELL" "sh")
613 (setenv "EMACSLOADPATH"
614 (string-concatenate
615 (map (match-lambda
616 (((? emacs-prefix? name) . dir)
617 (string-append (el-dir dir) ":"))
618 (_ ""))
619 inputs)))
620 (substitute* (find-files "." "\\.el") (("/bin/sh") sh))
621 ;; embed filename to fix test failure
622 (let ((file "tests/haskell-cabal-tests.el"))
623 (substitute* file
624 (("\\(buffer-file-name\\)")
625 (format #f "(or (buffer-file-name) ~s)" file))))
626 #t)))
627 (replace
628 'install
629 (lambda* (#:key outputs #:allow-other-keys)
630 (let* ((out (assoc-ref outputs "out"))
631 (el-dir (string-append out "/share/emacs/site-lisp"))
632 (doc (string-append
633 out "/share/doc/haskell-mode-" ,version))
634 (info (string-append out "/share/info")))
635 (define (copy-to-dir dir files)
636 (for-each (lambda (f)
637 (install-file f dir))
638 files))
639
640 (with-directory-excursion "doc"
641 (invoke "makeinfo" "haskell-mode.texi")
642 (install-file "haskell-mode.info" info))
643 (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
644 (copy-to-dir el-dir (find-files "." "\\.elc?"))
645 ;; These are part of other packages.
646 (with-directory-excursion el-dir
647 (for-each delete-file '("dash.el" "ert.el")))
648 #t))))))
649 (home-page "https://github.com/haskell/haskell-mode")
650 (synopsis "Haskell mode for Emacs")
651 (description
652 "This is an Emacs mode for editing, debugging and developing Haskell
653programs.")
654 (license license:gpl3+)))
655
656(define-public haskell-mode
657 (deprecated-package "haskell-mode" emacs-haskell-mode))
658
659(define-public emacs-flycheck
660 (package
661 (name "emacs-flycheck")
662 (version "31")
663 (source (origin
664 (method url-fetch)
665 (uri (string-append
666 "https://github.com/flycheck/flycheck/releases/download/"
667 version "/flycheck-" version ".tar"))
668 (sha256
669 (base32
670 "01rnwan16m7cyyrfca3c5c60mbj2r3knkpzbhji2fczsf0wns240"))
671 (modules '((guix build utils)))
672 (snippet `(begin
673 ;; Change 'flycheck-version' so that it does not
674 ;; attempt to get its version from pkg-info.el.
675 (substitute* "flycheck.el"
676 (("\\(pkg-info-version-info 'flycheck\\)")
677 (string-append "\"" ,version "\"")))
678 #t))))
679 (build-system emacs-build-system)
680 (propagated-inputs
681 `(("emacs-dash" ,emacs-dash)))
682 (home-page "https://www.flycheck.org")
683 (synopsis "On-the-fly syntax checking")
684 (description
685 "This package provides on-the-fly syntax checking for GNU Emacs. It is a
686replacement for the older Flymake extension which is part of GNU Emacs, with
687many improvements and additional features.
688
689Flycheck provides fully-automatic, fail-safe, on-the-fly background syntax
690checking for over 30 programming and markup languages with more than 70
691different tools. It highlights errors and warnings inline in the buffer, and
692provides an optional IDE-like error list.")
693 (license license:gpl3+))) ;+GFDLv1.3+ for the manual
694
695(define-public emacs-a
696 (package
697 (name "emacs-a")
698 (version "0.1.1")
699 (source (origin
700 (method git-fetch)
701 (uri (git-reference
702 (url "https://github.com/plexus/a.el.git")
703 (commit (string-append "v" version))))
704 (file-name (git-file-name name version))
705 (sha256
706 (base32
707 "00v9w6qg3bkwdhypq0ssf0phdh0f4bcq59c20lngd6vhk0204dqi"))))
708 (build-system emacs-build-system)
709 (home-page "https://github.com/plexus/a.el/")
710 (synopsis
711 "Emacs library for dealing with association lists and hash tables")
712 (description "@code{emacs-a} provides Emacs Lisp functions for dealing
713with associative structures in a uniform and functional way. These functions
714can take association lists, hash tables, and in some cases vectors (where the
715index is considered the key).")
716 (license license:gpl3+)))
717
60ceff7e
NG
718(define-public emacs-anaphora
719 (package
720 (name "emacs-anaphora")
721 (version "1.0.4")
722 (source
723 (origin
724 (method git-fetch)
725 (uri (git-reference
726 (url "https://github.com/rolandwalker/anaphora.git")
727 (commit (string-append "v" version))))
728 (file-name (git-file-name name version))
729 (sha256
730 (base32
731 "11fgiy029sqz7nvdm7dcal95lacryz9zql0x5h05z48nrrcl4bib"))))
732 (build-system emacs-build-system)
733 (home-page "https://github.com/rolandwalker/anaphora/")
734 (synopsis "Anaphoric expressions for Emacs Lisp")
735 (description "@code{emacs-anaphora} implements anaphoric expressions for
736Emacs Lisp.
737
738Anaphoric expressions implicitly create one or more temporary variables which
739can be referred to during the expression. This technique can improve clarity
740in certain cases. It also enables recursion for anonymous functions.")
741 (license license:public-domain)))
742
eeb883cb
RW
743\f
744;;;
745;;; Web browsing.
746;;;
747
748(define-public emacs-w3m
749 ;; Emacs-w3m follows a "rolling release" model.
750 (package
751 (name "emacs-w3m")
752 (version "2018-11-11")
753 (source (origin
754 (method cvs-fetch)
755 (uri (cvs-reference
756 (root-directory
757 ":pserver:anonymous@cvs.namazu.org:/storage/cvsroot")
758 (module "emacs-w3m")
759 (revision version)))
760 (file-name (string-append name "-" version "-checkout"))
761 (sha256
762 (base32
763 "0nvahdbjs12zg7zsk4gql02mvnv56cf1rwj2f5p42lwp3xvswiwp"))))
764 (build-system gnu-build-system)
765 (native-inputs `(("autoconf" ,autoconf)
766 ("texinfo" ,texinfo)
767 ("emacs" ,emacs-minimal)))
768 (inputs `(("w3m" ,w3m)
769 ("imagemagick" ,imagemagick)))
770 (arguments
771 `(#:modules ((guix build gnu-build-system)
772 (guix build utils)
773 (guix build emacs-utils))
774 #:imported-modules (,@%gnu-build-system-modules
775 (guix build emacs-utils))
776 #:configure-flags
777 (let ((out (assoc-ref %outputs "out")))
778 (list (string-append "--with-lispdir="
779 out "/share/emacs/site-lisp")
780 (string-append "--with-icondir="
781 out "/share/images/emacs-w3m")
782 ;; Leave .el files uncompressed, otherwise GC can't
783 ;; identify run-time dependencies. See
784 ;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
785 "--without-compress-install"))
786 #:tests? #f ; no check target
787 #:phases
788 (modify-phases %standard-phases
789 (add-after 'unpack 'autoconf
790 (lambda _
791 (invoke "autoconf")))
792 (add-before 'configure 'support-emacs!
793 (lambda _
794 ;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
795 ;; unsupported.
796 (substitute* "configure"
797 (("EMACS_FLAVOR=unsupported")
798 "EMACS_FLAVOR=emacs"))
799 #t))
800 (add-before 'build 'patch-exec-paths
801 (lambda* (#:key inputs outputs #:allow-other-keys)
802 (let ((out (assoc-ref outputs "out"))
803 (w3m (assoc-ref inputs "w3m"))
804 (imagemagick (assoc-ref inputs "imagemagick"))
805 (coreutils (assoc-ref inputs "coreutils")))
806 (make-file-writable "w3m.el")
807 (emacs-substitute-variables "w3m.el"
808 ("w3m-command" (string-append w3m "/bin/w3m"))
809 ("w3m-touch-command"
810 (string-append coreutils "/bin/touch"))
811 ("w3m-icon-directory"
812 (string-append out "/share/images/emacs-w3m")))
813 (make-file-writable "w3m-image.el")
814 (emacs-substitute-variables "w3m-image.el"
815 ("w3m-imagick-convert-program"
816 (string-append imagemagick "/bin/convert"))
817 ("w3m-imagick-identify-program"
818 (string-append imagemagick "/bin/identify")))
819 #t)))
820 (replace 'install
821 (lambda* (#:key outputs #:allow-other-keys)
822 (invoke "make" "install" "install-icons")
823 (with-directory-excursion
824 (string-append (assoc-ref outputs "out")
825 "/share/emacs/site-lisp")
826 (for-each delete-file '("ChangeLog" "ChangeLog.1"))
827 (symlink "w3m-load.el" "w3m-autoloads.el")
828 #t))))))
829 (home-page "http://emacs-w3m.namazu.org/")
830 (synopsis "Simple Web browser for Emacs based on w3m")
831 (description
832 "Emacs-w3m is an emacs interface for the w3m web browser.")
833 (license license:gpl2+)))
834
835(define-public emacs-wget
836 (package
837 (name "emacs-wget")
838 (version "0.5.0")
839 (source (origin
840 (method url-fetch)
841 (uri (string-append "mirror://debian/pool/main/w/wget-el/wget-el_"
842 version ".orig.tar.gz"))
843 (sha256
844 (base32 "10byvyv9dk0ib55gfqm7bcpxmx2qbih1jd03gmihrppr2mn52nff"))))
845 (build-system gnu-build-system)
846 (inputs `(("wget" ,wget)))
847 (native-inputs `(("emacs" ,emacs-minimal)))
848 (arguments
849 `(#:modules ((guix build gnu-build-system)
850 (guix build utils)
851 (guix build emacs-utils))
852 #:imported-modules (,@%gnu-build-system-modules
853 (guix build emacs-utils))
854 #:tests? #f ; no check target
855 #:phases
856 (modify-phases %standard-phases
857 (replace 'configure
858 (lambda* (#:key outputs #:allow-other-keys)
859 (substitute* "Makefile"
860 (("/usr/local") (assoc-ref outputs "out"))
861 (("/site-lisp/emacs-wget") "/site-lisp"))
862 #t))
863 (add-before 'build 'patch-exec-paths
864 (lambda* (#:key inputs outputs #:allow-other-keys)
865 (let ((wget (assoc-ref inputs "wget")))
866 (emacs-substitute-variables "wget.el"
867 ("wget-command" (string-append wget "/bin/wget"))))
868 #t))
869 (add-after 'install 'post-install
870 (lambda* (#:key outputs #:allow-other-keys)
871 (emacs-generate-autoloads
872 "wget" (string-append (assoc-ref outputs "out")
873 "/share/emacs/site-lisp/"))
874 #t)))))
875 (home-page "http://www.emacswiki.org/emacs/EmacsWget")
876 (synopsis "Simple file downloader for Emacs based on wget")
877 (description
878 "Emacs-wget is an emacs interface for the wget file downloader.")
879 (license license:gpl2+)))
880
881\f
882;;;
883;;; Multimedia.
884;;;
885
886(define-public emacs-emms
887 (package
888 (name "emacs-emms")
889 (version "5.1")
890 (source (origin
891 (method url-fetch)
892 (uri (string-append "mirror://gnu/emms/emms-"
893 version ".tar.gz"))
894 (sha256
895 (base32
896 "149ddczyx6x10zn4mn8g0rll1rwf4yciv8x6j0qdnlbwszblx2x6"))
897 (modules '((guix build utils)))
898 (snippet
899 '(begin
900 (substitute* "Makefile"
901 (("/usr/bin/install-info")
902 ;; No need to use 'install-info' since it would create a
903 ;; useless 'dir' file.
904 "true")
905 (("^INFODIR=.*")
906 ;; Install Info files to $out/share/info, not $out/info.
907 "INFODIR := $(PREFIX)/share/info\n")
908 (("/site-lisp/emms")
909 ;; Install directly in share/emacs/site-lisp, not in a
910 ;; sub-directory.
911 "/site-lisp")
912 (("^all: (.*)\n" _ rest)
913 ;; Build 'emms-print-metadata'.
914 (string-append "all: " rest " emms-print-metadata\n")))
915 #t))))
916 (build-system gnu-build-system)
917 (arguments
918 `(#:modules ((guix build gnu-build-system)
919 (guix build utils)
920 (guix build emacs-utils)
921 (ice-9 ftw))
922 #:imported-modules (,@%gnu-build-system-modules
923 (guix build emacs-utils))
924
925 #:phases
926 (modify-phases %standard-phases
927 (replace 'configure
928 (lambda* (#:key inputs outputs #:allow-other-keys)
929 (let ((out (assoc-ref outputs "out"))
930 (flac (assoc-ref inputs "flac"))
931 (vorbis (assoc-ref inputs "vorbis-tools"))
932 (alsa (assoc-ref inputs "alsa-utils"))
933 (mpg321 (assoc-ref inputs "mpg321"))
934 (mp3info (assoc-ref inputs "mp3info"))
935 (opus (assoc-ref inputs "opus-tools")))
936 ;; Specify the installation directory.
937 (substitute* "Makefile"
938 (("PREFIX=.*$")
939 (string-append "PREFIX := " out "\n")))
940
941 (setenv "SHELL" (which "sh"))
942 (setenv "CC" "gcc")
943
944 ;; Specify the absolute file names of the various
945 ;; programs so that everything works out-of-the-box.
946 (with-directory-excursion "lisp"
947 (emacs-substitute-variables
948 "emms-player-mpg321-remote.el"
949 ("emms-player-mpg321-remote-command"
950 (string-append mpg321 "/bin/mpg321")))
951 (substitute* "emms-player-simple.el"
952 (("\"ogg123\"")
953 (string-append "\"" vorbis "/bin/ogg123\"")))
954 (substitute* "emms-player-simple.el"
955 (("\"mpg321\"")
956 (string-append "\"" mpg321 "/bin/mpg321\"")))
957 (emacs-substitute-variables "emms-info-ogginfo.el"
958 ("emms-info-ogginfo-program-name"
959 (string-append vorbis "/bin/ogginfo")))
960 (emacs-substitute-variables "emms-info-opusinfo.el"
961 ("emms-info-opusinfo-program-name"
962 (string-append opus "/bin/opusinfo")))
963 (emacs-substitute-variables "emms-info-libtag.el"
964 ("emms-info-libtag-program-name"
965 (string-append out "/bin/emms-print-metadata")))
966 (emacs-substitute-variables "emms-info-mp3info.el"
967 ("emms-info-mp3info-program-name"
968 (string-append mp3info "/bin/mp3info")))
969 (emacs-substitute-variables "emms-info-metaflac.el"
970 ("emms-info-metaflac-program-name"
971 (string-append flac "/bin/metaflac")))
972 (emacs-substitute-variables "emms-source-file.el"
973 ("emms-source-file-gnu-find" (which "find")))
974 (substitute* "emms-volume-amixer.el"
975 (("\"amixer\"")
976 (string-append "\"" alsa "/bin/amixer\"")))
977 (substitute* "emms-tag-editor.el"
978 (("\"mp3info\"")
979 (string-append "\"" mp3info "/bin/mp3info\"")))))))
980 (add-before 'install 'pre-install
981 (lambda* (#:key outputs #:allow-other-keys)
982 ;; The 'install' rule expects the target directories to exist.
983 (let* ((out (assoc-ref outputs "out"))
984 (bin (string-append out "/bin"))
985 (man1 (string-append out "/share/man/man1")))
986 (mkdir-p bin)
987 (mkdir-p man1)
988
989 ;; Ensure that files are not rejected by gzip
990 (let ((early-1980 315619200)) ; 1980-01-02 UTC
991 (ftw "." (lambda (file stat flag)
992 (unless (<= early-1980 (stat:mtime stat))
993 (utime file early-1980 early-1980))
994 #t)))
995 #t)))
996 (add-after 'install 'post-install
997 (lambda* (#:key outputs #:allow-other-keys)
998 (let ((out (assoc-ref outputs "out")))
999 (symlink "emms-auto.el"
1000 (string-append out "/share/emacs/site-lisp/"
1001 "emms-autoloads.el")))
1002 #t)))
1003 #:tests? #f))
1004 (native-inputs `(("emacs" ,emacs-minimal) ;for (guix build emacs-utils)
1005 ("texinfo" ,texinfo)))
1006 (inputs `(("alsa-utils" ,alsa-utils)
1007 ("flac" ,flac) ;for metaflac
1008 ("vorbis-tools" ,vorbis-tools)
1009 ("mpg321" ,mpg321)
1010 ("taglib" ,taglib)
1011 ("mp3info" ,mp3info)
1012 ("opus-tools" ,opus-tools)))
1013 (properties '((upstream-name . "emms")))
1014 (synopsis "Emacs Multimedia System")
1015 (description
1016 "EMMS is the Emacs Multimedia System. It is a small front-end which
1017can control one of the supported external players. Thus, it supports
1018whatever formats are supported by your music player. It also
1019supports tagging and playlist management, all behind a clean and
1020light user interface.")
1021 (home-page "https://www.gnu.org/software/emms/")
1022 (license license:gpl3+)))
1023
1024(define-public emacs-emms-player-mpv
1025 ;; A new mpv backend is included in Emms from 5.0.
1026 (deprecated-package "emacs-emms-player-mpv" emacs-emms))
1027
1028(define-public emacs-emms-mode-line-cycle
1029 (package
1030 (name "emacs-emms-mode-line-cycle")
1031 (version "0.2.5")
1032 (source
1033 (origin
b2c08402
EF
1034 (method git-fetch)
1035 (uri (git-reference
1036 (url "https://github.com/momomo5717/emms-mode-line-cycle")
1037 (commit version)))
1038 (file-name (git-file-name name version))
eeb883cb
RW
1039 (sha256
1040 (base32
b2c08402 1041 "0q80f0plch6k4lhs8c9qm3mfycfbp3kn5sjrk9zxgxwnn901y9mp"))))
eeb883cb
RW
1042 (build-system emacs-build-system)
1043 (propagated-inputs
1044 `(("emms" ,emacs-emms)))
1045 (home-page "https://github.com/momomo5717/emms-mode-line-cycle")
1046 (synopsis "Display the EMMS mode line as a ticker")
1047 (description
1048 "This is a minor mode for updating the EMMS mode-line string cyclically
1049within a specified width. It is useful for displaying long track titles.")
1050 (license license:gpl3+)))
1051
1052\f
1053;;;
1054;;; Miscellaneous.
1055;;;
1056
1057(define-public emacs-bbdb
1058 (package
1059 (name "emacs-bbdb")
1060 (version "3.1.2")
1061 (source (origin
1062 (method url-fetch)
1063 (uri (string-append "mirror://savannah/bbdb/bbdb-"
1064 version ".tar.gz"))
1065 (sha256
1066 (base32
1067 "1gs16bbpiiy01w9pyg12868r57kx1v3hnw04gmqsmpc40l1hyy05"))
1068 (modules '((guix build utils)))
1069 (snippet
1070 ;; We don't want to build and install the PDF.
1071 '(begin
1072 (substitute* "doc/Makefile.in"
1073 (("^doc_DATA = .*$")
1074 "doc_DATA =\n"))
1075 #t))))
1076 (build-system gnu-build-system)
1077 (arguments
1078 '(#:phases
1079 (modify-phases %standard-phases
1080 (add-after 'install 'post-install
1081 (lambda* (#:key outputs #:allow-other-keys)
1082 ;; Add an autoloads file with the right name for guix.el.
1083 (let* ((out (assoc-ref outputs "out"))
1084 (site (string-append out "/share/emacs/site-lisp")))
1085 (with-directory-excursion site
1086 (symlink "bbdb-loaddefs.el" "bbdb-autoloads.el")))
1087 #t)))))
1088 (native-inputs `(("emacs" ,emacs-minimal)))
1089 (home-page "https://savannah.nongnu.org/projects/bbdb/")
1090 (synopsis "Contact management utility for Emacs")
1091 (description
1092 "BBDB is the Insidious Big Brother Database for GNU Emacs. It provides
1093an address book for email and snail mail addresses, phone numbers and the
1094like. It can be linked with various Emacs mail clients (Message and Mail
1095mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
1096 (license license:gpl3+)))
1097
1098(define-public bbdb
1099 (deprecated-package "bbdb" emacs-bbdb))
1100
1101(define-public emacs-aggressive-indent
1102 (package
1103 (name "emacs-aggressive-indent")
1104 (version "1.8.3")
1105 (source (origin
1106 (method url-fetch)
1107 (uri (string-append "https://elpa.gnu.org/packages/"
1108 "aggressive-indent-" version ".el"))
1109 (sha256
1110 (base32
1111 "0jnzccl50x0wapprgwxinp99pwwa6j43q6msn4gv437j7swy8wnj"))))
1112 (build-system emacs-build-system)
1113 (home-page "https://elpa.gnu.org/packages/aggressive-indent.html")
1114 (synopsis "Minor mode to aggressively keep your code always indented")
1115 (description
1116 "@code{aggressive-indent-mode} is a minor mode that keeps your code
1117always indented. It reindents after every change, making it more reliable
1118than @code{electric-indent-mode}.")
1119 (license license:gpl2+)))
1120
1121(define-public emacs-ag
1122 (package
1123 (name "emacs-ag")
1124 (version "0.47")
1125 (source (origin
1126 (method url-fetch)
1127 (uri (string-append
1128 "https://github.com/Wilfred/ag.el/archive/"
1129 version ".tar.gz"))
1130 (file-name (string-append name "-" version ".tar.gz"))
1131 (sha256
1132 (base32
1133 "1rlmp6wnyhqfg86dbz17r914msp58favn4kd4yrdwyia265a4lar"))))
1134 (build-system emacs-build-system)
1135 (arguments
1136 `(#:phases
1137 (modify-phases %standard-phases
1138 (add-before 'install 'make-info
1139 (lambda _
1140 (with-directory-excursion "docs"
1141 (invoke "make" "info"))))
1142 (add-after 'install 'install-info
1143 (lambda* (#:key outputs #:allow-other-keys)
1144 (let* ((out (assoc-ref outputs "out"))
1145 (info (string-append out "/share/info")))
1146 (install-file "docs/_build/texinfo/agel.info" info)
1147 #t))))))
1148 (native-inputs
1149 `(("python-sphinx" ,python-sphinx)
1150 ("texinfo" ,texinfo)))
1151 (propagated-inputs
1152 `(("dash" ,emacs-dash)
1153 ("s" ,emacs-s)
1154 ;; We need to use 'ag' as the executable on remote systems.
1155 ("the-silver-searcher" ,the-silver-searcher)))
1156 (home-page "https://github.com/Wilfred/ag.el")
1157 (synopsis "Front-end for ag (the-silver-searcher) for Emacs")
1158 (description "This package provides the ability to use the silver
1159searcher, a code searching tool, sometimes abbreviated to @code{ag}. Features
1160include version control system awareness, use of Perl compatible regular
1161expressions, editing the search results directly and searching file names
1162rather than the contents of files.")
1163 (license license:gpl3+)))
1164
1165(define-public emacs-async
1166 (package
1167 (name "emacs-async")
1168 (home-page "https://github.com/jwiegley/emacs-async")
1169 (version "1.9.3")
1170 (source (origin
1171 (method git-fetch)
1172 (uri (git-reference
1173 (url home-page)
1174 (commit (string-append "v" version))))
1175 (file-name (git-file-name name version))
1176 (sha256
1177 (base32
1178 "1zsnb6dy8p6y68xgidv3dfxaga4biramfw8fq7wac0sc50vc98vq"))))
1179 (build-system emacs-build-system)
1180 (synopsis "Asynchronous processing in Emacs")
1181 (description
1182 "This package provides the ability to call asynchronous functions and
1183processes. For example, it can be used to run dired commands (for copying,
1184moving, etc.) asynchronously using @code{dired-async-mode}. Also it is used
1185as a library for other Emacs packages.")
1186 (license license:gpl3+)))
1187
1188(define-public emacs-auctex
1189 (package
1190 (name "emacs-auctex")
1191 (version "12.1.0")
1192 (source
1193 (origin
1194 (method url-fetch)
1195 (uri (string-append
1196 "https://elpa.gnu.org/packages/auctex-"
1197 version
1198 ".tar"))
1199 (sha256
1200 (base32
1201 "0iy5x61xqkxaph2hq64sg50l1c6yp6qhzppwadayxkdz00b46sas"))))
1202 (build-system emacs-build-system)
1203 ;; We use 'emacs' because AUCTeX requires dbus at compile time
1204 ;; ('emacs-minimal' does not provide dbus).
1205 (arguments
1206 `(#:emacs ,emacs
1207 #:include '("\\.el$" "^images/" "^latex/" "\\.info$")
1208 #:exclude '("^tests/" "^latex/README")))
1209 (native-inputs
1210 `(("perl" ,perl)))
1211 (home-page "https://www.gnu.org/software/auctex/")
1212 (synopsis "Integrated environment for TeX")
1213 (description
1214 "AUCTeX is a comprehensive customizable integrated environment for
1215writing input files for TeX, LaTeX, ConTeXt, Texinfo, and docTeX using Emacs
1216or XEmacs.")
1217 (license license:gpl3+)))
1218
1219(define-public emacs-autothemer
1220 (package
1221 (name "emacs-autothemer")
1222 (version "0.2.2")
1223 (source
1224 (origin
1225 (method url-fetch)
1226 (uri (string-append "https://github.com/sebastiansturm/autothemer/archive/"
1227 version ".tar.gz"))
1228 (file-name (string-append name "-" version ".tar.gz"))
1229 (sha256
1230 (base32
1231 "0rd28r9wfrbll212am4ih9hrvypx785aff76va2cbfxdwm9kixsa"))))
1232 (build-system emacs-build-system)
1233 (propagated-inputs
1234 `(("emacs-dash" ,emacs-dash)))
1235 (home-page "https://github.com/sebastiansturm/autothemer")
1236 (synopsis "Conveniently create Emacs themes")
1237 (description
1238 "Autothemer provides a thin layer on top of @code{deftheme} and
1239@code{custom-theme-set-faces} that creates a new custom color theme, based on
1240a set of simplified face specifications and a user-supplied color palette")
1241 (license license:gpl3+)))
1242
1243(define-public emacs-howm
1244 (package
1245 (name "emacs-howm")
1246 (version "1.4.4")
1247 (source
1248 (origin
1249 (method url-fetch)
1250 (uri (string-append "http://howm.sourceforge.jp/a/howm-"
1251 version ".tar.gz"))
1252 (sha256
1253 (base32
1254 "0ddm91l6z58j7x59fa966j6q1rg4cinyza4r8ibg80hprn5h31qk"))))
1255 (build-system gnu-build-system)
1256 (native-inputs
1257 `(("emacs" ,emacs-minimal)))
1258 (arguments
1259 `(#:configure-flags
1260 (list (string-append "--with-howmdir=" %output
1261 "/share/emacs/site-lisp/guix.d/howm-" ,version))
1262 #:modules ((guix build gnu-build-system)
1263 ((guix build emacs-build-system) #:prefix emacs:)
1264 (guix build utils))
1265 #:imported-modules (,@%gnu-build-system-modules
1266 (guix build emacs-build-system)
1267 (guix build emacs-utils))
1268 #:phases
1269 (modify-phases %standard-phases
1270 (add-after 'install 'make-autoloads
1271 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1272 (home-page "http://howm.osdn.jp/")
1273 (synopsis "Note-taking tool for Emacs")
1274 (description "Howm is a note-taking tool for Emacs. Like
1275code@{emacs-wiki.el}, it facilitates using hyperlinks and doing full-text
1276searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
1277 (license license:gpl1+)))
1278
1279(define-public emacs-calfw
1280 (package
1281 (name "emacs-calfw")
1282 (version "1.6")
1283 (source
1284 (origin
1285 (method url-fetch)
1286 (uri (string-append
1287 "https://github.com/kiwanami/emacs-calfw/archive/v"
1288 version ".tar.gz"))
1289 (file-name (string-append name "-" version ".tar.gz"))
1290 (sha256
1291 (base32
1292 "1zr91xr0f1xfcv78yxka8vs5ximmq2ixmqf2pkb57kwwnxlypq4i"))))
1293 (build-system emacs-build-system)
1294 (propagated-inputs
1295 `(("emacs-howm" ,emacs-howm)))
1296 (home-page "https://github.com/kiwanami/emacs-calfw/")
1297 (synopsis "Calendar framework for Emacs")
1298 (description
1299 "This package displays a calendar view with various schedule data in the
1300Emacs buffer.")
1301 (license license:gpl3+)))
1302
1303(define-public emacs-direnv
1304 (package
1305 (name "emacs-direnv")
1306 (version "1.2.0")
1307 (source
1308 (origin
1309 (method url-fetch)
1310 (uri (string-append
1311 "https://github.com/wbolster/emacs-direnv/archive/"
1312 version ".tar.gz"))
1313 (file-name (string-append name "-" version ".tar.gz"))
1314 (sha256
1315 (base32
1316 "0m9nxawklhiiysyibzzhh2zkxgq1fskqvaqb06f7r8dnhabfy9fr"))))
1317 (build-system emacs-build-system)
1318 (propagated-inputs
1319 `(("dash" ,emacs-dash)
1320 ("with-editor" ,emacs-with-editor)))
1321 (home-page "https://github.com/wbolster/emacs-direnv")
1322 (synopsis "Direnv integration for Emacs")
1323 (description
1324 "This package provides support for invoking direnv to get the environment
1325for the current file and updating the environment within Emacs to match.
1326
1327Direnv can be invoked manually, and a global minor mode is included that will
1328update the environment when the active buffer changes.
1329
1330Using emacs-direnv means that programs started from Emacs will use the
1331environment set through Direnv.")
1332 (license license:gpl3+)))
1333
1334(define-public emacs-ggtags
1335 (package
1336 (name "emacs-ggtags")
1337 (version "0.8.13")
1338 (source
1339 (origin
1340 (method url-fetch)
1341 (uri (string-append "http://elpa.gnu.org/packages/ggtags-"
1342 version ".el"))
1343 (sha256
1344 (base32
1345 "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"))))
1346 (build-system emacs-build-system)
1347 (inputs
1348 `(("global" ,global)))
1349 (arguments
1350 `(#:phases
1351 (modify-phases %standard-phases
1352 (add-after 'unpack 'configure
1353 (lambda* (#:key inputs #:allow-other-keys)
1354 (chmod "ggtags.el" #o644)
1355 (emacs-substitute-variables "ggtags.el"
1356 ("ggtags-executable-directory"
1357 (string-append (assoc-ref inputs "global") "/bin")))
1358 #t)))))
1359 (home-page "https://github.com/leoliu/ggtags")
1360 (synopsis "Frontend to the GNU Global source code tagging system")
1361 (description "@code{ggtags} provides a frontend to the GNU Global source
1362code tagging system.
1363
1364Features:
1365
1366@itemize
1367@item Build on @code{compile.el} for asynchronicity and its large feature-set.
1368@item Automatically update Global's tag files when needed with tuning for
1369large source trees.
1370@item Intuitive navigation among multiple matches with mode-line display of
1371current match, total matches and exit status.
1372@item Read tag with completion.
1373@item Show definition at point.
1374@item Jump to #include files.
1375@item Support search history and saving a search to register/bookmark.
1376@item Query replace.
1377@item Manage Global's environment variables on a per-project basis.
1378@item Highlight (definition) tag at point.
1379@item Abbreviated display of file names.
1380@item Support all Global search backends: @code{grep}, @code{idutils}, etc.
1381@item Support exuberant ctags @url{http://ctags.sourceforge.net/} and
1382@code{pygments} backend.
1383@item Support all Global's output formats: @code{grep}, @code{ctags-x},
1384@code{cscope} etc.
1385@item Support projects on remote hosts (e.g. via @code{tramp}).
1386@item Support eldoc.
1387@item Search @code{GTAGSLIBPATH} for references and symbols.
1388@end itemize\n")
1389 (license license:gpl3+)))
1390
1391(define-public emacs-go-mode
1392 (package
1393 (name "emacs-go-mode")
1394 (version "1.5.0")
1395 (source (origin
1396 (method git-fetch)
1397 (uri (git-reference
1398 (url "https://github.com/dominikh/go-mode.el.git")
1399 (commit (string-append "v" version))))
1400 (file-name (git-file-name name version))
1401 (sha256
1402 (base32
1403 "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf"))))
1404 (build-system emacs-build-system)
1405 (arguments
1406 `(#:phases
1407 (modify-phases %standard-phases
1408 (add-after 'unpack 'make-writable
1409 (lambda _
1410 (for-each make-file-writable (find-files "." "\\.el$"))
1411 #t)))))
1412 (home-page "https://github.com/dominikh/go-mode.el")
1413 (synopsis "Go mode for Emacs")
1414 (description
1415 "This package provides go-mode, an Emacs mode for working with software
1416written in the Go programming language.")
1417 (license license:bsd-3)))
1418
1419(define-public emacs-google-maps
1420 (package
1421 (name "emacs-google-maps")
1422 (version "1.0.0")
1423 (source (origin
1424 (method url-fetch)
1425 (uri (string-append "https://github.com/jd/google-maps.el/"
1426 "archive/" version ".tar.gz"))
1427 (file-name (string-append name "-" version ".tar.gz"))
1428 (sha256
1429 (base32
1430 "014bxapm4d8vjxbzrfjdpsavxyfx981mlcb10aq5rmigr6il8ybs"))))
1431 (build-system emacs-build-system)
1432 (home-page "https://github.com/jd/google-maps.el")
1433 (synopsis "Access Google Maps from Emacs")
1434 (description "The @code{google-maps} package allows to display Google
1435Maps directly inside Emacs.")
1436 (license license:gpl3+)))
1437
1438(define-public emacs-graphviz-dot-mode
1439 (let ((commit "c456a2b65c734089e6c44e87209a5a432a741b1a")
1440 (revision "1"))
1441 (package
1442 (name "emacs-graphviz-dot-mode")
1443 (version (string-append "0.3.11-" revision "."
1444 (string-take commit 7)))
1445 (source (origin
1446 (method git-fetch)
1447 (uri (git-reference
1448 (url "https://github.com/ppareit/graphviz-dot-mode.git")
1449 (commit commit)))
1450 (file-name (string-append name "-" version "-checkout"))
1451 (sha256
1452 (base32
1453 "0j1r2rspaakw37b0mx7pwpvdsvixq9sw3xjbww5piihzpdxz58z1"))))
1454 (build-system emacs-build-system)
1455 (arguments
1456 `(#:phases
1457 (modify-phases %standard-phases
1458 (add-before 'install 'make-info
1459 (lambda* (#:key inputs #:allow-other-keys)
1460 (with-directory-excursion "texinfo"
1461 (substitute* "Makefile"
1462 (("\\/usr\\/bin\\/gzip")
1463 (string-append (assoc-ref inputs "gzip") "/bin/gzip")))
1464 (invoke "make"
1465 "clean"
1466 "info"
1467 (string-append "TEXINFODIR="
1468 (assoc-ref inputs "texinfo")
1469 "/bin")))))
1470 (add-after 'install 'install-info
1471 (lambda* (#:key outputs #:allow-other-keys)
1472 (let* ((out (assoc-ref outputs "out"))
1473 (info (string-append out "/share/info")))
1474 (install-file "texinfo/graphviz-dot-mode.info.gz" info)
1475 #t))))))
1476 (native-inputs
1477 `(("texinfo" ,texinfo)
1478 ("gzip" ,gzip)))
1479 (home-page "http://ppareit.github.com/graphviz-dot-mode")
1480 (synopsis "Major mode for editing Graphviz Dot files")
1481 (description
1482 "This Emacs packages helps you to create @file{.dot} or @file{.gv}
1483files using the dot syntax, and use Graphviz to convert these files to
1484diagrams.")
1485 (license license:gpl2+))))
1486
1487(define-public emacs-mmm-mode
1488 (package
1489 (name "emacs-mmm-mode")
1490 (version "0.5.5")
1491 (source
1492 (origin
1493 (method url-fetch)
1494 (uri (string-append
1495 "https://github.com/purcell/mmm-mode/archive/"
1496 version ".tar.gz"))
1497 (file-name (string-append name "-" version ".tar.gz"))
1498 (sha256
1499 (base32
1500 "0c5ing3hcr74k78hqhrfwiv6m3n8hqfrw89j2x34vf60f4iyqzqc"))))
1501 (build-system gnu-build-system)
1502 (arguments
1503 '(#:phases
1504 (modify-phases %standard-phases
1505 (add-after 'unpack 'autogen
1506 (lambda _
1507 (invoke "sh" "autogen.sh"))))))
1508 (native-inputs
1509 `(("autoconf" ,autoconf)
1510 ("automake" ,automake)
1511 ("emacs" ,emacs-minimal)
1512 ("texinfo" ,texinfo)))
1513 (home-page "https://github.com/purcell/mmm-mode")
1514 (synopsis "Allow multiple major modes in an Emacs buffer")
1515 (description
1516 "MMM Mode is a minor mode that allows multiple major modes to coexist in a
1517single buffer.")
1518 (license license:gpl3+)))
1519
1520(define-public emacs-tablist
1521 (package
1522 (name "emacs-tablist")
1523 (version "0.70")
1524 (source (origin
1525 (method url-fetch)
1526 (uri (string-append
1527 "https://github.com/politza/tablist/archive/v"
1528 version ".tar.gz"))
1529 (file-name (string-append name "-" version ".tar.gz"))
1530 (sha256
1531 (base32
1532 "177d6s7ym1mwz1nhnl09r14z3n093g9a2szm97xsaig0c204xz9c"))))
1533 (build-system emacs-build-system)
1534 (home-page "https://github.com/politza/tablist")
1535 (synopsis "Extension for @code{tabulated-list-mode}")
1536 (description "Tablist is the Emacs package that provides several
1537additional features to @code{tabulated-list-mode}: it adds marks,
1538filters, new key bindings and faces. It can be enabled by
1539@code{tablist-mode} or @code{tablist-minor-mode} commands.")
1540 (license license:gpl3+)))
1541
1542(define-public emacs-pdf-tools
1543 (package
1544 (name "emacs-pdf-tools")
2becddeb 1545 (version "0.90")
eeb883cb
RW
1546 (home-page "https://github.com/politza/pdf-tools")
1547 (source (origin
1548 (method git-fetch)
1549 (uri (git-reference (url home-page)
1550 (commit (string-append "v" version))))
1551 (file-name (git-file-name name version))
1552 (sha256
1553 (base32
2becddeb 1554 "0iv2g5kd14zk3r5dzdw7b7hk4b5w7qpbilcqkja46jgxbb6xnpl9"))))
eeb883cb
RW
1555 (build-system gnu-build-system)
1556 (arguments
2becddeb 1557 `(#:tests? #f ; there are no tests
eeb883cb
RW
1558 #:modules ((guix build gnu-build-system)
1559 ((guix build emacs-build-system) #:prefix emacs:)
1560 (guix build utils)
1561 (guix build emacs-utils))
1562 #:imported-modules (,@%gnu-build-system-modules
1563 (guix build emacs-build-system)
1564 (guix build emacs-utils))
1565 #:phases
1566 (modify-phases %standard-phases
1567 ;; Build server side using 'gnu-build-system'.
1568 (add-after 'unpack 'enter-server-dir
1569 (lambda _ (chdir "server") #t))
1570 (add-after 'enter-server-dir 'autogen
1571 (lambda _
1572 (invoke "bash" "autogen.sh")))
1573
1574 ;; Build emacs side using 'emacs-build-system'.
1575 (add-after 'compress-documentation 'enter-lisp-dir
1576 (lambda _ (chdir "../lisp") #t))
1577 (add-after 'enter-lisp-dir 'emacs-patch-variables
1578 (lambda* (#:key outputs #:allow-other-keys)
1579 (for-each make-file-writable (find-files "."))
1580
1581 ;; Set path to epdfinfo program.
1582 (emacs-substitute-variables "pdf-info.el"
1583 ("pdf-info-epdfinfo-program"
1584 (string-append (assoc-ref outputs "out")
1585 "/bin/epdfinfo")))
1586 ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto
1587 ;; upgrading" that pdf-tools tries to perform.
1588 (emacs-substitute-variables "pdf-tools.el"
1589 ("pdf-tools-handle-upgrades" '()))))
1590 (add-after 'emacs-patch-variables 'emacs-set-emacs-load-path
1591 (assoc-ref emacs:%standard-phases 'set-emacs-load-path))
1592 (add-after 'emacs-set-emacs-load-path 'emacs-install
1593 (assoc-ref emacs:%standard-phases 'install))
1594 (add-after 'emacs-install 'emacs-build
1595 (assoc-ref emacs:%standard-phases 'build))
1596 (add-after 'emacs-install 'emacs-make-autoloads
1597 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1598 (native-inputs `(("autoconf" ,autoconf)
1599 ("automake" ,automake)
1600 ("pkg-config" ,pkg-config)
1601 ("emacs" ,emacs-minimal)))
1602 (inputs `(("poppler" ,poppler)
1603 ("cairo" ,cairo)
1604 ("glib" ,glib)
1605 ("libpng" ,libpng)
1606 ("zlib" ,zlib)))
1607 (propagated-inputs `(("tablist" ,emacs-tablist)))
1608 (synopsis "Emacs support library for PDF files")
1609 (description
1610 "PDF Tools is, among other things, a replacement of DocView for PDF
1611files. The key difference is that pages are not pre-rendered by
1612e.g. ghostscript and stored in the file-system, but rather created on-demand
1613and stored in memory.")
1614 (license license:gpl3+)))
1615
1616(define-public emacs-dash
1617 (package
1618 (name "emacs-dash")
3490212a 1619 (version "2.15.0")
eeb883cb
RW
1620 (source (origin
1621 (method git-fetch)
1622 (uri (git-reference
1623 (url "https://github.com/magnars/dash.el.git")
1624 (commit version)))
1625 (file-name (git-file-name name version))
1626 (sha256
1627 (base32
3490212a 1628 "0dx8q3jr8fh73cfl7mqi5dq0012ambpvc74d2c71fsv9rfw85693"))))
eeb883cb
RW
1629 (build-system emacs-build-system)
1630 (arguments
1631 `(#:tests? #t
1632 #:test-command '("./run-tests.sh")))
1633 (home-page "https://github.com/magnars/dash.el")
1634 (synopsis "Modern list library for Emacs")
1635 (description "This package provides a modern list API library for Emacs.")
1636 (license license:gpl3+)))
1637
1638(define-public emacs-bui
1639 (package
1640 (name "emacs-bui")
1641 (version "1.2.1")
1642 (source (origin
1643 (method git-fetch)
1644 (uri (git-reference
1645 (url "https://notabug.org/alezost/emacs-bui.git")
1646 (commit (string-append "v" version))))
1647 (file-name (string-append name "-" version "-checkout"))
1648 (sha256
1649 (base32
1650 "0sszdl4kvqbihdh8d7mybpp0d8yw2p3gyiipjcxz9xhvvmw3ww4x"))))
1651 (build-system emacs-build-system)
1652 (propagated-inputs
1653 `(("dash" ,emacs-dash)))
1654 (home-page "https://notabug.org/alezost/emacs-bui")
1655 (synopsis "Buffer interface library for Emacs")
1656 (description
1657 "BUI (Buffer User Interface) is a library for making @code{list} and
1658@code{info} interfaces to display an arbitrary data of the same
1659type, for example: packages, buffers, files, etc.")
1660 (license license:gpl3+)))
1661
1662(define-public emacs-guix
1663 (package
1664 (name "emacs-guix")
1665 (version "0.5.1.1")
1666 (source (origin
1667 (method url-fetch)
1668 (uri (string-append "https://emacs-guix.gitlab.io/website/"
1669 "releases/emacs-guix-" version ".tar.gz"))
1670 (sha256
1671 (base32
1672 "1gxg7lan3njc2yg2d02b2zij0d2cm2pv2q08nqz86s85jk3b6m03"))))
1673 (build-system gnu-build-system)
1674 (arguments
1675 `(#:configure-flags
1676 (let ((guix (assoc-ref %build-inputs "guix"))
1677 (gcrypt (assoc-ref %build-inputs "guile-gcrypt"))
1678 (geiser (assoc-ref %build-inputs "geiser"))
1679 (dash (assoc-ref %build-inputs "dash"))
1680 (bui (assoc-ref %build-inputs "bui"))
1681 (magit-popup (assoc-ref %build-inputs "magit-popup"))
1682 (edit-indirect (assoc-ref %build-inputs "edit-indirect"))
1683 (site-lisp "/share/emacs/site-lisp")
1684 (site-scm "/share/guile/site")
1685 (site-go "/lib/guile")
1686 (guile-dir (lambda (dir)
1687 (car (find-files dir
1688 (lambda (file stat)
1689 (string-prefix?
1690 "2." (basename file)))
1691 #:directories? #t)))))
1692 (list (string-append "--with-guix-site-dir="
1693 (guile-dir (string-append guix site-scm)))
1694 (string-append "--with-guix-site-ccache-dir="
1695 (guile-dir (string-append guix site-go))
1696 "/site-ccache")
1697 (string-append "--with-guile-gcrypt-site-dir="
1698 (guile-dir (string-append gcrypt site-scm)))
1699 (string-append "--with-guile-gcrypt-site-ccache-dir="
1700 (guile-dir (string-append gcrypt site-go))
1701 "/site-ccache")
1702 (string-append "--with-geiser-lispdir=" geiser site-lisp)
1703 (string-append "--with-dash-lispdir="
1704 dash site-lisp "/guix.d/dash-"
1705 ,(package-version emacs-dash))
1706 (string-append "--with-bui-lispdir="
1707 bui site-lisp "/guix.d/bui-"
1708 ,(package-version emacs-bui))
1709 (string-append "--with-editindirect-lispdir="
1710 edit-indirect site-lisp "/guix.d/edit-indirect-"
1711 ,(package-version emacs-edit-indirect))
1712 (string-append "--with-popup-lispdir="
1713 magit-popup site-lisp "/guix.d/magit-popup-"
1714 ,(package-version emacs-magit-popup))))))
1715 (native-inputs
1716 `(("pkg-config" ,pkg-config)
1717 ("emacs" ,emacs-minimal)))
1718 (inputs
1719 `(("guile" ,guile-2.2)
1720 ("guix" ,guix)))
1721 (propagated-inputs
1722 `(("geiser" ,emacs-geiser)
1723 ("guile-gcrypt" ,guile-gcrypt)
1724 ("dash" ,emacs-dash)
1725 ("bui" ,emacs-bui)
1726 ("edit-indirect" ,emacs-edit-indirect)
1727 ("magit-popup" ,emacs-magit-popup)))
1728 (home-page "https://emacs-guix.gitlab.io/website/")
1729 (synopsis "Emacs interface for GNU Guix")
1730 (description
1731 "Emacs-Guix provides a visual interface, tools and features for the GNU
1732Guix package manager. Particularly, it allows you to do various package
1733management tasks from Emacs. To begin with, run @code{M-x guix-about} or
1734@code{M-x guix-help} command.")
1735 (license license:gpl3+)))
1736
1737(define-public emacs-build-farm
1738 (package
1739 (name "emacs-build-farm")
1740 (version "0.2.2")
1741 (source (origin
1742 (method git-fetch)
1743 (uri (git-reference
1744 (url "https://notabug.org/alezost/emacs-build-farm.git")
1745 (commit (string-append "v" version))))
1746 (file-name (string-append name "-" version "-checkout"))
1747 (sha256
1748 (base32
1749 "0i0bwbav5861j2y15j9nd5m9rdqg9q97zgcbld8pivr9nyxy63lz"))))
1750 (build-system emacs-build-system)
1751 (propagated-inputs
1752 `(("bui" ,emacs-bui)
1753 ("magit-popup" ,emacs-magit-popup)))
1754 (home-page "https://notabug.org/alezost/emacs-build-farm")
1755 (synopsis "Emacs interface for Hydra and Cuirass build farms")
1756 (description
1757 "This Emacs package provides an interface for Hydra and
1758Cuirass (build farms used by Nix and Guix). It allows you to look at
1759various data related to the build farm projects, jobsets, builds and
1760evaluations. The entry point is @code{M-x build-farm} command.")
1761 (license license:gpl3+)))
1762
1763(define-public emacs-d-mode
1764 (package
1765 (name "emacs-d-mode")
1766 (version "2.0.9")
1767 (source (origin
1768 (method url-fetch)
1769 (uri (string-append
1770 "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode/"
1771 "archive/" version ".tar.gz"))
1772 (file-name (string-append name "-" version ".tar.gz"))
1773 (sha256
1774 (base32
1775 "127aa77ix3p7w4g339bx026df9y649dahlr3v359z0hs40zjz3kd"))))
1776 (build-system emacs-build-system)
1777 (propagated-inputs
1778 `(("emacs-undercover" ,emacs-undercover)))
1779 (home-page "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode")
1780 (synopsis "Emacs major mode for editing D code")
1781 (description "This package provides an Emacs major mode for highlighting
1782code written in the D programming language. This mode is currently known to
1783work with Emacs 24 and 25.")
1784 (license license:gpl2+)))
1785
1786(define-public emacs-keyfreq
1787 (package
1788 (name "emacs-keyfreq")
1789 (version "20160516.716")
1790 (source
1791 (origin
1792 (method url-fetch)
1793 (uri (string-append "http://melpa.org/packages/keyfreq-"
1794 version ".el"))
1795 (sha256
1796 (base32
1797 "008hd7d06qskc3mx0bbdgpgy2pwxr8185fzlyqf9qjg49y74p6g8"))))
1798 (build-system emacs-build-system)
1799 (home-page "https://github.com/dacap/keyfreq")
1800 (synopsis "Track Emacs command frequencies")
1801 (description "@code{emacs-keyfeq} tracks and shows how many times you used
1802a command.")
1803 (license license:gpl3+)))
1804
1805(define-public emacs-olivetti
1806 (package
1807 (name "emacs-olivetti")
1808 (version "1.5.7")
1809 (source (origin
1810 (method url-fetch)
1811 (uri (string-append
1812 "https://stable.melpa.org/packages/olivetti-"
1813 version ".el"))
1814 (sha256
1815 (base32
1816 "1yj2ylg46q0pw1xzlv2b0fv9x8p56x25284s9v2smwjr4vf0nwcj"))))
1817 (build-system emacs-build-system)
1818 (home-page "https://github.com/rnkn/olivetti")
1819 (synopsis "Emacs minor mode for a nice writing environment")
1820 (description "This package provides an Emacs minor mode that puts writing
1821in the center.")
1822 (license license:gpl3+)))
1823
1824(define-public emacs-undo-tree
1825 (package
1826 (name "emacs-undo-tree")
1827 (version "0.6.6")
1828 (source (origin
1829 (method git-fetch)
1830 (uri (git-reference
1831 (url "http://dr-qubit.org/git/undo-tree.git")
1832 (commit (string-append "release/" version))))
1833 (file-name (string-append name "-" version "-checkout"))
1834 (sha256
1835 (base32
1836 "1hnh2mnmw179gr094r561w6cw1haid0lpvpqvkc24wpj82vphzpa"))))
1837 (build-system emacs-build-system)
1838 (home-page "http://www.dr-qubit.org/emacs.php")
1839 (synopsis "Treat undo history as a tree")
1840 (description "Tree-like interface to Emacs undo system, providing
1841graphical tree presentation of all previous states of buffer that
1842allows easily move between them.")
1843 (license license:gpl3+)))
1844
1845(define-public emacs-s
1846 (package
1847 (name "emacs-s")
1848 (version "1.12.0")
1849 (source (origin
1850 (method url-fetch)
1851 (uri (string-append
1852 "https://github.com/magnars/s.el/archive/"
1853 version ".tar.gz"))
1854 (file-name (string-append name "-" version ".tar.gz"))
1855 (sha256
1856 (base32
1857 "0xbl75863pcm806zg0x1lw7qznzjq2c8320k8js7apyag8q4srvh"))))
1858 (build-system emacs-build-system)
1859 (arguments
1860 `(#:tests? #t
1861 #:emacs ,emacs ; FIXME: tests fail with emacs-minimal
1862 #:test-command '("./run-tests.sh")))
1863 (home-page "https://github.com/magnars/s.el")
1864 (synopsis "Emacs string manipulation library")
1865 (description "This package provides an Emacs library for manipulating
1866strings.")
1867 (license license:gpl3+)))
1868
1869(define-public emacs-symon
1870 (package
1871 (name "emacs-symon")
1872 (version "20160630")
1873 (source
1874 (origin
1875 (method url-fetch)
1876 (uri (string-append "https://github.com/zk-phi/symon/archive/"
1877 version ".tar.gz"))
1878 (file-name (string-append name "-" version ".tar.gz"))
1879 (sha256
1880 (base32
1881 "0h4jcgdnq98wc9rj72nwyazq8498yg55jfljiij5qwbn1xf1g5zz"))))
1882 (build-system emacs-build-system)
1883 (home-page "https://github.com/zk-phi/symon")
1884 (synopsis "Tiny graphical system monitor")
1885 (description
1886 "Tiny graphical system monitor for the Emacs minibuffer when idle.")
1887 (license license:gpl2+)))
1888
1889(define-public emacs-sx
1890 (let ((version "20180212")
1891 (revision "1")
1892 (commit "833435fbf90d1c9e927d165b155f3b1ef39271de"))
1893 (package
1894 (name "emacs-sx")
1895 (version (git-version version revision commit))
1896 (source
1897 (origin
1898 (method git-fetch)
1899 (uri (git-reference
1900 (url "https://github.com/vermiculus/sx.el")
1901 (commit commit)))
1902 (file-name (git-file-name name version))
1903 (sha256
1904 (base32
1905 "1369xaxq1vy3d9yh862ddnhddikdpg2d0wv1ly00pnvdp9v4cqgd"))))
1906 (build-system emacs-build-system)
1907 (propagated-inputs
1908 `(("emacs-markdown-mode" ,emacs-markdown-mode)))
1909 (home-page "https://github.com/vermiculus/sx.el")
1910 (synopsis "Emacs StackExchange client")
1911 (description
1912 "Emacs StackExchange client. Ask and answer questions on
1913Stack Overflow, Super User, and other StackExchange sites.")
1914 (license license:gpl3+))))
1915
1916(define-public emacs-f
1917 (package
1918 (name "emacs-f")
1919 (version "0.20.0")
1920 (source (origin
1921 (method git-fetch)
1922 (uri (git-reference
1923 (url "https://github.com/rejeep/f.el.git")
1924 (commit (string-append "v" version))))
1925 (file-name (git-file-name name version))
1926 (sha256
1927 (base32
1928 "1a47xk3yp1rp17fqg7ldl3d3fb888h0fz3sysqfdz1bfdgs8a9bk"))))
1929 (build-system emacs-build-system)
1930 (propagated-inputs
1931 `(("emacs-s" ,emacs-s)
1932 ("emacs-dash" ,emacs-dash)))
1933 (home-page "https://github.com/rejeep/f.el")
1934 (synopsis "Emacs API for working with files and directories")
1935 (description "This package provides an Emacs library for working with
1936files and directories.")
1937 (license license:gpl3+)))
1938
1939(define-public emacs-git-gutter
1940 (package
1941 (name "emacs-git-gutter")
1942 (version "0.90")
1943 (source (origin
1944 (method url-fetch)
1945 (uri (string-append
1946 "https://github.com/syohex/" name "/archive/"
1947 version ".tar.gz"))
1948 (file-name (string-append name "-" version ".tar.gz"))
1949 (sha256
1950 (base32
1951 "1nmhvhpq1l56mj2yq3ag23rw3x4xgnsy8szp30s26l0yjnkhc4qg"))))
1952 (build-system emacs-build-system)
1953 (home-page "https://github.com/syohex/emacs-git-gutter")
1954 (synopsis "See and manage hunks of text in a version control system")
1955 (description
1956 "This package is an Emacs minor mode for displaying and interacting with
1957hunks of text managed in a version control system. Added modified and deleted
1958areas can be indicated with symbols on the edge of the buffer, and commands
1959can be used to move between and perform actions on these hunks.
1960
1961Git, Mercurial, Subversion and Bazaar are supported, and many parts of the
1962display and behaviour is easily customisable.")
1963 (license license:gpl3+)))
1964
1965(define-public emacs-git-timemachine
1966 (package
1967 (name "emacs-git-timemachine")
1968 (version "4.5")
1969 (source
1970 (origin
1971 (method url-fetch)
1972 (uri (string-append "https://gitlab.com/pidu/git-timemachine"
1973 "/-/archive/" version
1974 "/git-timemachine-" version ".tar.gz"))
1975 (file-name (string-append name "-" version ".tar.gz"))
1976 (sha256
1977 (base32
1978 "0ii40qcincasg7s1yrvqcxkqcqzb4sfs7gcxscn6m4x4ans165zy"))))
1979 (build-system emacs-build-system)
1980 (home-page "https://gitlab.com/pidu/git-timemachine")
1981 (synopsis "Step through historic versions of Git-controlled files")
1982 (description "This package enables you to step through historic versions
1983of files under Git version control from within Emacs.")
1984 (license license:gpl3+)))
1985
1986(define-public emacs-minitest
1987 (let ((commit "1aadb7865c1dc69c201cecee275751ecec33a182")
1988 (revision "1"))
1989 (package
1990 (name "emacs-minitest")
1991 (version (git-version "0.8.0" revision commit))
1992 (source (origin
1993 (method git-fetch)
1994 (uri (git-reference
1995 (url "https://github.com/arthurnn/minitest-emacs")
1996 (commit commit)))
1997 (file-name (git-file-name name commit))
1998 (sha256
1999 (base32
2000 "1l18zqpdzbnqj2qawq8hj7z7pl8hr8z9d8ihy8jaiqma915hmhj1"))))
2001 (build-system emacs-build-system)
2002 (arguments
2003 '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include)
2004 #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude)))
2005 (propagated-inputs
2006 `(("emacs-dash" ,emacs-dash)
2007 ("emacs-f" ,emacs-f)))
2008 (home-page "https://github.com/arthurnn/minitest-emacs")
2009 (synopsis "Emacs minitest mode")
2010 (description
2011 "The minitest mode provides commands to run the tests for the current
2012file or line, as well as rerunning the previous tests, or all the tests for a
2013project.
2014
2015This package also includes relevant snippets for yasnippet.")
2016 (license license:expat))))
2017
2018(define-public emacs-el-mock
2019 (package
2020 (name "emacs-el-mock")
2021 (version "1.25.1")
2022 (source
2023 (origin
2024 (method url-fetch)
2025 (uri (string-append "https://github.com/rejeep/el-mock.el/"
2026 "archive/v" version ".tar.gz"))
2027 (file-name (string-append name "-" version ".tar.gz"))
2028 (sha256
2029 (base32
2030 "16xw94n58xxn3zvgyj72bmzs0k5lkvswjmzs79ws9n7rzdivb38b"))))
2031 (build-system emacs-build-system)
2032 (home-page "https://github.com/rejeep/el-mock.el")
2033 (synopsis "Tiny mock and stub framework in Emacs Lisp")
2034 (description
2035 "Emacs Lisp Mock is a library for mocking and stubbing using readable
2036syntax. Most commonly Emacs Lisp Mock is used in conjunction with Emacs Lisp
2037Expectations, but it can be used in other contexts.")
2038 (license license:gpl3+)))
2039
2040(define-public emacs-espuds
2041 (package
2042 (name "emacs-espuds")
2043 (version "0.3.3")
2044 (source
2045 (origin
2046 (method url-fetch)
2047 (uri (string-append "https://github.com/ecukes/espuds/"
2048 "archive/v" version ".tar.gz"))
2049 (file-name (string-append name "-" version ".tar.gz"))
2050 (sha256
2051 (base32
2052 "0xv551376pbmh735a3zjwc9z4qdx6ngj1vpq3xqjpn0a1rwjyn4k"))))
2053 (build-system emacs-build-system)
2054 (propagated-inputs
2055 `(("emacs-s" ,emacs-s)
2056 ("emacs-dash" ,emacs-dash)
2057 ("emacs-f" ,emacs-f)))
2058 (home-page "https://github.com/ecukes/espuds")
2059 (synopsis "Common step definitions for Ecukes")
2060 (description "Espuds is a collection of the most commonly used step
2061definitions for testing with the Ecukes framework.")
2062 (license license:gpl3+)))
2063
2064(define-public emacs-spark
2065 (let ((version "20160503") ; no proper tag, use date of commit
2066 (commit "0bf148c3ede3b31d56fd75f347cdd0b0eae60025")
2067 (revision "1"))
2068 (package
2069 (name "emacs-spark")
2070 (version (git-version version revision commit))
2071 (source
2072 (origin
2073 (method git-fetch)
2074 (uri (git-reference
2075 (url "https://github.com/alvinfrancis/spark.git")
2076 (commit commit)))
2077 (file-name (git-file-name name version))
2078 (sha256
2079 (base32
2080 "1ykqr86j17mi95s08d9fp02d7ych1331b04dcqxzxnmpkhwngyj1"))))
2081 (build-system emacs-build-system)
2082 (home-page "https://github.com/alvinfrancis/spark")
2083 (synopsis "Sparkline generation library for Emacs Lisp")
2084 (description "@code{emacs-spark} is a sparkline generation library for
2085Emacs Lisp. It generates a sparkline string given a list of numbers. It is a
2086port of @code{cl-spark} to Emacs Lisp.")
2087 (license license:expat))))
2088
2089(define-public emacs-es-mode
2090 (package
2091 (name "emacs-es-mode")
2092 (version "4.3.0")
2093 (source (origin
2094 (method url-fetch)
2095 (uri (string-append
2096 "https://github.com/dakrone/es-mode/archive/"
2097 version ".tar.gz"))
2098 (file-name (string-append name "-" version ".tar.gz"))
2099 (sha256
2100 (base32
2101 "0y86qdcb3g7fkcb4pzsjh3syzql6w3314hg1wqxq4a8bbk3y0cgr"))))
2102 (build-system emacs-build-system)
2103 (propagated-inputs
2104 ;; The version of org in Emacs 24.5 is not sufficient, and causes tables
2105 ;; to be rendered incorrectly
2106 `(("emacs-dash" ,emacs-dash)
2107 ("emacs-org" ,emacs-org)
2108 ("emacs-spark" ,emacs-spark)))
2109 (home-page "https://github.com/dakrone/es-mode")
2110 (synopsis "Major mode for editing Elasticsearch queries")
2111 (description "@code{es-mode} includes highlighting, completion and
2112indentation support for Elasticsearch queries. Also supported are
2113@code{es-mode} blocks in @code{org-mode}, for which the results of queries can
2114be processed through @code{jq}, or in the case of aggregations, can be
2115rendered in to a table. In addition, there is an @code{es-command-center}
2116mode, which displays information about Elasticsearch clusters.")
2117 (license license:gpl3+)))
2118
2119(define-public emacs-expand-region
2120 (package
2121 (name "emacs-expand-region")
2122 (version "0.11.0")
2123 (source
2124 (origin
2125 (method url-fetch)
2126 (uri (string-append "https://github.com/magnars/expand-region.el"
2127 "/archive/" version ".tar.gz"))
2128 (file-name (string-append name "-" version ".tar.gz"))
2129 (sha256
2130 (base32
2131 "08dy1f411sh9wwww53rjw80idcf3vpki6ba2arl4hl5jcw9651g0"))))
2132 (build-system emacs-build-system)
2133 (home-page "https://github.com/magnars/expand-region.el")
2134 (synopsis "Increase selected region by semantic units")
2135 (description
2136 "Expand region increases the selected region by semantic units. Just
2137keep pressing the key until it selects what you want. There's also
2138@code{er/contract-region} if you expand too far.")
2139 (license license:gpl3+)))
2140
2141(define-public emacs-fill-column-indicator
2142 (package
2143 (name "emacs-fill-column-indicator")
2144 (version "1.89")
2145 (source
2146 (origin
2147 (method url-fetch)
2148 (uri (string-append "https://github.com/alpaker/Fill-Column-Indicator"
2149 "/archive/v" version ".tar.gz"))
2150 (file-name (string-append name "-" version ".tar.gz"))
2151 (sha256
2152 (base32
2153 "09ab01np14bdcsr38xf95kpnvxzqr46mdjmphg3pigwnx39a3jvg"))))
2154 (build-system emacs-build-system)
2155 (home-page "https://www.emacswiki.org/emacs/FillColumnIndicator")
2156 (synopsis "Graphically indicate the fill column")
2157 (description
2158 "Fill-column-indicator graphically indicates the location of the fill
2159column by drawing a thin line down the length of the editing window.")
2160 (license license:gpl3+)))
2161
2162(define-public emacs-grep-a-lot
2163 (package
2164 (name "emacs-grep-a-lot")
2165 (version "1.0.7")
2166 (source (origin
2167 (method git-fetch)
2168 (uri (git-reference
2169 (url "https://github.com/ZungBang/emacs-grep-a-lot.git")
2170 (commit "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad")))
2171 (file-name (string-append name "-" version "-checkout"))
2172 (sha256
2173 (base32
2174 "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw"))))
2175 (build-system emacs-build-system)
2176 (home-page "https://github.com/ZungBang/emacs-grep-a-lot")
2177 (synopsis "Enables multiple grep buffers in Emacs")
2178 (description
2179 "This Emacs package allows managing multiple grep buffers.")
2180 (license license:gpl3+)))
2181
2182(define-public emacs-inf-ruby
2183 (package
2184 (name "emacs-inf-ruby")
2185 (version "2.5.1")
2186 (source
2187 (origin
2188 (method url-fetch)
2189 (uri (string-append "https://github.com/nonsequitur/inf-ruby/"
2190 "archive/" version ".tar.gz"))
2191 (file-name (string-append name "-" version ".tar.gz"))
2192 (sha256
2193 (base32
2194 "0m7323k649ckxql1grsdnf71bjhys7l4qb8wbpphb1mr1q8i4066"))))
2195 (build-system emacs-build-system)
2196 (home-page "https://github.com/nonsequitur/inf-ruby")
2197 (synopsis "Provides a REPL buffer connected to a Ruby subprocess in Emacs")
2198 (description
2199 "@code{inf-ruby} provides a Read Eval Print Loop (REPL) buffer, allowing
2200for easy interaction with a ruby subprocess. Features include support for
2201detecting specific uses of Ruby, e.g. when using rails, and using a
2202appropriate console.")
2203 (license license:gpl3+)))
2204
2205(define-public emacs-znc
2206 (package
2207 (name "emacs-znc")
2208 (version "0.0.2")
2209 (source
2210 (origin
2211 (method url-fetch)
2212 (uri (string-append "https://marmalade-repo.org/packages/znc-"
2213 version ".el"))
2214 (sha256
2215 (base32
2216 "1d8lqvybgyazin5z0g1c4l3rg1vzrrvf0saqs53jr1zcdg0lianh"))))
2217 (build-system emacs-build-system)
2218 (home-page "https://github.com/sshirokov/ZNC.el")
2219 (synopsis "Make ERC and ZNC get along better")
2220 (description
2221 "This is a thin wrapper around @code{erc} that enables one to use the ZNC
2222IRC bouncer with ERC.")
2223 (license license:expat)))
2224
2225(define-public emacs-shut-up
2226 (package
2227 (name "emacs-shut-up")
2228 (version "0.3.2")
2229 (source
2230 (origin
2231 (method url-fetch)
2232 (uri (string-append "https://github.com/cask/shut-up/"
2233 "archive/v" version ".tar.gz"))
2234 (file-name (string-append name "-" version ".tar.gz"))
2235 (sha256
2236 (base32
2237 "09kzrjdkb569iviyg7ydwq44yh84m3f9hkl7jizfrlk0w4gz67d1"))))
2238 (build-system emacs-build-system)
2239 (home-page "https://github.com/cask/shut-up")
2240 (synopsis "Silence Emacs")
2241 (description "This package silences most output of Emacs when running an
2242Emacs shell script.")
2243 (license license:expat)))
2244
2245(define-public emacs-undercover
2246 (package
2247 (name "emacs-undercover")
2248 (version "0.6.0")
2249 (source
2250 (origin
2251 (method url-fetch)
2252 (uri (string-append "https://github.com/sviridov/undercover.el/"
2253 "archive/v" version ".tar.gz"))
2254 (file-name (string-append name "-" version ".tar.gz"))
2255 (sha256
2256 (base32
2257 "0f48fi0xnbsqs382rgh85m9mq1wdnr0yib7as9xhwzvq0hsr5m0a"))))
2258 (build-system emacs-build-system)
2259 (propagated-inputs
2260 `(("emacs-dash" ,emacs-dash)
2261 ("emacs-shut-up" ,emacs-shut-up)))
2262 (home-page "https://github.com/sviridov/undercover.el")
2263 (synopsis "Test coverage library for Emacs Lisp")
2264 (description
2265 "Undercover is a test coverage library for software written in Emacs
2266Lisp.")
2267 (license license:expat)))
2268
2269(define-public emacs-paren-face
2270 (package
2271 (name "emacs-paren-face")
2272 (version "1.0.0")
2273 (source
2274 (origin
2275 (method url-fetch)
2276 (uri (string-append "https://github.com/tarsius/paren-face/archive/"
2277 version ".tar.gz"))
2278 (file-name (string-append name "-" version ".tar.gz"))
2279 (sha256
2280 (base32
2281 "0y4qrhxa9332vsvr999jg7qj1ymnfgwpf591yi4a4jgg90pm7qnn"))))
2282 (build-system emacs-build-system)
2283 (home-page "https://github.com/tarsius/paren-face")
2284 (synopsis "Face for parentheses in lisp modes")
2285 (description
2286 "This library defines a face named @code{parenthesis} used just for
2287parentheses. The intended purpose of this face is to make parentheses less
2288visible in Lisp code by dimming them. Lispers probably don't need to be
2289constantly made aware of the existence of the parentheses. Dimming them might
2290be even more useful for people new to lisp who have not yet learned to
2291subconsciously blend out the parentheses.")
2292 (license license:gpl3+)))
2293
2294(define-public emacs-page-break-lines
2295 (package
2296 (name "emacs-page-break-lines")
2297 (version "0.11")
2298 (source
2299 (origin
2300 (method url-fetch)
2301 (uri (string-append "https://github.com/purcell/page-break-lines/"
2302 "archive/" version ".tar.gz"))
2303 (file-name (string-append name "-" version ".tar.gz"))
2304 (sha256
2305 (base32
2306 "1zzhziq5kbrm9rxk30kx2glz455fp1blqxg8cpcf6l8xl3w8z4pg"))))
2307 (build-system emacs-build-system)
2308 (home-page "https://github.com/purcell/page-break-lines")
2309 (synopsis "Display page breaks as tidy horizontal lines")
2310 (description
2311 "This library provides a global mode which displays form feed characters
2312as horizontal rules.")
2313 (license license:gpl3+)))
2314
2315(define-public emacs-simple-httpd
2316 (package
2317 (name "emacs-simple-httpd")
2318 (version "1.4.6")
2319 (source
2320 (origin
2321 (method url-fetch)
2322 (uri (string-append "https://github.com/skeeto/emacs-web-server/"
2323 "archive/" version ".tar.gz"))
2324 (file-name (string-append name "-" version ".tar.gz"))
2325 (sha256
2326 (base32
2327 "01r7h3imnj4qx1m53a2wjafvbylcyz5f9r2rg2cs7ky3chlg220r"))))
2328 (build-system emacs-build-system)
2329 (home-page "https://github.com/skeeto/emacs-http-server")
2330 (synopsis "HTTP server in pure Emacs Lisp")
2331 (description
2332 "This package provides a simple HTTP server written in Emacs Lisp to
2333serve files and directory listings.")
2334 (license license:unlicense)))
2335
2336(define-public emacs-skewer-mode
2337 (package
2338 (name "emacs-skewer-mode")
2339 (version "1.6.2")
2340 (source
2341 (origin
2342 (method url-fetch)
2343 (uri (string-append "https://github.com/skeeto/skewer-mode/archive/"
2344 version ".tar.gz"))
2345 (file-name (string-append name "-" version ".tar.gz"))
2346 (sha256
2347 (base32
2348 "07jpz374j0j964szy3zznrkyja2kpdl3xa87wh7349mzxivqxdx0"))))
2349 (build-system emacs-build-system)
2350 (propagated-inputs
2351 `(("emacs-simple-httpd" ,emacs-simple-httpd)
2352 ("emacs-js2-mode" ,emacs-js2-mode)))
2353 (arguments '(#:include '("\\.el$" "\\.js$" "\\.html$")))
2354 (home-page "https://github.com/skeeto/skewer-mode")
2355 (synopsis "Live web development in Emacs")
2356 (description
2357 "Skewer-mode provides live interaction with JavaScript, CSS, and HTML in
2358a web browser. Expressions are sent on-the-fly from an editing buffer to be
2359evaluated in the browser, just like Emacs does with an inferior Lisp process
2360in Lisp modes.")
2361 (license license:unlicense)))
2362
2363(define-public emacs-string-inflection
2364 (package
2365 (name "emacs-string-inflection")
2366 (version "1.0.6")
2367 (source (origin
2368 (method git-fetch)
2369 (uri (git-reference
2370 (url "https://github.com/akicho8/string-inflection")
2371 (commit "a150e7bdda60b7824d3a936750ce23f73b0e4edd")))
2372 (file-name (string-append name "-" version "-checkout"))
2373 (sha256
2374 (base32
2375 "1k0sm552iawi49v4zis6dbb81d1rzgky9v0dpv7nj31gnb7bmy7k"))))
2376 (build-system emacs-build-system)
2377 (native-inputs
2378 `(("ert-runner" ,emacs-ert-runner)))
2379 (arguments
2380 `(#:tests? #t
2381 #:test-command '("ert-runner")))
2382 (home-page "https://github.com/akicho8/string-inflection")
2383 (synopsis "Convert symbol names between different naming conventions")
2384 (description
2385 "This Emacs package provides convenient methods for manipulating the
2386naming style of a symbol. It supports different naming conventions such as:
2387
2388@enumerate
2389@item camel case
2390@item Pascal case
2391@item all upper case
2392@item lower case separated by underscore
2393@item etc...
2394@end enumerate\n")
2395 (license license:gpl2+)))
2396
2397(define-public emacs-stripe-buffer
2398 (package
2399 (name "emacs-stripe-buffer")
2400 (version "0.2.5")
2401 (source
2402 (origin
2403 (method url-fetch)
2404 (uri (string-append "https://github.com/sabof/stripe-buffer/"
2405 "archive/" version ".tar.gz"))
2406 (file-name (string-append name "-" version ".tar.gz"))
2407 (sha256
2408 (base32
2409 "1p515dq7raly5hw94kiwm3vzsfih0d8af622q4ipvvljsm98aiik"))))
2410 (build-system emacs-build-system)
2411 (home-page "https://github.com/sabof/stripe-buffer/")
2412 (synopsis "Add stripes to list buffers")
2413 (description
2414 "This Emacs package adds faces to add stripes to list buffers and org
2415tables.")
2416 (license license:gpl2+)))
2417
2418(define-public emacs-rich-minority
2419 (package
2420 (name "emacs-rich-minority")
2421 (version "1.0.1")
2422 (source
2423 (origin
2424 (method url-fetch)
2425 (uri (string-append "https://github.com/Malabarba/rich-minority/"
2426 "archive/" version ".tar.gz"))
2427 (file-name (string-append name "-" version ".tar.gz"))
2428 (sha256
2429 (base32
2430 "1l0cb0q7kyi88nwfqd542psnkgwnjklpzc5rx32gzd3lkwkrbr8v"))))
2431 (build-system emacs-build-system)
2432 (home-page "https://github.com/Malabarba/rich-minority")
2433 (synopsis "Clean-up and beautify the list of minor modes")
2434 (description
2435 "This Emacs package hides and/or highlights minor modes in the
2436mode-line.")
2437 (license license:gpl2+)))
2438
2439(define-public emacs-robe
2440 (package
2441 (name "emacs-robe")
2442 (version "0.8.1")
2443 (source
2444 (origin
2445 (method url-fetch)
2446 (uri (string-append "https://github.com/dgutov/robe/"
2447 "archive/" version ".tar.gz"))
2448 (file-name (string-append name "-" version ".tar.gz"))
2449 (sha256
2450 (base32
2451 "1vp45y99fwj88z04ah4yppz4z568qcib646az6m9az5ar0f203br"))))
2452 (build-system emacs-build-system)
2453 (arguments
2454 '(#:include (cons "^lib\\/" %default-include)))
2455 (propagated-inputs
2456 `(("emacs-inf-ruby" ,emacs-inf-ruby)))
2457 (home-page "https://github.com/dgutov/robe")
2458 (synopsis "Ruby code assistance tool for Emacs")
2459 (description
2460 "Robe can provide information on loaded classes and modules in Ruby code,
2461as well as where methods are defined. This allows the user to jump to method
2462definitions, modules and classes, display method documentation and provide
2463method and constant name completion.")
2464 (license license:gpl3+)))
2465
2466(define-public emacs-rspec
2467 (package
2468 (name "emacs-rspec")
2469 (version "1.11")
2470 (source
2471 (origin
2472 (method url-fetch)
2473 (uri (string-append "https://github.com/pezra/rspec-mode/"
2474 "archive/v" version ".tar.gz"))
2475 (file-name (string-append name "-" version ".tar.gz"))
2476 (sha256
2477 (base32
2478 "1j0a7ms5516nlg60qfyn730pfxys6acm0rgyxh5xfkpi6jafgpvw"))))
2479 (build-system emacs-build-system)
2480 (home-page "https://github.com/pezra/rspec-mode")
2481 (synopsis "Provides a rspec mode for working with RSpec")
2482 (description
2483 "The Emacs RSpec mode provides keybindings for Ruby source files, e.g. to
2484verify the spec associated with the current buffer, or entire project, as well
2485as moving between the spec files, and coresponding code files.
2486
2487Also included are keybindings for spec files and Dired buffers, as well as
2488snippets for yasnippet.")
2489 (license license:gpl3+)))
2490
2491(define-public emacs-smart-mode-line
2492 (package
2493 (name "emacs-smart-mode-line")
2494 (version "2.12.0")
2495 (source
2496 (origin
2497 (method url-fetch)
2498 (uri (string-append "https://github.com/Malabarba/smart-mode-line/"
2499 "archive/" version ".tar.gz"))
2500 (file-name (string-append name "-" version ".tar.gz"))
2501 (sha256
2502 (base32
2503 "1hn8s6laijmg7w1bgwdfrki6h9vxkbgr8rmmssvd5yqyad5w2sba"))))
2504 (build-system emacs-build-system)
2505 (propagated-inputs
2506 `(("emacs-rich-minority" ,emacs-rich-minority)))
2507 (home-page "https://github.com/Malabarba/smart-mode-line")
2508 (synopsis "Color-coded smart mode-line")
2509 (description
2510 "Smart Mode Line is a mode-line theme for Emacs. It aims to be easy to
2511read from small to large monitors by using colors, a prefix feature, and smart
2512truncation.")
2513 (license license:gpl2+)))
2514
2515(define-public emacs-sr-speedbar
2516 (let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
2517 (revision "0"))
2518 (package
2519 (name "emacs-sr-speedbar")
2520 (version (git-version "20161025" revision commit))
2521 (source
2522 (origin
2523 (method git-fetch)
2524 (uri (git-reference
2525 (url "https://github.com/emacsorphanage/sr-speedbar.git")
2526 (commit commit)))
2527 (file-name (git-file-name name version))
2528 (sha256
2529 (base32
2530 "0sd12555hk7z721y00kv3crdybvcn1i08wmd148z5imayzibj153"))))
2531 (build-system emacs-build-system)
2532 (home-page "https://www.emacswiki.org/emacs/SrSpeedbar")
2533 (synopsis "Same frame Emacs @code{speedbar}")
2534 (description
2535 "This Emacs package allows you to show @code{M-x speedbar} in the
2536same frame (in an extra window). You can customize the initial width of
2537the speedbar window.")
2538 (license license:gpl3+))))
2539
2540(define-public emacs-shell-switcher
2541 (package
2542 (name "emacs-shell-switcher")
2543 (version "1.0.1")
2544 (source
2545 (origin
2546 (method url-fetch)
2547 (uri (string-append "https://github.com/DamienCassou/shell-switcher"
2548 "/archive/v" version ".tar.gz"))
2549 (file-name (string-append name "-" version ".tar.gz"))
2550 (sha256
2551 (base32
2552 "1c23mfkdqz2g9rixd9smm323vzlvhzz3ng34ambcqjfq309qb2nz"))))
2553 (build-system emacs-build-system)
2554 (home-page "https://github.com/DamienCassou/shell-switcher")
2555 (synopsis "Provide fast switching between shell buffers")
2556 (description
2557 "This package provides commands to quickly switch between shell buffers.")
2558 (license license:gpl3+)))
2559
2560(define-public emacs-ob-ipython
2561 (package
2562 (name "emacs-ob-ipython")
2563 (version "20150704.8807064693")
2564 (source (origin
2565 (method git-fetch)
2566 (uri (git-reference
2567 (commit "880706469338ab59b5bb7dbe8460016f89755364")
2568 (url "https://github.com/gregsexton/ob-ipython.git")))
2569 (file-name (string-append name "-" version "-checkout"))
2570 (sha256
2571 (base32
2572 "1scf25snbds9ymagpny30ijbsg479r3nm0ih01dy4m9d0g7qryb7"))))
2573 (build-system emacs-build-system)
2574 (propagated-inputs
2575 `(("emacs-f" ,emacs-f)))
2576 (home-page "http://www.gregsexton.org")
2577 (synopsis "Org-Babel functions for IPython evaluation")
2578 (description "This package adds support to Org-Babel for evaluating Python
2579source code using IPython.")
2580 (license license:gpl3+)))
2581
2582(define-public emacs-debbugs
2583 (package
2584 (name "emacs-debbugs")
2585 (version "0.16")
2586 (source (origin
2587 (method url-fetch)
2588 (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
2589 version ".tar"))
2590 (sha256
2591 (base32
2592 "0y3bq803c7820h15g66d1648skxfhlfa2v6vincj6xk5ssp44s9p"))))
2593 (build-system emacs-build-system)
2594 (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
2595 (propagated-inputs
2596 `(("emacs-async" ,emacs-async)))
2597 (home-page "https://elpa.gnu.org/packages/debbugs.html")
2598 (synopsis "Access the Debbugs bug tracker in Emacs")
2599 (description
2600 "This package lets you access the @uref{http://bugs.gnu.org,GNU Bug
2601Tracker} from within Emacs.
2602
2603For instance, it defines the command @code{M-x debbugs-gnu} for listing bugs,
2604and the command @code{M-x debbugs-gnu-search} for bug searching. If you
2605prefer the listing of bugs as TODO items of @code{org-mode}, you could use
2606@code{M-x debbugs-org} and related commands.
2607
2608A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
2609Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
2610 (license license:gpl3+)))
2611
2612(define-public emacs-ert-expectations
2613 (package
2614 (name "emacs-ert-expectations")
2615 (version "0.2")
2616 (source
2617 (origin
2618 (method url-fetch)
2619 (uri "https://www.emacswiki.org/emacs/download/ert-expectations.el")
2620 (sha256
2621 (base32
2622 "0cwy3ilsid90abzzjb7ha2blq9kmv3gfp3icwwfcz6qczgirq6g7"))))
2623 (build-system emacs-build-system)
2624 (home-page "https://www.emacswiki.org/emacs/ert-expectations.el")
2625 (synopsis "Simple unit test framework for Emacs Lisp")
2626 (description "@code{emacs-ert-expectations} is a simple unit test
2627framework for Emacs Lisp to be used with @code{ert}.")
2628 (license license:gpl3+)))
2629
2630(define-public emacs-deferred
2631 (package
2632 (name "emacs-deferred")
2633 (version "0.5.1")
2634 (home-page "https://github.com/kiwanami/emacs-deferred")
2635 (source (origin
2636 (method git-fetch)
2637 (uri (git-reference
2638 (url home-page)
2639 (commit (string-append "v" version))))
2640 (sha256
2641 (base32
2642 "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h"))
2643 (file-name (string-append name "-" version))))
2644 (build-system emacs-build-system)
2645 (arguments
2646 `(#:phases
2647 (modify-phases %standard-phases
2648 (add-after 'unpack 'set-shell
2649 ;; Setting the SHELL environment variable is required for the tests
2650 ;; to find sh.
2651 (lambda _
2652 (setenv "SHELL" (which "sh"))
2653 #t))
2654 (add-before 'check 'fix-makefile
2655 (lambda _
2656 (substitute* "Makefile"
2657 (("\\$\\(CASK\\) exec ") ""))
2658 #t)))
2659 #:tests? #t
2660 #:test-command '("make" "test")))
2661 (native-inputs
2662 `(("emacs-ert-expectations" ,emacs-ert-expectations)
2663 ("emacs-undercover" ,emacs-undercover)
2664 ("ert-runner" ,emacs-ert-runner)))
2665 (synopsis "Simple asynchronous functions for Emacs Lisp")
2666 (description
2667 "The @code{deferred.el} library provides support for asynchronous tasks.
2668The API is almost the same as that of
2669@uref{https://github.com/cho45/jsdeferred, JSDeferred}, a JavaScript library
2670for asynchronous tasks.")
2671 (license license:gpl3+)))
2672
2673(define-public emacs-butler
2674 (package
2675 (name "emacs-butler")
2676 (version "0.2.4")
2677 (home-page "https://github.com/AshtonKem/Butler")
2678 (source (origin
2679 (method git-fetch)
2680 (uri (git-reference
2681 (url home-page)
2682 (commit version)))
2683 (sha256
2684 (base32
2685 "1pii9dw4skq7nr4na6qxqasl36av8cwjp71bf1fgppqpcd9z8skj"))
2686 (file-name (string-append name "-" version))))
2687 (build-system emacs-build-system)
2688 (propagated-inputs
2689 `(("emacs-deferred" ,emacs-deferred)))
2690 (synopsis "Emacs client for Jenkins")
2691 (description
2692 "Butler provides an interface to connect to Jenkins continuous
2693integration servers. Users can specify a list of server in the
2694@code{butler-server-list} variable and then use @code{M-x butler-status} to
2695view the build status of those servers' build jobs, and possibly to trigger
2696build jobs.")
2697 (license license:gpl3+)))
2698
2699(define-public emacs-company
2700 (package
2701 (name "emacs-company")
2702 (version "0.9.7")
2703 (source
2704 (origin
2705 (method url-fetch)
2706 (uri (string-append "https://github.com/company-mode/company-mode/archive/"
2707 version ".tar.gz"))
2708 (file-name (string-append name "-" version ".tar.gz"))
2709 (sha256
2710 (base32
2711 "19flv38f2qhxda8lbk2ckywvibd72vbzmn4hchqz6d8acsknh4sb"))))
2712 (build-system emacs-build-system)
2713 (arguments
2714 `(#:phases
2715 (modify-phases %standard-phases
2716 (add-before 'check 'fix-bin-dir
2717 (lambda _
2718 ;; The company-files-candidates-normal-root test looks
2719 ;; for the /bin directory, but the build environment has
2720 ;; no /bin directory. Modify the test to look for the
2721 ;; /tmp directory.
2722 (substitute* "test/files-tests.el"
2723 (("/bin/") "/tmp/"))
2724 #t)))
2725 #:tests? #t
2726 #:test-command '("make" "test-batch")))
2727 (home-page "http://company-mode.github.io/")
2728 (synopsis "Modular text completion framework")
2729 (description
2730 "Company is a modular completion mechanism. Modules for retrieving
2731completion candidates are called back-ends, modules for displaying them are
2732front-ends. Company comes with many back-ends, e.g. @code{company-elisp}.
2733These are distributed in separate files and can be used individually.")
2734 (license license:gpl3+)))
2735
2736(define-public emacs-irony-mode
2737 (package
2738 (name "emacs-irony-mode")
2739 (version "1.2.0")
2740 (home-page "https://github.com/Sarcasm/irony-mode")
2741 (source (origin
2742 (method git-fetch)
2743 (uri (git-reference
2744 (url (string-append home-page ".git"))
2745 (commit (string-append "v" version))))
2746 (sha256
2747 (base32
2748 "0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8"))
2749 (file-name (string-append name "-" version ".tar.gz"))))
2750 (build-system emacs-build-system)
2751 (inputs `(("server" ,emacs-irony-mode-server)))
2752 (arguments `(#:phases
2753 (modify-phases %standard-phases
2754 (add-after 'unpack 'configure
2755 (lambda* (#:key inputs #:allow-other-keys)
2756 (chmod "irony.el" #o644)
2757 (emacs-substitute-variables "irony.el"
2758 ("irony-server-install-prefix"
2759 (assoc-ref inputs "server")))
2760 #t)))))
2761 (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
2762 (description "Irony-mode provides Clang-assisted syntax checking and
2763completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can
2764provide syntax checking and autocompletion on compiler level which is very
2765resistent against false positives. It also integrates well with other
2766packages like @code{eldoc-mode} and especially @code{company-mode} as
2767described on the homepage.")
2768 (license license:gpl3+)))
2769
2770(define-public emacs-irony-mode-server
2771 (package (inherit emacs-irony-mode)
2772 (name "emacs-irony-mode-server")
2773 (inputs
2774 `(("clang" ,clang)))
2775 (arguments
2776 `(#:phases
2777 (modify-phases %standard-phases
2778 (replace 'configure
2779 (lambda* (#:key outputs #:allow-other-keys)
2780 (let ((out (assoc-ref outputs "out")))
2781 (invoke "cmake"
2782 "server"
2783 (string-append "-DCMAKE_INSTALL_PREFIX=" out)) #t))))))
2784 (build-system cmake-build-system)
2785 (synopsis "Server for the Emacs @dfn{irony mode}")))
2786
2787(define-public emacs-company-irony
2788 (package
2789 (name "emacs-company-irony")
2790 (version "1.1.0")
2791 (source (origin
2792 (method git-fetch)
2793 (uri (git-reference
2794 (url "https://github.com/Sarcasm/company-irony.git")
2795 (commit (string-append "v" version))))
2796 (sha256 (base32
2797 "1qgyam2vyjw90kpxns5cd6bq3qiqjhzpwrlvmi18vyb69qcgqd8a"))
2798 (file-name (git-file-name name version))))
2799 (build-system emacs-build-system)
2800 (inputs
2801 `(("emacs-irony-mode" ,emacs-irony-mode)
2802 ("emacs-company" ,emacs-company)))
2803 (synopsis "C++ completion backend for Company using irony-mode")
2804 (description "This backend for company-mode allows for C++ code completion
2805with irony-mode using clang-tooling.")
2806 (home-page "https://github.com/Sarcasm/company-irony")
2807 (license license:gpl3+)))
2808
2809(define-public emacs-flycheck-irony
2810 (package
2811 (name "emacs-flycheck-irony")
2812 (version "0.1.0")
2813 (source (origin
2814 (method git-fetch)
2815 (uri (git-reference
2816 (url "https://github.com/Sarcasm/flycheck-irony.git")
2817 (commit (string-append "v" version))))
2818 (sha256
2819 (base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996"))
2820 (file-name (string-append name "-" version))))
2821 (build-system emacs-build-system)
2822 (inputs
2823 `(("irony-mode" ,emacs-irony-mode)
2824 ("flycheck-mode" ,emacs-flycheck)
2825 ("emacs-company" ,emacs-company)))
2826 (synopsis "Live syntax checking frontend for Flycheck using irony-mode")
2827 (description "This package provides a frontend for Flycheck that lets
2828irony-mode do the syntax checking.")
2829 (home-page "https://github.com/Sarcasm/flycheck-irony")
2830 (license license:gpl3+)))
2831
2832(define-public emacs-irony-eldoc
2833 (package
2834 (name "emacs-irony-eldoc")
2835 (version (package-version emacs-irony-mode))
2836 (source
2837 (origin
2838 (method git-fetch)
2839 (uri (git-reference
2840 (url "https://github.com/ikirill/irony-eldoc.git")
2841 (commit "0df5831eaae264a25422b061eb2792aadde8b3f2")))
2842 (sha256 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd"))
2843 (file-name (string-append name "-" version))))
2844 (build-system emacs-build-system)
2845 (inputs
2846 `(("irony-mode" ,emacs-irony-mode)))
2847 (synopsis "Eldoc integration for irony-mode")
2848 (description "Irony-eldoc is an eldoc extension that shows documentation
2849for the current function or variable in the minibuffer.")
2850 (home-page "https://github.com/ikirill/irony-eldoc")
2851 (license license:gpl3+)))
2852
2853(define-public emacs-company-quickhelp
2854 (package
2855 (name "emacs-company-quickhelp")
2856 (version "2.3.0")
2857 (source
2858 (origin
2859 (method url-fetch)
2860 (uri (string-append
2861 "https://github.com/expez/company-quickhelp/archive/"
2862 version ".tar.gz"))
2863 (file-name (string-append name "-" version ".tar.gz"))
2864 (sha256
2865 (base32
2866 "0xrn2z1dgk5gmkmp2jkn9g83ckk39lqp5pyyv8rl7f6gqvib3qh0"))))
2867 (build-system emacs-build-system)
2868 (propagated-inputs
2869 `(("emacs-pos-tip" ,emacs-pos-tip)
2870 ("emacs-company" ,emacs-company)))
2871 (home-page "https://github.com/expez/company-quickhelp")
2872 (synopsis "Popup documentation for completion candidates")
2873 (description "@code{company-quickhelp} shows documentation for the
2874completion candidate when using the Company text completion framework.")
2875 (license license:gpl3+)))
2876
2877(define-public emacs-multiple-cursors
2878 (package
2879 (name "emacs-multiple-cursors")
2880 (version "1.4.0")
2881 (source
2882 (origin
2883 (method url-fetch)
2884 (uri (string-append "https://github.com/magnars/multiple-cursors.el/"
2885 "archive/" version ".tar.gz"))
2886 (file-name (string-append name "-" version ".tar.gz"))
2887 (sha256
2888 (base32
2889 "0hihihlvcvzayg5fnqzcg45fhvlmq6xlq58syy00rjwbry9w389k"))))
2890 (build-system emacs-build-system)
2891 (home-page "https://github.com/magnars/multiple-cursors.el")
2892 (synopsis "Multiple cursors for Emacs")
2893 (description
2894 "This package adds support to Emacs for editing text with multiple
2895simultaneous cursors.")
2896 (license license:gpl3+)))
2897
2898(define-public emacs-typo
2899 (package
2900 (name "emacs-typo")
2901 (version "1.1")
2902 (home-page "https://github.com/jorgenschaefer/typoel")
2903 (source (origin
2904 (method git-fetch)
2905 (uri (git-reference
2906 (url home-page)
2907 (commit (string-append "v" version))))
2908 (sha256
2909 (base32
2910 "1jhd4grch5iz12gyxwfbsgh4dmz5hj4bg4gnvphccg8dsnni05k2"))
2911 (file-name (string-append name "-" version))))
2912 (build-system emacs-build-system)
2913 (synopsis "Minor mode for typographic editing")
2914 (description
2915 "This package provides two Emacs modes, @code{typo-mode} and
2916@code{typo-global-mode}. These modes automatically insert Unicode characters
2917for quotation marks, dashes, and ellipses. For example, typing @kbd{\"}
2918automatically inserts a Unicode opening or closing quotation mark, depending
2919on context.")
2920 (license license:gpl3+)))
2921
2922(define-public emacs-scheme-complete
2923 (let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5"))
2924 (package
2925 (name "emacs-scheme-complete")
2926 (version (string-append "20151223." (string-take commit 8)))
2927 (source
2928 (origin
2929 (file-name (string-append name "-" version))
2930 (method git-fetch)
2931 (uri (git-reference
2932 (url "https://github.com/ashinn/scheme-complete.git")
2933 (commit commit)))
2934 (sha256
2935 (base32
2936 "141wn9l0m33w0g3dqmx8nxbfdny1r5xbr6ak61rsz21bk0qafs7x"))
2937 (patches
2938 (search-patches "emacs-scheme-complete-scheme-r5rs-info.patch"))))
2939 (build-system emacs-build-system)
2940 (home-page "https://github.com/ashinn/scheme-complete")
2941 (synopsis "Smart tab completion for Scheme in Emacs")
2942 (description
2943 "This file provides a single function, @code{scheme-smart-complete},
2944which you can use for intelligent, context-sensitive completion for any Scheme
2945implementation in Emacs. To use it just load this file and bind that function
2946to a key in your preferred mode.")
2947 (license license:public-domain))))
2948
2949(define-public emacs-scel
2950 (let ((version "20170629")
2951 (revision "1")
2952 (commit "aeea3ad4be9306d14c3a734a4ff54fee10ac135b"))
2953 (package
2954 (name "emacs-scel")
2955 (version (git-version version revision commit))
2956 (source
2957 (origin
2958 (method git-fetch)
2959 (uri (git-reference
2960 (url "https://github.com/supercollider/scel.git")
2961 (commit commit)))
2962 (file-name (string-append name "-" version "-checkout"))
2963 (sha256
2964 (base32
2965 "0jvmzs1lsjyndqshhii2y4mnr3wghai26i3p75453zrpxpg0zvvw"))))
2966 (build-system emacs-build-system)
2967 (arguments
2968 `(#:modules ((guix build emacs-build-system)
2969 ((guix build cmake-build-system) #:prefix cmake:)
2970 (guix build utils))
2971 #:imported-modules (,@%emacs-build-system-modules
2972 (guix build cmake-build-system))
2973 #:phases
2974 (modify-phases %standard-phases
2975 (add-after 'unpack 'configure
2976 (lambda* (#:key outputs #:allow-other-keys)
2977 (substitute* "el/CMakeLists.txt"
2978 (("share/emacs/site-lisp/SuperCollider")
2979 (string-append
2980 "share/emacs/site-lisp/guix.d/scel-" ,version)))
2981 ((assoc-ref cmake:%standard-phases 'configure)
2982 #:outputs outputs
2983 #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF"))))
2984 (add-after 'set-emacs-load-path 'add-el-dir-to-emacs-load-path
2985 (lambda _
2986 (setenv "EMACSLOADPATH"
2987 (string-append (getcwd) "/el:" (getenv "EMACSLOADPATH")))
2988 #t))
2989 (replace 'install (assoc-ref cmake:%standard-phases 'install)))))
2990 (inputs
2991 `(("supercollider" ,supercollider)))
2992 (native-inputs
2993 `(("cmake" ,cmake)))
2994 (home-page "https://github.com/supercollider/scel")
2995 (synopsis "SuperCollider Emacs interface")
2996 (description "@code{emacs-scel} is an Emacs interface to SuperCollider.
2997SuperCollider is a platform for audio synthesis and algorithmic composition.")
2998 (license license:gpl2+))))
2999
3000(define-public emacs-mit-scheme-doc
3001 (package
3002 (name "emacs-mit-scheme-doc")
3003 (version "20140203")
3004 (source
3005 (origin
3006 (modules '((guix build utils)))
3007 (snippet
3008 ;; keep only file of interest
3009 '(begin
3010 (for-each delete-file '("dot-emacs.el" "Makefile"))
3011 (install-file "6.945-config/mit-scheme-doc.el" ".")
3012 (delete-file-recursively "6.945-config")
3013 #t))
3014 (file-name (string-append name "-" version ".tar.bz2"))
3015 (method url-fetch)
3016 (uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/"
3017 "6.945/dont-panic/emacs-basic-config.tar.bz2"))
3018 (sha256
3019 (base32
3020 "0dqidg2bd66pawqfarvwca93w5gqf9mikn1k2a2rmd9ymfjpziq1"))))
3021 (build-system emacs-build-system)
3022 (inputs `(("mit-scheme" ,mit-scheme)))
3023 (arguments
3024 `(#:phases
3025 (modify-phases %standard-phases
3026 (add-after 'unpack 'configure-doc
3027 (lambda* (#:key inputs #:allow-other-keys)
3028 (let* ((mit-scheme-dir (assoc-ref inputs "mit-scheme"))
3029 (doc-dir (string-append mit-scheme-dir "/share/doc/"
3030 "mit-scheme-"
3031 ,(package-version mit-scheme))))
3032 (substitute* "mit-scheme-doc.el"
3033 (("http://www\\.gnu\\.org/software/mit-scheme/documentation/mit-scheme-ref/")
3034 (string-append "file:" doc-dir "/mit-scheme-ref/")))))))))
3035 (home-page "http://groups.csail.mit.edu/mac/users/gjs/6.945/dont-panic/")
3036 (synopsis "MIT-Scheme documentation lookup for Emacs")
3037 (description
3038 "This package provides a set of Emacs functions to search definitions of
3039identifiers in the MIT-Scheme documentation.")
3040 (license license:gpl2+)))
3041
3042(define-public emacs-constants
3043 (package
3044 (name "emacs-constants")
3045 (version "2.6")
3046 (home-page "https://staff.fnwi.uva.nl/c.dominik/Tools/constants")
3047 (source
3048 (origin
3049 (file-name (string-append name "-" version ".tar.gz"))
3050 (method url-fetch)
3051 (uri (string-append "https://github.com/fedeinthemix/emacs-constants"
3052 "/archive/v" version ".tar.gz"))
3053 (sha256
3054 (base32
3055 "0pnrpmmxq8mh5h2hbrp5vcym0j0fh6dv3s7c5ccn18wllhzg9g7n"))))
3056 (build-system emacs-build-system)
3057 (synopsis "Enter definition of constants into an Emacs buffer")
3058 (description
3059 "This package provides functions for inserting the definition of natural
3060constants and units into an Emacs buffer.")
3061 (license license:gpl2+)))
3062
3063(define-public emacs-tagedit
3064 (package
3065 (name "emacs-tagedit")
3066 (version "1.4.0")
3067 (source
3068 (origin
3069 (method url-fetch)
3070 (uri (string-append "https://github.com/magnars/tagedit/"
3071 "archive/" version ".tar.gz"))
3072 (file-name (string-append name "-" version ".tar.gz"))
3073 (sha256
3074 (base32
3075 "1apfnann4qklfdsmdi7icjsj18x7gwx8d83iqr4z25clszz95xfq"))))
3076 (build-system emacs-build-system)
3077 (propagated-inputs
3078 `(("emacs-s" ,emacs-s)
3079 ("emacs-dash" ,emacs-dash)))
3080 (home-page "https://github.com/magnars/tagedit")
3081 (synopsis "Some paredit-like features for html-mode")
3082 (description
3083 "This package provides a collection of paredit-like functions for editing
3084in @code{html-mode}.")
3085 (license license:gpl3+)))
3086
3087(define-public emacs-slime
3088 (package
3089 (name "emacs-slime")
c4e4b853 3090 (version "2.23")
eeb883cb
RW
3091 (source
3092 (origin
3093 (file-name (string-append name "-" version ".tar.gz"))
3094 (method url-fetch)
3095 (uri (string-append
3096 "https://github.com/slime/slime/archive/v"
3097 version ".tar.gz"))
3098 (sha256
3099 (base32
c4e4b853 3100 "01gkrqfpifcx1vipwrbhns2r4s8izp3z1w4p41azc943s1a2d5nc"))))
eeb883cb
RW
3101 (build-system emacs-build-system)
3102 (native-inputs
3103 `(("texinfo" ,texinfo)))
3104 (arguments
3105 `(#:include '("\\.el$" "\\.lisp$" "\\.asd$" "contrib")
3106 #:exclude '("^slime-tests.el" "^contrib/test/"
3107 "^contrib/Makefile$" "^contrib/README.md$")
3108 #:phases
3109 (modify-phases %standard-phases
3110 (add-before 'install 'configure
3111 (lambda* _
3112 (emacs-substitute-variables "slime.el"
3113 ("inferior-lisp-program" "sbcl"))
3114 #t))
3115 (add-before 'install 'install-doc
3116 (lambda* (#:key outputs #:allow-other-keys)
3117 (let* ((out (assoc-ref outputs "out"))
3118 (info-dir (string-append out "/share/info"))
3119 (doc-dir (string-append out "/share/doc/"
3120 ,name "-" ,version))
3121 (doc-files '("doc/slime-refcard.pdf"
3122 "README.md" "NEWS" "PROBLEMS"
3123 "CONTRIBUTING.md")))
3124 (with-directory-excursion "doc"
3125 (substitute* "Makefile"
3126 (("infodir=/usr/local/info")
3127 (string-append "infodir=" info-dir)))
3128 (invoke "make" "html/index.html")
3129 (invoke "make" "slime.info")
3130 (install-file "slime.info" info-dir)
3131 (copy-recursively "html" (string-append doc-dir "/html")))
3132 (for-each (lambda (f)
3133 (install-file f doc-dir)
3134 (delete-file f))
3135 doc-files)
3136 (delete-file-recursively "doc")
3137 #t))))))
3138 (home-page "https://github.com/slime/slime")
3139 (synopsis "Superior Lisp Interaction Mode for Emacs")
3140 (description
3141 "SLIME extends Emacs with support for interactive programming in
3142Common Lisp. The features are centered around @command{slime-mode},
3143an Emacs minor mode that complements the standard @command{lisp-mode}.
3144While lisp-mode supports editing Lisp source files, @command{slime-mode}
3145adds support for interacting with a running Common Lisp process
3146for compilation, debugging, documentation lookup, and so on.")
3147 (license (list license:gpl2+ license:public-domain))))
3148
3149(define-public emacs-popup
3150 (package
3151 (name "emacs-popup")
3152 (version "0.5.3")
3153 (source (origin
3154 (method url-fetch)
3155 (uri (string-append
3156 "https://github.com/auto-complete/popup-el/archive/v"
3157 version ".tar.gz"))
3158 (file-name (string-append name "-" version ".tar.gz"))
3159 (sha256
3160 (base32
3161 "1yrgfj8y69xmcb6kwgplhq68ndm9410qwh7sd2knnd1gchpphdc0"))))
3162 (build-system emacs-build-system)
3163 (home-page "https://github.com/auto-complete/popup-el")
3164 (synopsis "Visual Popup User Interface for Emacs")
3165 (description
3166 "Popup.el is a visual popup user interface library for Emacs.
3167This provides a basic API and common UI widgets such as popup tooltips
3168and popup menus.")
3169 (license license:gpl3+)))
3170
3171(define-public emacs-puppet-mode
3172 (let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2")
3173 (revision "1"))
3174 (package
3175 (name "emacs-puppet-mode")
3176 ;; The last release, 0.3 was several years ago, and there have been many
3177 ;; commits since
3178 (version (git-version "0.3" revision commit))
3179 (source
3180 (origin
3181 (method url-fetch)
3182 (uri (string-append
3183 "https://raw.githubusercontent.com/voxpupuli/puppet-mode/"
3184 commit "/puppet-mode.el"))
3185 (sha256
3186 (base32
3187 "1indycxawsl0p2aqqg754f6735q3cmah9vd886rpn0ncc3ipi1xm"))))
3188 (build-system emacs-build-system)
3189 (home-page "https://github.com/voxpupuli/puppet-mode")
3190 (synopsis "Emacs major mode for the Puppet configuration language")
3191 (description
3192 "This package provides support for the Puppet configuration language,
3193including syntax highlighting, indentation of expressions and statements,
3194linting of manifests and integration with Puppet Debugger.")
3195 ;; Also incorporates work covered by the Apache License, Version 2.0
3196 (license license:gpl3+))))
3197
3198(define-public emacs-god-mode
3199 (let ((commit "6cf0807b6555eb6fcf8387a4e3b667071ef38964")
3200 (revision "1"))
3201 (package
3202 (name "emacs-god-mode")
3203 (version (string-append "20151005.925."
3204 revision "-" (string-take commit 9)))
3205 (source
3206 (origin
3207 (method git-fetch)
3208 (uri (git-reference
3209 (url "https://github.com/chrisdone/god-mode.git")
3210 (commit commit)))
3211 (file-name (string-append name "-" version "-checkout"))
3212 (sha256
3213 (base32
3214 "1am415k4xxcva6y3vbvyvknzc6bma49pq3p85zmpjsdmsp18qdix"))))
3215 (build-system emacs-build-system)
3216 (home-page "https://github.com/chrisdone/god-mode")
3217 (synopsis "Minor mode for entering commands without modifier keys")
3218 (description
3219 "This package provides a global minor mode for entering Emacs commands
3220without modifier keys. It's similar to Vim's separation of commands and
3221insertion mode. When enabled all keys are implicitly prefixed with
3222@samp{C-} (among other helpful shortcuts).")
3223 (license license:gpl3+))))
3224
3225(define-public emacs-jinja2-mode
3226 (package
3227 (name "emacs-jinja2-mode")
3228 (version "0.2")
3229 (source
3230 (origin
3231 (method url-fetch)
3232 (uri (string-append "https://github.com/paradoxxxzero/jinja2-mode/"
3233 "archive/v" version ".tar.gz"))
3234 (file-name (string-append name "-" version ".tar.gz"))
3235 (sha256
3236 (base32
3237 "0cgxjab1kla2zc2fj7bzib6i7snp08zshandmp9kqcm85l262xpn"))))
3238 (build-system emacs-build-system)
3239 (home-page "https://github.com/paradoxxxzero/jinja2-mode")
3240 (synopsis "Major mode for jinja2")
3241 (description
3242 "Emacs major mode for jinja2 with: syntax highlighting,
3243sgml/html integration, and indentation (working with sgml).")
3244 (license license:gpl3+)))
3245
3246(define-public emacs-rfcview
3247 (package
3248 (name "emacs-rfcview")
3249 (version "0.13")
3250 (home-page "http://www.loveshack.ukfsn.org/emacs")
3251 (source (origin
3252 (method url-fetch)
3253 (uri "http://www.loveshack.ukfsn.org/emacs/rfcview.el")
3254 (sha256
3255 (base32
3256 "0ympj5rxig383zl2jf0pzdsa80nnq0dpvjiriq0ivfi98fj7kxbz"))))
3257 (build-system emacs-build-system)
3258 (synopsis "Prettify Request for Comments (RFC) documents")
3259 (description "The Internet Engineering Task Force (IETF) and the Internet
3260Society (ISOC) publish various Internet-related protocols and specifications
3261as \"Request for Comments\" (RFC) documents and Internet Standard (STD)
3262documents. RFCs and STDs are published in a simple text form. This package
3263provides an Emacs major mode, rfcview-mode, which makes it more pleasant to
3264read these documents in Emacs. It prettifies the text and adds
3265hyperlinks/menus for easier navigation. It also provides functions for
3266browsing the index of RFC documents and fetching them from remote servers or
3267local directories.")
3268 (license license:gpl3+)))
3269
3270(define-public emacs-ffap-rfc-space
3271 (package
3272 (name "emacs-ffap-rfc-space")
3273 (version "12")
3274 (home-page "http://user42.tuxfamily.org/ffap-rfc-space/index.html")
3275 (source (origin
3276 (method url-fetch)
3277 (uri "http://download.tuxfamily.org/user42/ffap-rfc-space.el")
3278 (sha256
3279 (base32
3280 "1iv61dv57a73mdps7rn6zmgz7nqh14v0ninidyrasy45b1nv6gck"))))
3281 (build-system emacs-build-system)
3282 (synopsis "Make ffap recognize an RFC with a space before its number")
3283 (description "The Internet Engineering Task Force (IETF) and the
3284Internet Society (ISOC) publish various Internet-related protocols and
3285specifications as \"Request for Comments\" (RFC) documents. The
3286built-in Emacs module \"ffap\" (Find File at Point) has the ability to
3287recognize names at point which look like \"RFC1234\" and \"RFC-1234\"
3288and load the appropriate RFC from a remote server. However, it fails
3289to recognize a name like \"RFC 1234\". This package enhances ffap so
3290that it correctly finds RFCs even when a space appears before the
3291number.")
3292 (license license:gpl3+)))
3293
3294(define-public emacs-org-bullets
3295 (package
3296 (name "emacs-org-bullets")
3297 (version "0.2.4")
3298 (source
3299 (origin
3300 (method url-fetch)
3301 (uri (string-append "https://github.com/sabof/org-bullets/archive/"
3302 version ".tar.gz"))
3303 (file-name (string-append name "-" version ".tar.gz"))
3304 (sha256
3305 (base32
3306 "1dyxvpb73vj80v8br2q9rf255hfphrgaw91fbvwdcd735np9pcnh"))))
3307 (build-system emacs-build-system)
3308 (home-page "https://github.com/sabof/org-bullets")
3309 (synopsis "Show bullets in org-mode as UTF-8 characters")
3310 (description
3311 "This package provides an Emacs minor mode causing bullets in
3312@code{org-mode} to be rendered as UTF-8 characters.")
3313 (license license:gpl3+)))
3314
3315(define-public emacs-org-pomodoro
3316 (package
3317 (name "emacs-org-pomodoro")
3318 (version "2.1.0")
3319 (source
3320 (origin
3321 (method url-fetch)
3322 (uri (string-append
3323 "https://github.com/lolownia/org-pomodoro/archive/"
3324 version ".tar.gz"))
3325 (file-name (string-append name "-" version ".tar.gz"))
3326 (sha256
3327 (base32
3328 "1jalsggw3q5kvj353f84x4nl04a5vmq07h75ggppy1627lb31zm4"))))
3329 (build-system emacs-build-system)
3330 (propagated-inputs
3331 `(("emacs-alert" ,emacs-alert)))
3332 (home-page "https://github.com/lolownia/org-pomodoro")
3333 (synopsis "Pomodoro technique for org-mode")
3334 (description "@code{emacs-org-pomodoro} adds very basic support for
3335Pomodoro technique in Emacs org-mode.
3336
3337Run @code{M-x org-pomodoro} for the task at point or select one of the
3338last tasks that you clocked time for. Each clocked-in pomodoro starts
3339a timer of 25 minutes and after each pomodoro a break timer of 5
3340minutes is started automatically. Every 4 breaks a long break is
3341started with 20 minutes. All values are customizable.")
3342 (license license:gpl3+)))
3343
3344(define-public emacs-org-trello
3345 (package
3346 (name "emacs-org-trello")
3347 (version "0.8.0")
3348 (source (origin
3349 (method url-fetch)
3350 (uri (string-append
3351 "https://github.com/org-trello/org-trello/archive/"
3352 version ".tar.gz"))
3353 (file-name (string-append name "-" version ".tar.gz"))
3354 (sha256
3355 (base32
3356 "0549mnf5cgwn8b8jbl38fljbaxmh1605sv9j8f3lsa95jhs1zpa0"))))
3357 (build-system emacs-build-system)
3358 (propagated-inputs
3359 `(("emacs-dash" ,emacs-dash)
3360 ("emacs-deferred" ,emacs-deferred)
3361 ("emacs-f" ,emacs-f)
3362 ("emacs-helm" ,emacs-helm)
3363 ("emacs-request" ,emacs-request)
3364 ("emacs-s" ,emacs-s)))
3365 (home-page "https://org-trello.github.io")
3366 (synopsis "Emacs minor mode for interacting with Trello")
3367 (description "This package provides an Emacs minor mode to extend
3368@code{org-mode} with Trello abilities. Trello is an online project
3369organizer.")
3370 (license license:gpl3+)))
3371
3372(define-public emacs-atom-one-dark-theme
3373 (let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
3374 (revision "0"))
3375 (package
3376 (name "emacs-atom-one-dark-theme")
3377 (version (git-version "0.4.0" revision commit))
3378 (source (origin
3379 (method git-fetch)
3380 (uri (git-reference
3381 (url "https://github.com/jonathanchu/atom-one-dark-theme.git")
3382 (commit commit)))
3383 (sha256
3384 (base32
3385 "1alma16hg3mfjly8a9s3mrswkjjx4lrpdnf43869hn2ibkn7zx9z"))
3386 (file-name (git-file-name name version))))
3387 (build-system emacs-build-system)
3388 (home-page "https://github.com/jonathanchu/atom-one-dark-theme")
3389 (synopsis "Atom One Dark color theme for Emacs")
3390 (description "An Emacs port of the Atom One Dark theme from Atom.io.")
3391 (license license:gpl3+))))
3392
3393(define-public emacs-zenburn-theme
3394 (package
3395 (name "emacs-zenburn-theme")
3396 (version "2.6")
3397 (source (origin
3398 (method url-fetch)
3399 (uri (string-append
3400 "https://github.com/bbatsov/zenburn-emacs/archive/v"
3401 version ".tar.gz"))
3402 (file-name (string-append name "-" version ".tar.gz"))
3403 (sha256
3404 (base32
3405 "0qc9d1rwq55yzh8shbppyd6izy1grpyr8kqh5zdgm7c5jccngpr4"))))
3406 (build-system emacs-build-system)
3407 (home-page "https://github.com/bbatsov/zenburn-emacs")
3408 (synopsis "Low contrast color theme for Emacs")
3409 (description
3410 "Zenburn theme is a port of the popular Vim Zenburn theme for Emacs.
3411It is built on top of the custom theme support in Emacs 24 or later.")
3412 (license license:gpl3+)))
3413
3414(define-public emacs-solarized-theme
3415 (package
3416 (name "emacs-solarized-theme")
3417 (version "1.2.2")
3418 (source (origin
3419 (method url-fetch)
3420 (uri (string-append "https://github.com/bbatsov/solarized-emacs/"
3421 "archive/v" version ".tar.gz"))
3422 (file-name (string-append name "-" version ".tar.gz"))
3423 (sha256
3424 (base32
3425 "1ha3slc6d9wi9ilkhmwrzkvf308n6ph7b0k69pk369s9304awxzx"))))
3426 (build-system emacs-build-system)
3427 (propagated-inputs
3428 `(("emacs-dash" ,emacs-dash)))
3429 (home-page "https://github.com/bbatsov/solarized-emacs")
3430 (synopsis "Port of the Solarized theme for Emacs")
3431 (description
3432 "Solarized for Emacs is a port of the Solarized theme for Vim. This
3433package provides a light and a dark variant.")
3434 (license license:gpl3+)))
3435
3436(define-public emacs-ahungry-theme
3437 (package
3438 (name "emacs-ahungry-theme")
3439 (version "1.10.0")
3440 (source
3441 (origin (method url-fetch)
3442 (uri (string-append "https://elpa.gnu.org/packages/ahungry-theme-"
3443 version ".tar"))
3444 (sha256
3445 (base32
3446 "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm"))))
3447 (build-system emacs-build-system)
3448 (home-page "https://github.com/ahungry/color-theme-ahungry")
3449 (synopsis "Ahungry color theme for Emacs")
3450 (description "Ahungry theme for Emacs provides bright and bold colors.
3451If you load it from a terminal, you will be able to make use of the
3452transparent background. If you load it from a GUI, it will default to a
3453dark background.")
3454 (license license:gpl3+)))
3455
3456(define-public emacs-2048-game
3457 (package
3458 (name "emacs-2048-game")
3459 (version "20151026.1233")
3460 (source
3461 (origin
3462 (method url-fetch)
3463 (uri (string-append "https://melpa.org/packages/2048-game-"
3464 version ".el"))
3465 (sha256
3466 (base32
3467 "0gy2pvz79whpavp4jmz8h9krzn7brmvv3diixi1d4w51pcdvaldd"))))
3468 (build-system emacs-build-system)
3469 (home-page "https://bitbucket.org/zck/2048.el")
3470 (synopsis "Implementation of the game 2048 in Emacs Lisp")
3471 (description
3472 "This program is an implementation of 2048 for Emacs.
3473The goal of this game is to create a tile with value 2048. The size of the
3474board and goal value can be customized.")
3475 (license license:gpl3+)))
3476
3477(define-public emacs-base16-theme
3478 (package
3479 (name "emacs-base16-theme")
3480 (version "2.1")
3481 (source
3482 (origin
3483 (method url-fetch)
3484 (uri (string-append "https://stable.melpa.org/packages/base16-theme-"
3485 version ".tar"))
3486 (sha256
3487 (base32
3488 "0z6hrwz2jlz6jbr381rcqcqvx6hss5cad352klx07rark7zccacj"))))
3489 (build-system emacs-build-system)
3490 (home-page "https://github.com/belak/base16-emacs")
3491 (synopsis "Base16 color themes for Emacs")
3492 (description
3493 "Base16 provides carefully chosen syntax highlighting and a default set
3494of sixteen colors suitable for a wide range of applications. Base16 is not a
3495single theme but a set of guidelines with numerous implementations.")
3496 (license license:expat)))
3497
3498(define-public emacs-smartparens
3499 (package
3500 (name "emacs-smartparens")
3501 (version "1.11.0")
3502 (source (origin
3503 (method url-fetch)
3504 (uri (string-append
3505 "https://github.com/Fuco1/smartparens/archive/"
3506 version ".tar.gz"))
3507 (file-name (string-append name "-" version ".tar.gz"))
3508 (sha256
3509 (base32
3510 "0q5as813xs8y29i3v2rm97phd6m7xsmmw6hwbvx57gwmi8i1c409"))))
3511 (build-system emacs-build-system)
3512 (propagated-inputs
3513 `(("emacs-dash" ,emacs-dash)
3514 ("emacs-markdown-mode" ,emacs-markdown-mode)))
3515 (home-page "https://github.com/Fuco1/smartparens")
3516 (synopsis "Paredit-like insertion, wrapping and navigation with user
3517defined pairs")
3518 (description
3519 "Smartparens is a minor mode for Emacs that deals with parens pairs
3520and tries to be smart about it. It started as a unification effort to
3521combine functionality of several existing packages in a single,
3522compatible and extensible way to deal with parentheses, delimiters, tags
3523and the like. Some of these packages include autopair, textmate,
3524wrap-region, electric-pair-mode, paredit and others. With the basic
3525features found in other packages it also brings many improvements as
3526well as completely new features.")
3527 (license license:gpl3+)))
3528
3529(define-public emacs-highlight-symbol
3530 (package
3531 (name "emacs-highlight-symbol")
3532 (version "1.3")
3533 (source (origin
3534 (method url-fetch)
3535 (uri (string-append
3536 "https://github.com/nschum/highlight-symbol.el/archive/"
3537 version ".tar.gz"))
3538 (file-name (string-append name "-" version ".tar.gz"))
3539 (sha256
3540 (base32
3541 "1n7k1qns0fn0jsyc0hrjac5nzk21xw48yc30vyrhwvc51h0b9g90"))))
3542 (build-system emacs-build-system)
3543 (home-page "https://nschum.de/src/emacs/highlight-symbol")
3544 (synopsis "Automatic and manual symbol highlighting for Emacs")
3545 (description
3546 "Use @code{highlight-symbol} to toggle highlighting of the symbol at
3547point throughout the current buffer. Use @code{highlight-symbol-mode} to keep
3548the symbol at point highlighted.
3549
3550The functions @code{highlight-symbol-next}, @code{highlight-symbol-prev},
3551@code{highlight-symbol-next-in-defun} and
3552@code{highlight-symbol-prev-in-defun} allow for cycling through the locations
3553of any symbol at point. Use @code{highlight-symbol-nav-mode} to enable key
3554bindings @code{M-p} and @code{M-p} for navigation. When
3555@code{highlight-symbol-on-navigation-p} is set, highlighting is triggered
3556regardless of @code{highlight-symbol-idle-delay}.
3557
3558@code{highlight-symbol-query-replace} can be used to replace the symbol. ")
3559 (license license:gpl2+)))
3560
3561(define-public emacs-hl-todo
3562 (package
3563 (name "emacs-hl-todo")
3564 (version "1.9.0")
3565 (source (origin
3566 (method url-fetch)
3567 (uri (string-append
3568 "https://raw.githubusercontent.com/tarsius/hl-todo/"
3569 version "/hl-todo.el"))
3570 (file-name (string-append "hl-todo-" version ".el"))
3571 (sha256
3572 (base32
3573 "0728givzh7xv5i88ac9if8byj1p8bilrj1fnizca10s0rv100hdr"))))
3574 (build-system emacs-build-system)
3575 (home-page "https://github.com/tarsius/hl-todo")
3576 (synopsis "Emacs mode to highlight TODO and similar keywords")
3577 (description
3578 "This package provides an Emacs mode to highlight TODO and similar
3579keywords in comments and strings. This package also provides commands for
3580moving to the next or previous keyword and to invoke @code{occur} with a
3581regexp that matches all known keywords.")
3582 (license license:gpl3+)))
3583
3584(define-public emacs-perspective
3585 (package
3586 (name "emacs-perspective")
3587 (version "1.12")
3588 (source
3589 (origin
3590 (method url-fetch)
3591 (uri (string-append "https://github.com/nex3/perspective-el/"
3592 "archive/" version ".tar.gz"))
3593 (file-name (string-append name "-" version ".tar.gz"))
3594 (sha256
3595 (base32
3596 "078ahh0kmhdylq5ib9c81c76kz1n02xwc83pm729d00i84ibviic"))))
3597 (build-system emacs-build-system)
3598 (home-page "https://github.com/nex3/perspective-el")
3599 (synopsis "Switch between named \"perspectives\"")
3600 (description
3601 "This package provides tagged workspaces in Emacs, similar to workspaces in
3602windows managers such as Awesome and XMonad. @code{perspective.el} provides
3603multiple workspaces (or \"perspectives\") for each Emacs frame. Each
3604perspective is composed of a window configuration and a set of buffers.
3605Switching to a perspective activates its window configuration, and when in a
3606perspective only its buffers are available by default.")
3607 ;; This package is released under the same license as Emacs (GPLv3+) or
3608 ;; the Expat license.
3609 (license license:gpl3+)))
3610
3611(define-public emacs-test-simple
3612 (package
3613 (name "emacs-test-simple")
3614 (version "1.3.0")
3615 (source
3616 (origin
3617 (method url-fetch)
3618 (uri (string-append "https://elpa.gnu.org/packages/test-simple-"
3619 version ".el"))
3620 (sha256
3621 (base32
3622 "1yd61jc9ds95a5n09052kwc5gasy57g4lxr0jsff040brlyi9czz"))))
3623 (build-system emacs-build-system)
3624 (home-page "https://github.com/rocky/emacs-test-simple")
3625 (synopsis "Simple unit test framework for Emacs Lisp")
3626 (description
3627 "Test Simple is a simple unit test framework for Emacs Lisp. It
3628alleviates the need for context macros, enclosing specifications or required
3629test tags. It supports both interactive and non-interactive use.")
3630 (license license:gpl3+)))
3631
3632(define-public emacs-load-relative
3633 (package
3634 (name "emacs-load-relative")
3635 (version "1.3")
3636 (source
3637 (origin
3638 (method url-fetch)
3639 (uri (string-append "https://elpa.gnu.org/packages/load-relative-"
3640 version ".el"))
3641 (sha256
3642 (base32
3643 "1hfxb2436jdsi9wfmsv47lkkpa5galjf5q81bqabbsv79rv59dps"))))
3644 (build-system emacs-build-system)
3645 (home-page "http://github.com/rocky/emacs-load-relative")
3646 (synopsis "Emacs Lisp relative file loading related functions")
3647 (description
3648 "Provides functions which facilitate writing multi-file Emacs packages
3649and running from the source tree without having to \"install\" code or fiddle
3650with @{load-path}.
3651
3652The main function, @code{load-relative}, loads an Emacs Lisp file relative to
3653another (presumably currently running) Emacs Lisp file.")
3654 (license license:gpl3+)))
3655
3656(define-public emacs-loc-changes
3657 (package
3658 (name "emacs-loc-changes")
3659 (version "1.2")
3660 (source
3661 (origin
3662 (method url-fetch)
3663 (uri (string-append "https://elpa.gnu.org/packages/loc-changes-"
3664 version ".el"))
3665 (sha256
3666 (base32
3667 "1x8fn8vqasayf1rb8a6nma9n6nbvkx60krmiahyb05vl5rrsw6r3"))))
3668 (build-system emacs-build-system)
3669 (home-page "https://github.com/rocky/emacs-loc-changes")
3670 (synopsis "Keeps track of positions even after buffer changes")
3671 (description
3672 "This Emacs package provides a mean to track important buffer positions
3673after buffer changes.")
3674 (license license:gpl3+)))
3675
3676(define-public emacs-realgud
3677 (package
3678 (name "emacs-realgud")
3679 (version "1.4.5")
3680 (source
3681 (origin
3682 (method url-fetch)
3683 (uri (string-append "https://elpa.gnu.org/packages/realgud-"
3684 version ".tar"))
3685 (sha256
3686 (base32
3687 "108wgxg7fb4byaiasgvbxv2hq7b00biq9f0mh9hy6vw4160y5w24"))
3688 (patches
3689 ;; Patch awaiting inclusion upstream (see:
3690 ;; https://github.com/realgud/realgud/pull/226).
3691 (search-patches "emacs-realgud-fix-configure-ac.patch"))))
3692 (build-system emacs-build-system)
3693 (arguments
3694 `(#:tests? #t
3695 #:phases
3696 (modify-phases %standard-phases
3697 (add-after 'set-emacs-load-path 'fix-autogen-script
3698 (lambda _
3699 (substitute* "autogen.sh"
3700 (("./configure") "sh configure"))))
3701 (add-after 'fix-autogen-script 'autogen
3702 (lambda _
3703 (setenv "CONFIG_SHELL" "sh")
3704 (invoke "sh" "autogen.sh")))
3705 (add-after 'fix-autogen-script 'set-home
3706 (lambda _
3707 (setenv "HOME" (getenv "TMPDIR"))))
3708 (add-before 'patch-el-files 'remove-realgud-pkg.el
3709 (lambda _
3710 ;; XXX: This file is auto-generated at some point and causes
3711 ;; substitute* to crash during the `patch-el-files' phase with:
3712 ;; ERROR: In procedure stat: No such file or directory:
3713 ;; "./realgud-pkg.el"
3714 (delete-file "./realgud-pkg.el")
3715 ;; FIXME: `patch-el-files' crashes on this file with error:
3716 ;; unable to locate "bashdb".
3717 (delete-file "./test/test-regexp-bashdb.el"))))
3718 #:include (cons* ".*\\.el$" %default-include)))
3719 (native-inputs
3720 `(("autoconf" ,autoconf)
3721 ("automake" ,automake)
3722 ("emacs-test-simple" ,emacs-test-simple)))
3723 (propagated-inputs
3724 `(("emacs-load-relative" ,emacs-load-relative)
3725 ("emacs-loc-changes" ,emacs-loc-changes)))
3726 (home-page "https://github.com/realgud/realgud/")
3727 (synopsis
3728 "Modular front-end for interacting with external debuggers")
3729 (description
3730 "RealGUD is a modular, extensible GNU Emacs front-end for interacting
3731with external debuggers. It integrates various debuggers such as gdb, pdb,
3732ipdb, jdb, lldb, bashdb, zshdb, etc. and allows to visually step code in the
3733sources. Unlike GUD, it also supports running multiple debug sessions in
3734parallel.")
3735 (license license:gpl3+)))
3736
3737(define-public emacs-request
3738 (package
3739 (name "emacs-request")
3740 (version "0.3.0")
3741 (source (origin
3742 (method git-fetch)
3743 (uri (git-reference
3744 (url "https://github.com/tkf/emacs-request.git")
3745 (commit (string-append "v" version))))
3746 (file-name (string-append name "-" version "-checkout"))
3747 (sha256
3748 (base32
3749 "0wyxqbb35yqf6ci47531lk32d6fppamx9d8826kdz983vm87him7"))))
3750 (build-system emacs-build-system)
3751 (propagated-inputs
3752 `(("emacs-deferred" ,emacs-deferred)))
3753 (home-page "https://github.com/tkf/emacs-request")
3754 (synopsis "Package for speaking HTTP in Emacs Lisp")
3755 (description "This package provides a HTTP request library with multiple
3756backends. It supports url.el which is shipped with Emacs and the curl command
3757line program.")
3758 (license license:gpl3+)))
3759
3760(define-public emacs-rudel
3761 (package
3762 (name "emacs-rudel")
3763 (version "0.3.1")
3764 (source
3765 (origin
3766 (method url-fetch)
3767 (uri (string-append "http://elpa.gnu.org/packages/rudel-"
3768 version ".tar"))
3769 (sha256
3770 (base32
3771 "0glqa68g509p0s2vcc0i8kzlddnc9brd9jqhnm5rzxz4i050cvnz"))))
3772 (build-system emacs-build-system)
3773 (home-page "http://rudel.sourceforge.net/")
3774 (synopsis "Collaborative editing framework")
3775 (description
3776 "Rudel is a collaborative editing environment for GNU Emacs. Its purpose
3777is to share buffers with other users in order to edit the contents of those
3778buffers collaboratively. Rudel supports multiple backends to enable
3779communication with other collaborative editors using different protocols,
3780though currently Obby (for use with the Gobby editor) is the only
3781fully-functional one.")
3782 (license license:gpl3+)))
3783
3784(define-public emacs-hydra
3785 (package
3786 (name "emacs-hydra")
3787 (version "0.14.0")
3788 (source
3789 (origin
3790 (method git-fetch)
3791 (uri (git-reference
3792 (url "https://github.com/abo-abo/hydra")
3793 (commit version)))
3794 (file-name (git-file-name name version))
3795 (sha256
3796 (base32
3797 "0ln4z2796ycy33g5jcxkqvm7638qxy4sipsab7d2864hh700cikg"))))
3798 (build-system emacs-build-system)
3799 (home-page "https://github.com/abo-abo/hydra")
3800 (synopsis "Make Emacs bindings that stick around")
3801 (description
3802 "This package can be used to tie related commands into a family of short
3803bindings with a common prefix---a Hydra. Once you summon the Hydra (through
3804the prefixed binding), all the heads can be called in succession with only a
3805short extension. Any binding that isn't the Hydra's head vanquishes the
3806Hydra. Note that the final binding, besides vanquishing the Hydra, will still
3807serve its original purpose, calling the command assigned to it. This makes
3808the Hydra very seamless; it's like a minor mode that disables itself
3809automatically.")
3810 (license license:gpl3+)))
3811
3812(define-public emacs-ivy
3813 (package
3814 (name "emacs-ivy")
db2badeb 3815 (version "0.11.0")
eeb883cb
RW
3816 (source
3817 (origin
3818 (method git-fetch)
3819 (uri (git-reference
3820 (url "https://github.com/abo-abo/swiper.git")
3821 (commit version)))
3822 (file-name (string-append name "-" version "-checkout"))
3823 (sha256
3824 (base32
db2badeb 3825 "009n8zjycs62cv4i1k9adbb284wz2w3r13xki2740sj34k683v13"))))
eeb883cb
RW
3826 (build-system emacs-build-system)
3827 (arguments
3828 `(#:phases
3829 (modify-phases %standard-phases
3830 (add-after 'install 'install-doc
3831 (lambda* (#:key outputs #:allow-other-keys)
3832 (let* ((out (assoc-ref outputs "out"))
3833 (info (string-append out "/share/info")))
3834 (with-directory-excursion "doc"
3835 (invoke "makeinfo" "ivy.texi")
3836 (install-file "ivy.info" info)
3837 #t)))))))
3838 (propagated-inputs
3839 `(("emacs-hydra" ,emacs-hydra)))
3840 (native-inputs
3841 `(("texinfo" ,texinfo)))
3842 (home-page "http://oremacs.com/swiper/")
3843 (synopsis "Incremental vertical completion for Emacs")
3844 (description
3845 "This package provides @code{ivy-read} as an alternative to
3846@code{completing-read} and similar functions. No attempt is made to determine
3847the best candidate. Instead, the user can navigate candidates with
3848@code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
3849splitting the input text by spaces and re-building it into a regular
3850expression.")
3851 (license license:gpl3+)))
3852
3853(define-public emacs-ivy-yasnippet
3854 (let ((commit "32580b4fd23ebf9ca7dde96704f7d53df6e253cd")
3855 (revision "2"))
3856 (package
3857 (name "emacs-ivy-yasnippet")
3858 (version (git-version "0.1" revision commit))
3859 (source
3860 (origin
3861 (method git-fetch)
3862 (uri (git-reference
3863 (url "https://github.com/mkcms/ivy-yasnippet.git")
3864 (commit commit)))
3865 (file-name (git-file-name name version))
3866 (sha256
3867 (base32
3868 "1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"))))
3869 (build-system emacs-build-system)
3870 (propagated-inputs
3871 `(("emacs-ivy" ,emacs-ivy)
3872 ("emacs-yasnippet" ,emacs-yasnippet)
3873 ("emacs-dash" ,emacs-dash)))
3874 (home-page "https://github.com/mkcms/ivy-yasnippet")
3875 (synopsis "Preview @code{yasnippets} with @code{ivy}")
3876 (description "This package allows you to select @code{yasnippet}
3877snippets using @code{ivy} completion. When current selection changes in the
3878minibuffer, the snippet contents are temporarily expanded in the buffer. To
3879use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
3880@code{yas-minor-mode} first).")
3881 (license license:gpl3+))))
3882
3883(define-public emacs-ivy-rich
3884 (package
3885 (name "emacs-ivy-rich")
3886 (version "0.1.0")
3887 (source
3888 (origin
3889 (method url-fetch)
3890 (uri (string-append "https://github.com/Yevgnen/ivy-rich/archive/"
3891 version ".tar.gz"))
3892 (file-name (string-append name "-" version ".tar.gz"))
3893 (sha256
3894 (base32
3895 "14r3mx5rkd4wz0ls5pv5w6c7la3z9iy93d3jfind3xyg4kywy95c"))))
3896 (build-system emacs-build-system)
3897 (propagated-inputs
3898 `(("emacs-ivy" ,emacs-ivy)))
3899 (home-page "https://github.com/Yevgnen/ivy-rich")
3900 (synopsis "More friendly interface for @code{ivy}")
3901 (description
3902 "This package extends @code{ivy} by showing more information in the
3903minibuffer for each candidate. It adds columns showing buffer modes, file
3904sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can
3905show icons as well.")
3906 (license license:gpl3+)))
3907
3908(define-public emacs-avy
3909 (package
3910 (name "emacs-avy")
3911 (version "0.4.0")
3912 (source
3913 (origin
3914 (method url-fetch)
3915 (uri (string-append "https://github.com/abo-abo/avy/archive/"
3916 version ".tar.gz"))
3917 (file-name (string-append name "-" version ".tar.gz"))
3918 (sha256
3919 (base32
3920 "1wdrq512h25ymzjbf2kbsdymvd2ryfwzb6bh5bc3yv7q203im796"))))
3921 (build-system emacs-build-system)
3922 (home-page "https://github.com/abo-abo/avy")
3923 (synopsis "Tree-based completion for Emacs")
3924 (description
3925 "This package provides a generic completion method based on building a
3926balanced decision tree with each candidate being a leaf. To traverse the tree
3927from the root to a desired leaf, typically a sequence of @code{read-key} can
3928be used.
3929
3930In order for @code{read-key} to make sense, the tree needs to be visualized
3931appropriately, with a character at each branch node. So this completion
3932method works only for things that you can see on your screen, all at once,
3933such as the positions of characters, words, line beginnings, links, or
3934windows.")
3935 (license license:gpl3+)))
3936
3937(define-public emacs-ace-window
3938 (package
3939 (name "emacs-ace-window")
3940 (version "0.9.0")
3941 (source
3942 (origin
3943 (method url-fetch)
3944 (uri (string-append "https://github.com/abo-abo/ace-window/archive/"
3945 version ".tar.gz"))
3946 (file-name (string-append name "-" version ".tar.gz"))
3947 (sha256
3948 (base32
3949 "1p2sgfl5dml4zbd6ldql6lm2m9vmd236ah996ni32x254s48j5pn"))))
3950 (build-system emacs-build-system)
3951 (propagated-inputs
3952 `(("emacs-avy" ,emacs-avy)))
3953 (home-page "https://github.com/abo-abo/ace-window")
3954 (synopsis "Quickly switch windows in Emacs")
3955 (description
3956 "@code{ace-window} is meant to replace @code{other-window}.
3957In fact, when there are only two windows present, @code{other-window} is
3958called. If there are more, each window will have its first character
3959highlighted. Pressing that character will switch to that window.")
3960 (license license:gpl3+)))
3961
3962(define-public emacs-iedit
3963 (package
3964 (name "emacs-iedit")
3965 (version "0.9.9.9")
3966 (source
3967 (origin
3968 (method url-fetch)
3969 (uri (string-append "https://github.com/victorhge/iedit/archive/v"
3970 version ".tar.gz"))
3971 (file-name (string-append name "-" version ".tar.gz"))
3972 (sha256
3973 (base32
3974 "1hv8q6pr85ss9g3158l1fqv3m62vsq8rslsi86jicr2dcxyascr0"))))
3975 (build-system emacs-build-system)
3976 (home-page "http://www.emacswiki.org/emacs/Iedit")
3977 (synopsis "Edit multiple regions in the same way simultaneously")
3978 (description
3979 "This package is an Emacs minor mode and allows you to edit one
3980occurrence of some text in a buffer (possibly narrowed) or region, and
3981simultaneously have other occurrences edited in the same way.
3982
3983You can also use Iedit mode as a quick way to temporarily show only the buffer
3984lines that match the current text being edited. This gives you the effect of
3985a temporary @code{keep-lines} or @code{occur}.")
3986 (license license:gpl3+)))
3987
3988(define-public emacs-zoutline
3989 (let ((commit "b3ee0f0e0b916838c2d2c249beba74ffdb8d5699")
3990 (revision "0"))
3991 (package
3992 (name "emacs-zoutline")
3993 (version (git-version "0.1" revision commit))
3994 (home-page "https://github.com/abo-abo/zoutline")
3995 (source (origin
3996 (method git-fetch)
3997 (uri (git-reference (url home-page) (commit commit)))
3998 (sha256
3999 (base32
4000 "0sd0017piw0dis6dhpq5dkqd3acisxqgipl7dj8gmc1vnswhdwr8"))
4001 (file-name (git-file-name name version))))
4002 (build-system emacs-build-system)
4003 (synopsis "Simple outline library")
4004 (description
4005 "This library provides helpers for outlines. Outlines allow users to
4006navigate code in a tree-like fashion.")
4007 (license license:gpl3+))))
4008
4009(define-public emacs-lispy
4010 ;; Release 0.26.0 was almost 3 years ago, and there have been ~772 commits
4011 ;; since.
caf810d3
PN
4012 (let ((commit "f94cfc6b8f9c3afe7d028c366928049c011023de")
4013 (revision "1"))
eeb883cb
RW
4014 (package
4015 (name "emacs-lispy")
4016 (version (git-version "0.26.0" revision commit))
4017 (home-page "https://github.com/abo-abo/lispy")
4018 (source (origin
4019 (method git-fetch)
4020 (uri (git-reference (url home-page) (commit commit)))
4021 (sha256
4022 (base32
caf810d3 4023 "1bm2cpwizg1qfpm377gpx1af1hm5maw69if1csnk5vwaphmv8c4g"))
eeb883cb
RW
4024 (file-name (git-file-name name version))))
4025 (build-system emacs-build-system)
4026 (propagated-inputs
4027 `(("emacs-ace-window" ,emacs-ace-window)
4028 ("emacs-iedit" ,emacs-iedit)
4029 ("emacs-ivy" ,emacs-ivy)
4030 ("emacs-hydra" ,emacs-hydra)
4031 ("emacs-zoutline" ,emacs-zoutline)))
4032 (synopsis "Modal S-expression editing")
4033 (description
4034 "Due to the structure of Lisp syntax it's very rare for the programmer
4035to want to insert characters right before \"(\" or right after \")\". Thus
4036unprefixed printable characters can be used to call commands when the point is
4037at one of these special locations. Lispy provides unprefixed keybindings for
4038S-expression editing when point is at the beginning or end of an
4039S-expression.")
4040 (license license:gpl3+))))
4041
4042(define-public emacs-lispyville
808136bd
PN
4043 (let ((commit "d28b937f0cabd8ce61e2020fe9a733ca80d82c74")
4044 (revision "1"))
eeb883cb
RW
4045 (package
4046 (name "emacs-lispyville")
4047 (version (git-version "0.1" revision commit))
4048 (home-page "https://github.com/noctuid/lispyville")
4049 (source (origin
4050 (method git-fetch)
4051 (uri (git-reference (url home-page) (commit commit)))
4052 (sha256
4053 (base32
808136bd 4054 "0f6srwj1qqkfkbmp5n5pjvi6gm7b7xav05p5hrs2i83rjrakzzqx"))
eeb883cb
RW
4055 (file-name (git-file-name name version))))
4056 (propagated-inputs
4057 `(("emacs-evil" ,emacs-evil)
4058 ("emacs-lispy" ,emacs-lispy)))
4059 (build-system emacs-build-system)
4060 (synopsis "Minor mode for integrating Evil with lispy")
4061 (description
4062 "LispyVille's main purpose is to provide a Lisp editing environment
4063suited towards Evil users. It can serve as a minimal layer on top of lispy
4064for better integration with Evil, but it does not require the use of lispy’s
4065keybinding style. The provided commands allow for editing Lisp in normal
4066state and will work even without lispy being enabled.")
4067 (license license:gpl3+))))
4068
4069(define-public emacs-clojure-mode
4070 (package
4071 (name "emacs-clojure-mode")
4072 (version "5.6.1")
4073 (source (origin
4074 (method url-fetch)
4075 (uri (string-append
4076 "https://github.com/clojure-emacs/clojure-mode/archive/"
4077 version ".tar.gz"))
4078 (file-name (string-append name "-" version ".tar.gz"))
4079 (sha256
4080 (base32
4081 "1f4k1hncy5ygh4izn7mqfp744nnisrp9ywn2njknbjxx34ai1q88"))))
4082 (build-system emacs-build-system)
4083 (native-inputs
4084 `(("emacs-dash" ,emacs-dash)
4085 ("emacs-s" ,emacs-s)
4086 ("ert-runner" ,emacs-ert-runner)))
4087 (arguments
4088 `(#:tests? #t
4089 #:test-command '("ert-runner")))
4090 (home-page "https://github.com/clojure-emacs/clojure-mode")
4091 (synopsis "Major mode for Clojure code")
4092 (description
4093 "This Emacs package provides font-lock, indentation, navigation and basic
4094refactoring for the @uref{http://clojure.org, Clojure programming language}.
4095It is recommended to use @code{clojure-mode} with paredit or smartparens.")
4096 (license license:gpl3+)))
4097
4098(define-public emacs-epl
4099 (package
4100 (name "emacs-epl")
4101 (version "0.8")
4102 (source (origin
4103 (method url-fetch)
4104 (uri (string-append
4105 "https://github.com/cask/epl/archive/"
4106 version ".tar.gz"))
4107 (file-name (string-append name "-" version ".tar.gz"))
4108 (sha256
4109 (base32
4110 "1511n3a3f5gvaf2b4nh018by61ciyzi3y3603fzqma7p9hrckarc"))))
4111 (build-system emacs-build-system)
4112 (home-page "https://github.com/cask/epl")
4113 (synopsis "Emacs Package Library")
4114 (description
4115 "A package management library for Emacs, based on @code{package.el}.
4116
4117The purpose of this library is to wrap all the quirks and hassle of
4118@code{package.el} into a sane API.")
4119 (license license:gpl3+)))
4120
4121(define-public emacs-queue
4122 (package
4123 (name "emacs-queue")
4124 (version "0.2")
4125 (source (origin
4126 (method url-fetch)
4127 (uri (string-append "https://elpa.gnu.org/packages/queue-"
4128 version ".el"))
4129 (sha256
4130 (base32
4131 "0cx2848sqnnkkr4zisvqadzxngjyhmb36mh0q3if7q19yjjhmrkb"))))
4132 (build-system emacs-build-system)
4133 (home-page "http://www.dr-qubit.org/tags/computing-code-emacs.html")
4134 (synopsis "Queue data structure for Emacs")
4135 (description
4136 "This Emacs library provides queue data structure. These queues can be
4137used both as a first-in last-out (FILO) and as a first-in first-out (FIFO)
4138stack, i.e. elements can be added to the front or back of the queue, and can
4139be removed from the front. This type of data structure is sometimes called an
4140\"output-restricted deque\".")
4141 (license license:gpl3+)))
4142
4143(define-public emacs-pkg-info
4144 (package
4145 (name "emacs-pkg-info")
4146 (version "0.6")
4147 (source (origin
4148 (method url-fetch)
4149 (uri (string-append
4150 "https://github.com/lunaryorn/pkg-info.el/archive/"
4151 version ".tar.gz"))
4152 (file-name (string-append name "-" version ".tar.gz"))
4153 (sha256
4154 (base32
4155 "1gy1jks5mmm02gg1c8gcyr4f8a9s5ggzhk56gv33b9mzjqzi5rd5"))))
4156 (build-system emacs-build-system)
4157 (propagated-inputs `(("emacs-epl" ,emacs-epl)))
4158 (home-page "https://github.com/lunaryorn/pkg-info.el")
4159 (synopsis "Information about Emacs packages")
4160 (description
4161 "This library extracts information from the installed Emacs packages.")
4162 (license license:gpl3+)))
4163
4164(define-public emacs-spinner
4165 (package
4166 (name "emacs-spinner")
4167 (version "1.7.3")
4168 (source (origin
4169 (method url-fetch)
4170 (uri (string-append "https://elpa.gnu.org/packages/spinner-"
4171 version ".el"))
4172 (sha256
4173 (base32
4174 "19kp1mmndbmw11sgvv2ggfjl4pyf5zrsbh3871f0965pw9z8vahd"))))
4175 (build-system emacs-build-system)
4176 (home-page "https://github.com/Malabarba/spinner.el")
4177 (synopsis "Emacs mode-line spinner for operations in progress")
4178 (description
4179 "This Emacs package adds spinners and progress-bars to the mode-line for
4180ongoing operations.")
4181 (license license:gpl3+)))
4182
4183(define-public emacs-sparql-mode
4184 (package
4185 (name "emacs-sparql-mode")
4186 (version "2.0.1")
4187 (source (origin
4188 (method url-fetch)
4189 (uri (string-append "https://github.com/ljos/sparql-mode/archive/"
4190 "v" version ".tar.gz"))
4191 (file-name (string-append name "-" version ".tar.gz"))
4192 (sha256
4193 (base32
4194 "1s93mkllxnhy7fw616cnnc2danacdlarys0g3cn89drh0llh53cv"))))
4195 (build-system emacs-build-system)
4196 (home-page "https://github.com/ljos/sparql-mode")
4197 (synopsis "SPARQL mode for Emacs")
4198 (description "This package provides a major mode for Emacs that provides
4199syntax highlighting for SPARQL. It also provides a way to execute queries
4200against a SPARQL HTTP endpoint, such as is provided by Fuseki. It is also
4201possible to query other endpoints like DBPedia.")
4202 (license license:gpl3+)))
4203
4204(define-public emacs-better-defaults
4205 (package
4206 (name "emacs-better-defaults")
4207 (version "0.1.3")
4208 (source
4209 (origin
4210 (method url-fetch)
4211 (uri (string-append "https://github.com/technomancy/better-defaults"
4212 "/archive/" version ".tar.gz"))
4213 (file-name (string-append name "-" version ".tar.gz"))
4214 (sha256
4215 (base32
4216 "08fg4zslzlxbvyil5g4gwvwd22fh4zsgqprs5wh9hv1rgc6757m2"))))
4217 (build-system emacs-build-system)
4218 (home-page "https://github.com/technomancy/better-defaults")
4219 (synopsis "Better defaults for Emacs")
4220 (description
4221 "Better defaults attempts to address the most obvious deficiencies of the
4222Emacs default configuration in uncontroversial ways that nearly everyone can
4223agree upon.")
4224 (license license:gpl3+)))
4225
4226(define-public emacs-eprime
4227 (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f"))
4228 (package
4229 (name "emacs-eprime")
4230 (version (string-append "20140513-" (string-take commit 7)))
4231 (source (origin
4232 (method url-fetch)
4233 (uri (string-append "https://raw.githubusercontent.com"
4234 "/AndrewHynes/eprime-mode/"
4235 commit "/eprime-mode.el"))
4236 (file-name (string-append "eprime-" version ".el"))
4237 (sha256
4238 (base32
4239 "0v68lggkyq7kbcr9zyi573m2g2x251xy3jadlaw8kx02l8krwq8d"))))
4240 (build-system emacs-build-system)
4241 (home-page "https://github.com/AndrewHynes/eprime-mode")
4242 (synopsis "E-prime checking mode for Emacs")
4243 (description "This package provides an E-prime checking mode for Emacs
4244that highlights non-conforming text. The subset of the English language called
4245E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
4246 (license license:gpl3+))))
4247
4248(define-public emacs-julia-mode
4249 ;; XXX: Upstream version remained stuck at 0.3. See
4250 ;; <https://github.com/JuliaEditorSupport/julia-emacs/issues/46>.
4251 (let ((commit "115d4dc8a07445301772da8376b232fa8c7168f4")
4252 (revision "1"))
4253 (package
4254 (name "emacs-julia-mode")
4255 (version (string-append "0.3-" revision "." (string-take commit 8)))
4256 (source
4257 (origin
4258 (method git-fetch)
4259 (uri (git-reference
4260 (url "https://github.com/JuliaEditorSupport/julia-emacs.git")
4261 (commit commit)))
4262 (file-name (string-append name "-" version "-checkout"))
4263 (sha256
4264 (base32
4265 "1is4dcv6blslpzbjcg8l2jpxi8xj96q4cm0nxjxsyswpm8bw8ki0"))))
4266 (build-system emacs-build-system)
4267 (arguments
4268 `(#:tests? #t
4269 #:test-command '("emacs" "--batch"
4270 "-l" "julia-mode-tests.el"
4271 "-f" "ert-run-tests-batch-and-exit")))
4272 (home-page "https://github.com/JuliaEditorSupport/julia-emacs")
4273 (synopsis "Major mode for Julia")
4274 (description "This Emacs package provides a mode for the Julia
4275programming language.")
4276 (license license:expat))))
4277
4278(define-public emacs-smex
4279 (package
4280 (name "emacs-smex")
4281 (version "3.0")
4282 (source (origin
4283 (method url-fetch)
4284 (uri (string-append "https://raw.githubusercontent.com"
4285 "/nonsequitur/smex/" version "/smex.el"))
4286 (file-name (string-append "smex-" version ".el"))
4287 (sha256
4288 (base32
4289 "0ar310zx9k5y4i1vl2rawvi712xj9gx77160860jbs691p77cxqp"))))
4290 (build-system emacs-build-system)
4291 (home-page "https://github.com/nonsequitur/smex/")
4292 (synopsis "M-x interface with Ido-style fuzzy matching")
4293 (description
4294 "Smex is a M-x enhancement for Emacs. Built on top of Ido, it provides a
4295convenient interface to your recently and most frequently used commands. And
4296to all the other commands, too.")
4297 (license license:gpl3+)))
4298
4299(define-public emacs-js2-mode
4300 (package
4301 (name "emacs-js2-mode")
4302 (version "20180301")
4303 (source (origin
4304 (method url-fetch)
4305 (uri (string-append "https://github.com/mooz/js2-mode/archive/"
4306 version ".tar.gz"))
4307 (file-name (string-append name "-" version ".tar.gz"))
4308 (sha256
4309 (base32
4310 "13aghgwaqrmbf3pbifcry52kya454wnh1gbdh5805n1n6xgjm5w3"))))
4311 (build-system emacs-build-system)
4312 (home-page "https://github.com/mooz/js2-mode/")
4313 (synopsis "Improved JavaScript editing mode for Emacs")
4314 (description
4315 "Js2-mode provides a JavaScript major mode for Emacs that is more
4316advanced than the built-in javascript-mode. Features include accurate syntax
4317highlighting using a recursive-descent parser, on-the-fly reporting of syntax
4318errors and strict-mode warnings, smart line-wrapping within comments and
4319strings, and code folding.")
4320 (license license:gpl3+)))
4321
4322(define-public emacs-nodejs-repl
4323 (package
4324 (name "emacs-nodejs-repl")
4325 (version "0.2.0")
4326 (source (origin
4327 (method url-fetch)
4328 (uri (string-append "https://github.com/abicky/nodejs-repl.el"
4329 "/archive/" version ".tar.gz"))
4330 (sha256
4331 (base32
4332 "0hq2cqdq2668yf48g7qnkci90nhih1gnhacsgz355jnib56lhmkz"))
4333 (file-name (string-append name "-" version ".tar.gz"))))
4334 (build-system emacs-build-system)
4335 (home-page "https://github.com/abicky/nodejs-repl.el")
4336 (synopsis "Node.js REPL inside Emacs")
4337 (description
4338 "This program is derived from comint-mode and provides the following
4339features:
4340
4341@itemize
4342@item TAB completion same as Node.js REPL
4343@item file name completion in string
4344@item incremental history search
4345@end itemize")
4346 (license license:gpl3+)))
4347
4348(define-public emacs-typescript-mode
4349 (package
4350 (name "emacs-typescript-mode")
4351 (version "0.3")
4352 (source (origin
4353 (method url-fetch)
4354 (uri (string-append
4355 "https://github.com/ananthakumaran/typescript.el"
4356 "/archive/v" version ".tar.gz"))
4357 (sha256
4358 (base32
4359 "1gqjirm8scf0wysm7x97zdfbs4qa5nqdl64jfbkd18iskv5mg3rj"))
4360 (file-name (string-append name "-" version ".tar.gz"))))
4361 (build-system emacs-build-system)
4362 (home-page "https://github.com/ananthakumaran/typescript.el")
4363 (synopsis "Emacs major mode for editing Typescript code")
4364 (description
4365 "This is based on Karl Landstrom's barebones @code{typescript-mode}.
4366This is much more robust and works with @code{cc-mode}'s comment
4367filling (mostly). The modifications to the original @code{javascript.el} mode
4368mainly consisted in replacing \"javascript\" with \"typescript\"
4369
4370The main features of this Typescript mode are syntactic highlighting (enabled
4371with @code{font-lock-mode} or @code{global-font-lock-mode}), automatic
4372indentation and filling of comments and C preprocessor fontification.")
4373 (license license:gpl3+)))
4374
4375(define-public emacs-tide
4376 (package
4377 (name "emacs-tide")
608b922f 4378 (version "3.2.3")
eeb883cb
RW
4379 (source (origin
4380 (method url-fetch)
4381 (uri (string-append "https://github.com/ananthakumaran/tide"
4382 "/archive/v" version ".tar.gz"))
4383 (sha256
4384 (base32
608b922f 4385 "1c600myr2yqbkmy9lify38lz0zzjdqk1733db5n7vsay16vn6fzi"))
eeb883cb
RW
4386 (file-name (string-append name "-" version ".tar.gz"))))
4387 (build-system emacs-build-system)
4388 (propagated-inputs
4389 `(("emacs-dash" ,emacs-dash)
4390 ("emacs-s" ,emacs-s)
4391 ("emacs-flycheck" ,emacs-flycheck)
4392 ("emacs-typescript-mode" ,emacs-typescript-mode)))
4393 (home-page "https://github.com/ananthakumaran/tide")
4394 (synopsis "Typescript IDE for Emacs")
4395 (description
4396 "Tide is an Interactive Development Environment (IDE) for Emacs which
4397provides the following features:
4398
4399@itemize
4400@item ElDoc
4401@item Auto complete
4402@item Flycheck
4403@item Jump to definition, Jump to type definition
4404@item Find occurrences
4405@item Rename symbol
4406@item Imenu
4407@item Compile On Save
4408@item Highlight Identifiers
4409@item Code Fixes
4410@item Code Refactor
4411@item Organize Imports
4412@end itemize")
4413 (license license:gpl3+)))
4414
4415(define-public emacs-markdown-mode
4416 (package
4417 (name "emacs-markdown-mode")
4418 (version "2.3")
4419 (source (origin
4420 (method url-fetch)
4421 (uri (string-append "https://raw.githubusercontent.com/jrblevin"
4422 "/markdown-mode/v" version
4423 "/markdown-mode.el"))
4424 (file-name (string-append "markdown-mode-" version ".el"))
4425 (sha256
4426 (base32
4427 "152whyrq3dqlqy5wv4mdd94kmal19hs5kwaxjcp2gp2r97lsmdmi"))))
4428 (build-system emacs-build-system)
4429 (home-page "http://jblevins.org/projects/markdown-mode/")
4430 (synopsis "Emacs Major mode for Markdown files")
4431 (description
4432 "Markdown-mode is a major mode for editing Markdown-formatted text files
4433in Emacs.")
4434 (license license:gpl3+)))
4435
4436(define-public emacs-edit-indirect
4437 (package
4438 (name "emacs-edit-indirect")
4439 (version "0.1.5")
4440 (source
4441 (origin
4442 (method git-fetch)
4443 (uri (git-reference
4444 (url "https://github.com/Fanael/edit-indirect")
4445 (commit version)))
4446 (file-name (git-file-name name version))
4447 (sha256
4448 (base32
4449 "0by1x53pji39fjrj5bd446kz831nv0vdgw2jqasbym4pc1p2947r"))))
4450 (build-system emacs-build-system)
4451 (home-page "https://github.com/Fanael/edit-indirect")
4452 (synopsis "Edit regions in separate buffers")
4453 (description "This package allows you to edit regions in separate buffers,
4454like @code{org-edit-src-code} but for arbitrary regions.")
4455 (license license:gpl3+)))
4456
4457(define-public emacs-projectile
4458 (package
4459 (name "emacs-projectile")
d97283c3 4460 (version "2.0.0")
eeb883cb
RW
4461 (source (origin
4462 (method url-fetch)
4463 (uri (string-append "https://raw.githubusercontent.com/bbatsov"
4464 "/projectile/v" version "/projectile.el"))
4465 (file-name (string-append "projectile-" version ".el"))
4466 (sha256
4467 (base32
d97283c3 4468 "149hablms6n9b4wp78dz4pjz1rzyylfw9ayghq5p9d7k661mvyby"))))
eeb883cb
RW
4469 (build-system emacs-build-system)
4470 (propagated-inputs
4471 `(("emacs-dash" ,emacs-dash)
4472 ("emacs-pkg-info" ,emacs-pkg-info)))
4473 (home-page "https://github.com/bbatsov/projectile")
4474 (synopsis "Manage and navigate projects in Emacs easily")
4475 (description
4476 "This library provides easy project management and navigation. The
4477concept of a project is pretty basic - just a folder containing special file.
4478Currently git, mercurial and bazaar repos are considered projects by default.
4479If you want to mark a folder manually as a project just create an empty
4480.projectile file in it.")
4481 (license license:gpl3+)))
4482
4483(define-public emacs-elfeed
4484 (package
4485 (name "emacs-elfeed")
4486 (version "3.0.0")
4487 (source (origin
4488 (method url-fetch)
4489 (uri (string-append "https://github.com/skeeto/elfeed/archive/"
4490 version ".tar.gz"))
4491 (file-name (string-append name "-" version ".tar.gz"))
4492 (sha256
4493 (base32
4494 "1wkdrxr6zzqb48czqqv34l87bx8aqjk1739ddqg933aqh241kfvn"))))
4495 (build-system emacs-build-system)
4496 (arguments
4497 `(#:tests? #t
4498 #:test-command '("make" "test")))
4499 (home-page "https://github.com/skeeto/elfeed")
4500 (synopsis "Atom/RSS feed reader for Emacs")
4501 (description
4502 "Elfeed is an extensible web feed reader for Emacs, supporting both Atom
4503and RSS, with a user interface inspired by notmuch.")
4504 (license license:gpl3+)))
4505
4506(define-public emacs-el-x
4507 (package
4508 (name "emacs-el-x")
4509 (version "0.3.1")
4510 (source (origin
4511 (method git-fetch)
4512 (uri (git-reference
4513 (url "https://github.com/sigma/el-x.git")
4514 (commit (string-append "v" version))))
4515 (file-name (string-append name "-" version "-checkout"))
4516 (sha256
4517 (base32
4518 "1i6j44ssxm1xdg0mf91nh1lnprwsaxsx8vsrf720nan7mfr283h5"))))
4519 (build-system emacs-build-system)
4520 (arguments
4521 `(#:phases
4522 (modify-phases %standard-phases
4523 ;; Move the source files to the top level, which is included in
4524 ;; the EMACSLOADPATH.
4525 (add-after 'unpack 'move-source-files
4526 (lambda _
4527 (let ((el-files (find-files "./lisp" ".*\\.el$")))
4528 (for-each (lambda (f)
4529 (rename-file f (basename f)))
4530 el-files))
4531 #t)))))
4532 (home-page "https://github.com/sigma/el-x")
4533 (synopsis "Emacs Lisp extensions")
4534 (description "command@{emacs-el-x} defines the @code{dflet} macro to
4535provide the historic behavior of @code{flet}, as well as
4536@code{declare-function} stub for older Emacs.")
4537 (license license:gpl2+)))
4538
4539(define-public emacs-mocker
4540 (package
4541 (name "emacs-mocker")
4542 (version "0.3.1")
4543 (source (origin
4544 (method git-fetch)
4545 (uri (git-reference
4546 (url "https://github.com/sigma/mocker.el.git")
4547 (commit (string-append "v" version))))
4548 (file-name (string-append name "-" version "-checkout"))
4549 (sha256
4550 (base32
4551 "1lav7am41v63xgavq8pr88y828jmd1cxd4prjq7jlbxm6nvrwxh2"))))
4552 (build-system emacs-build-system)
4553 (arguments
4554 `(#:tests? #t
4555 #:test-command '("ert-runner")))
4556 (native-inputs
4557 `(("ert-runner" ,emacs-ert-runner)))
4558 (propagated-inputs
4559 `(("emacs-el-x" ,emacs-el-x)))
4560 (home-page "https://github.com/sigma/mocker.el")
4561 (synopsis "Mocking framework for Emacs Lisp")
4562 (description "Mocker.el is a framework for writing tests in Emacs Lisp.
4563It uses regular Lisp rather than a domain specific language (DSL), which
4564maximizes flexibility (at the expense of conciseness).")
4565 (license license:gpl2+)))
4566
4567(define-public emacs-find-file-in-project
4568 (package
4569 (name "emacs-find-file-in-project")
4570 (version "5.4.7")
4571 (source (origin
4572 (method git-fetch)
4573 (uri (git-reference
4574 (url "https://github.com/technomancy/find-file-in-project.git")
4575 (commit version)))
4576 (file-name (string-append name "-" version "-checkout"))
4577 (sha256
4578 (base32
4579 "1sdnyqv69mipbgs9yax88m9b6crsa59rjhwrih197pifl4089awr"))))
4580 (build-system emacs-build-system)
4581 (arguments
4582 `(#:phases
4583 (modify-phases %standard-phases
4584 (add-before 'check 'set-shell
4585 ;; Otherwise Emacs shell-file-name is set to "/bin/sh", which doesn't
4586 ;; work.
4587 (lambda _
4588 (setenv "SHELL" (which "sh"))
4589 #t)))
4590 #:tests? #t
4591 #:test-command '("./tests/test.sh")))
4592 (home-page "https://github.com/technomancy/find-file-in-project")
4593 (synopsis "File/directory finder for Emacs")
4594 (description "@code{find-file-in-project} allows to find files or
4595directories quickly in the current project. The project root is detected
4596automatically when Git, Subversion or Mercurial are used. It also provides
4597functions to assist in reviewing changes on files.")
4598 (license license:gpl3+)))
4599
4600(define-public emacs-pyvenv
4601 (package
4602 (name "emacs-pyvenv")
1275f9ef 4603 (version "1.20")
eeb883cb
RW
4604 (source (origin
4605 (method git-fetch)
4606 (uri (git-reference
4607 (url "https://github.com/jorgenschaefer/pyvenv.git")
4608 (commit (string-append "v" version))))
4609 (file-name (string-append name "-" version "-checkout"))
4610 (sha256
4611 (base32
1275f9ef 4612 "1x052fsavb94x3scpqd6n9spqgzaahzbdxhg4qa5sy6hqsabn6zh"))))
eeb883cb
RW
4613 (build-system emacs-build-system)
4614 (arguments
4615 `(#:phases
4616 (modify-phases %standard-phases
4617 ;; This phase incorrectly attempts to substitute "activate" and fails
4618 ;; doing so.
4619 (delete 'patch-el-files))
4620 #:tests? #t
4621 #:test-command '("ert-runner")))
4622 (native-inputs
4623 `(("ert-runner" ,emacs-ert-runner)
4624 ("emacs-mocker" ,emacs-mocker)))
4625 (home-page "https://github.com/jorgenschaefer/pyvenv")
1275f9ef 4626 (synopsis "Python virtual environment interface for Emacs")
eeb883cb
RW
4627 (description "pyvenv.el is a minor mode to support using Python virtual
4628environments (virtualenv) inside Emacs.")
4629 (license license:gpl3+)))
4630
4631(define-public emacs-highlight-indentation
4632 (package
4633 (name "emacs-highlight-indentation")
4634 (version "0.7.0")
4635 (source (origin
4636 (method git-fetch)
4637 (uri (git-reference
4638 (url "https://github.com/antonj/Highlight-Indentation-for-Emacs.git")
4639 (commit (string-append "v" version))))
4640 (file-name (string-append name "-" version "-checkout"))
4641 (sha256
4642 (base32
4643 "00l54k75qk24a0znzl4ij3s3nrnr2wy9ha3za8apphzlm98m907k"))))
4644 (build-system emacs-build-system)
4645 (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/")
4646 (synopsis "Highlighting indentation for Emacs")
4647 (description "Provides two minor modes to highlight indentation guides in Emacs:
4648@enumerate
4649@item @code{highlight-indentation-mode}, which displays guidelines
4650indentation (space indentation only).
4651@item @code{highlight-indentation-current-column-mode}, which displays guidelines for the current-point indentation (space indentation only).
4652@end enumerate")
4653 (license license:gpl2+)))
4654
4655(define-public emacs-elpy
4656 (package
4657 (name "emacs-elpy")
d79e0b3a 4658 (version "1.28.0")
eeb883cb
RW
4659 (source (origin
4660 (method git-fetch)
4661 (uri (git-reference
4662 (url "https://github.com/jorgenschaefer/elpy.git")
4663 (commit version)))
4664 (file-name (string-append name "-" version "-checkout"))
4665 (sha256
4666 (base32
d79e0b3a 4667 "073bwxwjzcbmvpcz9q2xjwzx9x7hkvjni6fwvikh6yawzjp56jis"))))
eeb883cb
RW
4668 (build-system emacs-build-system)
4669 (arguments
4670 `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
4671 #:phases
4672 ;; TODO: Make `elpy-config' display Guix commands :)
4673 (modify-phases %standard-phases
4674 ;; One elpy test depends on being run inside a Python virtual
4675 ;; environment to pass. We have nothing to gain from doing so here,
4676 ;; so we just trick Elpy into thinking we are (see:
4677 ;; https://github.com/jorgenschaefer/elpy/pull/1293).
4678 (add-before 'check 'fake-virtualenv
4679 (lambda _
4680 (setenv "VIRTUAL_ENV" "/tmp")
4681 #t))
4682 (add-before 'check 'build-doc
4683 (lambda _
4684 (with-directory-excursion "docs"
4685 (invoke "make" "info" "man"))
4686 ;; Move .info file at the root so that it can installed by the
4687 ;; 'move-doc phase.
4688 (rename-file "docs/_build/texinfo/Elpy.info" "Elpy.info")
4689 #t))
4690 (add-after 'build-doc 'install-manpage
4691 (lambda* (#:key outputs #:allow-other-keys)
4692 (let* ((out (assoc-ref outputs "out"))
4693 (man1 (string-append out "/share/man/man1")))
4694 (mkdir-p man1)
4695 (copy-file "docs/_build/man/elpy.1"
4696 (string-append man1 "/elpy.1")))
4697 #t)))
4698 #:tests? #t
4699 #:test-command '("ert-runner")))
4700 (propagated-inputs
4701 `(("emacs-company" ,emacs-company)
4702 ("emacs-find-file-in-project" ,emacs-find-file-in-project)
4703 ("emacs-highlight-indentation" ,emacs-highlight-indentation)
4704 ("emacs-yasnippet" ,emacs-yasnippet)
4705 ("pyvenv" ,emacs-pyvenv)
4706 ("s" ,emacs-s)))
4707 (native-inputs
4708 `(("ert-runner" ,emacs-ert-runner)
4709 ("emacs-f" ,emacs-f)
4710 ("python" ,python-wrapper)
4711 ("python-autopep8" ,python-autopep8)
4712 ("python-black" ,python-black)
4713 ("python-flake8" ,python-flake8)
4714 ("python-jedi" ,python-jedi)
4715 ("python-yapf" ,python-yapf)
4716 ;; For documentation.
4717 ("python-sphinx" ,python-sphinx)
4718 ("texinfo" ,texinfo)))
4719 (home-page "https://github.com/jorgenschaefer/elpy")
4720 (synopsis "Python development environment for Emacs")
4721 (description "Elpy brings powerful Python editing to Emacs. It combines
4722and configures a number of other packages written in Emacs Lisp as well as
4723Python, together offering features such as navigation, documentation,
4724completion, interactive development and more.")
4725 (license license:gpl3+)))
4726
4727(define-public emacs-rainbow-delimiters
4728 (package
4729 (name "emacs-rainbow-delimiters")
4730 (version "2.1.3")
4731 (source (origin
4732 (method url-fetch)
4733 (uri (string-append "https://raw.githubusercontent.com/Fanael"
4734 "/rainbow-delimiters/" version
4735 "/rainbow-delimiters.el"))
4736 (file-name (string-append "rainbow-delimiters-" version ".el"))
4737 (sha256
4738 (base32
4739 "1b3kampwsjabhcqdp0khgff13wc5jqhy3rbvaa12vnv7qy22l9ck"))))
4740 (build-system emacs-build-system)
4741 (home-page "https://github.com/Fanael/rainbow-delimiters")
4742 (synopsis "Highlight brackets according to their depth")
4743 (description
4744 "Rainbow-delimiters is a \"rainbow parentheses\"-like mode for Emacs which
4745highlights parentheses, brackets, and braces according to their depth. Each
4746successive level is highlighted in a different color, making it easy to spot
4747matching delimiters, orient yourself in the code, and tell which statements
4748are at a given level.")
4749 (license license:gpl3+)))
4750
4751(define-public emacs-rainbow-identifiers
4752 (package
4753 (name "emacs-rainbow-identifiers")
4754 (version "0.2.2")
4755 (source (origin
4756 (method url-fetch)
4757 (uri (string-append "https://raw.githubusercontent.com/Fanael"
4758 "/rainbow-identifiers/" version
4759 "/rainbow-identifiers.el"))
4760 (file-name (string-append "rainbow-identifiers-" version ".el"))
4761 (sha256
4762 (base32
4763 "0325abxj47k0g1i8nqrq70w2wr6060ckhhf92krv1s072b3jzm31"))))
4764 (build-system emacs-build-system)
4765 (home-page "https://github.com/Fanael/rainbow-identifiers")
4766 (synopsis "Highlight identifiers in source code")
4767 (description
4768 "Rainbow identifiers mode is an Emacs minor mode providing highlighting of
4769identifiers based on their names. Each identifier gets a color based on a hash
4770of its name.")
4771 (license license:bsd-2)))
4772
4773(define-public emacs-rainbow-mode
4774 (package
4775 (name "emacs-rainbow-mode")
4776 (version "1.0.1")
4777 (source (origin
4778 (method url-fetch)
4779 (uri (string-append
4780 "http://elpa.gnu.org/packages/rainbow-mode-" version ".el"))
4781 (sha256
4782 (base32
4783 "0cpga4ax635rfpj7y2vmh7ank0yw00dcy20gjg1mj74r97by8csf"))))
4784 (build-system emacs-build-system)
4785 (home-page "http://elpa.gnu.org/packages/rainbow-mode.html")
4786 (synopsis "Colorize color names in buffers")
4787 (description
4788 "This minor mode sets background color to strings that match color
4789names, e.g. #0000ff is displayed in white with a blue background.")
4790 (license license:gpl3+)))
4791
4792(define-public emacs-visual-fill-column
4793 (package
4794 (name "emacs-visual-fill-column")
4795 (version "1.11")
4796 (source (origin
4797 (method url-fetch)
4798 (uri (string-append "https://codeload.github.com/joostkremers/"
4799 "visual-fill-column/tar.gz/" version))
4800 (file-name (string-append name "-" version ".tar.gz"))
4801 (sha256
4802 (base32
4803 "13jnviakp607zcms7f8ams56mr8wffnq1pghlc6fvqs39663pgwh"))))
4804 (build-system emacs-build-system)
4805 (home-page "https://github.com/joostkremers/visual-fill-column")
4806 (synopsis "Fill-column for visual-line-mode")
4807 (description
4808 "@code{visual-fill-column-mode} is a small Emacs minor mode that mimics
4809the effect of @code{fill-column} in @code{visual-line-mode}. Instead of
4810wrapping lines at the window edge, which is the standard behaviour of
4811@code{visual-line-mode}, it wraps lines at @code{fill-column}. If
4812@code{fill-column} is too large for the window, the text is wrapped at the
4813window edge.")
4814 (license license:gpl3+)))
4815
4816(define-public emacs-writeroom
4817 (package
4818 (name "emacs-writeroom")
4819 (version "3.7")
4820 (source (origin
4821 (method url-fetch)
4822 (uri (string-append
4823 "https://github.com/joostkremers/writeroom-mode/archive/"
4824 version ".tar.gz"))
4825 (file-name (string-append name "-" version ".tar.gz"))
4826 (sha256
4827 (base32
4828 "0yqgp5h3kvvpgva4azakb2wnjl7gsyh45glf75crspv3xyq57f2r"))))
4829 (build-system emacs-build-system)
4830 (propagated-inputs
4831 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)))
4832 (home-page "https://github.com/joostkremers/writeroom-mode")
4833 (synopsis "Distraction-free writing for Emacs")
4834 (description
4835 "This package defines a minor mode for distraction-free writing. Some of
4836the default effects include entering fullscreen, deleting other windows of the
4837current frame, disabling the mode line, and adding margins to the buffer that
4838restrict the text width to 80 characters.")
4839 (license license:bsd-3)))
4840
4841(define-public emacs-ido-completing-read+
4842 (package
4843 (name "emacs-ido-completing-read+")
4844 (version "3.12")
4845 (source (origin
4846 (method url-fetch)
4847 (uri (string-append "https://raw.githubusercontent.com"
4848 "/DarwinAwardWinner/ido-ubiquitous/v"
4849 version "/ido-completing-read+.el"))
4850 (file-name (string-append "ido-completing-read+-" version ".el"))
4851 (sha256
4852 (base32
4853 "1cyalb0p7nfsm4n6n9q6rjmvn6adqc0fq8ybnlj3n41n289dkfjf"))))
4854 (build-system emacs-build-system)
4855 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
4856 (synopsis "Replacement for completing-read using ido")
4857 (description
4858 "The ido-completing-read+ function is a wrapper for ido-completing-read.
4859Importantly, it detects edge cases that ordinary ido cannot handle and either
4860adjusts them so ido can handle them, or else simply falls back to the standard
4861Emacs completion function instead.")
4862 (license license:gpl3+)))
4863
4864(define-public emacs-ido-ubiquitous
4865 (package
4866 (name "emacs-ido-ubiquitous")
4867 (version "3.12")
4868 (source (origin
4869 (method url-fetch)
4870 (uri (string-append "https://raw.githubusercontent.com"
4871 "/DarwinAwardWinner/ido-ubiquitous/v"
4872 version "/ido-ubiquitous.el"))
4873 (file-name (string-append "ido-ubiquitous-" version ".el"))
4874 (sha256
4875 (base32
4876 "197ypji0fb6jsdcq40rpnknwlh3imas6s6jbsvkfm0pz9988c3q2"))))
4877 (build-system emacs-build-system)
4878 (propagated-inputs
4879 `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
4880 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
4881 (synopsis "Use ido (nearly) everywhere")
4882 (description
4883 "Ido-ubiquitous enables ido-style completion for almost every function
4884that uses the standard completion function completing-read.")
4885 (license license:gpl3+)))
4886
4887(define-public emacs-yaml-mode
4888 (package
4889 (name "emacs-yaml-mode")
4890 (version "0.0.13")
4891 (source (origin
4892 (method url-fetch)
4893 (uri (string-append "https://raw.githubusercontent.com/yoshiki"
4894 "/yaml-mode/v" version "/yaml-mode.el"))
4895 (file-name (string-append "yaml-mode-" version ".el"))
4896 (sha256
4897 (base32
4898 "0im88sk9dqw03x6d6zaspgvg9i0pfpgb8f2zygrmbifh2w4pwmvj"))))
4899 (build-system emacs-build-system)
4900 (home-page "https://github.com/yoshiki/yaml-mode")
4901 (synopsis "Major mode for editing YAML files")
4902 (description
4903 "Yaml-mode is an Emacs major mode for editing files in the YAML data
4904serialization format. It was initially developed by Yoshiki Kurihara and many
4905features were added by Marshall Vandegrift. As YAML and Python share the fact
4906that indentation determines structure, this mode provides indentation and
4907indentation command behavior very similar to that of python-mode.")
4908 (license license:gpl3+)))
4909
4910(define-public emacs-web-mode
4911 (package
4912 (name "emacs-web-mode")
4913 (version "16")
4914 (source (origin
4915 (method url-fetch)
4916 (uri (string-append "https://raw.githubusercontent.com/fxbois"
4917 "/web-mode/v" version "/web-mode.el"))
4918 (file-name (string-append "web-mode-" version ".el"))
4919 (sha256
4920 (base32
4921 "1hs5w7kdvcyn4ihyw1kfjg48djn5p7lz4rlbhzzdqv1g56xqx3gw"))))
4922 (build-system emacs-build-system)
4923 (synopsis "Major mode for editing web templates")
4924 (description "Web-mode is an Emacs major mode for editing web templates
4925aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by
4926client/server side engines). Web-mode is compatible with many template
4927engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker,
4928Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template,
4929Dust.js, React/JSX, Angularjs, ejs, etc.")
4930 (home-page "http://web-mode.org/")
4931 (license license:gpl3+)))
4932
4933(define-public emacs-wgrep
4934 (let ((commit "414be70bd313e482cd9f0b70fd2daad4ee23497c"))
4935 ;; Late commit fixes compatibility issue with Emacs 26+.
4936 (package
4937 (name "emacs-wgrep")
4938 (version (git-version "2.1.10" "1" commit))
4939 (source (origin
4940 (method git-fetch)
4941 (uri (git-reference
4942 (url "https://github.com/mhayashi1120/Emacs-wgrep")
4943 (commit commit)))
4944 (file-name (git-file-name name version))
4945 (sha256
4946 (base32
4947 "1sdhd587q3pg92lhiayph87azhalmf1gzrnsprkmqvnphv7mvks9"))))
4948 (build-system emacs-build-system)
4949 (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
4950 (synopsis "Edit a grep buffer and apply those changes to the files")
4951 (description
4952 "Emacs wgrep allows you to edit a grep buffer and apply those changes
4953to the file buffer. Several backends are supported beside the classic grep:
4954ack, ag, helm and pt.")
4955 (license license:gpl3+))))
4956
4957(define-public emacs-helm
4958 (package
4959 (name "emacs-helm")
a922b2ae 4960 (version "3.1")
eeb883cb
RW
4961 (source (origin
4962 (method url-fetch)
4963 (uri (string-append
4964 "https://github.com/" name "/helm/archive/v"
4965 version ".tar.gz"))
4966 (file-name (string-append name "-" version ".tar.gz"))
4967 (sha256
4968 (base32
a922b2ae 4969 "0ymykcsbcgq2kskqc0ddigg0kfznxx3j02mkd5r3c3n8gn3kgz84"))))
eeb883cb
RW
4970 (build-system emacs-build-system)
4971 (propagated-inputs
4972 `(("emacs-async" ,emacs-async)
4973 ("emacs-popup" ,emacs-popup)))
4974 (home-page "https://emacs-helm.github.io/helm/")
4975 (synopsis "Incremental completion and selection narrowing
4976framework for Emacs")
4977 (description "Helm is incremental completion and selection narrowing
4978framework for Emacs. It will help steer you in the right direction when
4979you're looking for stuff in Emacs (like buffers, files, etc). Helm is a fork
4980of @code{anything.el} originally written by Tamas Patrovic and can be
4981considered to be its successor. Helm sets out to clean up the legacy code in
4982@code{anything.el} and provide a cleaner, leaner and more modular tool, that's
4983not tied in the trap of backward compatibility.")
4984 (license license:gpl3+)))
4985
4986(define-public emacs-helm-swoop
4987 (package
4988 (name "emacs-helm-swoop")
4989 (version "1.7.4")
4990 (source (origin
4991 (method url-fetch)
4992 (uri (string-append
4993 "https://github.com/ShingoFukuyama/helm-swoop/archive/"
4994 version
4995 ".tar.gz"))
4996 (file-name (string-append name "-" version ".tar.gz"))
4997 (sha256
4998 (base32
4999 "1ssivsjzlnkg049cg993l8fp09l5nhpz6asj7w5c91zp5kpc6fh7"))))
5000 (build-system emacs-build-system)
5001 (propagated-inputs
5002 `(("emacs-helm" ,emacs-helm)))
5003 (home-page "https://github.com/ShingoFukuyama/helm-swoop")
5004 (synopsis "Filter and jump to lines in an Emacs buffer using Helm")
5005 (description
5006 "This package builds on the Helm interface to provide several commands
5007for search-based navigation of buffers.")
5008 (license license:gpl2+)))
5009
5010(define-public emacs-helm-projectile
5011 (package
5012 (name "emacs-helm-projectile")
5013 (version "0.14.0")
5014 (source (origin
5015 (method url-fetch)
5016 (uri (string-append
5017 "https://github.com/bbatsov/helm-projectile/archive/v"
5018 version
5019 ".tar.gz"))
5020 (file-name (string-append name "-" version ".tar.gz"))
5021 (sha256
5022 (base32
5023 "19cfmilqh8kbab3b2hmx6lyrj73q6vfmn3p730x95g23iz16mnd5"))))
5024 (build-system emacs-build-system)
5025 (propagated-inputs
5026 `(("emacs-dash" ,emacs-dash)
5027 ("emacs-helm" ,emacs-helm)
5028 ("emacs-projectile" ,emacs-projectile)))
5029 (home-page "https://github.com/bbatsov/helm-projectile")
5030 (synopsis "Helm integration for Projectile")
5031 (description
5032 "This Emacs library provides a Helm interface for Projectile.")
5033 (license license:gpl3+)))
5034
5035(define-public emacs-helm-make
5036 (let ((commit "feae8df22bc4b20705ea08ac9adfc2b43bb348d0")
5037 (revision "1"))
5038 (package
5039 (name "emacs-helm-make")
5040 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
5041 (source
5042 (origin
5043 (method git-fetch)
5044 (uri (git-reference
5045 (url "https://github.com/abo-abo/helm-make.git")
5046 (commit commit)))
5047 (file-name (string-append name "-" version "-checkout"))
5048 (sha256
5049 (base32
5050 "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam"))))
5051 (build-system emacs-build-system)
5052 (propagated-inputs
5053 `(("emacs-helm" ,emacs-helm)
5054 ("emacs-projectile" ,emacs-projectile)))
5055 (home-page "https://github.com/abo-abo/helm-make")
5056 (synopsis "Select a Makefile target with helm")
5057 (description "@code{helm-make} or @code{helm-make-projectile} will give
5058you a @code{helm} selection of directory Makefile's targets. Selecting a
5059target will call @code{compile} on it.")
5060 (license license:gpl3+))))
5061
5062(define-public emacs-cider
5063 (package
5064 (name "emacs-cider")
de8abc96 5065 (version "0.20.0")
eeb883cb
RW
5066 (source
5067 (origin
5068 (method git-fetch)
5069 (uri (git-reference
5070 (url "https://github.com/clojure-emacs/cider.git")
5071 (commit (string-append "v" version))))
5072 (file-name (git-file-name name version))
5073 (sha256
5074 (base32
de8abc96 5075 "0lfhzg9c931jbx27hpshk3l76gwbp6ggf668sqa77xrvymwdlsnw"))))
eeb883cb
RW
5076 (build-system emacs-build-system)
5077 (arguments
5078 '(#:exclude ; Don't exclude 'cider-test.el'.
5079 '("^\\.dir-locals\\.el$" "^test/")))
5080 (propagated-inputs
5081 `(("emacs-clojure-mode" ,emacs-clojure-mode)
5082 ("emacs-sesman" ,emacs-sesman)
5083 ("emacs-spinner" ,emacs-spinner)
5084 ("emacs-pkg-info" ,emacs-pkg-info)
5085 ("emacs-queue" ,emacs-queue)))
5086 (home-page "https://cider.readthedocs.io/")
5087 (synopsis "Clojure development environment for Emacs")
5088 (description
5089 "CIDER (Clojure Interactive Development Environment that Rocks) aims to
5090provide an interactive development experience similar to the one you'd get
5091when programming in Emacs Lisp, Common Lisp (with SLIME or Sly), Scheme (with
5092Geiser) and Smalltalk.
5093
5094CIDER is the successor to the now deprecated combination of using SLIME +
5095swank-clojure for Clojure development.
5096
5097There are plenty of differences between CIDER and SLIME, but the core ideas
5098are pretty much the same (and SLIME served as the principle inspiration for
5099CIDER).")
5100 (license license:gpl3+)))
5101
5102;; There hasn't been a tag or release since 2015, so we take the latest
5103;; commit.
5104(define-public emacs-sly
5105 (let ((commit "486bfbe95612bcdc0960c490207970a188e0fbb9")
5106 (revision "1"))
5107 (package
5108 (name "emacs-sly")
5109 (version (string-append "1.0.0-" revision "." (string-take commit 9)))
5110 (source
5111 (origin
5112 (method git-fetch)
5113 (uri (git-reference
5114 (url "https://github.com/joaotavora/sly.git")
5115 (commit commit)))
5116 (file-name (git-file-name name version))
5117 (sha256
5118 (base32
5119 "0ib4q4k3h3qn88pymyjjmlmnpizdn1mfg5gpk5a715nqsgxlg09l"))))
5120 (build-system emacs-build-system)
5121 (arguments
5122 `(#:include (cons "^lib\\/" %default-include)
5123 #:phases
5124 ;; The package provides autoloads.
5125 (modify-phases %standard-phases
5126 (delete 'make-autoloads))))
5127 (home-page "https://github.com/joaotavora/sly")
5128 (synopsis "Sylvester the Cat's Common Lisp IDE")
5129 (description
5130 "SLY is Sylvester the Cat's Common Lisp IDE. SLY is a fork of SLIME, and
5131contains the following improvements over it:
5132
5133@enumerate
5134@item Completely redesigned REPL based on Emacs's own full-featured
5135 @code{comint.el}
5136@item Live code annotations via a new @code{sly-stickers} contrib
5137@item Consistent interactive button interface. Everything can be copied to
5138 the REPL.
5139@item Multiple inspectors with independent history
5140@item Regexp-capable @code{M-x sly-apropos}
5141@item Contribs are first class SLY citizens and enabled by default
5142@item Use ASDF to loads contribs on demand.
5143@end enumerate
5144
5145SLY tracks SLIME's bugfixes and all its familar features (debugger, inspector,
5146xref, etc...) are still available, but with better integration.")
5147 (license license:gpl3+))))
5148
5149(define-public emacs-lua-mode
5150 (let ((commit "652e299cb967fccca827dda381d61a9c144d97de")
5151 (revision "1"))
5152 (package
5153 (name "emacs-lua-mode")
5154 (version (string-append "20151025." revision "-" (string-take commit 9)))
5155 (home-page "https://github.com/immerrr/lua-mode/")
5156 (source (origin
5157 (method git-fetch)
5158 (uri (git-reference
5159 (url home-page)
5160 (commit commit)))
5161 (file-name (string-append name "-" version ".checkout"))
5162 (sha256
5163 (base32
5164 "053025k930wh0lak6rc1973ynfrmm8zsyzfqhhd39x7abkl41hc9"))))
5165 (build-system emacs-build-system)
5166 (synopsis "Major mode for lua")
5167 (description
5168 "This Emacs package provides a mode for @uref{https://www.lua.org/,
5169Lua programing language}.")
5170 (license license:gpl2+))))
5171
5172(define-public emacs-ebuild-mode
5173 (package
5174 (name "emacs-ebuild-mode")
5175 (version "1.37")
5176 (source (origin
5177 (method url-fetch)
5178 (uri (string-append
5179 "https://dev.gentoo.org/~ulm/emacs/ebuild-mode"
5180 "-" version ".tar.xz"))
5181 (file-name (string-append name "-" version ".tar.xz"))
5182 (sha256
5183 (base32
5184 "07dzrdjjczkxdfdgi60h4jjkvzi4p0k9rij2wpfp8s03ay3qldpp"))))
5185 (build-system emacs-build-system)
5186 (home-page "https://devmanual.gentoo.org")
5187 (synopsis "Major modes for Gentoo package files")
5188 (description
5189 "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
5190news items, openrc and runscripts.")
5191 (license license:gpl2+)))
5192
5193(define-public emacs-evil
b6a76979
PN
5194 (package
5195 (name "emacs-evil")
5196 (version "1.2.14")
5197 (source
5198 (origin
5199 (method git-fetch)
5200 (uri (git-reference
5201 (url "https://github.com/emacs-evil/evil")
5202 (commit version)))
5203 (file-name (string-append name "-" version "-checkout"))
5204 (sha256
5205 (base32
5206 "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"))))
5207 (build-system emacs-build-system)
5208 (propagated-inputs
5209 `(("emacs-undo-tree" ,emacs-undo-tree)
5210 ("emacs-goto-chg" ,emacs-goto-chg)))
5211 (home-page "https://github.com/emacs-evil/evil")
5212 (synopsis "Extensible Vi layer for Emacs")
5213 (description
5214 "Evil is an extensible vi layer for Emacs. It emulates the
eeb883cb
RW
5215main features of Vim, and provides facilities for writing custom
5216extensions.")
b6a76979 5217 (license license:gpl3+)))
eeb883cb
RW
5218
5219(define-public emacs-evil-collection
4727e69a
PN
5220 (let ((commit "e7b57aae0131634d0da5e599717a86c4b3ca6092")
5221 (revision "7"))
eeb883cb
RW
5222 (package
5223 (name "emacs-evil-collection")
5224 (version (git-version "0.0.1" revision commit))
5225 (source (origin
5226 (method git-fetch)
5227 (uri (git-reference
5228 (url "https://github.com/emacs-evil/evil-collection")
5229 (commit commit)))
5230 (file-name (string-append name "-" version "-checkout"))
5231 (sha256
5232 (base32
4727e69a 5233 "1g7bxvgnsikpxxdimy0lymn3xz53fari048l827sjyw5kxi59d20"))))
eeb883cb
RW
5234 (build-system emacs-build-system)
5235 (propagated-inputs
5236 `(("emacs-evil" ,emacs-evil)))
5237 (home-page "https://github.com/emacs-evil/evil-collection")
5238 (synopsis "Collection of Evil bindings for many major and minor modes")
5239 (description "This is a collection of Evil bindings for the parts of
5240Emacs that Evil does not cover properly by default, such as @code{help-mode},
5241@code{M-x calendar}, Eshell and more.")
5242 (license license:gpl3+))))
5243
5244(define-public emacs-goto-chg
5245 (package
5246 (name "emacs-goto-chg")
5247 (version "1.6")
5248 (source
5249 (origin
5250 (method url-fetch)
5251 ;; There is no versioned source.
5252 (uri "https://www.emacswiki.org/emacs/download/goto-chg.el")
5253 (file-name (string-append "goto-chg-" version ".el"))
5254 (sha256
5255 (base32
5256 "078d6p4br5vips7b9x4v6cy0wxf6m5ij9gpqd4g33bryn22gnpij"))))
5257 (build-system emacs-build-system)
5258 ;; There is no other home page.
5259 (home-page "https://www.emacswiki.org/emacs/goto-chg.el")
5260 (synopsis "Go to the last change in the Emacs buffer")
5261 (description
5262 "This package provides @code{M-x goto-last-change} command that goes to
5263the point of the most recent edit in the current Emacs buffer. When repeated,
5264go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is
5265used for reverse direction.")
5266 (license license:gpl2+)))
5267
5268(define-public emacs-monroe
5269 (package
5270 (name "emacs-monroe")
5271 (version "0.3.1")
5272 (source
5273 (origin
5274 (method url-fetch)
5275 (uri (string-append "https://github.com/sanel/monroe/archive/"
5276 version ".tar.gz"))
5277 (file-name (string-append name "-" version ".tar.gz"))
5278 (sha256
5279 (base32
5280 "0icdx8shkd951phlnmcq1vqaxp1l667q5rjscskc5r22aylakh4w"))))
5281 (build-system emacs-build-system)
5282 (home-page "https://github.com/sanel/monroe")
5283 (synopsis "Clojure nREPL client for Emacs")
5284 (description
5285 "Monroe is a nREPL client for Emacs, focused on simplicity and easy
5286distribution, primarily targeting Clojure users")
5287 (license license:gpl3+)))
5288
5289(define-public emacs-orgalist
5290 (package
5291 (name "emacs-orgalist")
5292 (version "1.9")
5293 (source
5294 (origin
5295 (method url-fetch)
5296 (uri (string-append "https://elpa.gnu.org/packages/"
5297 "orgalist-" version ".el"))
5298 (sha256
5299 (base32
5300 "1rmmcyiiqkq54hn74nhzxzl4nvd902hv6gq341jwhrm7yiagffi6"))))
5301 (build-system emacs-build-system)
5302 (home-page "http://elpa.gnu.org/packages/orgalist.html")
5303 (synopsis "Manage Org-like lists in non-Org buffers")
5304 (description "Write Org mode's plain lists in non-Org buffers. More
5305specifically, Orgalist supports the syntax of Org mode for numbered,
5306unnumbered, description items, checkboxes, and counter cookies.
5307
5308The library also implements radio lists, i.e., lists written in Org
5309syntax later translated into the host format, e.g., LaTeX or HTML.")
5310 (license license:gpl3+)))
5311
5312(define-public emacs-writegood-mode
5313 (package
5314 (name "emacs-writegood-mode")
5315 (version "2.0.2")
5316 (home-page "https://github.com/bnbeckwith/writegood-mode")
5317 (source (origin
5318 (method git-fetch)
5319 (uri (git-reference
5320 (url home-page)
5321 (commit (string-append "v" version))))
5322 (sha256
5323 (base32
5324 "1nnjn1r669hvvzfycllwap4w04m8rfsk4nzcg8057m1f263kj31b"))
5325 (file-name (string-append name "-checkout"))))
5326 (build-system emacs-build-system)
5327 (synopsis "Polish up poor writing on the fly")
5328 (description
5329 "This minor mode tries to find and highlight problems with your writing
5330in English as you type. It primarily detects \"weasel words\" and abuse of
5331passive voice.")
5332 (license license:gpl3+)))
5333
5334(define-public emacs-neotree
5335 (package
5336 (name "emacs-neotree")
5337 (version "0.5.2")
5338 (home-page "https://github.com/jaypei/emacs-neotree")
5339 (source (origin
5340 (method url-fetch)
5341 (uri (string-append
5342 "https://github.com/jaypei/" name
5343 "/archive/" version ".tar.gz"))
5344 (sha256
5345 (base32
5346 "1zd6dchwyijnf7kgchfcp51gs938l204dk9z6mljrfqf2zy0gp12"))
5347 (file-name (string-append name "-" version ".tar.gz"))))
5348 (build-system emacs-build-system)
5349 (synopsis "Folder tree view for Emacs")
5350 (description "This Emacs package provides a folder tree view.")
5351 (license license:gpl3+)))
5352
5353(define-public emacs-org
5354 (package
5355 (name "emacs-org")
5356 ;; emacs-org-contrib inherits from this package. Please update its sha256
5357 ;; checksum as well.
2dd662f4 5358 (version "9.2.1")
eeb883cb
RW
5359 (source (origin
5360 (method url-fetch)
5361 (uri (string-append "http://elpa.gnu.org/packages/org-"
5362 version ".tar"))
5363 (sha256
5364 (base32
2dd662f4 5365 "0ggca29pyksvfblyd2ciqhgi392wlqx0nmph7ck4m5wbzmk2qnry"))))
eeb883cb
RW
5366 (build-system emacs-build-system)
5367 (home-page "https://orgmode.org/")
5368 (synopsis "Outline-based notes management and organizer")
5369 (description "Org is an Emacs mode for keeping notes, maintaining TODO
5370lists, and project planning with a fast and effective lightweight markup
5371language. It also is an authoring system with unique support for literate
5372programming and reproducible research.")
5373 (license license:gpl3+)))
5374
5375(define-public emacs-org-contrib
5376 (package
5377 (inherit emacs-org)
5378 (name "emacs-org-contrib")
2dd662f4 5379 (version "20190203")
eeb883cb
RW
5380 (source (origin
5381 (method url-fetch)
5382 (uri (string-append "https://orgmode.org/elpa/org-plus-contrib-"
5383 version ".tar"))
5384 (sha256
5385 (base32
2dd662f4 5386 "060rm62p1660n9f6i5w8l932w7gn5ign93q92gva4jy4bkmvczyb"))))
eeb883cb
RW
5387 (arguments
5388 `(#:modules ((guix build emacs-build-system)
5389 (guix build utils)
5390 (guix build emacs-utils)
5391 (ice-9 ftw)
5392 (srfi srfi-1))
5393 #:phases
5394 (modify-phases %standard-phases
5395 (add-after 'install 'delete-org-files
5396 (lambda* (#:key inputs outputs #:allow-other-keys)
5397 (let* ((out (assoc-ref outputs "out"))
5398 (org (assoc-ref inputs "org"))
5399 (contrib-files
5400 (map basename (find-files out)))
5401 (org+contrib-files
5402 (map basename (find-files org)))
5403 (duplicates (lset-intersection
5404 string=? contrib-files org+contrib-files)))
5405 (with-directory-excursion
5406 (string-append
5407 out "/share/emacs/site-lisp/guix.d/org-contrib-" ,version)
5408 (for-each delete-file duplicates))
5409 #t))))))
5410 (propagated-inputs
5411 `(("arduino-mode" ,emacs-arduino-mode)
5412 ("cider" ,emacs-cider)
5413 ("org" ,emacs-org)
5414 ("scel" ,emacs-scel)))
5415 (synopsis "Contributed packages to Org mode")
5416 (description "Org is an Emacs mode for keeping notes, maintaining TODO
5417lists, and project planning with a fast and effective plain-text system.
5418
5419This package is equivalent to org-plus-contrib, but only includes additional
5420files that you would find in @file{contrib/} from the git repository.")))
5421
5422(define-public emacs-flx
5423 (package
5424 (name "emacs-flx")
5425 (version "0.6.1")
5426 (source
5427 (origin
5428 (method url-fetch)
5429 (uri (string-append "https://github.com/lewang/"
5430 "flx/archive/v" version ".tar.gz"))
5431 (sha256
5432 (base32
5433 "0bkcpnf1j4i2fcc2rllwbz62l00sw2mcia6rm5amgwvlkqavmkv6"))
5434 (file-name (string-append name "-" version ".tar.gz"))))
5435 (build-system emacs-build-system)
5436 (home-page "https://github.com/lewang/flx")
5437 (synopsis "Fuzzy matching for Emacs")
5438 (description
5439 "Flx provides fuzzy matching for emacs a la sublime text.
5440The sorting algorithm is a balance between word beginnings (abbreviation)
5441and contiguous matches (substring). The longer the substring match,
5442the higher it scores. This maps well to how we think about matching.
5443Flx has support for ido (interactively do things) through flx-ido.")
5444 (license license:gpl3+)))
5445
5446(define-public emacs-cyberpunk-theme
5447 (package
5448 (name "emacs-cyberpunk-theme")
5449 (version "1.19")
5450 (source
5451 (origin
5452 (method url-fetch)
5453 (uri (string-append "https://github.com/n3mo/cyberpunk-theme.el/"
5454 "archive/" version ".tar.gz"))
5455 (sha256
5456 (base32
5457 "05l5fxw1mn5py6mfhxrzyqjq0d8m5m1akfi46vrgh13r414jffvv"))
5458 (file-name (string-append name "-" version ".tar.gz"))))
5459 (build-system emacs-build-system)
5460 (home-page "https://github.com/n3mo/cyberpunk-theme.el")
5461 (synopsis "Cyberpunk theme for emacs built-in color theme support")
5462 (description
5463 "Cyberpunk color theme for the emacs 24+ built-in color theme support
5464known loosely as deftheme. Many mode-specific customizations are included.")
5465 (license license:gpl3+)))
5466
5467(define-public emacs-danneskjold-theme
5468 (let* ((commit "8733d2fe8743e8a01826ea6d4430ef376c727e57")
5469 (revision "1"))
5470 (package
5471 (name "emacs-danneskjold-theme")
5472 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
5473 (home-page "https://github.com/rails-to-cosmos/danneskjold-theme")
5474 (source
5475 (origin
5476 (method git-fetch)
5477 (uri (git-reference
5478 (url home-page)
5479 (commit commit)))
5480 (file-name (string-append name "-" version "-checkout"))
5481 (sha256
5482 (base32
5483 "0s6rbsb0y8i8m5b9xm4gw1p1cxsxdqnqxqqb638pygz9f76mbir1"))))
5484 (build-system emacs-build-system)
5485 (arguments
5486 `(#:phases
5487 (modify-phases %standard-phases
5488 (add-after 'unpack 'delete-screenshots
5489 (lambda _
5490 (delete-file-recursively "screenshots") #t)))))
5491 (synopsis "High-contrast Emacs theme")
5492 (description
5493 "@code{danneskjold-theme} is a high-contrast theme for Emacs.")
5494 (license license:gpl3+))))
5495
5496(define-public emacs-dream-theme
5497 (let* ((commit "107a11d74365046f28a1802a2bdb5e69e4a7488b")
5498 (revision "1"))
5499 (package
5500 (name "emacs-dream-theme")
5501 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
5502 (source
5503 (origin
5504 (method git-fetch)
5505 (uri (git-reference
5506 (url "https://github.com/djcb/dream-theme")
5507 (commit commit)))
5508 (file-name (string-append name "-" version "-checkout"))
5509 (sha256
5510 (base32
5511 "0za18nfkq4xqm35k6006vsixcbmvmxqgma4iw5sw37h8vmcsdylk"))))
5512 (build-system emacs-build-system)
5513 (home-page "https://github.com/djcb/dream-theme")
5514 (synopsis "High-contrast Emacs theme")
5515 (description
5516 "@code{dream-theme} is a dark, clean theme for Emacs. It is inspired
5517by zenburn, sinburn and similar themes, but slowly diverging from them.")
5518 (license license:gpl3+))))
5519
5520(define-public emacs-auto-complete
5521 (package
5522 (name "emacs-auto-complete")
5523 (version "1.5.1")
5524 (source
5525 (origin
5526 (method url-fetch)
5527 (uri (string-append "https://github.com/auto-complete/"
5528 "auto-complete/archive/v" version ".tar.gz"))
5529 (sha256
5530 (base32
5531 "1jvq4lj00hwml75lpmlciazy8f3bbg13gffsfnl835p4qd8l7yqv"))
5532 (file-name (string-append name "-" version ".tar.gz"))))
5533 (build-system emacs-build-system)
5534 (propagated-inputs
5535 `(("emacs-popup" ,emacs-popup)))
5536 (home-page "https://github.com/auto-complete/auto-complete")
5537 (synopsis "Intelligent auto-completion extension for Emacs")
5538 (description
5539 "Auto-Complete is an intelligent auto-completion extension for Emacs.
5540It extends the standard Emacs completion interface and provides an environment
5541that allows users to concentrate more on their own work. Its features are:
5542a visual interface, reduce overhead of completion by using statistic method,
5543extensibility.")
5544 (license license:gpl3+)))
5545
5546(define-public emacs-nginx-mode
5547 (package
5548 (name "emacs-nginx-mode")
5549 (version "1.1.9")
5550 (source
5551 (origin
5552 (method url-fetch)
5553 (uri (string-append
5554 "https://github.com/ajc/nginx-mode/archive/v"
5555 version ".tar.gz"))
5556 (file-name (string-append name "-" version ".tar.gz"))
5557 (sha256
5558 (base32
5559 "0bzyrj6zz1hm67bkhw23bam7qc869s3zg7m1rb1c3aa4n0aw90cq"))))
5560 (build-system emacs-build-system)
5561 (home-page "https://github.com/ajc/nginx-mode")
5562 (synopsis "Emacs major mode for editing nginx config files")
5563 (description "This package provides an Emacs major mode for
5564editing nginx config files.")
5565 (license license:gpl2+)))
5566
5567(define-public emacs-stream
5568 (package
5569 (name "emacs-stream")
5570 (version "2.2.0")
5571 (home-page "https://github.com/NicolasPetton/stream")
5572 (source
5573 (origin
5574 (method url-fetch)
5575 (file-name (string-append name "-" version ".tar.gz"))
5576 (uri (string-append home-page "/archive/"version ".tar.gz"))
5577 (sha256
5578 (base32 "03ql4nqfz5pn55mjly6clhvc3g7x2d28kj7mrlqmigvjbql39xxc"))))
5579 (build-system emacs-build-system)
5580 (synopsis "Implementation of streams for Emacs")
5581 (description "This library provides an implementation of streams for Emacs.
5582Streams are implemented as delayed evaluation of cons cells.")
5583 (license license:gpl3+)))
5584
5585(define-public emacs-el-search
5586 (let ((commit "f26277bfbb3fc3fc74beea6592f294c439796bd4")
5587 (revision "1"))
5588 (package
5589 (name "emacs-el-search")
5590 ;; No ufficial release.
5591 (version (string-append "0.0-" revision "." (string-take commit 7)))
5592 (home-page "https://github.com/emacsmirror/el-search")
5593 (source
5594 (origin
5595 (method git-fetch)
5596 (file-name (string-append name "-" version ".tar.gz"))
5597 (uri (git-reference
5598 (commit commit)
5599 (url (string-append home-page ".git"))))
5600 (sha256
5601 (base32 "12xf40h9sb7xxg2r97gsia94q02543mgiiiw46fzh1ac7b7993g6"))))
5602 (build-system emacs-build-system)
5603 (inputs `(("emacs-stream" ,emacs-stream)))
5604 (synopsis "Expression based interactive search for emacs-lisp-mode")
5605 (description "This package provides expression based interactive search
5606procedures for emacs-lisp-mode.")
5607 (license license:gpl3+))))
5608
5609(define-public emacs-ht
5610 (package
5611 (name "emacs-ht")
b6ecf3d7 5612 (version "2.2")
eeb883cb
RW
5613 (source
5614 (origin
5615 (method url-fetch)
5616 (uri (string-append
5617 "https://github.com/Wilfred/ht.el/archive/"
5618 version ".tar.gz"))
5619 (file-name (string-append name "-" version ".tar.gz"))
5620 (sha256
5621 (base32
b6ecf3d7 5622 "0fsi27gdrh2dgwdbq43vnw5sz25war6shlxaclr60fl7krpxjkzf"))))
eeb883cb
RW
5623 (build-system emacs-build-system)
5624 (propagated-inputs `(("emacs-dash" ,emacs-dash)))
5625 (home-page "https://github.com/Wilfred/ht.el")
5626 (synopsis "Hash table library for Emacs")
5627 (description
5628 "This package simplifies the use of hash tables in elisp. It also
5629provides functions to convert hash tables from and to alists and plists.")
5630 (license license:gpl3+)))
5631
5632(define-public emacs-log4e
5633 (package
5634 (name "emacs-log4e")
5635 (version "0.3.0")
5636 (source
5637 (origin
5638 (method url-fetch)
5639 (uri (string-append
5640 "https://github.com/aki2o/log4e/archive/v"
5641 version ".tar.gz"))
5642 (file-name (string-append name "-" version ".tar.gz"))
5643 (sha256
5644 (base32
5645 "0nbdpbw353snda3v19l9hsm6gimppwnpxj18amm350bm81lyim2g"))))
5646 (build-system emacs-build-system)
5647 (arguments
5648 `(#:phases
5649 (modify-phases %standard-phases
5650 (add-after 'unpack 'remove-tests
5651 ;; Guile builder complains about null characters in some
5652 ;; strings of test files. Remove "test" directory (it is not
5653 ;; needed anyway).
5654 (lambda _
5655 (delete-file-recursively "test"))))))
5656 (home-page "https://github.com/aki2o/log4e")
5657 (synopsis "Logging framework for elisp")
5658 (description
5659 "This package provides a logging framework for elisp. It allows
5660you to deal with multiple log levels.")
5661 (license license:gpl3+)))
5662
5663(define-public emacs-gntp
5664 (package
5665 (name "emacs-gntp")
5666 (version "0.1")
5667 (source
5668 (origin
5669 (method url-fetch)
5670 (uri (string-append
5671 "https://github.com/tekai/gntp.el/archive/v"
5672 version ".tar.gz"))
5673 (file-name (string-append name "-" version ".tar.gz"))
5674 (sha256
5675 (base32
5676 "16c1dfkia9yhl206bdhjr3b8kfvqcqr38jl5lq8qsyrrzsnmghny"))))
5677 (build-system emacs-build-system)
5678 (home-page "https://github.com/tekai/gntp.el")
5679 (synopsis "Growl Notification Protocol for Emacs")
5680 (description
5681 "This package implements the Growl Notification Protocol GNTP
5682described at @uref{http://www.growlforwindows.com/gfw/help/gntp.aspx}.
5683It is incomplete as it only lets you send but not receive
5684notifications.")
5685 (license license:bsd-3)))
5686
5687(define-public emacs-alert
5688 (package
5689 (name "emacs-alert")
5690 (version "1.2")
5691 (source
5692 (origin
5693 (method url-fetch)
5694 (uri (string-append
5695 "https://github.com/jwiegley/alert/archive/v"
5696 version ".tar.gz"))
5697 (file-name (string-append name "-" version ".tar.gz"))
5698 (sha256
5699 (base32
5700 "1693kck3k2iz5zhpmxwqyafxm68hr6gzs60lkxd3j1wlp2c9fwyr"))))
5701 (build-system emacs-build-system)
5702 (propagated-inputs
5703 `(("emacs-gntp" ,emacs-gntp)
5704 ("emacs-log4e" ,emacs-log4e)))
5705 (home-page "https://github.com/jwiegley/alert")
5706 (synopsis "Growl-style notification system for Emacs")
5707 (description
5708 "Alert is a Growl-workalike for Emacs which uses a common notification
5709interface and multiple, selectable \"styles\", whose use is fully
5710customizable by the user.")
5711 (license license:gpl2+)))
5712
5713(define-public emacs-mu4e-alert
5714 (package
5715 (name "emacs-mu4e-alert")
5716 (version "1.0")
5717 (source
5718 (origin
5719 (method url-fetch)
5720 (uri (string-append
5721 "https://github.com/iqbalansari/mu4e-alert/archive/v"
5722 version ".tar.gz"))
5723 (file-name (string-append name "-" version ".tar.gz"))
5724 (sha256
5725 (base32
5726 "07qc834qnxn8xi4bw5nawj8g91bmkzw0r0vahkgysp7r9xrf57gj"))))
5727 (build-system emacs-build-system)
5728 (propagated-inputs
5729 `(("emacs-alert" ,emacs-alert)
5730 ("emacs-s" ,emacs-s)
5731 ("emacs-ht" ,emacs-ht)
5732 ("mu" ,mu)))
5733 (home-page "https://github.com/iqbalansari/mu4e-alert")
5734 (synopsis "Desktop notification for mu4e")
5735 (description
5736 "This package provides desktop notifications for mu4e.
5737Additionally it can display the number of unread emails in the
5738mode-line.")
5739 (license license:gpl3+)))
5740
5741(define-public emacs-pretty-mode
5742 (package
5743 (name "emacs-pretty-mode")
5744 (version "2.0.3")
5745 (source
5746 (origin
5747 (method url-fetch)
5748 (uri (string-append "https://github.com/akatov/pretty-mode/"
5749 "archive/" version ".tar.gz"))
5750 (file-name (string-append name "-" version ".tar.gz"))
5751 (sha256
5752 (base32
5753 "1fan7m4vnqs8kpg7r54kx3g7faadkpkf9kzarfv8n57kq8w157pl"))))
5754 (build-system emacs-build-system)
5755 (home-page "https://github.com/akatov/pretty-mode")
5756 (synopsis "Redisplay parts of the buffer as Unicode symbols")
5757 (description
5758 "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
5759 (license license:gpl3+)))
5760
5761(define-public emacs-yasnippet
5762 (package
5763 (name "emacs-yasnippet")
5764 (version "0.13.0")
5765 (source (origin
5766 (method url-fetch)
5767 (uri (string-append "https://github.com/joaotavora/yasnippet/"
5768 "archive/" version ".tar.gz"))
5769 (file-name (string-append name "-" version ".tar.gz"))
5770 (sha256
5771 (base32
5772 "12ls2x17agzbrj1xynjbmfa11igqxia4hj4fv6fpr66yci2r1plc"))
5773 (modules '((guix build utils)))
5774 (snippet
5775 '(begin
5776 ;; YASnippet expects a "snippets" subdirectory in the same
5777 ;; directory as yasnippet.el, but we don't install it
5778 ;; because it's a git submodule pointing to an external
5779 ;; repository. Adjust `yas-snippet-dirs' to prevent
5780 ;; warnings about a missing directory.
5781 (substitute* "yasnippet.el"
5782 (("^ +'yas-installed-snippets-dir\\)\\)\n")
5783 "))\n"))
5784 #t))))
5785 (build-system emacs-build-system)
5786 (home-page "https://github.com/joaotavora/yasnippet")
5787 (synopsis "Yet another snippet extension for Emacs")
5788 (description
5789 "YASnippet is a template system for Emacs. It allows you to type an
5790abbreviation and automatically expand it into function templates.")
5791 (license license:gpl3+)))
5792
5793(define-public emacs-yasnippet-snippets
5794 (let ((commit "885050d34737e2fb36a3e7759d60c09347bd4ce0")
5795 (revision "1"))
5796 (package
5797 (name "emacs-yasnippet-snippets")
5798 (version (string-append "1-" revision "." (string-take commit 8)))
5799 (source
5800 (origin
5801 (method git-fetch)
5802 (uri (git-reference
5803 (url "https://github.com/AndreaCrotti/yasnippet-snippets")
5804 (commit commit)))
5805 (file-name (string-append name "-" version "-checkout"))
5806 (sha256
5807 (base32
5808 "1m935zgglw0iakzrixld5rcjz3wnj84f8wy2mvc3pggjri9l0qr9"))))
5809 (build-system trivial-build-system)
5810 (arguments
5811 `(#:modules ((ice-9 ftw)
5812 (ice-9 regex)
5813 (guix build utils))
5814 #:builder
5815 (begin
5816 (use-modules (ice-9 ftw)
5817 (ice-9 regex)
5818 (guix build utils))
5819 (with-directory-excursion (assoc-ref %build-inputs "source")
5820 (for-each (lambda (dir)
5821 (copy-recursively
5822 dir
5823 (string-append %output
5824 "/share/emacs/yasnippet-snippets/"
5825 dir)))
5826 (scandir "." (lambda (fname)
5827 (and (string-match "-mode$" fname)
5828 (directory-exists? fname))))))
5829 #t)))
5830 (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
5831 (synopsis "Collection of YASnippet snippets for many languages")
5832 (description
5833 "Provides Andrea Crotti's collection of YASnippet snippets. After installation,
5834the snippets will be in \"~/.guix-profile/share/emacs/yasnippet-snippets/\".
5835To make YASnippet aware of these snippets, add the above directory to
5836@code{yas-snippet-dirs}.")
5837 (license license:expat))))
5838
5839(define-public emacs-helm-c-yasnippet
5840 (let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")
5841 (revision "1"))
5842 (package
5843 (name "emacs-helm-c-yasnippet")
5844 (version (string-append "0.6.7" "-" revision "."
5845 (string-take commit 7)))
5846 (source (origin
5847 (method git-fetch)
5848 (uri (git-reference
5849 (url "https://github.com/emacs-jp/helm-c-yasnippet")
5850 (commit commit)))
5851 (file-name (string-append name "-" version "-checkout"))
5852 (sha256
5853 (base32
5854 "1cbafjqlzxbg19xfdqsinsh7afq58gkf44rsg1qxfgm8g6zhr7f8"))))
5855 (build-system emacs-build-system)
5856 (propagated-inputs
5857 `(("emacs-helm" ,emacs-helm)
5858 ("emacs-yasnippet" ,emacs-yasnippet)))
5859 (home-page "https://github.com/emacs-jp/helm-c-yasnippet")
5860 (synopsis "Helm integration for Yasnippet")
5861 (description "This Emacs library provides Helm interface for
5862Yasnippet.")
5863 (license license:gpl2+))))
5864
5865(define-public emacs-helm-system-packages
5866 (package
5867 (name "emacs-helm-system-packages")
5868 (version "1.10.1")
5869 (source (origin
5870 (method git-fetch)
5871 (uri (git-reference
5872 (url "https://github.com/emacs-helm/helm-system-packages")
5873 (commit (string-append "v" version))))
5874 (file-name (string-append name "-" version "-checkout"))
5875 (sha256
5876 (base32
5877 "01by0c4lqi2cw8xmbxkjw7m9x78zssm31sx4hdpw5j35s2951j0f"))))
5878 (build-system emacs-build-system)
5879 (inputs
5880 `(("recutils" ,recutils)))
5881 (propagated-inputs
5882 `(("emacs-helm" ,emacs-helm)))
5883 (arguments
5884 `(#:phases
5885 (modify-phases %standard-phases
5886 (add-after 'unpack 'configure
5887 (lambda* (#:key inputs outputs #:allow-other-keys)
5888 (let ((recutils (assoc-ref inputs "recutils")))
5889 ;; Specify the absolute file names of the various
5890 ;; programs so that everything works out-of-the-box.
5891 (substitute* "helm-system-packages-guix.el"
5892 (("recsel") (string-append recutils "/bin/recsel")))))))))
5893 (home-page "https://github.com/emacs-helm/helm-system-packages")
5894 (synopsis "Helm System Packages is an interface to your package manager")
5895 (description "List all available packages in Helm (with installed
5896packages displayed in their own respective face). Fuzzy-search, mark and
5897execute the desired action over any selections of packages: Install,
5898uninstall, display packages details (in Org Mode) or insert details at point,
5899find files owned by packages... And much more, including performing all the
5900above over the network.")
5901 (license license:gpl3+)))
5902
5903(define-public emacs-memoize
5904 (package
5905 (name "emacs-memoize")
5906 (version "1.1")
5907 (source
5908 (origin
5909 (method url-fetch)
5910 (uri (string-append
5911 "https://github.com/skeeto/emacs-memoize/archive/"
5912 version ".tar.gz"))
5913 (file-name (string-append name "-" version ".tar.gz"))
5914 (sha256
5915 (base32
5916 "05ijgwi4ymxx31vpjm2pn356j85cykknajn14lrzz8pn5sh0vrg4"))))
5917 (build-system emacs-build-system)
5918 (arguments
5919 `(#:tests? #t
5920 #:test-command '("emacs" "--batch"
5921 "-l" "memoize-test.el"
5922 "-f" "ert-run-tests-batch-and-exit")))
5923 (home-page "https://github.com/skeeto/emacs-memoize")
5924 (synopsis "Emacs lisp memoization library")
5925 (description "@code{emacs-memoize} is an Emacs library for
5926memoizing functions.")
5927 (license license:unlicense)))
5928
5929(define-public emacs-linum-relative
5930 (package
5931 (name "emacs-linum-relative")
5932 (version "0.5")
5933 (source
5934 (origin
5935 (method url-fetch)
5936 (uri (string-append
5937 "https://github.com/coldnew/linum-relative/archive/"
5938 version ".tar.gz"))
5939 (file-name (string-append name "-" version ".tar.gz"))
5940 (sha256
5941 (base32
5942 "0s4frvr27866lw1rn3jal9wj5rkz9fx4yiszqv7w06azsdgsqksv"))))
5943 (build-system emacs-build-system)
5944 (home-page "https://github.com/coldnew/linum-relative")
5945 (synopsis "Relative line numbering for Emacs")
5946 (description "@code{emacs-linum-relative} displays the relative line
5947number on the left margin in Emacs.")
5948 (license license:gpl2+)))
5949
5950(define-public emacs-idle-highlight
5951 (package
5952 (name "emacs-idle-highlight")
5953 (version "1.1.3")
5954 (source
5955 (origin
5956 (method url-fetch)
5957 (uri (string-append
5958 "https://github.com/nonsequitur/idle-highlight-mode/archive/"
5959 version ".tar.gz"))
5960 (file-name (string-append name "-" version ".tar.gz"))
5961 (sha256
5962 (base32
5963 "0kdv10hrgqpskjh0zvpnzwlkn5bccnqxas62gkws6njln57bf8nl"))))
5964 (build-system emacs-build-system)
5965 (home-page "https://www.emacswiki.org/emacs/IdleHighlight")
5966 (synopsis "Highlights all occurrences of the word the point is on")
5967 (description
5968 "This Emacs package provides @code{idle-highlight-mode} that sets
5969 an idle timer to highlight all occurrences in the buffer of the word under
5970 the point.")
5971 (license license:gpl3+)))
5972
5973(define-public emacs-ox-twbs
5974 (package
5975 (name "emacs-ox-twbs")
5976 (version "1.1.1")
5977 (source
5978 (origin
5979 (method url-fetch)
5980 (uri (string-append
5981 "https://github.com/marsmining/ox-twbs/archive/v"
5982 version ".tar.gz"))
5983 (file-name (string-append name "-" version ".tar.gz"))
5984 (sha256
5985 (base32
5986 "1zaq8dczq5wijjk36114k2x3hfrqig3lyx6djril6wyk67vczyqs"))))
5987 (build-system emacs-build-system)
5988 (home-page "https://github.com/marsmining/ox-twbs")
5989 (synopsis "Export org-mode docs as HTML compatible with Twitter Bootstrap")
5990 (description
5991 "This Emacs package outputs your org-mode docs with a simple, clean and
5992modern look. It implements a new HTML back-end for exporting org-mode docs as
5993HTML compatible with Twitter Bootstrap. By default, HTML is exported with
5994jQuery and Bootstrap resources included via osscdn.")
5995 (license license:gpl3+)))
5996
5997(define-public emacs-highlight-sexp
5998 (package
5999 (name "emacs-highlight-sexp")
6000 (version "1.0")
6001 (source
6002 (origin
6003 (method url-fetch)
6004 (uri (string-append
6005 "https://github.com/daimrod/highlight-sexp/archive/v"
6006 version ".tar.gz"))
6007 (file-name (string-append name "-" version ".tar.gz"))
6008 (sha256
6009 (base32
6010 "0jwx87qkln1rg9wmv4qkgkml935fh2pkgrg5x4ca6n5dgb4q6rj1"))))
6011 (build-system emacs-build-system)
6012 (home-page "https://github.com/daimrod/highlight-sexp")
6013 (synopsis "Minor mode that highlights the s-exp at the current position")
6014 (description
6015 "This Emacs package highlights the s-exp at the current position.")
6016 (license license:gpl3+)))
6017
6018(define-public emacs-highlight-stages
6019 (let ((commit "29cbc5b78261916da042ddb107420083da49b271")
6020 (revision "1"))
6021 (package
6022 (name "emacs-highlight-stages")
6023 (version (string-append "1.1.0" "-" revision "." (string-take commit 7)))
6024 (source
6025 (origin
6026 (method git-fetch)
6027 (uri (git-reference
6028 (url "https://github.com/zk-phi/highlight-stages.git")
6029 (commit commit)))
6030 (file-name (string-append name "-" version "-checkout"))
6031 (sha256
6032 (base32
6033 "0r6nbcrr0dqpgm8dir8ahzjy7rw4nrac48byamzrq96r7ajlxlv0"))
6034 (patches
6035 (search-patches "emacs-highlight-stages-add-gexp.patch"))))
6036 (build-system emacs-build-system)
6037 (home-page "https://github.com/wigust/highlight-stages")
6038 (synopsis "Minor mode that highlights (quasi-quoted) expressions")
6039 (description "@code{highlight-stages} provides an Emacs minor mode that
6040highlights quasi-quoted expressions.")
6041 (license license:gpl3+))))
6042
6043(define-public emacspeak
6044 (package
6045 (name "emacspeak")
ea32c946 6046 (version "49.0")
eeb883cb
RW
6047 (source
6048 (origin
6049 (method url-fetch)
6050 (uri (string-append
6051 "https://github.com/tvraman/emacspeak/releases/download/"
6052 version "/emacspeak-" version ".tar.bz2"))
6053 (sha256
6054 (base32
ea32c946 6055 "1smf26m7201z0bk49lzbw9zhbjfi6wylidfjixb8ylp6g0wnh8dx"))))
eeb883cb
RW
6056 (build-system gnu-build-system)
6057 (arguments
6058 '(#:make-flags (list (string-append "prefix="
6059 (assoc-ref %outputs "out")))
6060 #:phases
6061 (modify-phases %standard-phases
6062 (replace 'configure
6063 (lambda* (#:key outputs #:allow-other-keys)
6064 (let* ((out (assoc-ref outputs "out"))
6065 (lisp (string-append out
6066 "/share/emacs/site-lisp/emacspeak")))
6067 (setenv "SHELL" (which "sh"))
6068 ;; Configure Emacspeak according to etc/install.org.
6069 (invoke "make" "config"))))
6070 (add-after 'build 'build-espeak
6071 (lambda _
6072 (invoke "make" "espeak")))
6073 (replace 'install
6074 (lambda* (#:key inputs outputs #:allow-other-keys)
6075 (let* ((out (assoc-ref outputs "out"))
6076 (bin (string-append out "/bin"))
6077 (lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
6078 (info (string-append out "/share/info"))
6079 (emacs (string-append (assoc-ref inputs "emacs")
6080 "/bin/emacs")))
6081 ;; According to etc/install.org, the Emacspeak directory should
6082 ;; be copied to its installation destination.
6083 (for-each
6084 (lambda (file)
6085 (copy-recursively file (string-append lisp "/" file)))
6086 '("etc" "info" "js" "lisp" "media" "scapes" "servers" "sounds"
6087 "stumpwm" "xsl"))
6088 ;; Make sure emacspeak is loaded from the correct directory.
6089 (substitute* "etc/emacspeak.sh"
ea32c946
KK
6090 (("/lisp/emacspeak-setup.el")
6091 (string-append lisp "/lisp/emacspeak-setup.el")))
eeb883cb
RW
6092 ;; Install the convenient startup script.
6093 (mkdir-p bin)
6094 (copy-file "etc/emacspeak.sh" (string-append bin "/emacspeak")))
6095 #t))
6096 (add-after 'install 'wrap-program
6097 (lambda* (#:key inputs outputs #:allow-other-keys)
6098 (let* ((out (assoc-ref outputs "out"))
6099 (emacspeak (string-append out "/bin/emacspeak"))
6100 (espeak (string-append (assoc-ref inputs "espeak")
6101 "/bin/espeak")))
6102 ;; The environment variable DTK_PROGRAM tells emacspeak what
6103 ;; program to use for speech.
6104 (wrap-program emacspeak
6105 `("DTK_PROGRAM" ":" prefix (,espeak)))
6106 #t))))
6107 #:tests? #f)) ; no check target
6108 (inputs
6109 `(("emacs" ,emacs)
6110 ("espeak" ,espeak)
6111 ("perl" ,perl)
6112 ("tcl" ,tcl)
6113 ("tclx" ,tclx)))
6114 (home-page "http://emacspeak.sourceforge.net")
6115 (synopsis "Audio desktop interface for Emacs")
6116 (description
6117 "Emacspeak is a speech interface that allows visually impaired users to
6118interact independently and efficiently with the computer. Audio formatting
6119--a technique pioneered by AsTeR-- and full support for W3C's Aural CSS (ACSS)
6120allows Emacspeak to produce rich aural presentations of electronic information.
6121By seamlessly blending all aspects of the Internet such as Web-surfing and
6122messaging, Emacspeak speech-enables local and remote information via a
6123consistent and well-integrated user interface.")
6124 (license license:gpl2+)))
6125
6126(define-public emacs-adaptive-wrap
6127 (package
6128 (name "emacs-adaptive-wrap")
6129 (version "0.5.1")
6130 (source (origin
6131 (method url-fetch)
6132 (uri (string-append
6133 "http://elpa.gnu.org/packages/adaptive-wrap-"
6134 version ".el"))
6135 (sha256
6136 (base32
6137 "0qi7gjprcpywk2daivnlavwsx53hl5wcqvpxbwinvigg42vxh3ll"))))
6138 (build-system emacs-build-system)
6139 (home-page "http://elpa.gnu.org/packages/adaptive-wrap.html")
6140 (synopsis "Smart line-wrapping with wrap-prefix")
6141 (description
6142 "This Emacs package provides the @code{adaptive-wrap-prefix-mode}
6143minor mode which sets the wrap-prefix property on the fly so that
6144single-long-line paragraphs get word-wrapped in a way similar to what
6145you'd get with @kbd{M-q} using @code{adaptive-fill-mode}, but without
6146actually changing the buffer's text.")
6147 (license license:gpl3+)))
6148
6149(define-public emacs-diff-hl
6150 (package
6151 (name "emacs-diff-hl")
6152 (version "1.8.5")
6153 (source
6154 (origin
6155 (method url-fetch)
6156 (uri (string-append "https://elpa.gnu.org/packages/diff-hl-"
6157 version ".tar"))
6158 (sha256
6159 (base32
6160 "1vxc7z7c2qs0mx7l5sa4sybi5qbzv0s79flj74p1ynw8dl3qxg3d"))))
6161 (build-system emacs-build-system)
6162 (home-page "https://github.com/dgutov/diff-hl")
6163 (synopsis
6164 "Highlight uncommitted changes using VC")
6165 (description
6166 "@code{diff-hl-mode} highlights uncommitted changes on the side of the
6167window (using the fringe, by default), allows you to jump between
6168the hunks and revert them selectively.")
6169 (license license:gpl3+)))
6170
6171(define-public emacs-diminish
6172 (package
6173 (name "emacs-diminish")
6174 (version "0.45")
6175 (source
6176 (origin
6177 (method url-fetch)
6178 (uri (string-append
6179 "https://github.com/myrjola/diminish.el/archive/v"
6180 version ".tar.gz"))
6181 (file-name (string-append name "-" version ".tar.gz"))
6182 (sha256
6183 (base32
6184 "0i3629sv5cfrrb00hcnmaqzgs8mk36yasc1ax3ry1ga09nr6rkj9"))))
6185 (build-system emacs-build-system)
6186 (home-page "https://github.com/myrjola/diminish.el")
6187 (synopsis "Diminish minor modes with no modeline display")
6188 (description "@code{emacs-diminish} implements hiding or
6189abbreviation of the mode line displays (lighters) of minor modes.")
6190 (license license:gpl2+)))
6191
6192(define-public emacs-use-package
6193 (let ((commit "da8c9e2840343906e732f9699e43d35a1f06481d")
6194 (revision "1"))
6195 (package
6196 (name "emacs-use-package")
6197 (version (git-version "2.3" revision commit))
6198 (source (origin
6199 (method git-fetch)
6200 (uri (git-reference
6201 (url "https://github.com/jwiegley/use-package")
6202 (commit commit)))
6203 (file-name (git-file-name name version))
6204 (sha256
6205 (base32
6206 "0jz38pbq1p9h85i6qcsh3sfzkd103y6mw3rg5zd14dxigp8ir3xz"))))
6207 (build-system emacs-build-system)
6208 (propagated-inputs
6209 `(("emacs-diminish" ,emacs-diminish)))
6210 (arguments
6211 `(#:tests? #t
6212 #:test-command '("emacs" "--batch"
6213 "-l" "use-package-tests.el"
6214 "-f" "ert-run-tests-batch-and-exit")))
6215 (home-page "https://github.com/jwiegley/use-package")
6216 (synopsis "Declaration for simplifying your .emacs")
6217 (description "The use-package macro allows you to isolate package
6218configuration in your @file{.emacs} file in a way that is both
6219performance-oriented and tidy.")
6220 (license license:gpl2+))))
6221
6222(define-public emacs-strace-mode
6223 (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
6224 (revision "1"))
6225 (package
6226 (name "emacs-strace-mode")
6227 (version (string-append "0.0.2-" revision "." (string-take commit 7)))
6228 (source (origin
6229 (method git-fetch)
6230 (uri (git-reference
6231 (url "https://github.com/pkmoore/strace-mode")
6232 (commit commit)))
6233 (file-name (string-append name "-" version "-checkout"))
6234 (sha256
6235 (base32
6236 "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f"))))
6237 (build-system emacs-build-system)
6238 (home-page "https://github.com/pkmoore/strace-mode")
6239 (synopsis "Emacs major mode to highlight strace outputs")
6240 (description "@code{emacs-strace-mode} provides an Emacs major mode
6241 highlighting strace outputs.")
6242 (license license:gpl3+))))
6243
6244(define-public emacs-default-encrypt
6245 (package
6246 (name "emacs-default-encrypt")
6247 (version "4.3")
6248 (source
6249 (origin
6250 (method url-fetch)
6251 (uri (string-append
6252 "https://www.informationelle-selbstbestimmung-im-internet.de"
6253 "/emacs/jl-encrypt" version "/jl-encrypt.el"))
6254 (file-name (string-append "jl-encrypt-" version ".el"))
6255 (sha256
6256 (base32
6257 "16i3rlfp3jxlqvndn8idylhmczync3gwmy8a019v29vyr48rnnr0"))))
6258 (build-system emacs-build-system)
6259 (home-page "https://www.informationelle-selbstbestimmung-im-internet.de/Emacs.html")
6260 (synopsis "Automatically encrypt or sign Gnus messages in Emacs")
6261 (description
6262 "DefaultEncrypt is designed to be used with Gnus in Emacs. It
6263automatically encrypts messages that you send (e.g., email) when public keys
6264for all recipients are available, and it protects you from accidentally
6265sending un-encrypted messages. It can also be configured to automatically
6266sign messages that you send. For details and instructions on how to use
6267DefaultEncrypt, please refer to the home page or read the comments in the
6268source file, @file{jl-encrypt.el}.")
6269 (license license:gpl3+)))
6270
6271(define-public emacs-htmlize
6272 (package
6273 (name "emacs-htmlize")
6274 (version "1.53")
6275 (source
6276 (origin
6277 (method url-fetch)
6278 (uri (string-append
6279 "https://github.com/hniksic/emacs-htmlize/archive/release/"
6280 version ".tar.gz"))
6281 (file-name (string-append name "-" version ".tar.gz"))
6282 (sha256
6283 (base32
6284 "1lzaf9m1qr9dhw4nn53g6wszk2vqw95gpsbrc3y85bams4cn24ga"))))
6285 (build-system emacs-build-system)
6286 (home-page "https://github.com/hniksic/emacs-htmlize")
6287 (synopsis "Convert buffer text and decorations to HTML")
6288 (description "@code{emacs-htmlize} converts the buffer text and
6289the associated decorations to HTML. Output to CSS, inline CSS and
6290fonts is supported.")
6291 (license license:gpl2+)))
6292
6293(define-public emacs-xmlgen
6294 (package
6295 (name "emacs-xmlgen")
6296 (version "0.5")
6297 (source
6298 (origin
6299 (method url-fetch)
6300 (uri (string-append
6301 "https://github.com/philjackson/xmlgen/archive/"
6302 version ".tar.gz"))
6303 (file-name (string-append name "-" version ".tar.gz"))
6304 (sha256
6305 (base32
6306 "0zay490vjby3f7455r0vydmjg7q1gwc78hilpfb0rg4gwz224z8r"))))
6307 (build-system emacs-build-system)
6308 (arguments
6309 `(#:tests? #t
6310 #:test-command '("emacs" "--batch"
6311 "-l" "xmlgen-test.el"
6312 "-f" "ert-run-tests-batch-and-exit")))
6313 (home-page "https://github.com/philjackson/xmlgen")
6314 (synopsis "S-expression to XML domain specific language (DSL) in
6315Emacs Lisp")
6316 (description "@code{emacs-xmlgen} provides S-expression to XML
6317conversion for Emacs Lisp.")
6318 (license license:gpl2+)))
6319
6320(define-public emacs-cdlatex
6321 (package
6322 (name "emacs-cdlatex")
6323 (version "4.7")
6324 (source
6325 (origin
6326 (method url-fetch)
6327 (uri (string-append
6328 "https://github.com/cdominik/cdlatex/archive/"
6329 version ".tar.gz"))
6330 (file-name (string-append name "-" version ".tar.gz"))
6331 (sha256
6332 (base32
6333 "0pivapphmykc6vhvpx7hdyl55ls37vc4jcrxpvs4yk7jzcmwa9xp"))))
6334 (build-system emacs-build-system)
6335 (propagated-inputs
6336 `(("emacs-auctex" ,emacs-auctex)))
6337 (home-page "https://github.com/cdominik/cdlatex")
6338 (synopsis "Fast Emacs input methods for LaTeX environments and
6339math")
6340 (description "CDLaTeX is an Emacs minor mode supporting fast
6341insertion of environment templates and math in LaTeX. Similar
6342commands are also offered as part of the AUCTeX package, but it is not
6343the same - CDLaTeX focuses on speediness for inserting LaTeX
6344constructs.")
6345 (license license:gpl3+)))
6346
6347(define-public emacs-cnfonts
6348 (package
6349 (name "emacs-cnfonts")
6350 (version "0.9.1")
6351 (source (origin
6352 (method url-fetch)
6353 (uri (string-append
6354 "https://github.com/tumashu/cnfonts/archive/v"
6355 version ".tar.gz"))
6356 (file-name (string-append name "-" version ".tar.gz"))
6357 (sha256
6358 (base32
6359 "1l6cgcvc6md1zq97ccczankpyi0k4vjx6apflny6kjq3p33lyhf4"))))
6360 (build-system emacs-build-system)
6361 (home-page "https://github.com/tumashu/cnfonts")
6362 (synopsis "Emacs Chinese fonts setup tool")
6363 (description "cnfonts is a Chinese fonts setup tool, allowing for easy
6364configuration of Chinese fonts.")
6365 (license license:gpl2+)))
6366
6367(define-public emacs-php-mode
6368 (package
6369 (name "emacs-php-mode")
6370 (version "20171225.342")
6371 (source (origin
6372 (method url-fetch)
6373 (uri (string-append
6374 "https://melpa.org/packages/php-mode-"
6375 version ".tar"))
6376 (sha256
6377 (base32
6378 "1zz682f34v4wsm2dyj1gnrnvsrqdq1cy7j8p6cvc398w2fziyg3q"))))
6379 (build-system emacs-build-system)
6380 (home-page "https://github.com/ejmr/php-mode")
6381 (synopsis "Major mode for editing PHP code")
6382 (description "@code{php-mode} is a major mode for editing PHP source
6383code. It's an extension of C mode; thus it inherits all C mode's navigation
6384functionality. But it colors according to the PHP grammar and indents
6385according to the PEAR coding guidelines. It also includes a couple handy
6386IDE-type features such as documentation search and a source and class
6387browser.")
6388 (license license:gpl3+)))
6389
6390(define-public emacs-pos-tip
6391 (package
6392 (name "emacs-pos-tip")
6393 (version "0.4.6")
6394 (source (origin
6395 (method url-fetch)
6396 (uri (string-append
6397 "https://github.com/pitkali/pos-tip/archive/"
6398 version ".tar.gz"))
6399 (file-name (string-append name "-" version ".tar.gz"))
6400 (sha256
6401 (base32
6402 "12jqfy26vjk7lq0aa8yn8zqj8c85fkvx7y9prj0pcn4wqiz2ad2r"))))
6403 (build-system emacs-build-system)
6404 ;; The following functions and variables needed by emacs-pos-tip are
6405 ;; not included in emacs-minimal:
6406 ;; x-display-pixel-width, x-display-pixel-height, x-show-tip
6407 (arguments `(#:emacs ,emacs))
6408 (home-page "https://github.com/pitkali/pos-tip")
6409 (synopsis "Show tooltip at point")
6410 (description "The standard library tooltip.el provides a function for
6411displaying a tooltip at the mouse position. However, locating a tooltip at an
6412arbitrary buffer position in a window is not easy. Pos-tip provides such a
6413function to be used by other frontend programs.")
6414 (license license:gpl2+)))
6415
6416(define-public emacs-pyim-basedict
6417 (package
6418 (name "emacs-pyim-basedict")
6419 (version "0.3.1")
6420 (source (origin
6421 (method url-fetch)
6422 (uri (string-append
6423 "https://github.com/tumashu/pyim-basedict/archive/v"
6424 version ".tar.gz"))
6425 (file-name (string-append name "-" version ".tar.gz"))
6426 (sha256
6427 (base32
6428 "0nfgxviavkgrpyfsw60xsws4fk51fcmgl8fp6zf4ibqjjbp53n3n"))))
6429 (build-system emacs-build-system)
6430 (home-page "https://github.com/tumashu/pyim-basedict")
6431 (synopsis "Input method dictionary of pyim")
6432 (description "Pyim-basedict is the default pinyin input method dictionary,
6433containing words from the rime project.")
6434 (license license:gpl2+)))
6435
6436(define-public emacs-pyim
6437 (package
6438 (name "emacs-pyim")
6439 (version "1.8")
6440 (source
6441 (origin
6442 (method git-fetch)
6443 (uri (git-reference
6444 (url "https://github.com/tumashu/pyim")
6445 (commit (string-append "v" version))))
6446 (file-name (git-file-name name version))
6447 (sha256
6448 (base32
6449 "16rma4cv7xgky0g3x4an27v30jdi6i1sqw43cl99zhkqvp43l3f9"))))
6450 (build-system emacs-build-system)
6451 (propagated-inputs
6452 `(("emacs-async" ,emacs-async)
6453 ("emacs-pyim-basedict" ,emacs-pyim-basedict)
6454 ("emacs-popup" ,emacs-popup)
6455 ("emacs-posframe" ,emacs-posframe)))
6456 (home-page "https://github.com/tumashu/pyim")
6457 (synopsis "Chinese input method")
6458 (description "Chinese input method which supports quanpin, shuangpin, wubi
6459and cangjie.")
6460 (license license:gpl2+)))
6461
6462(define-public emacs-posframe
6463 (package
6464 (name "emacs-posframe")
6465 (version "0.4.2")
6466 (source
6467 (origin
6468 (method url-fetch)
6469 (uri (string-append
6470 "https://elpa.gnu.org/packages/posframe-" version ".el"))
6471 (sha256
6472 (base32
6473 "1h8vvxvsg41vc1nnglqjs2q0k1yzfsn72skga9s76qa3zxmx6kds"))))
6474 (build-system emacs-build-system)
6475 ;; emacs-minimal does not include the function font-info
6476 (arguments `(#:emacs ,emacs))
6477 (home-page "https://github.com/tumashu/posframe")
6478 (synopsis "Pop a posframe (a child frame) at point")
6479 (description "@code{emacs-posframe} can pop a posframe at point. A
6480posframe is a child frame displayed within its root window's buffer.
6481@code{emacs-posframe} is fast and works well with CJK languages.")
6482 (license license:gpl3+)))
6483
6484(define-public emacs-el2org
6485 (package
6486 (name "emacs-el2org")
6487 (version "0.6.0")
6488 (source (origin
6489 (method url-fetch)
6490 (uri (string-append
6491 "https://github.com/tumashu/el2org/archive/v"
6492 version ".tar.gz"))
6493 (file-name (string-append name "-" version ".tar.gz"))
6494 (sha256
6495 (base32
6496 "0gd3km1swwvg2w0kdi7370f54wgrflxn63gjgssfjc1iyc9sbqwq"))))
6497 (build-system emacs-build-system)
6498 (home-page "https://github.com/tumashu/el2org")
6499 (synopsis "Convert Emacs-lisp file to org file")
6500 (description "El2org is a simple tool, which can convert Emacs-lisp file
6501to org file, you can use this tool to write orgify commentary.")
6502 (license license:gpl2+)))
6503
6504(define-public emacs-mustache
6505 (package
6506 (name "emacs-mustache")
6507 (version "0.23")
6508 (source (origin
6509 (method url-fetch)
6510 (uri (string-append
6511 "https://github.com/Wilfred/mustache.el/archive/"
6512 version ".tar.gz"))
6513 (file-name (string-append name "-" version ".tar.gz"))
6514 (sha256
6515 (base32
6516 "0k9lcgil7kykkv1ylrgwy1g13ldjjmgi2cwmysgyb2vlj3jbwpdj"))))
6517 (build-system emacs-build-system)
6518 (propagated-inputs
6519 `(("emacs-dash" ,emacs-dash)
6520 ("emacs-ht" ,emacs-ht)
6521 ("emacs-s" ,emacs-s)))
6522 (home-page "https://github.com/Wilfred/mustache.el")
6523 (synopsis "Mustache templating library for Emacs")
6524 (description "Mustache templating library for Emacs, mustache is
6525a simple web template system, which is described as a logic-less system
6526because it lacks any explicit control flow statements, both looping and
6527conditional evaluation can be achieved using section tags processing lists
6528and lambdas.")
6529 (license license:gpl3+)))
6530
6531(define-public emacs-org2web
6532 (package
6533 (name "emacs-org2web")
6534 (version "0.9.1")
6535 (source (origin
6536 (method url-fetch)
6537 (uri (string-append
6538 "https://github.com/tumashu/org2web/archive/v"
6539 version ".tar.gz"))
6540 (file-name (string-append name "-" version ".tar.gz"))
6541 (sha256
6542 (base32
6543 "1c0ixcphlhp4c4qdiwq40bc3yp1gp1llp8pxrk4s7ny9n68s52zp"))))
6544 (build-system emacs-build-system)
6545 (propagated-inputs
6546 `(("emacs-dash" ,emacs-dash)
6547 ("emacs-el2org" ,emacs-el2org)
6548 ("emacs-ht" ,emacs-ht)
6549 ("emacs-mustache" ,emacs-mustache)
6550 ("emacs-simple-httpd" ,emacs-simple-httpd)))
6551 (home-page "https://github.com/tumashu/org2web")
6552 (synopsis "Static site generator based on org-mode ")
6553 (description "Org2web is a static site generator based on org-mode,
6554which code derived from Kelvin H's org-page.")
6555 (license license:gpl2+)))
6556
6557(define-public emacs-xelb
6558 (package
6559 (name "emacs-xelb")
e3da630b 6560 (version "0.17")
eeb883cb
RW
6561 (source (origin
6562 (method url-fetch)
6563 (uri (string-append "https://elpa.gnu.org/packages/xelb-"
6564 version ".tar"))
6565 (sha256
6566 (base32
e3da630b 6567 "0k98580vq253fjdgklgqlwl450saninfw39fbq8lv3xsnp3dcgml"))))
eeb883cb
RW
6568 (build-system emacs-build-system)
6569 ;; The following functions and variables needed by emacs-xelb are
6570 ;; not included in emacs-minimal:
6571 ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym
6572 ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region
6573 ;; x-display-pixel-width, x-display-pixel-height
6574 (arguments
6575 `(#:emacs ,emacs
6576 #:phases
6577 (modify-phases %standard-phases
6578 (add-after 'unpack 'regenerate-el-files
6579 (lambda* (#:key inputs #:allow-other-keys)
6580 (invoke "make"
6581 (string-append "PROTO_PATH="
6582 (assoc-ref inputs "xcb-proto")
6583 "/share/xcb")
6584 (string-append "EMACS_BIN="
6585 (assoc-ref inputs "emacs")
6586 "/bin/emacs -Q")))))))
6587 (native-inputs `(("xcb-proto" ,xcb-proto)))
6588 (home-page "https://github.com/ch11ng/xelb")
6589 (synopsis "X protocol Emacs Lisp binding")
6590 (description "@code{emacs-xelb} is a pure Emacs Lisp implementation of the
6591X11 protocol based on the XML description files from the XCB project. It
6592features an object-oriented API and permits a certain degree of concurrency.
6593It should enable you to implement low-level X11 applications.")
6594 (license license:gpl3+)))
6595
6596(define-public emacs-exwm
6597 (package
6598 (name "emacs-exwm")
451a5ae9 6599 (version "0.22")
eeb883cb
RW
6600 (synopsis "Emacs X window manager")
6601 (source (origin
6602 (method url-fetch)
6603 (uri (string-append "https://elpa.gnu.org/packages/exwm-"
6604 version ".tar"))
6605 (sha256
6606 (base32
451a5ae9 6607 "0lppm8ng37i5s4x7xdrxhjbdcnpl6pyvn4g7w52zbckjsn8qnqh0"))))
eeb883cb
RW
6608 (build-system emacs-build-system)
6609 (propagated-inputs
6610 `(("emacs-xelb" ,emacs-xelb)))
6611 (inputs
6612 `(("xhost" ,xhost)
6613 ("dbus" ,dbus)))
6614 ;; The following functions and variables needed by emacs-exwm are
6615 ;; not included in emacs-minimal:
6616 ;; scroll-bar-mode, fringe-mode
6617 ;; x-display-pixel-width, x-display-pixel-height
6618 (arguments
6619 `(#:emacs ,emacs
6620 #:phases
6621 (modify-phases %standard-phases
6622 (add-after 'build 'install-xsession
6623 (lambda* (#:key inputs outputs #:allow-other-keys)
6624 (let* ((out (assoc-ref outputs "out"))
6625 (xsessions (string-append out "/share/xsessions"))
6626 (bin (string-append out "/bin"))
6627 (exwm-executable (string-append bin "/exwm")))
6628 ;; Add a .desktop file to xsessions
6629 (mkdir-p xsessions)
6630 (mkdir-p bin)
6631 (with-output-to-file
6632 (string-append xsessions "/exwm.desktop")
6633 (lambda _
6634 (format #t "[Desktop Entry]~@
6635 Name=~a~@
6636 Comment=~a~@
6637 Exec=~a~@
6638 TryExec=~@*~a~@
6639 Type=Application~%" ,name ,synopsis exwm-executable)))
6640 ;; Add a shell wrapper to bin
6641 (with-output-to-file exwm-executable
6642 (lambda _
6643 (format #t "#!~a ~@
6644 ~a +SI:localuser:$USER ~@
6645 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
6646 (string-append (assoc-ref inputs "bash") "/bin/sh")
6647 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
6648 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
6649 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
6650 '(cond
6651 ((file-exists-p "~/.exwm")
6652 (load-file "~/.exwm"))
6653 ((not (featurep 'exwm))
6654 (require 'exwm)
6655 (require 'exwm-config)
6656 (exwm-config-default)
6657 (message (concat "exwm configuration not found. "
6658 "Falling back to default configuration...")))))))
6659 (chmod exwm-executable #o555)
6660 #t))))))
6661 (home-page "https://github.com/ch11ng/exwm")
6662 (description "EXWM is a full-featured tiling X window manager for Emacs
6663built on top of XELB.")
6664 (license license:gpl3+)))
6665
6666(define-public emacs-switch-window
6667 (package
6668 (name "emacs-switch-window")
6669 (version "1.6.2")
6670 (source
6671 (origin
6672 (method git-fetch)
6673 (uri (git-reference
6674 (url "https://github.com/dimitri/switch-window")
6675 (commit (string-append "v" version))))
6676 (file-name (git-file-name name version))
6677 (sha256
6678 (base32
6679 "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"))))
6680 (build-system emacs-build-system)
6681 (home-page "https://github.com/dimitri/switch-window")
6682 (synopsis "Emacs window switch tool")
6683 (description "Switch-window is an emacs window switch tool, which
6684offer a visual way to choose a window to switch to, delete, split or
6685other operations.")
6686 (license license:wtfpl2)))
6687
6688(define-public emacs-exwm-x
6689 (package
6690 (name "emacs-exwm-x")
6691 (version "1.9.0")
6692 (synopsis "Derivative window manager based on EXWM")
6693 (source
6694 (origin
6695 (method git-fetch)
6696 (uri (git-reference
6697 (url "https://github.com/tumashu/exwm-x")
6698 (commit (string-append "v" version))))
6699 (file-name (git-file-name name version))
6700 (sha256
6701 (base32
6702 "03l3dl7s1qys1kkh40rm1sfx7axy1b8sf5f6nyksj9ps6d30p5i4"))))
6703 (build-system emacs-build-system)
6704 (propagated-inputs
6705 `(("emacs-exwm" ,emacs-exwm)
6706 ("emacs-switch-window" ,emacs-switch-window)
6707 ("emacs-ivy" ,emacs-ivy)
6708 ("emacs-use-package" ,emacs-use-package)))
6709 (inputs
6710 `(("xhost" ,xhost)
6711 ("dbus" ,dbus)))
6712 ;; Need emacs instead of emacs-minimal,
6713 ;; for emacs's bin path will be inserted into bin/exwm-x file.
6714 (arguments
6715 `(#:emacs ,emacs
6716 #:phases
6717 (modify-phases %standard-phases
6718 (add-after 'build 'install-xsession
6719 (lambda* (#:key inputs outputs #:allow-other-keys)
6720 (let* ((out (assoc-ref outputs "out"))
6721 (xsessions (string-append out "/share/xsessions"))
6722 (bin (string-append out "/bin"))
6723 (exwm-executable (string-append bin "/exwm-x")))
6724 ;; Add a .desktop file to xsessions
6725 (mkdir-p xsessions)
6726 (mkdir-p bin)
6727 (with-output-to-file
6728 (string-append xsessions "/exwm-x.desktop")
6729 (lambda _
6730 (format #t "[Desktop Entry]~@
6731 Name=~a~@
6732 Comment=~a~@
6733 Exec=~a~@
6734 TryExec=~@*~a~@
6735 Type=Application~%" ,name ,synopsis exwm-executable)))
6736 ;; Add a shell wrapper to bin
6737 (with-output-to-file exwm-executable
6738 (lambda _
6739 (format #t "#!~a ~@
6740 ~a +SI:localuser:$USER ~@
6741 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
6742 (string-append (assoc-ref inputs "bash") "/bin/sh")
6743 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
6744 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
6745 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
6746 '(require 'exwmx-loader))))
6747 (chmod exwm-executable #o555)
6748 #t))))))
6749 (home-page "https://github.com/tumashu/exwm-x")
6750 (description "EXWM-X is a derivative window manager based on EXWM, with focus
6751on mouse-control.")
6752 (license license:gpl3+)))
6753
6754(define-public emacs-gnuplot
6755 (package
6756 (name "emacs-gnuplot")
6757 (version "0.7.0")
6758 (source
6759 (origin
6760 (method url-fetch)
6761 (uri (string-append
6762 "https://github.com/bruceravel/gnuplot-mode/archive/"
6763 version ".tar.gz"))
6764 (file-name (string-append name "-" version ".tar.gz"))
6765 (sha256
6766 (base32
6767 "0glzymrn138lwig7p4cj17x4if5jisr6l4g6wcbxisqkqgc1h01i"))))
6768 (build-system gnu-build-system)
6769 (native-inputs `(("emacs" ,emacs-minimal)))
6770 (arguments
6771 (let ((elisp-dir (string-append "/share/emacs/site-lisp/guix.d"
6772 "/gnuplot-" version)))
6773 `(#:modules ((guix build gnu-build-system)
6774 (guix build utils)
6775 (guix build emacs-utils))
6776 #:imported-modules (,@%gnu-build-system-modules
6777 (guix build emacs-utils))
6778 #:configure-flags
6779 (list (string-append "EMACS=" (assoc-ref %build-inputs "emacs")
6780 "/bin/emacs")
6781 (string-append "--with-lispdir=" %output ,elisp-dir))
6782 #:phases
6783 (modify-phases %standard-phases
6784 (add-after 'install 'generate-autoloads
6785 (lambda* (#:key outputs #:allow-other-keys)
6786 (emacs-generate-autoloads
6787 "gnuplot"
6788 (string-append (assoc-ref outputs "out") ,elisp-dir))
6789 #t))))))
6790 (home-page "https://github.com/bruceravel/gnuplot-mode")
6791 (synopsis "Emacs major mode for interacting with gnuplot")
6792 (description "@code{emacs-gnuplot} is an emacs major mode for interacting
6793with gnuplot.")
6794 (license license:gpl2+)))
6795
6796(define-public emacs-transpose-frame
6797 (package
6798 (name "emacs-transpose-frame")
6799 (version "0.1.0")
6800 (source
6801 (origin
6802 (method url-fetch)
6803 (uri "http://www.emacswiki.org/emacs/download/transpose-frame.el")
6804 (file-name (string-append "transpose-frame-" version ".el"))
6805 (sha256
6806 (base32
6807 "1f67yksgw9s6j0033hmqzaxx2a93jm11sd5ys7cc3li5gfh680m4"))))
6808 (build-system emacs-build-system)
6809 (home-page "https://www.emacswiki.org/emacs/TransposeFrame")
6810 (synopsis "Transpose window arrangement in current frame")
6811 (description "@code{emacs-transpose-frame} provides some interactive
6812functions which allows users to transpose windows arrangement in currently
6813selected frame.")
6814 (license license:bsd-2)))
6815
6816(define-public emacs-key-chord
6817 (package
6818 (name "emacs-key-chord")
6819 (version "0.6")
6820 (source
6821 (origin
6822 (method url-fetch)
6823 (uri "https://www.emacswiki.org/emacs/download/key-chord.el")
6824 (file-name (string-append "key-chord-" version ".el"))
6825 (sha256
6826 (base32
6827 "03m44pqggfrd53nh9dvpdjgm0rvca34qxmd30hr33hzprzjambxg"))))
6828 (build-system emacs-build-system)
6829 (home-page "https://www.emacswiki.org/emacs/key-chord.el")
6830 (synopsis "Map pairs of simultaneously pressed keys to Emacs commands")
6831 (description "@code{emacs-key-chord} provides @code{key-chord-mode}, a
6832mode for binding key chords to commands. A key chord is defined as two keys
6833pressed simultaneously or a single key quickly pressed twice.")
6834 (license license:gpl2+)))
6835
6836(define-public emacs-evil-surround
6837 (package
6838 (name "emacs-evil-surround")
6839 (version "1.0.0")
6840 (source
6841 (origin
6842 (method url-fetch)
6843 (uri (string-append
6844 "https://github.com/timcharper/evil-surround/archive/v"
6845 version ".tar.gz"))
6846 (file-name (string-append name "-" version ".tar.gz"))
6847 (sha256
6848 (base32
6849 "0p572jgic3q1ia1nz37kclir729ay6i2f4sa7wnaapyxly2lwb3r"))))
6850 (build-system emacs-build-system)
6851 (propagated-inputs
6852 `(("emacs-evil" ,emacs-evil)))
6853 (home-page "https://github.com/timcharper/evil-surround")
6854 (synopsis "Easily modify surrounding parantheses and quotes")
6855 (description "@code{emacs-evil-surround} allows easy deletion, change and
6856addition of surrounding pairs, such as parantheses and quotes, in evil mode.")
6857 (license license:gpl3+)))
6858
6859(define-public emacs-evil-commentary
6860 (package
6861 (name "emacs-evil-commentary")
6862 (version "2.1.1")
6863 (source
6864 (origin
6865 (method url-fetch)
6866 (uri (string-append
6867 "https://github.com/linktohack/evil-commentary/archive/v"
6868 version ".tar.gz"))
6869 (file-name (string-append name "-" version ".tar.gz"))
6870 (sha256
6871 (base32
6872 "1jdya0i921nwskwrzdsj0vrr3m7gm49dy6f6pk9p5nxaarfxk230"))))
6873 (build-system emacs-build-system)
6874 (propagated-inputs
6875 `(("emacs-evil" ,emacs-evil)))
6876 (home-page "https://github.com/linktohack/evil-commentary")
6877 (synopsis "Comment out code in evil mode")
6878 (description "@code{emacs-evil-commentary} adds keybindings to easily
6879comment out lines of code in evil mode. It provides @code{gcc} to comment out
6880lines, and @code{gc} to comment out the target of a motion.")
6881 (license license:gpl3+)))
6882
6883;; Tests for emacs-ansi have a circular dependency with ert-runner, and
6884;; therefore cannot be run
6885(define-public emacs-ansi
6886 (package
6887 (name "emacs-ansi")
6888 (version "0.4.1")
6889 (source
6890 (origin
6891 (method url-fetch)
6892 (uri (string-append "https://github.com/rejeep/ansi.el/archive/v"
6893 version ".tar.gz"))
6894 (file-name (string-append name "-" version ".tar.gz"))
6895 (sha256
6896 (base32
6897 "13jj4vbi98j3p17hs99bmy7g21jd5h4v3wpxk4pkvhylm3bfwjw8"))))
6898 (build-system emacs-build-system)
6899 (propagated-inputs
6900 `(("emacs-dash" ,emacs-dash)
6901 ("emacs-s" ,emacs-s)))
6902 (home-page "https://github.com/rejeep/ansi.el")
6903 (synopsis "Convert strings to ANSI")
6904 (description "@code{emacs-ansi} defines functions that turns simple
6905strings to ANSI strings. Turning a string into an ANSI string can be to add
6906color to a text, add color in the background of a text or adding a style, such
6907as bold, underscore or italic.")
6908 (license license:gpl3+)))
6909
6910;; Tests for emacs-commander have a circular dependency with ert-runner, and
6911;; therefore cannot be run
6912(define-public emacs-commander
6913 (package
6914 (name "emacs-commander")
6915 (version "0.7.0")
6916 (source
6917 (origin
6918 (method url-fetch)
6919 (uri (string-append "https://github.com/rejeep/commander.el/archive/v"
6920 version ".tar.gz"))
6921 (file-name (string-append name "-" version ".tar.gz"))
6922 (sha256
6923 (base32
6924 "196s2i15z7gwxa97l1wkxvjnfmj5n38wwm6d3g4zz15l2vqggc2y"))))
6925 (build-system emacs-build-system)
6926 (propagated-inputs
6927 `(("emacs-dash" ,emacs-dash)
6928 ("emacs-f" ,emacs-f)
6929 ("emacs-s" ,emacs-s)))
6930 (home-page "https://github.com/rejeep/commander.el")
6931 (synopsis "Emacs command line parser")
6932 (description "@code{emacs-commander} provides command line parsing for
6933Emacs.")
6934 (license license:gpl3+)))
6935
6936;; Tests for ert-runner have a circular dependency with ecukes, and therefore
6937;; cannot be run
6938(define-public emacs-ert-runner
82328c01
MC
6939 (let ((version "0.7.0")
6940 (revision "1")
6941 (commit "90b8fdd5970ef76a4649be60003b37f82cdc1a65"))
6942 (package
6943 (name "emacs-ert-runner")
6944 (version (git-version "0.7.0" revision commit))
6945 (source
6946 (origin
6947 (method git-fetch)
6948 (uri (git-reference
6949 (url "https://github.com/rejeep/ert-runner.el.git")
6950 (commit commit)))
6951 (file-name (git-file-name name version))
6952 (sha256
6953 (base32
6954 "04nxmyzncacj2wmzd84vv9wkkr2dk9lcb10dvygqmg3p1gadnwzz"))))
6955 (build-system emacs-build-system)
6956 (inputs
6957 `(("emacs-ansi" ,emacs-ansi)
6958 ("emacs-commander" ,emacs-commander)
6959 ("emacs-dash" ,emacs-dash)
6960 ("emacs-f" ,emacs-f)
6961 ("emacs-s" ,emacs-s)
6962 ("emacs-shut-up" ,emacs-shut-up)))
6963 (arguments
6964 `(#:phases
6965 (modify-phases %standard-phases
6966 (add-after 'install 'install-executable
6967 (lambda* (#:key inputs outputs #:allow-other-keys)
f9dff4f7
MC
6968 (let ((out (assoc-ref outputs "out"))
6969 (source-directory (string-append
6970 (getenv "TMPDIR") "/source")))
82328c01
MC
6971 (substitute* "bin/ert-runner"
6972 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
6973 (string-append "ERT_RUNNER=\"" out
6974 "/share/emacs/site-lisp/guix.d/ert-runner-"
6975 ,version)))
6976 (install-file "bin/ert-runner" (string-append out "/bin"))
6977 (wrap-program (string-append out "/bin/ert-runner")
6978 (list "EMACSLOADPATH" ":" 'prefix
f9dff4f7
MC
6979 ;; Do not capture the transient source directory in
6980 ;; the wrapper.
6981 (delete source-directory
6982 (string-split (getenv "EMACSLOADPATH") #\:))))
82328c01
MC
6983 #t))))
6984 #:include (cons* "^reporters/.*\\.el$" %default-include)))
6985 (home-page "https://github.com/rejeep/ert-runner.el")
6986 (synopsis "Opinionated Ert testing workflow")
6987 (description "@code{ert-runner} is a tool for Emacs projects tested
eeb883cb
RW
6988using ERT. It assumes a certain test structure setup and can therefore make
6989running tests easier.")
82328c01 6990 (license license:gpl3+))))
eeb883cb
RW
6991
6992(define-public ert-runner
6993 (deprecated-package "ert-runner" emacs-ert-runner))
6994
6995(define-public emacs-disable-mouse
6996 (package
6997 (name "emacs-disable-mouse")
6998 (version "0.2")
6999 (source
7000 (origin
7001 (method url-fetch)
7002 (uri (string-append
7003 "https://github.com/purcell/disable-mouse/archive/"
7004 version ".tar.gz"))
7005 (file-name (string-append name "-" version ".tar.gz"))
7006 (sha256
7007 (base32
7008 "0haqpq23r1wx04lsqrrg3p5visg9hx5i36dg55ab003wfsrlrzbc"))))
7009 (build-system emacs-build-system)
7010 (home-page "https://github.com/purcell/disable-mouse")
7011 (synopsis "Disable mouse commands globally")
7012 (description
7013 "Provides @code{disable-mouse-mode} and @code{global-disable-mouse-mode},
7014pair of minor modes which suppress all mouse events by intercepting them and
7015running a customisable handler command (@code{ignore} by default). ")
7016 (license license:gpl3+)))
7017
7018(define-public emacs-json-reformat
7019 (package
7020 (name "emacs-json-reformat")
7021 (version "0.0.6")
7022 (source
7023 (origin
7024 (method url-fetch)
7025 (uri (string-append "https://github.com/gongo/json-reformat/archive/"
7026 version ".tar.gz"))
7027 (file-name (string-append name "-" version ".tar.gz"))
7028 (sha256
7029 (base32
7030 "11fbq4scrgr7m0iwnzcrn2g7xvqwm2gf82sa7zy1l0nil7265p28"))
7031 (patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
7032 (build-system emacs-build-system)
7033 (propagated-inputs
7034 `(("emacs-undercover" ,emacs-undercover)))
7035 (native-inputs
7036 `(("emacs-dash" ,emacs-dash)
7037 ("emacs-shut-up" ,emacs-shut-up)
7038 ("ert-runner" ,emacs-ert-runner)))
7039 (arguments
7040 `(#:tests? #t
34e3d028
OP
7041 #:test-command '("ert-runner")
7042 #:phases
7043 (modify-phases %standard-phases
7044 (add-before 'check 'delete-json-objects-order-test
7045 (lambda _
7046 (emacs-batch-edit-file "test/json-reformat-test.el"
7047 `(progn (progn (goto-char (point-min))
7048 (re-search-forward
7049 "ert-deftest json-reformat-test:json-reformat-region")
7050 (beginning-of-line)
7051 (kill-sexp))
7052 (basic-save-buffer)))
7053 #t)))))
eeb883cb
RW
7054 (home-page "https://github.com/gongo/json-reformat")
7055 (synopsis "Reformatting tool for JSON")
7056 (description "@code{json-reformat} provides a reformatting tool for
7057@url{http://json.org/, JSON}.")
7058 (license license:gpl3+)))
7059
7060(define-public emacs-json-snatcher
7061 (package
7062 (name "emacs-json-snatcher")
7063 (version "1.0.0")
7064 (source
7065 (origin
7066 (method url-fetch)
7067 (uri (string-append "https://github.com/Sterlingg/json-snatcher/archive/"
7068 version ".tar.gz"))
7069 (file-name (string-append name "-" version ".tar.gz"))
7070 (sha256
7071 (base32
7072 "1nfiwsifpdiz0lbrqa77nl0crnfrv5h85ans9b0g5rggnmyshcfb"))))
7073 (build-system emacs-build-system)
7074 (home-page "https://github.com/sterlingg/json-snatcher")
7075 (synopsis "Grabs the path to JSON values in a JSON file")
7076 (description "@code{emacs-json-snatcher} grabs the path to JSON values in
7077a @url{http://json.org/, JSON} file.")
7078 (license license:gpl3+)))
7079
7080(define-public emacs-json-mode
7081 (package
7082 (name "emacs-json-mode")
7083 (version "1.7.0")
7084 (source
7085 (origin
7086 (method url-fetch)
7087 (uri (string-append "https://github.com/joshwnj/json-mode/archive/"
7088 "v" version ".tar.gz"))
7089 (file-name (string-append name "-" version ".tar.gz"))
7090 (sha256
7091 (base32
7092 "06h45p4cn767pk9sqi2zb1c65wy5gyyijqxzpglp80zwxhvajdz5"))))
7093 (build-system emacs-build-system)
7094 (propagated-inputs
7095 `(("emacs-json-reformat" ,emacs-json-reformat)
7096 ("emacs-json-snatcher" ,emacs-json-snatcher)))
7097 (home-page "https://github.com/joshwnj/json-mode")
7098 (synopsis "Major mode for editing JSON files")
7099 (description "@code{json-mode} extends the builtin js-mode syntax
7100highlighting.")
7101 (license license:gpl3+)))
7102
7103(define-public emacs-restclient
7104 (let ((commit "07a3888bb36d0e29608142ebe743b4362b800f40")
7105 (revision "1")) ;Guix package revision,
7106 ;upstream doesn't have official releases
7107 (package
7108 (name "emacs-restclient")
7109 (version (string-append revision "."
7110 (string-take commit 7)))
7111 (source (origin
7112 (method git-fetch)
7113 (uri (git-reference
7114 (url "https://github.com/pashky/restclient.el.git")
7115 (commit commit)))
7116 (sha256
7117 (base32
7118 "00lmjhb5im1kgrp54yipf1h9pshxzgjlg71yf2rq5n973gvb0w0q"))
7119 (file-name (git-file-name name version))))
7120 (build-system emacs-build-system)
7121 (propagated-inputs
7122 `(("emacs-helm" ,emacs-helm)))
7123 (home-page "https://github.com/pashky/restclient.el")
7124 (synopsis "Explore and test HTTP REST webservices")
7125 (description
7126 "This tool allows for testing and exploration of HTTP REST Web services
7127from within Emacs. Restclient runs queries from a plan-text query sheet,
7128displays results pretty-printed in XML or JSON with @code{restclient-mode}")
7129 (license license:public-domain))))
7130
7131(define-public emacs-eimp
7132 (let ((version "1.4.0")
7133 (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
7134 (revision "1"))
7135 (package
7136 (name "emacs-eimp")
7137 (version (git-version version revision commit))
7138 (source
7139 (origin
7140 (method git-fetch)
7141 (uri (git-reference
7142 (url "https://github.com/nicferrier/eimp.git")
7143 (commit commit)))
7144 (file-name (git-file-name name version))
7145 (sha256
7146 (base32
7147 "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra"))))
7148 (build-system emacs-build-system)
7149 (arguments
7150 `(#:phases
7151 (modify-phases %standard-phases
7152 (add-after 'unpack 'configure
7153 (lambda* (#:key inputs #:allow-other-keys)
7154 (let ((imagemagick (assoc-ref inputs "imagemagick")))
7155 ;; eimp.el is read-only in git.
7156 (chmod "eimp.el" #o644)
7157 (emacs-substitute-variables "eimp.el"
7158 ("eimp-mogrify-program"
7159 (string-append imagemagick "/bin/mogrify"))))
7160 #t)))))
7161 (inputs
7162 `(("imagemagick" ,imagemagick)))
7163 (home-page "https://github.com/nicferrier/eimp")
7164 (synopsis "Interactive image manipulation utility for Emacs")
7165 (description "@code{emacs-eimp} allows interactive image manipulation
7166from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do
7167the actual transformations.")
7168 (license license:gpl2+))))
7169
7170(define-public emacs-dired-hacks
7171 (let ((commit "eda68006ce73bbf6b9b995bfd70d08bec8cade36")
7172 (revision "1"))
7173 (package
7174 (name "emacs-dired-hacks")
7175 (version (string-append "0.0.1-" revision "."
7176 (string-take commit 7)))
7177 (source (origin
7178 (method git-fetch)
7179 (uri (git-reference
7180 (url "https://github.com/Fuco1/dired-hacks.git")
7181 (commit commit)))
7182 (file-name (string-append name "-" version "-checkout"))
7183 (sha256
7184 (base32
7185 "1w7ssl9zssn5rcha6apf4h8drkd02k4xgvs203bdbqyqp9wz9brx"))))
7186 (build-system emacs-build-system)
7187 (propagated-inputs
7188 `(("emacs-dash" ,emacs-dash)
7189 ("emacs-eimp" ,emacs-eimp)
7190 ("emacs-f" ,emacs-f)
7191 ("emacs-s" ,emacs-s)))
7192 (home-page "https://github.com/Fuco1/dired-hacks")
7193 (synopsis
7194 "Collection of useful dired additions")
7195 (description
7196 "Collection of Emacs dired mode additions:
7197@itemize
7198@item dired-avfs
7199@item dired-columns
7200@item dired-filter
7201@item dired-hacks-utils
7202@item dired-images
7203@item dired-list
7204@item dired-narrow
7205@item dired-open
7206@item dired-rainbow
7207@item dired-ranger
7208@item dired-subtree
7209@item dired-tagsistant
7210@end itemize\n")
7211 (license license:gpl3+))))
7212
7213(define-public emacs-dired-sidebar
7214 (let ((commit "06bd0d40bab812c61a668129daf29ba359424454")
7215 (revision "0"))
7216 (package
7217 (name "emacs-dired-sidebar")
7218 (home-page "https://github.com/jojojames/dired-sidebar")
7219 (version (git-version "0.0.1" revision commit))
7220 (source (origin
7221 (method git-fetch)
7222 (uri (git-reference (url home-page) (commit commit)))
7223 (sha256
7224 (base32
7225 "0lvwvq6sl80sha9fq5m4568sg534dhmifyjqw75bqddcbf3by84x"))))
7226 (build-system emacs-build-system)
7227 (propagated-inputs
7228 `(("emacs-dired-subtree" ,emacs-dired-hacks)))
7229 (synopsis "Sidebar for Emacs using Dired")
7230 (description
7231 "This package provides a sidebar for Emacs similar to @code{NeoTree}
7232or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
7233 (license license:gpl3+))))
7234
7235(define-public emacs-which-key
7236 (package
7237 (name "emacs-which-key")
498eb769 7238 (version "3.3.1")
eeb883cb
RW
7239 (source
7240 (origin
7241 (method url-fetch)
7242 (uri (string-append
7243 "https://github.com/justbur/emacs-which-key/archive/v"
7244 version ".tar.gz"))
7245 (sha256
7246 (base32
498eb769 7247 "1g8k0js21bc8mlw6hvmg93zgfjhil77c30cv1hf85y4qb9ldvika"))
eeb883cb
RW
7248 (file-name (string-append name "-" version ".tar.gz"))))
7249 (build-system emacs-build-system)
7250 (arguments
7251 `(#:tests? #t
7252 #:test-command '("emacs" "--batch"
7253 "-l" "which-key-tests.el"
7254 "-f" "ert-run-tests-batch-and-exit")))
7255 (home-page "https://github.com/justbur/emacs-which-key")
7256 (synopsis "Display available key bindings in popup")
7257 (description
7258 "@code{emacs-which-key} is a minor mode for Emacs that displays the key
7259bindings following your currently entered incomplete command (a prefix) in a
7260popup. For example, after enabling the minor mode if you enter C-x and wait
7261for the default of 1 second, the minibuffer will expand with all of the
7262available key bindings that follow C-x (or as many as space allows given your
7263settings).")
7264 (license license:gpl3+)))
7265
7266(define-public emacs-ws-butler
7267 (package
7268 (name "emacs-ws-butler")
7269 (version "0.6")
7270 (source (origin
7271 (method git-fetch)
7272 (uri (git-reference
7273 (url "https://github.com/lewang/ws-butler.git")
7274 (commit "323b651dd70ee40a25accc940b8f80c3a3185205")))
7275 (file-name (string-append name "-" version "-checkout"))
7276 (sha256
7277 (base32
7278 "1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb"))))
7279 (build-system emacs-build-system)
7280 (native-inputs
7281 `(("ert-runner" ,emacs-ert-runner)))
7282 (arguments
7283 `(#:tests? #t
7284 #:test-command '("ert-runner" "tests")))
7285 (home-page "https://github.com/lewang/ws-butler")
7286 (synopsis "Trim spaces from end of lines")
7287 (description
7288 "This Emacs package automatically and unobtrusively trims whitespace
7289characters from end of lines.")
7290 (license license:gpl3+)))
7291
7292(define-public emacs-org-edit-latex
7293 (package
7294 (name "emacs-org-edit-latex")
7295 (version "0.8.0")
7296 (source
7297 (origin
7298 (method url-fetch)
7299 (uri (string-append
7300 "https://github.com/et2010/org-edit-latex/archive/v"
7301 version ".tar.gz"))
7302 (file-name (string-append name "-" version ".tar.gz"))
7303 (sha256
7304 (base32
7305 "1y4h6wrs8286h9pbsv4d8fr67a885vz8b2k80qgv5qddipi2i78p"))))
7306 (build-system emacs-build-system)
7307 (propagated-inputs
7308 `(("emacs-auctex" ,emacs-auctex)
7309 ;; The version of org in Emacs 25.2 is not sufficient, because the
7310 ;; `org-latex-make-preamble' function is required.
7311 ("emacs-org" ,emacs-org)))
7312 (home-page "https://github.com/et2010/org-edit-latex")
7313 (synopsis "Edit a latex fragment just like editing a src block")
7314 (description "@code{emacs-org-edit-latex} is an extension for org-mode.
7315It lets you edit a latex fragment in a dedicated buffer just like editing a
7316src block.")
7317 (license license:gpl3+)))
7318
7319(define-public emacs-emamux
7320 (package
7321 (name "emacs-emamux")
7322 (version "0.14")
7323 (source (origin
7324 (method url-fetch)
7325 (uri (string-append
7326 "https://github.com/syohex/emacs-emamux/archive/"
7327 version ".tar.gz"))
7328 (file-name (string-append name "-" version ".tar.gz"))
7329 (sha256
7330 (base32
7331 "0wlqg4icy037bj70b0qmhvwvmiwhagpnx6pnxhq6gzy1hvwlilkx"))))
7332 (build-system emacs-build-system)
7333 (home-page "https://github.com/syohex/emacs-emamux")
7334 (synopsis "Manipulate Tmux from Emacs")
7335 (description
7336 "@code{emacs-emamux} lets Emacs interact with the @code{tmux} terminal
7337multiplexer.")
7338 (license license:gpl3+)))
7339
7340(define-public emacs-rpm-spec-mode
7341 (package
7342 (name "emacs-rpm-spec-mode")
7343 (version "0.16")
7344 (source
7345 (origin
7346 (method url-fetch)
7347 ;; URI has the Fedora release number instead of the version
7348 ;; number. This will have to updated manually every new release.
7349 (uri (string-append
7350 "https://src.fedoraproject.org/cgit/rpms"
7351 "/emacs-rpm-spec-mode.git/snapshot"
7352 "/emacs-rpm-spec-mode-f26.tar.gz"))
7353 (sha256
7354 (base32
7355 "17dz80lhjrc89fj17pysl8slahzrqdkxgcjdk55zls6jizkr6kz3"))))
7356 (build-system emacs-build-system)
7357 (home-page "http://pkgs.fedoraproject.org/cgit/rpms/emacs-rpm-spec-mode.git")
7358 (synopsis "Emacs major mode for editing RPM spec files")
7359 (description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
7360editing RPM spec files.")
7361 (license license:gpl2+)))
7362
7363(define-public emacs-git-messenger
7364 (package
7365 (name "emacs-git-messenger")
7366 (version "0.18")
7367 (source
7368 (origin
7369 (method url-fetch)
7370 (uri (string-append
7371 "https://github.com/syohex/emacs-git-messenger/archive/"
7372 version ".tar.gz"))
7373 (file-name (string-append name "-" version ".tar.gz"))
7374 (sha256
7375 (base32
7376 "17mqki6g0wx46fn7dcbcc2pjxik7vvrcb1j9jzxim8b9psbsbnp9"))))
7377 (build-system emacs-build-system)
7378 (propagated-inputs
7379 `(("emacs-popup" ,emacs-popup)))
7380 (arguments
7381 `(#:tests? #t
7382 #:test-command '("emacs" "--batch" "-l" "test/test.el"
7383 "-f" "ert-run-tests-batch-and-exit")))
7384 (home-page "https://github.com/syohex/emacs-git-messenger")
7385 (synopsis "Popup commit message at current line")
7386 (description "@code{emacs-git-messenger} provides
7387@code{git-messenger:popup-message}, a function that when called, will popup
7388the last git commit message for the current line. This uses git-blame
7389internally.")
7390 (license license:gpl3+)))
7391
7392(define-public emacs-gitpatch
7393 (package
7394 (name "emacs-gitpatch")
7395 (version "0.5.0")
7396 (source
7397 (origin
7398 (method url-fetch)
7399 (uri (string-append "https://github.com/tumashu/gitpatch/archive/"
7400 "v" version ".tar.gz"))
7401 (file-name (string-append name "-" version ".tar.gz"))
7402 (sha256
7403 (base32
7404 "1yj6pmic541lcnscjin300k380qp9xdfprs55xg1q57jrkq6f6k7"))))
7405 (build-system emacs-build-system)
7406 (home-page "https://github.com/tumashu/gitpatch")
7407 (synopsis "Mail git patch from Emacs")
7408 (description "@code{emacs-gitpatch} lets users easily send git patches,
7409created by @code{git format-patch}, from @code{magit}, @code{dired} and
7410@code{ibuffer} buffers.")
7411 (license license:gpl3+)))
7412
7413(define-public emacs-erc-hl-nicks
7414 (package
7415 (name "emacs-erc-hl-nicks")
7416 (version "1.3.3")
7417 (source
7418 (origin
7419 (method url-fetch)
7420 (uri (string-append "https://github.com/leathekd/erc-hl-nicks"
7421 "/archive/" version ".tar.gz"))
7422 (file-name (string-append name "-" version ".tar.gz"))
7423 (sha256
7424 (base32
7425 "1a1r2kc3688g8c2ybkpwh88kgmnqhg3h3032g2yn4zr9m0n3vpkr"))))
7426 (build-system emacs-build-system)
7427 (synopsis "Nickname highlighting for Emacs ERC")
7428 (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
7429client for Emacs. The main features are:
7430@itemize
7431@item Auto-colorizes nicknames without having to specify colors
7432@item Ignores certain characters that IRC clients add to nicknames to avoid
7433duplicates (nickname, nickname’, nickname\", etc.)
7434@item Attempts to produce colors with a sufficient amount of contrast between
7435the nick color and the background color
7436@end itemize\n")
7437 (home-page "https://github.com/leathekd/erc-hl-nicks")
7438 (license license:gpl3+)))
7439
7440(define-public emacs-engine-mode
7441 (package
7442 (name "emacs-engine-mode")
7443 (version "2.0.0")
7444 (source
7445 (origin
7446 (method url-fetch)
7447 (uri (string-append "https://github.com/hrs/engine-mode/archive/"
7448 "v" version ".tar.gz"))
7449 (file-name (string-append name "-" version ".tar.gz"))
7450 (sha256
7451 (base32
7452 "1vm4p7pcp1vnwwxvps1bhm7i7hkabqqxl898knxf2hqvxys76684"))))
7453 (build-system emacs-build-system)
7454 (synopsis "Minor mode for defining and querying search engines")
7455 (description "@code{engine-mode} is a global minor mode for Emacs. It
7456enables you to easily define search engines, bind them to keybindings, and
7457query them from the comfort of your editor.")
7458 (home-page "https://github.com/hrs/engine-mode")
7459 (license license:gpl3+)))
7460
7461(define-public emacs-prop-menu
7462 (package
7463 (name "emacs-prop-menu")
7464 (version "0.1.2")
7465 (source
7466 (origin
7467 (method url-fetch)
7468 (uri (string-append
7469 "http://stable.melpa.org/packages/prop-menu-"
7470 version ".el"))
7471 (sha256
7472 (base32
7473 "01bk4sjafzz7gqrkv9jg0pa85qr34vbk3q8ga2b0m61bndywzgpr"))))
7474 (build-system emacs-build-system)
7475 (home-page
7476 "https://github.com/david-christiansen/prop-menu-el")
7477 (synopsis
7478 "Create and display a context menu based on text and overlay properties")
7479 (description
7480 "This is a library for computing context menus based on text
7481properties and overlays. The intended use is to have tools that
7482annotate source code and others that use these annotations, without
7483requiring a direct coupling between them, but maintaining
7484discoverability.
7485
7486Major modes that wish to use this library should first define an
7487appropriate value for @code{prop-menu-item-functions}. Then, they should
7488bind @code{prop-menu-by-completing-read} to an appropriate
7489key. Optionally, a mouse pop-up can be added by binding
7490@code{prop-menu-show-menu} to a mouse event.")
7491 (license license:gpl3+)))
7492
7493(define-public emacs-idris-mode
7494 (package
7495 (name "emacs-idris-mode")
7496 (version "0.9.19")
7497 (source
7498 (origin
7499 (method url-fetch)
7500 (uri (string-append
7501 "http://stable.melpa.org/packages/idris-mode-"
7502 version ".tar"))
7503 (sha256
7504 (base32
7505 "02r1qqsxi6qk7q4cj6a6pygbj856dcw9vcmhfh0ib92j41v77q6y"))))
7506 (build-system emacs-build-system)
7507 (propagated-inputs
7508 `(("emacs-prop-menu" ,emacs-prop-menu)))
7509 (home-page
7510 "https://github.com/idris-hackers/idris-mode")
7511 (synopsis "Major mode for editing Idris code")
7512 (description
7513 "This is an Emacs mode for editing Idris code. It requires the latest
7514version of Idris, and some features may rely on the latest Git version of
7515Idris.")
7516 (license license:gpl3+)))
7517
7518(define-public emacs-browse-at-remote
7519 (package
7520 (name "emacs-browse-at-remote")
7521 (version "0.10.0")
7522 (source
7523 (origin
7524 (method url-fetch)
7525 (uri (string-append
7526 "https://github.com/rmuslimov/browse-at-remote/archive/"
7527 version ".tar.gz"))
7528 (file-name (string-append name "-" version ".tar.gz"))
7529 (sha256
7530 (base32
7531 "0ymslsp6i1naw25zckv25bf4aaq6qwkbkn95qyzlwg869l802686"))))
7532 (build-system emacs-build-system)
7533 (propagated-inputs
7534 `(("emacs-f" ,emacs-f)
7535 ("emacs-s" ,emacs-s)))
7536 (native-inputs
7537 `(("ert-runner" ,emacs-ert-runner)))
7538 (arguments
7539 `(#:tests? #t
7540 #:test-command '("ert-runner")))
7541 (home-page "https://github.com/rmuslimov/browse-at-remote")
7542 (synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
7543 (description
7544 "This Emacs package allows you to open a target page on
7545github/gitlab (or bitbucket) by calling @code{browse-at-remote} command.
7546It supports dired buffers and opens them in tree mode at destination.")
7547 (license license:gpl3+)))
7548
7549(define-public emacs-tiny
7550 (package
7551 (name "emacs-tiny")
7552 (version "0.2.1")
7553 (source
7554 (origin
7555 (method url-fetch)
7556 (uri (string-append "http://elpa.gnu.org/packages/tiny-" version ".tar"))
7557 (sha256
7558 (base32
7559 "1cr73a8gba549ja55x0c2s554f3zywf69zbnd7v82jz5q1k9wd2v"))))
7560 (build-system emacs-build-system)
7561 (home-page "https://github.com/abo-abo/tiny")
7562 (synopsis "Quickly generate linear ranges in Emacs")
7563 (description
7564 "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}.
7565It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp
7566proficiency is an advantage, since you can transform your numeric range with
7567an elisp expression.")
7568 (license license:gpl3+)))
7569
7570(define-public emacs-emojify
7571 (package
7572 (name "emacs-emojify")
7573 (version "0.4")
7574 (source
7575 (origin
7576 (method url-fetch)
7577 (uri (string-append "https://github.com/iqbalansari/emacs-emojify/"
7578 "releases/download/v" version "/emojify-"
7579 version ".tar"))
7580 (sha256
7581 (base32
7582 "0k84v2d2bkiwcky9fi1yyprgkj46g7wh6pyl9gzmcd7sqv051d5n"))))
7583 (build-system emacs-build-system)
7584 (arguments
7585 `(#:phases
7586 (modify-phases %standard-phases
7587 (add-after 'install 'install-data
7588 (lambda* (#:key outputs #:allow-other-keys)
7589 (copy-recursively "data"
7590 (string-append (assoc-ref outputs "out")
7591 "/share/emacs/site-lisp/guix.d/"
7592 "emojify-" ,version "/data"))
7593 #t)))))
7594 (propagated-inputs
7595 `(("emacs-ht" ,emacs-ht)))
7596 (home-page "https://github.com/iqbalansari/emacs-emojify")
7597 (synopsis "Display emojis in Emacs")
7598 (description "This package displays emojis in Emacs similar to how Github,
7599Slack, and other websites do. It can display plain ASCII like @code{:)} as
7600well as Github-style emojis like @code{:smile:}. It provides a minor mode
7601@code{emojify-mode} to enable the display of emojis in a buffer.")
7602 (license license:gpl3+)))
7603
7604(define-public emacs-websocket
7605 (package
7606 (name "emacs-websocket")
7607 (version "1.10")
7608 (source
7609 (origin
7610 (method git-fetch)
7611 (uri (git-reference
7612 (url "https://github.com/ahyatt/emacs-websocket.git")
7613 (commit version)))
7614 (file-name (string-append name "-" version "-checkout"))
7615 (sha256
7616 (base32
7617 "1dgrf7na6r6mmkknphzshlbd5fnzisg0qn0j7vfpa38wgsymaq52"))))
7618 (build-system emacs-build-system)
7619 (home-page "http://elpa.gnu.org/packages/websocket.html")
7620 (synopsis "Emacs WebSocket client and server")
7621 (description "This is an Elisp library for WebSocket clients to talk to
7622WebSocket servers, and for WebSocket servers to accept connections from
7623WebSocket clients. This library is designed to be used by other library
7624writers, to write applications that use WebSockets, and is not useful by
7625itself.")
7626 (license license:gpl3+)))
7627
7628(define-public emacs-oauth2
7629 (package
7630 (name "emacs-oauth2")
7631 (version "0.11")
7632 (source
7633 (origin
7634 (method url-fetch)
7635 (uri (string-append "https://elpa.gnu.org/packages/oauth2-"
7636 version ".el"))
7637 (sha256
7638 (base32
7639 "0ydkc9jazsnbbvfhd47mql52y7k06n3z7r0naqxkwb99j9blqsmp"))))
7640 (build-system emacs-build-system)
7641 (home-page "http://elpa.gnu.org/packages/oauth2.html")
7642 (synopsis "OAuth 2.0 authorization protocol implementation")
7643 (description
7644 "This package provides an Elisp implementation of the OAuth 2.0 draft.
7645The main entry point is @code{oauth2-auth-and-store} which will return a token
7646structure. This token structure can be then used with
7647@code{oauth2-url-retrieve-synchronously} or @code{oauth2-url-retrieve} to
7648retrieve any data that need OAuth authentication to be accessed. If the token
7649needs to be refreshed, the code handles it automatically and stores the new
7650value of the access token.")
7651 (license license:gpl3+)))
7652
7653(define-public emacs-circe
7654 (package
7655 (name "emacs-circe")
7656 (version "2.10")
7657 (source
7658 (origin
7659 (method git-fetch)
7660 (uri (git-reference
7661 (url "https://github.com/jorgenschaefer/circe.git")
7662 (commit (string-append "v" version))))
7663 (file-name (git-file-name name version))
7664 (sha256
7665 (base32
7666 "10gi14kwxd81blddpvqh95lgmpbfgp0m955naxix3bs3r6a75n4s"))))
7667 (build-system emacs-build-system)
7668 (arguments
7669 `(#:tests? #t
7670 #:test-command '("buttercup" "-L" ".")
7671 #:phases
7672 (modify-phases %standard-phases
7673 ;; The HOME environment variable should be set to an existing
7674 ;; directory for the tests to succeed.
7675 (add-before 'check 'set-home
7676 (lambda _
7677 (setenv "HOME" "/tmp")
7678 #t)))))
7679 (native-inputs
7680 `(("emacs-buttercup" ,emacs-buttercup)))
7681 ;; In order to securely connect to an IRC server using TLS, Circe requires
7682 ;; the GnuTLS binary.
7683 (propagated-inputs
7684 `(("gnutls" ,gnutls)))
7685 (home-page "https://github.com/jorgenschaefer/circe")
7686 (synopsis "Client for IRC in Emacs")
7687 (description "Circe is a Client for IRC in Emacs. It integrates well with
7688the rest of the editor, using standard Emacs key bindings and indicating
7689activity in channels in the status bar so it stays out of your way unless you
7690want to use it.")
7691 (license license:gpl3+)))
7692
7693(define-public emacs-tracking
7694 (package
7695 (inherit emacs-circe)
7696 (name "emacs-tracking")
7697 (arguments
7698 ;; "tracking.el" is a library extracted from Circe package. It requires
7699 ;; "shorten.el".
7700 `(#:include '("^shorten.el$" "^tracking.el$")
7701 ,@(package-arguments emacs-circe)))
7702 (home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
7703 (synopsis "Buffer tracking library")
7704 (description "@code{tracking.el} provides a way for different modes to
7705notify the user that a buffer needs attention. The user then can cycle
7706through them using @key{C-c C-SPC}.")
7707 (license license:gpl3+)))
7708
7709(define-public emacs-slack
7710 (let ((commit "99a57501629a0329a9ca090c1ea1296462eda02d")
7711 (revision "5"))
7712 (package
7713 (name "emacs-slack")
7714 (version (git-version "0.0.2" revision commit))
7715 (source (origin
7716 (method git-fetch)
7717 (uri (git-reference
7718 (url "https://github.com/yuya373/emacs-slack.git")
7719 (commit commit)))
7720 (file-name (git-file-name name commit))
7721 (sha256
7722 (base32
7723 "0jw1diypfw8pmzkq0napgxmfc0gqka7zcccgnw359604lr30k2z2"))))
7724 (build-system emacs-build-system)
7725 (propagated-inputs
7726 `(("emacs-alert" ,emacs-alert)
7727 ("emacs-emojify" ,emacs-emojify)
7728 ("emacs-helm" ,emacs-helm)
7729 ("emacs-request" ,emacs-request)
7730 ("emacs-websocket" ,emacs-websocket)
7731 ("emacs-oauth2" ,emacs-oauth2)
7732 ("emacs-circe" ,emacs-circe)))
7733 (home-page "https://github.com/yuya373/emacs-slack")
7734 (synopsis "Slack client for Emacs")
7735 (description "This package provides an Emacs client for the Slack
7736messaging service.")
7737 (license license:gpl3+))))
7738
7739(define-public emacs-bash-completion
7740 (package
7741 (name "emacs-bash-completion")
7742 (version "2.1.0")
7743 (source
7744 (origin
7745 (method url-fetch)
7746 (uri (string-append
7747 "https://github.com/szermatt/emacs-bash-completion/archive/v"
7748 version ".tar.gz"))
7749 (file-name (string-append name "-" version ".tar.gz"))
7750 (sha256
7751 (base32
7752 "1z0qck3v3ra6ivacn8n04w1v33a4xn01xx860761q31qzsv3sksq"))))
7753 (inputs `(("bash" ,bash)))
7754 (build-system emacs-build-system)
7755 (arguments
7756 `(#:phases
7757 (modify-phases %standard-phases
7758 (add-before 'install 'configure
7759 (lambda* (#:key inputs #:allow-other-keys)
7760 (let ((bash (assoc-ref inputs "bash")))
7761 (emacs-substitute-variables "bash-completion.el"
7762 ("bash-completion-prog" (string-append bash "/bin/bash"))))
7763 #t)))))
7764 (home-page "https://github.com/szermatt/emacs-bash-completion")
7765 (synopsis "Bash completion for the shell buffer")
7766 (description
7767 "@code{bash-completion} defines dynamic completion hooks for shell-mode
7768and shell-command prompts that are based on Bash completion.")
7769 (license license:gpl2+)))
7770
7771(define-public emacs-easy-kill
7772 (package
7773 (name "emacs-easy-kill")
7774 (version "0.9.3")
7775 (source (origin
7776 (method url-fetch)
7777 (uri (string-append "https://elpa.gnu.org/packages/easy-kill-"
7778 version ".tar"))
7779 (sha256
7780 (base32
7781 "17nw0mglmg877axwg1d0gs03yc0p04lzmd3pl0nsnqbh3303fnqb"))))
7782 (build-system emacs-build-system)
7783 (home-page "https://github.com/leoliu/easy-kill")
7784 (synopsis "Kill and mark things easily in Emacs")
7785 (description
7786 "This package provides commands @code{easy-kill} and @code{easy-mark} to
7787let users kill or mark things easily.")
7788 (license license:gpl3+)))
7789
7790(define-public emacs-csv-mode
7791 (package
7792 (name "emacs-csv-mode")
7793 (version "1.7")
7794 (source
7795 (origin
7796 (method url-fetch)
7797 (uri (string-append "http://elpa.gnu.org/packages/csv-mode-"
7798 version ".el"))
7799 (sha256
7800 (base32
7801 "0r4bip0w3h55i8h6sxh06czf294mrhavybz0zypzrjw91m1bi7z6"))))
7802 (build-system emacs-build-system)
7803 (home-page
7804 "http://elpa.gnu.org/packages/csv-mode.html")
7805 (synopsis
7806 "Major mode for editing comma/char separated values")
7807 (description
7808 "This Emacs package implements CSV mode, a major mode for editing records
7809in a generalized CSV (character-separated values) format.")
7810 (license license:gpl3+)))
7811
7812(define-public emacs-transmission
7813 (package
7814 (name "emacs-transmission")
7815 (version "0.12.1")
7816 (source (origin
7817 (method url-fetch)
7818 (uri (string-append
7819 "https://github.com/holomorph/transmission/archive/"
7820 version ".tar.gz"))
7821 (file-name (string-append name "-" version ".tar.gz"))
7822 (sha256
7823 (base32
7824 "1rrlgn96gi1ljfwbwvlyyxbq75xzamlbdhq1bpyadxxmxcvlmk3n"))))
7825 (build-system emacs-build-system)
7826 (home-page "https://github.com/holomorph/transmission")
7827 (synopsis "Emacs interface to a Transmission session")
7828 (description "This package provides an Emacs interface to interact with a
7829running session of the Transmission Bittorrent client.
7830
7831Features:
7832
7833@itemize
7834@item List, add, start/stop, verify, remove torrents.
7835@item Set speed limits, ratio limits, bandwidth priorities, trackers.
7836@item Navigate to the corresponding file list, torrent info, peer info
7837contexts.
7838@item Toggle downloading and set priorities for individual files.
7839@end itemize\n")
7840 (license license:gpl3+)))
7841
7842(define-public emacs-polymode
7843 (package
7844 (name "emacs-polymode")
7845 (version "0.1.5")
7846 (source (origin
7847 (method git-fetch)
7848 (uri (git-reference
7849 (url "https://github.com/vspinu/polymode.git")
7850 (commit (string-append "v" version))))
7851 (file-name (git-file-name name version))
7852 (sha256
7853 (base32
7854 "0wwphs54jx48a3ca6x1qaz56j3j9bg4mv8g2akkffrzbdcb8sbc7"))))
7855 (build-system emacs-build-system)
7856 (arguments
7857 `(#:include (cons* "^modes/.*\\.el$" %default-include)
7858 #:phases
7859 (modify-phases %standard-phases
7860 (add-after 'set-emacs-load-path 'add-modes-subdir-to-load-path
7861 (lambda _
7862 (setenv "EMACSLOADPATH"
7863 (string-append (getenv "EMACSLOADPATH")
7864 ":" (getcwd) "/modes" ":")))))))
7865 (home-page "https://github.com/vspinu/polymode")
7866 (synopsis "Framework for multiple Emacs modes based on indirect buffers")
7867 (description "Polymode is an Emacs package that offers generic support
7868for multiple major modes inside a single Emacs buffer. It is lightweight,
7869object oriented and highly extensible. Creating a new polymode typically
7870takes only a few lines of code. Polymode also provides extensible facilities
7871for external literate programming tools for exporting, weaving and tangling.")
7872 (license license:gpl3+)))
7873
7874(define-public emacs-polymode-ansible
7875 (let ((commit "b26094d029e25dc797b94254f797e7807a57e4c8"))
7876 (package
7877 (name "emacs-polymode-ansible")
7878 ;; No upstream version release yet.
7879 (version (git-version "0.1" "1" commit))
7880 (source
7881 (origin
7882 (method git-fetch)
7883 (uri (git-reference
7884 (url "https://gitlab.com/mavit/poly-ansible")
7885 (commit commit)))
7886 (file-name (git-file-name name version))
7887 (sha256
7888 (base32
7889 "055shddqibib3hx2ykwdz910nrqws40cd407mq946l2bf6v87gj6"))))
7890 (build-system emacs-build-system)
7891 (propagated-inputs
7892 `(("emacs-ansible-doc" ,emacs-ansible-doc)
7893 ("emacs-jinja2-mode" ,emacs-jinja2-mode)
7894 ("emacs-polymode" ,emacs-polymode)
7895 ("emacs-yaml-mode" ,emacs-yaml-mode)))
7896 (properties '((upstream-name . "poly-ansible")))
7897 (home-page "https://gitlab.com/mavit/poly-ansible/")
7898 (synopsis "Polymode for Ansible - Jinja2 in YAML")
7899 (description
7900 "Edit YAML files for Ansible containing embedded Jinja2 templating.")
7901 (license license:gpl3+))))
7902
7903(define-public eless
7904 (package
7905 (name "eless")
7906 (version "0.3")
7907 (source (origin
7908 (method url-fetch)
7909 (uri (string-append
7910 "https://github.com/kaushalmodi/eless/archive/"
7911 "v" version ".tar.gz"))
7912 (file-name (string-append name "-" version ".tar.gz"))
7913 (sha256
7914 (base32
7915 "0gjnnhgw5xs1w3qfnkvwa2nv44gnxr8pkhx3c7qig45p8nh1461h"))))
7916 (build-system trivial-build-system)
7917 (inputs
7918 `(("bash" ,bash)))
7919 (native-inputs
7920 `(("tar" ,tar)
7921 ("gzip" ,gzip)))
7922 (arguments
7923 `(#:modules ((guix build utils))
7924 #:builder
7925 (begin
7926 (use-modules (guix build utils))
7927 (setenv "PATH" (string-append
7928 (assoc-ref %build-inputs "tar") "/bin" ":"
7929 (assoc-ref %build-inputs "gzip") "/bin"))
7930 (invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
7931 (chdir (string-append "eless" "-" ,version))
7932 (substitute* "eless" (("/usr/bin/env bash")
7933 (string-append (assoc-ref %build-inputs "bash")
7934 "/bin/bash")))
7935 (install-file "eless" (string-append %output "/bin"))
7936 (install-file "doc/eless.info" (string-append %output "/share/info"))
7937 #t)))
7938 (home-page "https://github.com/kaushalmodi/eless")
7939 (synopsis "Use Emacs as a paginator")
7940 (description "@code{eless} provides a combination of Bash script
7941and a minimal Emacs view-mode.
7942
7943Feautures:
7944
7945@itemize
7946@item Independent of a user’s Emacs config.
7947@item Customizable via the @code{(locate-user-emacs-file \"elesscfg\")} config.
7948@item Not require an Emacs server to be already running.
7949@item Syntax highlighting.
7950@item Org-mode file rendering.
7951@item @code{man} page viewer.
7952@item Info viewer.
7953@item Dired, wdired, (batch edit symbolic links).
7954@item Colored diffs, git diff, git log, ls with auto ANSI detection.
7955@item Filter log files lines matching a regexp.
7956@item Auto-revert log files similar to @code{tail -f}.
7957@item Quickly change frame and font sizes.
7958@end itemize\n")
7959 (license license:expat)))
7960
7961(define-public emacs-evil-matchit
7962 (package
7963 (name "emacs-evil-matchit")
7964 (version "2.2.6")
7965 (source
7966 (origin
7967 (method url-fetch)
7968 (uri (string-append
7969 "https://github.com/redguardtoo/evil-matchit/archive/"
7970 version ".tar.gz"))
7971 (file-name (string-append name "-" version ".tar.gz"))
7972 (sha256
7973 (base32
7974 "1yp9sl6542317mn1060ri90zyf6bs6qylagndhqy02p368q31rhi"))))
7975 (build-system emacs-build-system)
7976 (propagated-inputs
7977 `(("emacs-evil" ,emacs-evil)))
7978 (home-page "https://github.com/redguardtoo/evil-matchit")
7979 (synopsis "Vim matchit ported into Emacs")
7980 (description
7981 "@code{evil-matchit} is a minor mode for jumping between matching tags in
7982evil mode using @kbd{%}. It is a port of @code{matchit} for Vim.")
7983 (license license:gpl3+)))
7984
7985(define-public emacs-evil-smartparens
7986 (package
7987 (name "emacs-evil-smartparens")
7988 (version "0.4.0")
7989 (source
7990 (origin
7991 (method url-fetch)
7992 (uri (string-append
7993 "https://github.com/expez/evil-smartparens/archive/"
7994 version ".tar.gz"))
7995 (file-name (string-append name "-" version ".tar.gz"))
7996 (sha256
7997 (base32
7998 "1bwzdd3054d407d5j4m3njsbvmc9r8zzp33m32pj3b3irxrl68q0"))))
7999 (build-system emacs-build-system)
8000 (propagated-inputs
8001 `(("emacs-evil" ,emacs-evil)
8002 ("emacs-smartparens" ,emacs-smartparens)))
8003 (home-page "https://github.com/expez/evil-smartparens")
8004 (synopsis "Emacs Evil integration for Smartparens")
8005 (description "@code{emacs-evil-smartparens} is an Emacs minor mode which
8006makes Evil play nice with Smartparens. Evil is an Emacs minor mode that
8007emulates Vim features and provides Vim-like key bindings.")
8008 (license license:gpl3+)))
8009
8010(define-public emacs-evil-quickscope
8011 (package
8012 (name "emacs-evil-quickscope")
8013 (version "0.1.4")
8014 (source
8015 (origin
8016 (method url-fetch)
8017 (uri (string-append "https://github.com/blorbx/evil-quickscope/archive/v"
8018 version ".tar.gz"))
8019 (file-name (string-append name "-" version ".tar.gz"))
8020 (sha256
8021 (base32
8022 "1r26a412mmar7vbf89zcifswiwpdg30mjzj32xdyqss57aqi83ma"))))
8023 (build-system emacs-build-system)
8024 (propagated-inputs
8025 `(("emacs-evil" ,emacs-evil)))
8026 (arguments
8027 `(#:tests? #t
8028 #:test-command '("emacs" "--batch"
8029 "-l" "evil-quickscope-tests.el"
8030 "-f" "ert-run-tests-batch-and-exit")))
8031 (home-page "https://github.com/blorbx/evil-quickscope")
8032 (synopsis "Target highlighting for emacs evil-mode f,F,t and T commands")
8033 (description "@code{emacs-evil-quickscope} highlights targets for Evil
8034mode’s f,F,t,T keys, allowing for quick navigation within a line. It is a
8035port of quick-scope for Vim. Evil is an Emacs minor mode that emulates Vim
8036features and provides Vim-like key bindings.")
8037 (license license:gpl3+)))
8038
8039(define-public emacs-bongo
8040 (package
8041 (name "emacs-bongo")
8042 (version "1.0")
8043 (source
8044 (origin
8045 (method url-fetch)
8046 (uri (string-append
8047 "https://github.com/dbrock/bongo/archive/"
8048 version ".tar.gz"))
8049 (file-name (string-append name "-" version ".tar.gz"))
8050 (sha256
8051 (base32
8052 "1pcsyyrvj7djjjwpaswd1i782hvqvlvs39cy9ns0k795si6xd64d"))))
8053 (build-system emacs-build-system)
8054 (home-page "https://github.com/dbrock/bongo")
8055 (synopsis "Media player for Emacs")
8056 (description
8057 "This package provides a flexible media player for Emacs. @code{Bongo}
8058supports multiple backends such as @code{vlc}, @code{mpg123},
8059@code{ogg123}, @code{speexdec}, @code{timidity}, @code{mikmod} and
8060@code{afplay}.")
8061 (license license:gpl2+)))
8062
8063(define-public emacs-groovy-modes
8064 (package
8065 (name "emacs-groovy-modes")
8066 (version "2.0")
8067 (source (origin
8068 (method url-fetch)
8069 (uri (string-append
8070 "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes"
8071 "/archive/" version ".tar.gz"))
8072 (file-name (string-append name "-" version ".tar.gz"))
8073 (sha256
8074 (base32
8075 "15j0hnkx9nppjzda5cqsxxz5f3bq9hc4xfyjcdypzqiypcvmpa39"))))
8076 (build-system emacs-build-system)
8077 (propagated-inputs
8078 `(("emacs-s" ,emacs-s)))
8079 (home-page "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
8080 (synopsis "Groovy related modes for Emacs")
8081 (description
8082 "This package provides @code{groovy-mode} for syntax highlighing in
8083Groovy source files, REPL integration with run-groovy and Grails project
8084navigation with the grails mode.")
8085 (license license:gpl3+)))
8086
8087(define-public groovy-emacs-modes
8088 (deprecated-package "groovy-emacs-modes" emacs-groovy-modes))
8089
8090(define-public emacs-org-tree-slide
8091 (let ((commit "dff8f1a4a64c8dd0a1fde0b0131e2fe186747134")
8092 (revision "0"))
8093 (package
8094 (name "emacs-org-tree-slide")
8095 (version (git-version "0.1" revision commit))
8096 (home-page "https://github.com/takaxp/org-tree-slide")
8097 (source (origin
8098 (method git-fetch)
8099 (uri (git-reference (url home-page) (commit commit)))
8100 (sha256
8101 (base32
8102 "153bg0x7ypla11pq51jmsgzfjklwwnrq56xgpbfhk1j16xwz9hyf"))
8103 (file-name (git-file-name name version))))
8104 (build-system emacs-build-system)
8105 (synopsis "Presentation tool for org-mode")
8106 (description
8107 "Org-tree-slide provides a slideshow mode to view org-mode files. Use
8108@code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
8109@kbd{C-<} to jump to the next and previous slide.")
8110 (license license:gpl3+))))
8111
8112(define-public emacs-scratch-el
8113 (let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897")
8114 (revision "1"))
8115 (package
8116 (name "emacs-scratch-el")
8117 (version (git-version "1.2" revision commit))
8118 (source (origin
8119 (method git-fetch)
8120 (uri (git-reference
8121 (url "https://github.com/ieure/scratch-el.git")
8122 (commit commit)))
8123 (file-name (git-file-name name version))
8124 (sha256
8125 (base32
8126 "0wscsndynjmnliajqaz28r1ww81j8wh84zwaaswx51abhwgl0idf"))))
8127 (build-system emacs-build-system)
8128 (native-inputs
8129 `(("texinfo" ,texinfo)))
8130 (arguments
8131 '(#:phases
8132 (modify-phases %standard-phases
8133 (add-after 'install 'install-doc
8134 (lambda* (#:key outputs #:allow-other-keys)
8135 (unless (invoke "makeinfo" "scratch.texi")
8136 (error "makeinfo failed"))
8137 (install-file "scratch.info"
8138 (string-append (assoc-ref outputs "out")
8139 "/share/info"))
8140 #t)))))
8141 (home-page "https://github.com/ieure/scratch-el/")
8142 (synopsis "Create scratch buffers with the same mode as current buffer")
8143 (description "Scratch is an extension to Emacs that enables one to create
8144scratch buffers that are in the same mode as the current buffer. This is
8145notably useful when working on code in some language; you may grab code into a
8146scratch buffer, and, by virtue of this extension, do so using the Emacs
8147formatting rules for that language.")
8148 (license license:bsd-2))))
8149
8150(define-public emacs-kv
8151 (package
8152 (name "emacs-kv")
8153 (version "0.0.19")
8154 (source
8155 (origin
8156 (method git-fetch)
8157 (uri (git-reference
8158 (url "https://github.com/nicferrier/emacs-kv.git")
8159 (commit "721148475bce38a70e0b678ba8aa923652e8900e")))
8160 (file-name (string-append name "-" version "-checkout"))
8161 (sha256
8162 (base32
8163 "0r0lz2s6gvy04fwnafai668jsf4546h4k6zd6isx5wpk0n33pj5m"))))
8164 (build-system emacs-build-system)
8165 (arguments
8166 `(#:tests? #t
8167 #:test-command '("emacs" "--batch" "-l" "kv-tests.el"
8168 "-f" "ert-run-tests-batch-and-exit")))
8169 (home-page "https://github.com/nicferrier/emacs-kv")
8170 (synopsis "Key/Value data structures library for Emacs Lisp")
8171 (description "@code{emacs-kv} is a collection of tools for dealing with
8172key/value data structures such as plists, alists and hash-tables in Emacs
8173Lisp.")
8174 (license license:gpl3+)))
8175
8176(define-public emacs-esxml
8177 (package
8178 (name "emacs-esxml")
8179 (version "0.3.4")
8180 (source (origin
8181 (method git-fetch)
8182 (uri (git-reference
8183 (url "https://github.com/tali713/esxml.git")
8184 (commit version)))
8185 (file-name (git-file-name name version))
8186 (sha256
8187 (base32
8188 "00vv8a75wdklygdyr4km9mc2ismxak69c45jmcny41xl44rp9x8m"))))
8189 (build-system emacs-build-system)
8190 (arguments
8191 `(#:phases
8192 (modify-phases %standard-phases
8193 (add-after 'unpack 'fix-sources
8194 (lambda _
8195 ;; See: https://github.com/tali713/esxml/pull/28.
8196 (substitute* "css-lite.el"
8197 ((";;; main interface")
8198 (string-append ";;; main interface\n"
8199 "(require 'cl-lib)"))
8200 (("mapcan")
8201 "cl-mapcan")
8202 (("',\\(cl-mapcan #'process-css-rule rules\\)")
8203 "(cl-mapcan #'process-css-rule ',rules)"))
8204 (substitute* "esxml-form.el"
8205 ((",esxml-form-field-defn")
8206 "#'esxml-form-field-defn"))
8207 ;; See: https://github.com/tali713/esxml/issues/25
8208 (delete-file "esxpath.el")
8209 #t)))))
8210 (propagated-inputs
8211 `(("emacs-kv" ,emacs-kv)))
8212 (home-page "https://github.com/tali713/esxml/")
8213 (synopsis "SXML for EmacsLisp")
8214 (description "This is XML/XHTML done with S-Expressions in EmacsLisp.
8215Simply, this is the easiest way to write HTML or XML in Lisp. This library
8216uses the native form of XML representation as used by many libraries already
8217included within Emacs. See @code{esxml-to-xml} for a concise description of
8218the format.")
8219 (license license:gpl3+)))
8220
8221(define-public emacs-nov-el
8222 (package
8223 (name "emacs-nov-el")
8224 (version "0.2.6")
8225 (source (origin
8226 (method git-fetch)
8227 (uri (git-reference
8228 (url "https://github.com/wasamasa/nov.el.git")
8229 (commit version)))
8230 (file-name (git-file-name name version))
8231 (sha256
8232 (base32
8233 "188h5gzn1zf443g0b7q5bpmvvpr6ds5h8aci8vxc92py56rhyrvc"))))
8234 (build-system emacs-build-system)
8235 (arguments
8236 `(#:phases
8237 (modify-phases %standard-phases
8238 (add-after 'unpack 'embed-path-to-unzip
8239 (lambda _
8240 (substitute* "nov.el"
8241 (("\\(executable-find \"unzip\"\\)")
8242 (string-append "\"" (which "unzip") "\"")))
8243 #t)))))
8244 (propagated-inputs
8245 `(("emacs-dash" ,emacs-dash)
8246 ("emacs-esxml" ,emacs-esxml)))
8247 (inputs
8248 `(("unzip" ,unzip)))
8249 (home-page "https://github.com/wasamasa/nov.el/")
8250 (synopsis "Major mode for reading EPUBs in Emacs")
8251 (description "@code{nov.el} provides a major mode for reading EPUB
8252documents.
8253
8254Features:
8255
8256@itemize
8257@item Basic navigation (jump to TOC, previous/next chapter)
8258@item Remembering and restoring the last read position
8259@item Jump to next chapter when scrolling beyond end
8260@item Renders EPUB2 (@code{.ncx}) and EPUB3 (@code{<nav>}) TOCs
8261@item Hyperlinks to internal and external targets
8262@item Supports textual and image documents
8263@item View source of document files
8264@item Metadata display
8265@item Image rescaling
8266@end itemize
8267")
8268 (license license:gpl3+)))
8269
8270(define-public epipe
8271 (package
8272 (name "epipe")
8273 (version "0.1.0")
8274 (source
8275 (origin
8276 (method url-fetch)
8277 (uri (string-append "https://github.com/cute-jumper/epipe/archive/"
8278 version ".tar.gz"))
8279 (file-name (string-append name "-" version ".tar.gz"))
8280 (sha256
8281 (base32
8282 "05a036852g4j63k1mhvyfrcsgkl9lczayi7x61570ysw3cli5wp5"))))
8283 (build-system trivial-build-system)
8284 (inputs
8285 `(("bash" ,bash)
8286 ("perl" ,perl)))
8287 (native-inputs
8288 `(("tar" ,tar)
8289 ("gzip" ,gzip)))
8290 (arguments
8291 `(#:modules
8292 ((guix build utils))
8293 #:builder
8294 (begin
8295 (use-modules (guix build utils))
8296 ;; Extract source
8297 (setenv "PATH" (string-append
8298 (assoc-ref %build-inputs "tar") "/bin" ":"
8299 (assoc-ref %build-inputs "gzip") "/bin"))
8300 (invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
8301 (chdir (string-append ,name "-" ,version))
8302 ;; Patch shebangs
8303 (substitute* "epipe"
8304 (("/usr/bin/env bash")
8305 (string-append (assoc-ref %build-inputs "bash") "/bin/bash")))
8306 (patch-shebang "epipe.pl"
8307 (list (string-append (assoc-ref %build-inputs "perl")
8308 "/bin")))
8309 ;; Installation
8310 (for-each (lambda (file)
8311 (install-file file (string-append %output "/bin")))
8312 '("epipe" "epipe.pl"))
8313 #t)))
8314 (home-page "https://github.com/cute-jumper/epipe")
8315 (synopsis "Pipe to the @code{emacsclient}")
8316 (description "@code{epipe} provides an utility to use your editor in
8317the pipeline, featuring the support for running @code{emacsclient}.")
8318 (license license:gpl3+)))
8319
8320(define-public emacs-hcl-mode
8321 (package
8322 (name "emacs-hcl-mode")
8323 (version "0.03")
8324 (source
8325 (origin
8326 (method url-fetch)
8327 (uri (string-append
8328 "https://github.com/syohex/emacs-hcl-mode/archive/"
8329 version ".tar.gz"))
8330 (file-name (string-append name "-" version ".tar.gz"))
8331 (sha256
8332 (base32
8333 "0pvw74qpwh0znqzp6syp4wxjqs7dp1hbn5h7xfk97mff9l5d8k6x"))))
8334 (build-system emacs-build-system)
8335 (home-page "https://github.com/syohex/emacs-hcl-mode")
8336 (synopsis "Major mode for the Hashicorp Configuration Language")
8337 (description
8338 "@code{emacs-hcl-mode} provides an Emacs major mode for working with
8339@acronym{HCL, Hashicorp Configuration Language}. It provides syntax
8340highlighting and indentation support.")
8341 (license license:gpl3+)))
8342
8343(define-public emacs-terraform-mode
8344 (package
8345 (name "emacs-terraform-mode")
8346 (version "0.06")
8347 (source
8348 (origin
8349 (method url-fetch)
8350 (uri (string-append
8351 "https://github.com/syohex/emacs-terraform-mode/archive/"
8352 version ".tar.gz"))
8353 (file-name (string-append name "-" version ".tar.gz"))
8354 (sha256
8355 (base32
8356 "0h9267ifdjmcin4sj8slxydbacx4bqicbvg8pa1qq2l72h9m5381"))))
8357 (build-system emacs-build-system)
8358 (propagated-inputs
8359 `(("emacs-hcl-mode" ,emacs-hcl-mode)))
8360 (home-page "https://github.com/syohex/emacs-terraform-mode")
8361 (synopsis "Major mode for Terraform")
8362 (description
8363 "@code{emacs-terraform-mode} provides a major mode for working with
8364@uref{https://www.terraform.io/, Terraform} configuration files. Most of the
8365functionality is inherited from @code{hcl-mode}.")
8366 (license license:gpl3+)))
8367
8368(define-public emacs-exec-path-from-shell
8369 (package
8370 (name "emacs-exec-path-from-shell")
8371 (version "1.11")
8372 (source
8373 (origin
8374 (method url-fetch)
8375 (uri (string-append
8376 "https://stable.melpa.org/packages/exec-path-from-shell-"
8377 version ".el"))
8378 (sha256
8379 (base32
8380 "03qjgb81cq1l3j54lvlf98r75vmmgd06mj6qh5wa6mz4xzp4w26r"))))
8381 (build-system emacs-build-system)
8382 (home-page "https://github.com/purcell/exec-path-from-shell")
8383 (synopsis "Get environment variables such as @var{PATH} from the shell")
8384 (description
8385 "This library allows the user to set Emacs @var{exec-path} and @var{PATH}
8386from the shell @var{PATH}, so that @code{shell-command}, @code{compile} and
8387the like work as expected on systems on which Emacs is not guaranteed to
8388inherit a login shell's environment variables. It also allows other
8389environment variables to be retrieved from the shell, so that Emacs will see
8390the same values you get in a terminal.")
8391 (license license:gpl3+)))
8392
8393(define-public emacs-deft
8394 (package
8395 (name "emacs-deft")
8396 (version "0.8")
8397 (source
8398 (origin
8399 (method url-fetch)
8400 (uri (string-append "https://stable.melpa.org/packages/deft-"
8401 version ".el"))
8402 (sha256
8403 (base32
8404 "1vb9cjxskc7c0yyf9pvxy1fzypg1vrcgwnjz0m3hslinsgdyig58"))))
8405 (build-system emacs-build-system)
8406 (home-page "https://jblevins.org/projects/deft/")
8407 (synopsis "Quickly browse, filter, and edit plain text notes")
8408 (description
8409 "Deft is an Emacs mode for quickly browsing, filtering, and editing
8410directories of plain text notes, inspired by Notational Velocity.")
8411 (license license:bsd-3)))
8412
8413(define-public emacs-anzu
8414 (package
8415 (name "emacs-anzu")
8416 (version "0.62")
8417 (source
8418 (origin
8419 (method url-fetch)
8420 (uri (string-append "https://github.com/syohex/emacs-anzu/archive/"
8421 version ".tar.gz"))
8422 (file-name (string-append name "-" version ".tar.gz"))
8423 (sha256
8424 (base32
8425 "16cg3897x5znbmgk7sdy0qyd0fbic9dmmz0dchq2vz5z29yhg4cz"))))
8426 (build-system emacs-build-system)
8427 (home-page "https://github.com/syohex/emacs-anzu")
8428 (synopsis "Show number of matches in mode-line while searching")
8429 (description
8430 "Anzu provides a minor mode which displays \"current match/total
8431matches\" in the mode line in various search modes. This is an Emacs port of
8432Anzu.zim.")
8433 (license license:gpl3+)))
8434
8435(define-public emacs-emmet-mode
8436 (package
8437 (name "emacs-emmet-mode")
8438 (version "1.0.8")
8439 (source (origin
8440 (method url-fetch)
8441 (uri (string-append "https://github.com/smihica/emmet-mode"
8442 "/archive/" version ".tar.gz"))
8443 (file-name (string-append name "-" version ".tar.gz"))
8444 (sha256
8445 (base32
8446 "0g3p22yabfcp98cfv9dgl9il2m2pd53isq2q11vb3s7qyn31f7zj"))))
8447 (build-system emacs-build-system)
8448 (home-page "https://github.com/smihica/emmet-mode")
8449 (synopsis "Unofficial Emmet's support for Emacs")
8450 (description
8451 "Unfold CSS-selector-like expressions to markup. It is intended to be
8452used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
8453 (license license:gpl3+)))
8454
8455(define-public emacs-ergoemacs-mode
8456 (let ((commit "3ce23bba3cb50562693860f87f3528c471d603ba")
8457 (revision "1"))
8458 (package
8459 (name "emacs-ergoemacs-mode")
8460 (version (git-version "5.16.10.12" revision commit))
8461 (source
8462 (origin
8463 (method git-fetch)
8464 (uri (git-reference
8465 (url "https://github.com/ergoemacs/ergoemacs-mode.git")
8466 (commit commit)))
8467 (sha256
8468 (base32
8469 "1s3b9bridl78hh1mxmdk9nqlmqhibbaxk0a1cixmsf23s06w8w6l"))))
8470 (build-system emacs-build-system)
8471 (propagated-inputs
8472 `(("emacs-undo-tree" ,emacs-undo-tree)))
8473 (home-page "https://ergoemacs.github.io/")
8474 (synopsis "Emacs mode based on common modern interface and ergonomics")
8475 (description
8476 "This package provides an efficient Emacs keybinding set based on
8477statistics of command frequency, and supports common shortcuts for open,
8478close, copy, cut, paste, undo, redo.")
8479 (license license:gpl3+))))
8480
8481(define-public emacs-password-store
8482 (package
8483 (name "emacs-password-store")
8484 (version "1.7.3")
8485 (source (origin
8486 (method url-fetch)
8487 (uri
8488 (string-append "https://git.zx2c4.com/password-store/snapshot/"
8489 "password-store-" version ".tar.xz"))
8490 (sha256
8491 (base32
8492 "1x53k5dn3cdmvy8m4fqdld4hji5n676ksl0ql4armkmsds26av1b"))))
8493 (build-system emacs-build-system)
8494 (arguments
8495 `(#:phases
8496 (modify-phases %standard-phases
8497 (add-after 'unpack 'extract-el-file
8498 (lambda _
8499 (copy-file "contrib/emacs/password-store.el" "password-store.el")
8500 (delete-file-recursively "contrib")
8501 (delete-file-recursively "man")
8502 (delete-file-recursively "src")
8503 (delete-file-recursively "tests"))))))
8504 (propagated-inputs
8505 `(("emacs-f" ,emacs-f)
8506 ("emacs-s" ,emacs-s)
8507 ("emacs-with-editor" ,emacs-with-editor)
8508 ("password-store" ,password-store)))
8509 (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
8510 (synopsis "Password store (pass) support for Emacs")
8511 (description
8512 "This package provides functions for working with pass (\"the
8513standard Unix password manager\").")
8514 (license license:gpl2+)))
8515
8516(define-public emacs-pass
8517 (package
8518 (name "emacs-pass")
8519 (version "1.8")
8520 (source (origin
8521 (method url-fetch)
8522 (uri (string-append
8523 "https://github.com/NicolasPetton/pass/archive/"
8524 version ".tar.gz"))
8525 (sha256
8526 (base32
8527 "0aiz90gklk0cb8n4v1s3l0mx6pp2b7f4k2c0fjpihwmga13yklwn"))
8528 (file-name (string-append name "-" version ".tar.gz"))))
8529 (build-system emacs-build-system)
8530 (propagated-inputs
8531 `(("emacs-password-store" ,emacs-password-store)
8532 ("emacs-f" ,emacs-f)))
8533 (home-page "https://github.com/NicolasPetton/pass")
8534 (synopsis "Major mode for @file{password-store.el}")
8535 (description "This is a major mode for managing password-store (pass)
8536keychains. The keychain entries are displayed in a directory-like structure
8537and can be consulted and modified.")
8538 (license license:gpl3+)))
8539
8540(define-public emacs-evil-anzu
8541 (package
8542 (name "emacs-evil-anzu")
8543 (version "0.03")
8544 (source
8545 (origin
8546 (method url-fetch)
8547 (uri (string-append "https://github.com/syohex/emacs-evil-anzu"
8548 "/archive/" version ".tar.gz"))
8549 (file-name (string-append name "-" version ".tar.gz"))
8550 (sha256
8551 (base32 "032hh2946z529cizqsg8pm6cpn5qdj8lfk3qskmx6xv3g2ra56ns"))))
8552 (build-system emacs-build-system)
8553 (propagated-inputs
8554 `(("emacs-evil" ,emacs-evil)
8555 ("emacs-anzu" ,emacs-anzu)))
8556 (home-page "https://github.com/syohex/emacs-evil-anzu")
8557 (synopsis "Anzu for evil-mode")
8558 (description "@code{anzu} provides a minor mode that displays the current
8559match and total match information in the mode-line in various search modes.")
8560 (license license:gpl3+)))
8561
8562(define-public emacs-pg
8563 (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d"))
8564 (package
8565 (name "emacs-pg")
8566 (version (git-version "0.1" "1" commit))
8567 (source (origin
8568 (method git-fetch)
8569 (uri (git-reference (url "https://github.com/cbbrowne/pg.el")
8570 (commit commit)))
8571 (file-name (git-file-name name version))
8572 (sha256
8573 (base32
8574 "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0"))))
8575 (build-system emacs-build-system)
8576 (home-page "https://github.com/cbbrowne/pg.el")
8577 (synopsis "Emacs Lisp interface for PostgreSQL")
8578 (description
8579 "This package provides an Emacs Lisp interface for PostgreSQL.")
8580 (license license:gpl3+))))
8581
8582(define-public emacs-cl-generic
8583 (package
8584 (name "emacs-cl-generic")
8585 (version "0.3")
8586 (source
8587 (origin
8588 (method url-fetch)
8589 (uri (string-append "https://elpa.gnu.org/packages/cl-generic-"
8590 version ".el"))
8591 (sha256
8592 (base32
8593 "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq"))))
8594 (build-system emacs-build-system)
8595 (home-page "https://elpa.gnu.org/packages/seq.html")
8596 (synopsis
8597 "Forward @code{cl-generic} compatibility for Emacs before version 25")
8598 (description "This package provides a subset of the features of the
8599@code{cl-generic} package introduced in Emacs-25, for use on previous
8600@code{emacsen}.")
8601 (license license:gpl3+)))
8602
8603(define-public emacs-finalize
8604 (package
8605 (name "emacs-finalize")
8606 (version "2.0.0")
8607 (source
8608 (origin
8609 (method url-fetch)
8610 (uri (string-append "https://github.com/skeeto/elisp-finalize/archive/"
8611 version ".tar.gz"))
8612 (file-name (string-append name "-" version ".tar.gz"))
8613 (sha256
8614 (base32
8615 "077fycy3i5f0kjw5z3rhf4kld5lbk2idz690nkwhkz04vppk4q4x"))))
8616 (build-system emacs-build-system)
8617 (propagated-inputs
8618 `(("emacs-cl-generic" ,emacs-cl-generic)))
8619 (home-page "https://github.com/skeeto/elisp-finalize")
8620 (synopsis "Finalizers for Emacs Lisp")
8621 (description
8622 "This package will allows to immediately run a callback (a finalizer)
8623after its registered lisp object has been garbage collected. This allows for
8624extra resources, such as buffers and processes, to be cleaned up after the
8625object has been freed.")
8626 (license license:unlicense)))
8627
8628(define-public emacs-emacsql
8629 (package
8630 (name "emacs-emacsql")
8631 (version "3.0.0")
8632 (source (origin
8633 (method git-fetch)
8634 (uri (git-reference
8635 (url "https://github.com/skeeto/emacsql.git")
8636 (commit (string-append version))))
8637 (file-name (git-file-name name version))
8638 (sha256
8639 (base32
8640 "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"))))
8641 (build-system emacs-build-system)
8642 (arguments
8643 `(#:modules ((guix build emacs-build-system)
8644 (guix build utils)
8645 (guix build emacs-utils)
8646 (srfi srfi-26))
8647 #:phases
8648 (modify-phases %standard-phases
8649 (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files.
8650 (add-before 'install 'patch-elisp-shell-shebangs
8651 (lambda _
8652 (substitute* (find-files "." "\\.el")
8653 (("/bin/sh") (which "sh")))
8654 #t))
8655 (add-after 'patch-elisp-shell-shebangs 'setenv-shell
8656 (lambda _
8657 (setenv "SHELL" "sh")))
8658 (add-after 'setenv-shell 'build-emacsql-sqlite
8659 (lambda _
8660 (invoke "make" "binary" "CC=gcc")))
8661 (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
8662 ;; This build phase installs emacs-emacsql binary.
8663 (lambda* (#:key outputs #:allow-other-keys)
8664 (install-file "sqlite/emacsql-sqlite"
8665 (string-append (assoc-ref outputs "out")
8666 "/bin"))
8667 #t))
8668 (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
8669 ;; This build phase removes interactive prompts
8670 ;; and makes sure Emacs look for binaries in the right places.
8671 (lambda* (#:key outputs #:allow-other-keys)
8672 (let ((file "emacsql-sqlite.el"))
8673 (chmod file #o644)
8674 (emacs-substitute-sexps file
8675 ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
8676 ("(executable-find" (which "gcc"))
8677 ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary
8678 ;; in the right place.
8679 ("(defvar emacsql-sqlite-executable"
8680 (string-append (assoc-ref outputs "out")
8681 "/bin/emacsql-sqlite"))))))
8682 (replace 'install
8683 (lambda* (#:key outputs #:allow-other-keys)
8684 (let* ((out (assoc-ref outputs "out")))
8685 (install-file "sqlite/emacsql-sqlite"
8686 (string-append out "/bin"))
8687 (for-each (cut install-file <>
8688 (string-append out "/share/emacs/site-lisp/guix.d/"
8689 "emacsql" "-" ,version))
8690 (find-files "." "\\.elc*$")))
8691 #t)))))
8692 (inputs
8693 `(("emacs-minimal" ,emacs-minimal)
8694 ("mariadb" ,mariadb)
8695 ("postgresql" ,postgresql)))
8696 (propagated-inputs
8697 `(("emacs-finalize" ,emacs-finalize)
8698 ("emacs-pg" ,emacs-pg)))
8699 (home-page "https://github.com/skeeto/emacsql")
8700 (synopsis "Emacs high-level SQL database front-end")
8701 (description "Any readable Lisp value can be stored as a value in EmacSQL,
8702including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
8703has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
8704object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
8705 (license license:gpl3+)))
8706
8707(define-public emacs-closql
8708 (package
8709 (name "emacs-closql")
8710 (version "1.0.0")
8711 (source
8712 (origin
8713 (method git-fetch)
8714 (uri (git-reference
8715 (url "https://github.com/emacscollective/closql.git")
8716 (commit (string-append "v" version))))
8717 (file-name (git-file-name name version))
8718 (sha256
8719 (base32
8720 "1xhpfjjkjqfc1k2rj77cscclz5r7gpvv3hi202x178vdcpipjwar"))))
8721 (build-system emacs-build-system)
8722 (propagated-inputs
8723 `(("emacs-emacsql" ,emacs-emacsql)))
8724 (home-page "https://github.com/emacscollective/closql")
8725 (synopsis "Store EIEIO objects using EmacSQL")
8726 (description
8727 "This package allows to store uniform EIEIO objects in an EmacSQL
8728database. SQLite is used as backend. This library imposes some restrictions
8729on what kind of objects can be stored; it isn't intended to store arbitrary
8730objects. All objects have to share a common superclass and subclasses cannot
8731add any additional instance slots.")
8732 (license license:gpl3)))
8733
8734(define-public emacs-epkg
8735 ;; The release version is to old for the current database scheme.
8736 (let ((commit "432312b9583ed7b88ad9644fd1bf2183765a892e"))
8737 (package
8738 (name "emacs-epkg")
8739 (version (git-version "3.0.0" "1" commit))
8740 (source
8741 (origin
8742 (method git-fetch)
8743 (uri (git-reference
8744 (url "https://github.com/emacscollective/epkg.git")
8745 (commit commit)))
8746 (file-name (git-file-name name version))
8747 (sha256
8748 (base32
8749 "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k"))))
8750 (build-system emacs-build-system)
8751 (propagated-inputs
8752 `(("emacs-closql" ,emacs-closql)
8753 ("emacs-dash" ,emacs-dash)))
8754 (home-page "https://emacsmirror.net")
8755 (synopsis "Browse the Emacsmirror package database")
8756 (description "This package provides access to a local copy of the
8757Emacsmirror package database. It provides low-level functions for querying
8758the database and a @file{package.el} user interface for browsing the database.
8759Epkg itself is not a package manager.
8760
8761Getting a local copy:
8762
8763@example
8764git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs
8765cd ~/.emacs.d/epkgs
8766git submodule init
8767git config --global url.https://github.com/.insteadOf git@@github.com:
8768git submodule update
8769@end example
8770
8771Some submodule may be missing. In this case Git will prompt for a GitHub user
8772name and password. To skip it press a @key{Return} key.
8773
8774You could get a Epkg package list by invoking @code{epkg-list-packages} in
8775Emacs.")
8776 (license license:gpl3+))))
8777
8778(define-public emacs-elisp-slime-nav
8779 (package
8780 (name "emacs-elisp-slime-nav")
8781 (version "0.9")
8782 (source
8783 (origin
8784 (method url-fetch)
8785 (uri (string-append "https://github.com/purcell/elisp-slime-nav/archive/"
8786 version ".tar.gz"))
8787 (file-name (string-append name "-" version ".tar.gz"))
8788 (sha256
8789 (base32
8790 "1vq7ym1q47p97gxrv45c9gm96d23xbp237vkmakikj6grngxjfb2"))))
8791 (build-system emacs-build-system)
8792 (home-page "https://github.com/purcell/elisp-slime-nav")
8793 (synopsis "Make @code{M-.} and @code{M-,} work for elisp like they do in SLIME")
8794 (description
8795 "This package provides SLIME's convenient @code{M-.}and @code{M-,} navigation
8796in @code{emacs-lisp-mode}, together with an elisp equivalent of
8797@code{slime-describe-symbol}.")
8798 (license license:gpl3+)))
8799
8800(define-public emacs-dedicated
8801 (package
8802 (name "emacs-dedicated")
8803 (version "1.0.0")
8804 (source (origin
8805 (method url-fetch)
8806 (uri (string-append
8807 "https://github.com/emacsorphanage/dedicated/archive/"
8808 version
8809 ".tar.gz"))
8810 (sha256
8811 (base32
8812 "0nhbkp278cvcznb5rp3jp9ii3mjgb79zx8iwfrw7zfk3yg8688ni"))
8813 (file-name (string-append name "-" version ".tar.gz"))))
8814 (build-system emacs-build-system)
8815 (home-page "https://github.com/emacsorphanage/dedicated")
8816 (synopsis "Emacs minor mode for toggling a windows's \"dedicated\" flag")
8817 (description
8818 "This simple Emacs minor mode allows you to toggle a window's
8819\"dedicated\" flag. When a window is \"dedicated\", Emacs will not select
8820files into that window. This can be quite handy since many commands will use
8821another window to show results (compilation mode, starting info, and so on).
8822A dedicated window won't be used for such a purpose. For details, please read
8823the source file.")
8824 (license license:gpl2+)))
8825
8826(define-public emacs-nnreddit
8827 (let ((commit "9843f99d01fd8f1eea2fc685965a7c7f4eeb187a")
8828 (revision "1"))
8829 (package
8830 (name "emacs-nnreddit")
8831 (version (string-append "0.0.1-" revision "."
8832 (string-take commit 7)))
8833 (source (origin
8834 (method git-fetch)
8835 (uri (git-reference
8836 (url "https://github.com/paul-issartel/nnreddit.git")
8837 (commit commit)))
8838 (file-name (string-append name "-" version "-checkout"))
8839 (sha256
8840 (base32
8841 "0j4h3bnga640250jdq8bwyja49r41ssrsjd6lba4gzzllqk02nbn"))))
8842 (build-system emacs-build-system)
8843 (home-page "https://github.com/paul-issartel/nnreddit")
8844 (synopsis "Reddit backend for the Gnus newsreader")
8845 (description "@url{https://www.reddit.com} backend for the Gnus
8846newsreader.")
8847 (license license:gpl3+))))
8848
8849(define-public emacs-makey
8850 (package
8851 (name "emacs-makey")
8852 (version "0.3")
8853 (source
8854 (origin
8855 (method url-fetch)
8856 (uri (string-append "https://github.com/mickeynp/makey/archive/"
8857 version ".tar.gz"))
8858 (file-name (string-append name "-" version ".tar.gz"))
8859 (sha256
8860 (base32
8861 "0kzl4q1wf2zhkx9nrymxa67n99iq0bj7zqhpaz4byksna1hsxfmv"))))
8862 (build-system emacs-build-system)
8863 (home-page "https://github.com/mickeynp/makey")
8864 (synopsis "Emacs interactive command-line mode")
8865 (description
8866 "This package provides an Emacs interactive command-line mode.")
8867 (license license:gpl3+)))
8868
8869(define-public emacs-outorg
8870 (let ((commit "78b0695121fb974bc4e971eb4ef7f8afd6d89d64"))
8871 (package
8872 (name "emacs-outorg")
8873 (version (git-version "2.0" "1" commit))
8874 (source
8875 (origin
8876 (method git-fetch)
8877 (uri (git-reference
8878 (url "https://github.com/alphapapa/outorg")
8879 (commit commit)))
8880 (file-name (git-file-name name version))
8881 (sha256
8882 (base32
8883 "03aclh4m3f7rb821gr9pwvnqkkl91px3qxdcarpf3ypa1x4fxvlj"))))
8884 (build-system emacs-build-system)
8885 (home-page "https://github.com/alphapapa/outorg")
8886 (synopsis "Org-style comment editing")
8887 (description "Outorg is for editing comment-sections of source-code
8888files in temporary Org-mode buffers. It turns conventional
8889literate-programming upside-down in that the default mode is the
8890programming-mode, and special action has to be taken to switch to the
8891text-mode (i.e. Org-mode).")
8892 (license license:gpl3+))))
8893
8894(define-public emacs-outshine
8895 (let ((commit "5f1a6b70231d2811c522e4e5e8c89ff461b311d6"))
8896 (package
8897 (name "emacs-outshine")
8898 (version (git-version "2.0" "1" commit))
8899 (source (origin
8900 (method git-fetch)
8901 (uri (git-reference
8902 (url "https://github.com/alphapapa/outshine.git")
8903 (commit commit)))
8904 (file-name (git-file-name name version))
8905 (sha256
8906 (base32
8907 "1l9v1dfhgg7il11ifbhvcvrg3acfjk9sdxlc3lja1k54d7dp60jv"))))
8908 (build-system emacs-build-system)
8909 (propagated-inputs
8910 `(("emacs-outorg" ,emacs-outorg)))
8911 (home-page "https://github.com/alphapapa/outshine")
8912 (synopsis "Emacs outline with outshine")
8913 (description "Outshine attempts to bring the look and feel of
8914@code{org-mode} to an Emacs outside of the Org major-mode. It is an extension
8915of @code{outline-minor-mode} (@code{org-mode} itself derives from
8916outline-mode), so there is no such thing like an outshine mode, only
8917@code{outline-minor-mode} with outshine extensions loaded.")
8918 (license license:gpl3+))))
8919
8920(define-public emacs-parsebib
8921 (package
8922 (name "emacs-parsebib")
8923 (version "2.3.1")
8924 (source
8925 (origin
8926 (method url-fetch)
8927 (uri (string-append "https://github.com/joostkremers/parsebib/archive/"
8928 version ".tar.gz"))
8929 (file-name (string-append name "-" version ".tar.gz"))
8930 (sha256
8931 (base32
8932 "0cxagnmc5ab6idmb26axpizhr4sqglkncc59768yavn3p04jyq63"))))
8933 (build-system emacs-build-system)
8934 (home-page "https://github.com/joostkremers/parsebib")
8935 (synopsis "Library for parsing bib files")
8936 (description
8937 "This package provides an Emacs library for parsing bib files.")
8938 (license license:gpl3+)))
8939
8940(define-public emacs-biblio
8941 (package
8942 (name "emacs-biblio")
c7cf43dd 8943 (version "0.2")
eeb883cb
RW
8944 (source
8945 (origin
8946 (method url-fetch)
8947 (uri (string-append "https://github.com/cpitclaudel/biblio.el/archive/"
8948 version ".tar.gz"))
8949 (file-name (string-append name "-" version ".tar.gz"))
8950 (sha256
8951 (base32
c7cf43dd 8952 "0vwrljmab8m1z83048gxx5mryml9f5pb3h0jpwkvqcl0ra152lzx"))))
eeb883cb
RW
8953 (build-system emacs-build-system)
8954 (propagated-inputs
8955 `(("emacs-seq" ,emacs-seq)
8956 ("emacs-dash" ,emacs-dash)
8957 ("emacs-let-alist" ,emacs-let-alist)))
8958 (home-page "https://github.com/cpitclaudel/biblio.el")
8959 (synopsis "Browse and import bibliographic references")
8960 (description "This package provides an extensible Emacs package for
8961browsing and fetching references.
8962
8963@file{biblio.el} makes it easy to browse and gather bibliographic references
8964and publications from various sources, by keywords or by DOI. References are
8965automatically fetched from well-curated sources, and formatted as BibTeX.")
8966 (license license:gpl3+)))
8967
8968(define-public emacs-helm-bibtex
8969 (let ((commit "8ed898fb5a68f18e9bb9973832a5c1f8abcfc463")
8970 (revision "1"))
8971 (package
8972 (name "emacs-helm-bibtex")
8973 (version (string-append "2.0.0" "-" revision "."
8974 (string-take commit 7)))
8975 (source
8976 (origin
8977 (method git-fetch)
8978 (uri (git-reference
8979 (url "https://github.com/tmalsburg/helm-bibtex.git")
8980 (commit commit)))
8981 (file-name (string-append name "-" version "-checkout"))
8982 (sha256
8983 (base32
8984 "14lyx0vbqr97p3anzrsp7m3q0kqclyjcdwplpraim403fcklzbnz"))))
8985 (build-system emacs-build-system)
8986 (propagated-inputs
8987 `(("emacs-helm" ,emacs-helm)
8988 ("emacs-parsebib" ,emacs-parsebib)
8989 ("emacs-s" ,emacs-s)
8990 ("emacs-dash" ,emacs-dash)
8991 ("emacs-f" ,emacs-f)
8992 ("emacs-biblio" ,emacs-biblio)
8993 ("emacs-ivy" ,emacs-ivy)))
8994 (home-page "https://github.com/tmalsburg/helm-bibtex")
8995 (synopsis "Bibliography manager based on Helm")
8996 (description "This package provides bibliography manager for Emacs,
8997based on Helm and the bibtex-completion backend.
8998
8999Key features:
9000
9001@itemize
9002@item Quick access to your bibliography from within Emacs
9003@item Powerful search capabilities
9004@item Provides instant search results as you type
9005@item Tightly integrated with LaTeX authoring, emails, Org mode, etc.
9006@item Open the PDFs, URLs, or DOIs associated with an entry
9007@item Insert LaTeX cite commands, Ebib links, or Pandoc citations,
9008BibTeX entries, or plain text references at point, attach PDFs to emails
9009@item Support for note taking
9010@item Quick access to online bibliographic databases such as Pubmed,
9011arXiv, Google Scholar, Library of Congress, etc.
9012@item Imports BibTeX entries from CrossRef and other sources.
9013@end itemize\n")
9014 (license license:gpl3+))))
9015
9016(define-public emacs-ewmctrl
9017 (let ((commit "3d0217c4d6cdb5c308b6cb4293574f470d4faacf"))
9018 (package
9019 (name "emacs-ewmctrl")
9020 (version (git-version "0.0.1" "1" commit))
9021 (source
9022 (origin
9023 (method git-fetch)
9024 (uri (git-reference
9025 (url "https://github.com/flexibeast/ewmctrl.git")
9026 (commit commit)))
9027 (file-name (git-file-name name version))
9028 (sha256
9029 (base32
9030 "0ilwvx0qryv3v6xf0gxqwnfm6pf96gxap8h9g3f6z6lk9ff4n1wi"))))
9031 (build-system emacs-build-system)
9032 (arguments
9033 '(#:phases
9034 (modify-phases %standard-phases
9035 (add-after 'unpack 'patch-ewmctrl
9036 ;; This build phase makes sure ‘ewmctrl’ looks
9037 ;; for ‘wmctrl’ in the right place.
9038 (lambda _
9039 (let ((file "ewmctrl.el"))
9040 (chmod file #o644)
9041 (emacs-substitute-sexps file
9042 ("(defcustom ewmctrl-wmctrl-path" (which "wmctrl")))))))))
9043 (inputs
9044 `(("wmctrl" ,wmctrl)))
9045 (home-page "https://github.com/flexibeast/ewmctrl")
9046 (synopsis "Emacs interface to @code{wmctrl}")
9047 (description "@code{ewmctrl} provides an Emacs interface to
9048@code{wmctrl} command-line window-management program.")
9049 (license license:gpl3+))))
9050
9051(define-public emacs-helm-gtags
9052 (package
9053 (name "emacs-helm-gtags")
9054 (version "1.5.6")
9055 (source (origin
9056 (method url-fetch)
9057 (uri (string-append
9058 "https://github.com/syohex/emacs-helm-gtags/archive/"
9059 version ".tar.gz"))
9060 (file-name (string-append name "-" version ".tar.gz"))
9061 (sha256
9062 (base32
9063 "1a10snhg6nnnan6w9a7mcziy26vxbsr3c35i0gcarnkdp2yqng36"))))
9064 (build-system emacs-build-system)
9065 (propagated-inputs
9066 `(("emacs-helm" ,emacs-helm)))
9067 (home-page "https://github.com/syohex/emacs-helm-gtags")
9068 (synopsis "Emacs Helm interface to GNU Global")
9069 (description
9070 "@code{emacs-helm-gtags} provides a Emacs Helm interface to GNU Global.")
9071 (license license:gpl3+)))
9072
9073(define-public emacs-list-utils
9074 (package
9075 (name "emacs-list-utils")
9076 (version "0.4.4")
9077 (source
9078 (origin
9079 (method url-fetch)
9080 (uri (string-append "https://github.com/rolandwalker/list-utils/archive/"
9081 "v" version ".tar.gz"))
9082 (file-name (string-append name "-" version ".tar.gz"))
9083 (sha256
9084 (base32
9085 "1xc1xh8c82h5gdjbgpdsdclgwxkxbb7h3x3a2bscpm41g8pnan4p"))))
9086 (build-system emacs-build-system)
9087 (home-page "https://github.com/rolandwalker/list-utils")
9088 (synopsis "List-manipulation utility functions")
9089 (description "This package provides a list manipulation library for Emacs.")
9090 (license license:gpl3+)))
9091
9092(define-public emacs-move-text
9093 (package
9094 (name "emacs-move-text")
9095 (version "2.0.8")
9096 (source
9097 (origin
9098 (method url-fetch)
9099 (uri (string-append "https://github.com/emacsfodder/move-text/archive/"
9100 version ".tar.gz"))
9101 (file-name (string-append name "-" version ".tar.gz"))
9102 (sha256
9103 (base32
9104 "1sjfja9r25692pgcldgnjzkapzy970m14jh9l4pajysiqcdk72g0"))))
9105 (build-system emacs-build-system)
9106 (home-page "https://github.com/emacsfodder/move-text")
9107 (synopsis "Move current line or region with M-up or M-down")
9108 (description "This package provide functions to move the current line
9109using @kbd{M-up} or @kbd{M-down} if a region is marked, it will move the
9110region instead.")
9111 (license license:gpl3+)))
9112
9113(define-public emacs-validate
9114 (package
9115 (name "emacs-validate")
9116 (version "1.0.5")
9117 (source (origin
9118 (method url-fetch)
9119 (uri (string-append "https://github.com/Malabarba/validate.el"
9120 "/archive/" version ".tar.gz"))
9121 (file-name (string-append name "-" version ".tar.gz"))
9122 (sha256
9123 (base32
9124 "125mbd111f1h1baw0z3fzm48y1bvaigljyzvvnqgrn0shxbj0khg"))))
9125 (build-system emacs-build-system)
9126 (home-page "https://github.com/Malabarba/validate.el")
9127 (synopsis "Emacs library for scheme validation")
9128 (description "This Emacs library provides two functions that perform
9129schema validation.")
9130 (license license:gpl3+)))
9131
9132(define-public emacs-rainbow-blocks
9133 (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842"))
9134 (package
9135 (name "emacs-rainbow-blocks")
9136 (version (git-version "1.0.0" "1" commit))
9137 (source (origin
9138 (method git-fetch)
9139 (uri (git-reference
9140 (url "https://github.com/istib/rainbow-blocks.git")
9141 (commit commit)))
9142 (file-name (git-file-name name version))
9143 (sha256
9144 (base32
9145 "06yfb3i7wzvqrhkb61zib9xvpb5i00s4frizkzff66im05k0n795"))))
9146 (build-system emacs-build-system)
9147 (home-page "https://github.com/istib/rainbow-blocks")
9148 (synopsis "Highlight sexp blocks")
9149 (description "Rainbow-blocks is an Emacs mode that highlights blocks
9150made of parentheses, brackets, and braces according to their depth. Each
9151successive level is highlighted in a different color. This makes it easy to
9152orient yourself in the code, and tell which statements are at a given level.")
9153 (license license:gpl3+))))
9154
9155(define-public emacs-hierarchy
9156 (package
9157 (name "emacs-hierarchy")
9158 (version "0.7.0")
9159 (source
9160 (origin
9161 (method url-fetch)
9162 (uri (string-append
9163 "https://github.com/DamienCassou/hierarchy/archive/"
9164 "v" version ".tar.gz"))
9165 (file-name (string-append name "-" version ".tar.gz"))
9166 (sha256
9167 (base32
9168 "1a463v5zk6zis2p8cs4mads3iyxh266yahi6j6y0paggfl2yhkc8"))))
9169 (build-system emacs-build-system)
9170 (home-page "https://github.com/DamienCassou/hierarchy")
9171 (synopsis "Library to create and display hierarchy structures")
9172 (description "This package provides an Emacs library to create, query,
9173navigate and display hierarchy structures.")
9174 (license license:gpl3+)))
9175
9176(define-public emacs-tree-mode
9177 (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534")
9178 (revision "1"))
9179 (package
9180 (name "emacs-tree-mode")
9181 (version (string-append "0.0.1" "-" revision "."
9182 (string-take commit 7)))
9183 (source
9184 (origin
9185 (method git-fetch)
9186 (uri (git-reference
9187 (url "https://github.com/emacsorphanage/tree-mode.git")
9188 (commit commit)))
9189 (file-name (string-append name "-" version "-checkout"))
9190 (sha256
9191 (base32
9192 "13bbdhdmqg4x9yghanhr8fsbsxbnypzxdxgicz31sjjm675kpnix"))))
9193 (build-system emacs-build-system)
9194 (home-page "https://github.com/emacsorphanage/tree-mode")
9195 (synopsis "Emacs mode to manage tree widgets")
9196 (description
9197 "This package provides an Emacs library to manage tree widgets.")
9198 (license license:gpl3+))))
9199
9200(define-public emacs-md4rd
9201 (let ((commit "c55512c2f7680db2a1e73db6bdf93adecaf40fec")
9202 (revision "1"))
9203 (package
9204 (name "emacs-md4rd")
9205 (version (string-append "0.0.2" "-" revision "."
9206 (string-take commit 7)))
9207 (source (origin
9208 (method git-fetch)
9209 (uri (git-reference
9210 (url "https://github.com/ahungry/md4rd.git")
9211 (commit commit)))
9212 (file-name (string-append name "-" version "-checkout"))
9213 (sha256
9214 (base32
9215 "0mvv1mvsrpkrmikcpfqf2zbawnzgq33j6zjdrlv48mcw57xb2ak9"))))
9216 (propagated-inputs
9217 `(("emacs-hierarchy" ,emacs-hierarchy)
9218 ("emacs-request" ,emacs-request)
9219 ("emacs-dash" ,emacs-dash)
9220 ("emacs-s" ,emacs-s)
9221 ("emacs-tree-mode" ,emacs-tree-mode)))
9222 (build-system emacs-build-system)
9223 (home-page "https://github.com/ahungry/md4rd")
9224 (synopsis "Emacs Mode for Reddit")
9225 (description
9226 "This package allows to read Reddit from within Emacs interactively.")
9227 (license license:gpl3+))))
9228
9229(define-public emacs-pulseaudio-control
e83d46f0
PN
9230 (let ((commit "7e1a87068379075a5e9ce36c64c686c03d20d379")
9231 (revision "3"))
eeb883cb
RW
9232 (package
9233 (name "emacs-pulseaudio-control")
9234 (version (git-version "0.0.1" revision commit))
9235 (source
9236 (origin
9237 (method git-fetch)
9238 (uri (git-reference
9239 (url "https://github.com/flexibeast/pulseaudio-control.git")
9240 (commit commit)))
9241 (file-name (git-file-name name version))
9242 (sha256
9243 (base32
e83d46f0 9244 "0wcaqyh15x56255rrj350089z15pnwixa2vf0ly6dv0hjmzmh3mr"))))
eeb883cb
RW
9245 (build-system emacs-build-system)
9246 (arguments
9247 '(#:phases (modify-phases %standard-phases
9248 (add-after 'unpack 'patch-file-name
9249 (lambda* (#:key inputs #:allow-other-keys)
9250 (let ((pulseaudio (assoc-ref inputs "pulseaudio")))
9251 (chmod "pulseaudio-control.el" #o600)
9252 (emacs-substitute-variables "pulseaudio-control.el"
9253 ("pulseaudio-control-pactl-path"
9254 (string-append pulseaudio "/bin/pactl")))
9255 #t))))))
9256 (inputs `(("pulseaudio" ,pulseaudio)))
9257 (home-page "https://github.com/flexibeast/pulseaudio-control")
9258 (synopsis "Control @code{pulseaudio} from Emacs")
9259 (description
9260 "This package allows to control @code{pulseaudio} from Emacs.")
9261 (license license:gpl3+))))
9262
9263(define-public emacs-datetime
9264 (package
9265 (name "emacs-datetime")
9266 (version "0.3")
9267 (source (origin
9268 (method url-fetch)
9269 (uri (string-append
9270 "https://github.com/doublep/datetime/archive/"
9271 version ".tar.gz"))
9272 (file-name (string-append name "-" version ".tar.gz"))
9273 (sha256
9274 (base32
9275 "12wqpj67rjij2ki7nmw38rz3k2bsq68pk6zswknlcn9qhp1zd9w9"))))
9276 (build-system emacs-build-system)
9277 (home-page "https://github.com/doublep/datetime/")
9278 (synopsis "Library to work with dates in Emacs")
9279 (description "Parsing, formatting, matching and recoding
9280timestamps and date-time format strings library for Emacs.")
9281 (license license:gpl3+)))
9282
9283(define-public emacs-org-mind-map
9284 (let ((commit "9d6e262bedd94daf9de269f4d56de277275677cb")
9285 (revision "1"))
9286 (package
9287 (name "emacs-org-mind-map")
9288 (version (string-append "0.0.1" "-" revision "."
9289 (string-take commit 7)))
9290 (source
9291 (origin
9292 (method git-fetch)
9293 (uri (git-reference
9294 (url "https://github.com/theodorewiles/org-mind-map.git")
9295 (commit commit)))
9296 (file-name (string-append name "-" version "-checkout"))
9297 (sha256
9298 (base32
9299 "0jgkkgq7g64zckrmjib0hvz0qy3ynz5vz13qbmlpf096l3bb65wn"))))
9300 (propagated-inputs
9301 `(("emacs-dash" ,emacs-dash)))
9302 (build-system emacs-build-system)
9303 (home-page "https://github.com/theodorewiles/org-mind-map")
9304 (synopsis "Create Graphviz directed graphs from Org files")
9305 (description
9306 "This package creates Graphviz directed graphs from Org files.")
9307 (license license:gpl3+))))
9308
9309(define-public emacs-npm-mode
9310 (package
9311 (name "emacs-npm-mode")
9312 (version "0.6.0")
9313 (source
9314 (origin
9315 (method url-fetch)
9316 (uri (string-append "https://github.com/mojochao/npm-mode/archive/"
9317 version ".tar.gz"))
9318 (file-name (string-append name "-" version ".tar.gz"))
9319 (sha256
9320 (base32
9321 "1kq1ww22dwf8c2i2b4z2ldbbmnihj65kb7n5vzvwkch9h4hxpqh5"))))
9322 (build-system emacs-build-system)
9323 (home-page "https://github.com/mojochao/npm-mode")
9324 (synopsis "Minor mode for working with @code{npm} projects")
9325 (description
9326 "@code{npm-mode} provides a minor mode to work with @code{npm} projects.")
9327 (license license:gpl3+)))
9328
9329(define-public emacs-seq
9330 (package
9331 (name "emacs-seq")
9332 (version "2.20")
9333 (source
9334 (origin
9335 (method url-fetch)
9336 (uri (string-append "http://elpa.gnu.org/packages/seq-" version ".tar"))
9337 (sha256
9338 (base32
9339 "0vrpx6nnyjb0gsypknzagimlhvcvi5y1rcdkpxyqr42415zr8d0n"))))
9340 (build-system emacs-build-system)
9341 (home-page "http://elpa.gnu.org/packages/seq.html")
9342 (synopsis "Sequence manipulation functions")
9343 (description "Sequence-manipulation functions that complement basic
9344functions provided by @file{subr.el}.")
9345 (license license:gpl3+)))
9346
9347(define-public emacs-itail
9348 (let ((commit "6e43c20da03be3b9c6ece93b7dc3495975ec1888")
9349 (revision "1"))
9350 (package
9351 (name "emacs-itail")
9352 (version (string-append "0.0.1" "-" revision "."
9353 (string-take commit 7)))
9354 (source
9355 (origin
9356 (method git-fetch)
9357 (uri (git-reference
9358 (url "https://github.com/re5et/itail.git")
9359 (commit commit)))
9360 (file-name (string-append name "-" version "-checkout"))
9361 (sha256
9362 (base32
9363 "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv"))))
9364 (build-system emacs-build-system)
9365 (home-page "https://github.com/re5et/itail")
9366 (synopsis "Interactive @code{tail} Emacs mode")
9367 (description "@code{itail} provides interactive @code{tail} mode
9368that allows you to filter the tail with unix pipes and highlight the
9369contents of the tailed file. Works locally or on remote files using
9370tramp.")
9371 (license license:gpl3+))))
9372
9373(define-public emacs-loop
9374 (package
9375 (name "emacs-loop")
9376 (version "1.3")
9377 (source
9378 (origin
9379 (method url-fetch)
9380 (uri (string-append "https://github.com/Wilfred/loop.el/archive/"
9381 version ".tar.gz"))
9382 (file-name (string-append name "-" version ".tar.gz"))
9383 (sha256
9384 (base32
9385 "1z3rhh3zyjabz36410yz0lp4a0qwwj0387as662wvx3z9y54jia9"))))
9386 (build-system emacs-build-system)
9387 (home-page "https://github.com/Wilfred/loop.el")
9388 (synopsis "Imperative loop structures for Emacs")
9389 (description "Loop structures familiar to users of other languages. This
9390library adds a selection of popular loop structures as well as break and
9391continue.")
9392 (license license:gpl3+)))
9393
9394(define-public emacs-elisp-refs
9395 (package
9396 (name "emacs-elisp-refs")
9397 (version "1.3")
9398 (source
9399 (origin
9400 (method url-fetch)
9401 (uri (string-append "https://github.com/Wilfred/elisp-refs/archive/"
9402 version ".tar.gz"))
9403 (file-name (string-append name "-" version ".tar.gz"))
9404 (sha256
9405 (base32
9406 "02nzcn3v14n7mp7q32j5r4wdlpsw3zixzh6cf0cdyarfir6dly3p"))))
9407 (build-system emacs-build-system)
9408 (propagated-inputs
9409 `(("emacs-dash" ,emacs-dash)
9410 ("emacs-f" ,emacs-f)
9411 ("emacs-list-utils" ,emacs-list-utils)
9412 ("emacs-loop" ,emacs-loop)
9413 ("emacs-s" ,emacs-s)
9414 ("emacs-shut-up" ,emacs-shut-up)))
9415 (home-page "https://github.com/Wilfred/elisp-refs")
9416 (synopsis "Find callers of elisp functions or macros")
9417 (description "Find references to functions, macros or variables. Unlike a
9418dumb text search, @code{elisp-refs} actually parses the code, so it's never
9419confused by comments or @code{foo-bar} matching @code{foo}.")
9420 (license license:gpl3+)))
9421
9422(define-public emacs-crux
9423 (let ((commit "4f5c8fefd5a6aa52e128c4a0401cc86410d6ac8f")
9424 (revision "1"))
9425 (package
9426 (name "emacs-crux")
9427 (version (string-append "0.3.0" "-" revision "."
9428 (string-take commit 7)))
9429 (source
9430 (origin
9431 (method git-fetch)
9432 (uri (git-reference
9433 (url "https://github.com/bbatsov/crux.git")
9434 (commit commit)))
9435 (file-name (string-append name "-" version "-checkout"))
9436 (sha256
9437 (base32
9438 "1fdxvv25cs01sg6fmvmzxpzvs50i6v8n2jya60lbavxqqhi0sbxd"))))
9439 (build-system emacs-build-system)
9440 (home-page "https://github.com/bbatsov/crux")
9441 (synopsis "Collection of useful functions for Emacs")
9442 (description
9443 "@code{crux} provides a collection of useful functions for Emacs.")
9444 (license license:gpl3+))))
9445
9446(define-public emacs-edit-server
9447 (package
9448 (name "emacs-edit-server")
9449 (version "1.13")
9450 (source
9451 (origin
9452 (method url-fetch)
9453 (uri (string-append "https://github.com/stsquad/emacs_chrome/archive/"
9454 "v" version ".tar.gz"))
9455 (file-name (string-append name "-" version ".tar.gz"))
9456 (sha256
9457 (base32
9458 "1r92kqggslqasza718z4ka883mqfbnibdm43f0j9gaipk0msm2wf"))))
9459 (build-system emacs-build-system)
9460 (arguments
9461 `(#:phases
9462 (modify-phases %standard-phases
9463 (add-after 'unpack 'chdir-elisp
9464 ;; Elisp directory is not in root of the source.
9465 (lambda _
9466 (chdir "servers"))))))
9467 (home-page "https://github.com/stsquad/emacs_chrome")
9468 (synopsis "Server that responds to edit requests from Chromium")
9469 (description
9470 "This package provides an edit server to respond to requests from Emacs.")
9471 (license license:gpl3+)))
9472
9473(define-public emacs-m-buffer-el
9474 (package
9475 (name "emacs-m-buffer-el")
9476 (version "0.15")
9477 (source
9478 (origin
9479 (method url-fetch)
9480 (uri (string-append "https://github.com/phillord/m-buffer-el"
9481 "/archive/" "v" version ".tar.gz"))
9482 (file-name (string-append name "-" version ".tar.gz"))
9483 (sha256
9484 (base32
9485 "17vdcc8q37q9db98jyww1c0ivinmwfcw4l04zccfacalra63a214"))))
9486 (arguments
9487 `(#:phases
9488 (modify-phases %standard-phases
9489 (add-before 'install 'check
9490 (lambda* (#:key inputs #:allow-other-keys)
9491 (invoke "emacs" "--batch" "-L" "."
9492 "-l" "test/m-buffer-test.el"
9493 "-l" "test/m-buffer-at-test.el"
9494 "-f" "ert-run-tests-batch-and-exit"))))))
9495 (build-system emacs-build-system)
9496 (home-page "https://github.com/phillord/m-buffer-el")
9497 (synopsis "List oriented buffer operations for Emacs")
9498 (description "@code{m-buffer} provides a set of list-orientated functions
9499for operating over the contents of Emacs buffers.")
9500 (license license:gpl3+)))
9501
9502(define-public emacs-let-alist
9503 (package
9504 (name "emacs-let-alist")
9505 (version "1.0.5")
9506 (source
9507 (origin
9508 (method url-fetch)
9509 (uri (string-append
9510 "https://elpa.gnu.org/packages/let-alist-" version ".el"))
9511 (sha256
9512 (base32
9513 "0r7b9jni50la1m79kklml11syg8d2fmdlr83pv005sv1wh02jszw"))))
9514 (build-system emacs-build-system)
9515 (home-page "https://elpa.gnu.org/packages/let-alist.html")
9516 (synopsis "Easily let-bind values of an assoc-list by their names")
9517 (description "This package offers a single macro, @code{let-alist}. This
9518macro takes a first argument (whose value must be an alist) and a body.")
9519 (license license:gpl3+)))
9520
9521(define-public emacs-esup
9522 (let ((commit "a589005a9a888537deef94d6fe38a9b8790c97c7")
9523 (revision "1"))
9524 (package
9525 (name "emacs-esup")
9526 (version (string-append "0.6" "-" revision "."
9527 (string-take commit 7)))
9528 (source
9529 (origin
9530 (method git-fetch)
9531 (uri (git-reference
9532 (url "https://github.com/jschaf/esup.git")
9533 (commit commit)))
9534 (file-name (string-append name "-" version "-checkout"))
9535 (sha256
9536 (base32
9537 "04lxmd0h7mfjjl0qghrycgff0vcv950j1wqv0dbkr61jxp64n5fv"))))
9538 ;; TODO: Add tests
9539 (build-system emacs-build-system)
9540 (home-page "https://github.com/jschaf/esup")
9541 (synopsis "Emacs start up profiler")
9542 (description "Benchmark Emacs Startup time without ever leaving
9543your Emacs.")
9544 (license license:gpl2+))))
9545
9546(define-public emacs-sourcemap
9547 (package
9548 (name "emacs-sourcemap")
9549 (version "0.03")
9550 (source
9551 (origin
9552 (method url-fetch)
9553 (uri (string-append "https://github.com/syohex/emacs-sourcemap/archive/"
9554 version ".tar.gz"))
9555 (file-name (string-append name "-" version ".tar.gz"))
9556 (sha256
9557 (base32
9558 "0bmd5l3cx2iyl7vxn84xdhs80b07kpdpfwki28lh5d0kmm5qs6m6"))))
9559 (build-system emacs-build-system)
9560 (home-page "https://github.com/syohex/emacs-sourcemap")
9561 (synopsis "Sourcemap parser")
9562 (description "Sourcemap parser")
9563 (license license:gpl3+)))
9564
9565(define-public emacs-macrostep
9566 (let ((commit "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267"))
9567 (package
9568 (name "emacs-macrostep")
9569 (version (git-version "0.9" "1" commit))
9570 (source (origin
9571 (method git-fetch)
9572 (uri (git-reference
9573 (url "https://github.com/joddie/macrostep.git")
9574 (commit commit)))
9575 (file-name (string-append name "-" version "-checkout"))
9576 (sha256
9577 (base32
9578 "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"))))
9579 (build-system emacs-build-system)
9580 (arguments
9581 '(#:phases
9582 (modify-phases %standard-phases
9583 (add-before 'check 'remove-test
9584 ;; Fails because of requirement ‘/bin/sh’.
9585 (lambda _
9586 (let ((file "macrostep-test.el"))
9587 (chmod file #o644)
9588 (emacs-batch-edit-file file
9589 `(progn (progn (goto-char (point-min))
9590 (re-search-forward
9591 "(ert-deftest macrostep-expand-c-macros")
9592 (beginning-of-line)
9593 (kill-sexp))
9594 (basic-save-buffer))))))
9595 (add-before 'install 'check
9596 (lambda _
9597 (invoke "emacs" "--batch" "-L" "."
9598 "-l" "macrostep-test.el"
9599 "-f" "ert-run-tests-batch-and-exit"))))))
9600 (home-page "https://github.com/joddie/macrostep")
9601 (synopsis "Interactive macro-expander for Emacs")
9602 (description "@code{macrostep} is an Emacs minor mode for interactively
9603stepping through the expansion of macros in Emacs Lisp source code. It lets
9604you see exactly what happens at each step of the expansion process by
9605pretty-printing the expanded forms inline in the source buffer, which is
9606temporarily read-only while macro expansions are visible. You can expand and
9607collapse macro forms one step at a time, and evaluate or instrument the
9608expansions for debugging with Edebug as normal (but see “Bugs and known
9609limitations”, below). Single-stepping through the expansion is particularly
9610useful for debugging macros that expand into another macro form. These can be
9611difficult to debug with Emacs’ built-in macroexpand, which continues expansion
9612until the top-level form is no longer a macro call.")
9613 (license license:gpl3+))))
9614
9615(define-public emacs-parent-mode
9616 (package
9617 (name "emacs-parent-mode")
9618 (version "2.3")
9619 (source
9620 (origin
9621 (method url-fetch)
9622 (uri (string-append "https://github.com/Fanael/parent-mode/archive/"
9623 version ".tar.gz"))
9624 (file-name (string-append name "-" version ".tar.gz"))
9625 (sha256
9626 (base32
9627 "0gxbl5s1w96v6v55b7aaansgw4sxhzfx9nrsvpk3pfhsibs6yqjd"))))
9628 (build-system emacs-build-system)
9629 (home-page "https://github.com/Fanael/parent-mode")
9630 (synopsis "Get major mode's parent modes")
9631 (description "Get major mode's parent modes")
9632 (license license:gpl3+)))
9633
9634(define-public emacs-lacarte
9635 (package
9636 (name "emacs-lacarte")
9637 (version "0.1")
9638 (source (origin
9639 (method url-fetch)
9640 (uri "https://www.emacswiki.org/emacs/download/lacarte.el")
9641 (sha256
9642 (base32
9643 "1sbmk37ljq5j7dsw5c37sbxvlfgdqswh7bi4dknyjzfxlq50f4am"))))
9644 (build-system emacs-build-system)
9645 (home-page "https://www.emacswiki.org/emacs/lacarte.el")
9646 (synopsis "Execute menu items as commands, with completion")
9647 (description "Execute menu items as commands, with completion.")
9648 (license license:gpl3)))
9649
48211de6 9650(define-public emacs-isearch-prop
9651 (let ((commit "5e9dc44cf582d998aaa73ccd4d07cbda01248156")
9652 (revision "1"))
9653 (package
9654 (name "emacs-isearch-prop")
9655 (version (git-version "0" revision commit))
9656 (source
9657 (origin
9658 (method git-fetch)
9659 (uri (git-reference
9660 (url "https://github.com/emacsmirror/isearch-prop.git")
9661 (commit commit)))
9662 (file-name (git-file-name name version))
9663 (sha256
9664 (base32
9665 "1xawppy705ybsgx566zvj8zk2aajq0sqvhvfs7nijqq32lx0a2zl"))))
9666 (build-system emacs-build-system)
9667 (home-page "https://www.emacswiki.org/emacs/isearch-prop.el")
9668 (synopsis "Extensions to @code{isearch.el}")
9669 (description "The Emacs library @code{isearch-prop.el} lets you search within
9670 contexts. You can limit incremental search to a set of zones of
9671 buffer text, search contexts that in effect constitute a multi-region.
9672 These zones can be defined in various ways, including some ways
9673 provided specially by this library.")
9674 (license license:gpl3+))))
9675
eeb883cb
RW
9676(define-public emacs-company-lua
9677 (let ((commit "0be8122f3adf57ad27953bf4b03545d6298d3da4"))
9678 (package
9679 (name "emacs-company-lua")
9680 (version (git-version "0.1" "1" commit))
9681 (source
9682 (origin
9683 (method git-fetch)
9684 (uri (git-reference
9685 (url "https://github.com/ptrv/company-lua.git")
9686 (commit commit)))
9687 (file-name (git-file-name name version))
9688 (sha256
9689 (base32
9690 "1d9i165apgmwns7b2fd5wcpjpkah3dyj20v5sb8ynvz6qhhr5r9c"))))
9691 (build-system emacs-build-system)
9692 (propagated-inputs
9693 `(("emacs-company" ,emacs-company)
9694 ("emacs-s" ,emacs-s)
9695 ("emacs-f" ,emacs-f)
9696 ("emacs-lua-mode" ,emacs-lua-mode)))
9697 (home-page "https://github.com/ptrv/company-lua")
9698 (synopsis "Company backend for Lua")
9699 (description
9700 "This package provides Company backend for Lua programming language.")
9701 (license license:gpl3+))))
9702
9703(define-public emacs-beginend
9704 (package
9705 (name "emacs-beginend")
9706 (version "2.0.0")
9707 (source
9708 (origin
9709 (method url-fetch)
9710 (uri (string-append "https://github.com/DamienCassou/beginend/archive/"
9711 "v" version ".tar.gz"))
9712 (file-name (string-append name "-" version ".tar.gz"))
9713 (sha256
9714 (base32
9715 "0z4rbwffh9vxfvcrlvym4p73z7gf72q0b5iv33llbpcpbijknnrq"))))
9716 ;; TODO: Run tests.
9717 (build-system emacs-build-system)
9718 (inputs
9719 `(("emacs-undercover" ,emacs-undercover))) ; For tests.
9720 (home-page "https://github.com/DamienCassou/beginend")
9721 (synopsis "Redefine @code{M-<} and @code{M->} for Emacs modes")
9722 (description "@code{beginend} redefines @code{M-<} and @code{M->}
9723keybindings for Emacs modes so that point moves to meaningful
9724locations. Redefined keys are still accessible by pressing the same
9725key again.")
9726 (license license:gpl3+)))
9727
9728(define-public emacs-mbsync
9729 (let ((commit "42077e83ae2db778ce0f8e22f8357b40355526b3")
9730 (revision "1"))
9731 (package
9732 (name "emacs-mbsync")
9733 (version (string-append "0.0.1" "-" revision "."
9734 (string-take commit 7)))
9735 (source
9736 (origin
9737 (method git-fetch)
9738 (uri (git-reference
9739 (url "https://github.com/dimitri/mbsync-el.git")
9740 (commit commit)))
9741 (file-name (string-append name "-" version "-checkout"))
9742 (sha256
9743 (base32
9744 "0yj93y2mpxlir8x73znlg1slxlv4blm1vjv5h2w3j8lxg8bxvmn6"))))
9745 (build-system emacs-build-system)
9746 (home-page "https://github.com/dimitri/mbsync-el")
9747 (synopsis "Interface to mbsync for Emacs")
9748 (description "This package allows to call the @code{mbsync} from
9749within Emacs.")
9750 (license license:gpl3+))))
9751
9752(define-public emacs-ibuffer-projectile
9753 (let ((commit "c18ac540ee46cb759fc5df18747f6e8d23563011")
9754 (revision "1"))
9755 (package
9756 (name "emacs-ibuffer-projectile")
9757 (version (string-append "0.2" "-" revision "."
9758 (string-take commit 7)))
9759 (source
9760 (origin
9761 (method git-fetch)
9762 (uri (git-reference
9763 (url "https://github.com/purcell/ibuffer-projectile.git")
9764 (commit commit)))
9765 (file-name (string-append name "-" version "-checkout"))
9766 (sha256
9767 (base32
9768 "1nd26cwwdpnwj0g4w393rd59klpyr6wqrnyr6scmwb5d06bsm44n"))))
9769 (build-system emacs-build-system)
9770 (propagated-inputs
9771 `(("emacs-projectile" ,emacs-projectile)))
9772 (home-page "https://github.com/purcell/ibuffer-projectile")
9773 (synopsis "Group ibuffer's list by projectile root")
9774 (description "Adds functionality to Emacs @code{ibuffer} for
9775grouping buffers by their projectile root directory.")
9776 (license license:gpl3+))))
9777
9778(define-public emacs-helm-mode-manager
9779 (package
9780 (name "emacs-helm-mode-manager")
9781 (version "1.0.0")
9782 (source
9783 (origin
9784 (method url-fetch)
9785 (uri (string-append "https://github.com/istib/helm-mode-manager/"
9786 "archive/" version ".tar.gz"))
9787 (file-name (string-append name "-" version ".tar.gz"))
9788 (sha256
9789 (base32
9790 "0wllj321z16hgrx0ddwzk5wz4mnnx5am7w5nclqclfc5dfdn92wm"))))
9791 (build-system emacs-build-system)
9792 (propagated-inputs
9793 `(("emacs-helm" ,emacs-helm)))
9794 (home-page "https://github.com/istib/helm-mode-manager/")
9795 (synopsis "Switch and toggle Emacs major and minor modes using Helm")
9796 (description "This package provides a Helm interface for toggling Emacs
9797major or minor mode.
9798
9799@itemize
9800@item @code{helm-switch-major-mode} list of all major modes
9801@item @code{helm-enable-minor-mode} list of all inactive minor modes
9802@item @code{helm-disable-minor-mode} list of all ACTIVE minor modes
9803@end itemize\n
9804
9805Hitting @code{RET} enables the mode, @code{C-z} shows the mode
9806documentation.")
9807 (license license:gpl3+)))
9808
9809(define-public emacs-hy-mode
9810 (package
9811 (name "emacs-hy-mode")
9812 (version "1.0.3")
9813 (source
9814 (origin
9815 (method url-fetch)
9816 (uri (string-append "https://github.com/hylang/hy-mode/archive/"
9817 "v" version ".tar.gz"))
9818 (file-name (string-append name "-" version ".tar.gz"))
9819 (sha256
9820 (base32
9821 "0b4pvbr2hf77bq2vsyfsv653q0dab7qzq85wc7kdziw7687jdf2z"))))
9822 (build-system emacs-build-system)
9823 (propagated-inputs
9824 `(("emacs-dash" ,emacs-dash)
9825 ("emacs-s" ,emacs-s)))
9826 (home-page "https://github.com/hylang/hy-mode")
9827 (synopsis "Major mode for Hylang")
9828 (description "This package provides a major mode for Hylang.")
9829 (license license:gpl3+)))
9830
9831(define-public emacs-web-beautify
9832 (package
9833 (name "emacs-web-beautify")
9834 (version "0.3.2")
9835 (source
9836 (origin
9837 (method url-fetch)
9838 (uri (string-append "https://github.com/yasuyk/web-beautify/archive/"
9839 version ".tar.gz"))
9840 (file-name (string-append name "-" version ".tar.gz"))
9841 (sha256
9842 (base32
9843 "1j57hwid74id4swkx2g0iljfawx0k9c7qjrwqc0mv657x9p78hcs"))))
9844 (build-system emacs-build-system)
9845 (home-page "https://github.com/yasuyk/web-beautify")
9846 (synopsis "Format HTML, CSS and JavaScript, JSON")
9847 (description "This package provides an Emacs functions to format HTML,
9848CSS, JavaScript, JSON.")
9849 (license license:gpl3+)))
9850
9851(define-public emacs-helm-shell-history
9852 (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1"))
9853 (package
9854 (name "emacs-helm-shell-history")
9855 (version (git-version "0.1" "1" commit))
9856 (source
9857 (origin
9858 (method git-fetch)
9859 (uri (git-reference
9860 (url "https://github.com/yuutayamada/helm-shell-history.git")
9861 (commit commit)))
9862 (file-name (git-file-name name version))
9863 (sha256
9864 (base32
9865 "18fkjcz69g4dyaxhf9j8svr5x6dhsdnglddwisis8hdn504scpfj"))))
9866 (build-system emacs-build-system)
9867 (arguments
9868 '(#:phases
9869 (modify-phases %standard-phases
9870 (add-before 'check 'patch-helm-shell-history-file
9871 (lambda _
9872 (let ((file "helm-shell-history.el"))
9873 (chmod file #o644)
9874 (emacs-substitute-sexps file
9875 ("(defvar helm-shell-history-file"
9876 `(expand-file-name "~/.bash_history"))))
9877 #t)))))
9878 (propagated-inputs
9879 `(("emacs-helm" ,emacs-helm)))
9880 (home-page "https://github.com/yuutayamada/helm-shell-history")
9881 (synopsis "Find shell history with Emacs Helm")
9882 (description "This package provides an Emacs Helm interface to search
9883throw a shell history.")
9884 (license license:gpl3+))))
9885
9886(define-public emacs-discover-my-major
9887 (package
9888 (name "emacs-discover-my-major")
9889 (version "1.0")
9890 (source
9891 (origin
9892 (method url-fetch)
9893 (uri
9894 (string-append "https://github.com/steckerhalter/discover-my-major"
9895 "/archive/" version ".tar.gz"))
9896 (file-name (string-append name "-" version ".tar.gz"))
9897 (sha256
9898 (base32
9899 "0nah41f92rrl2l405kpqr6iaks11jyclgl4z7ilfymbr4ifmsiyl"))))
9900 (build-system emacs-build-system)
9901 (propagated-inputs
9902 `(("emacs-makey" ,emacs-makey)))
9903 (home-page "https://github.com/steckerhalter/discover-my-major")
9904 (synopsis "Discover key bindings for the current Emacs major mode")
9905 (description "This package provides allows to discover key bindings and
9906their meaning for the current Emacs major-mode.")
9907 (license license:gpl3+)))
9908
9909(define-public emacs-org-ref
9910 (let ((commit "8c9b5d7efb9f0c1ad5186b8203bdd017f4249129")
9911 (revision "1"))
9912 (package
9913 (name "emacs-org-ref")
9914 (version (string-append "1.1.1" "-" revision "."
9915 (string-take commit 7)))
9916 (source
9917 (origin
9918 (method git-fetch)
9919 (uri (git-reference
9920 (url "https://github.com/jkitchin/org-ref.git")
9921 (commit commit)))
9922 (file-name (string-append name "-" version "-checkout"))
9923 (sha256
9924 (base32
9925 "1rxz0bjdsayk0slv23i07d9xhj2m7s4hsc81wc2d1cs52dkr5zmz"))))
9926 (build-system emacs-build-system)
9927 (propagated-inputs
9928 `(("emacs-dash" ,emacs-dash)
9929 ("emacs-helm" ,emacs-helm)
9930 ("emacs-helm-bibtex" ,emacs-helm-bibtex)
9931 ("emacs-ivy" ,emacs-ivy)
9932 ("emacs-hydra" ,emacs-hydra)
9933 ("emacs-key-chord" ,emacs-key-chord)
9934 ("emacs-s" ,emacs-s)
9935 ("emacs-f" ,emacs-f)
9936 ("emacs-pdf-tools" ,emacs-pdf-tools)))
9937 (home-page "https://github.com/jkitchin/org-ref")
9938 (synopsis "Citations, cross-references and bibliographies in org-mode")
9939 (description
9940 "Lisp code to setup bibliography, cite, ref and label org-mode links.
9941Also sets up reftex and helm for org-mode citations. The links are
9942clickable and do things that are useful.
9943
9944The default setup uses helm-bibtex.
9945
9946You should really read org-ref.org in this package for details.")
9947 (license license:gpl3+))))
9948
9949(define-public emacs-org-reveal
9950 (package
9951 (name "emacs-org-reveal")
9952 ;; There are no proper tag, so we use the latest commit of the stable
9953 ;; branch, as does MELPA.
9954 (version "20161027.926")
9955 (source (origin
9956 (method git-fetch)
9957 (uri (git-reference
9958 (url "https://github.com/yjwen/org-reveal.git")
9959 (commit "001567cc12d50ba07612edd1718b86a12e8c2547")))
9960 (file-name (string-append name "-" version "-checkout"))
9961 (sha256
9962 (base32
9963 "18rma8smjrskbjyna076zhvx79zs5r5vinb537h8mw13pfxd6cm8"))))
9964 (build-system emacs-build-system)
9965 (home-page "https://github.com/yjwen/org-reveal")
9966 (synopsis "Org and Reveal.js powered HTML presentation tool")
9967 (description "Org-Reveal is a command@{org-mode} extension that allows to
9968create beautiful presentations (slides) with 3D effects from simple but
9969powerful Org contents.")
9970 (license license:gpl3+)))
9971
9972(define-public emacs-add-hooks
9973 (package
9974 (name "emacs-add-hooks")
9975 (version "3.1.1")
9976 (source (origin
9977 (method url-fetch)
9978 (uri (string-append
9979 "https://github.com/nickmccurdy/add-hooks/archive/"
9980 version ".tar.gz"))
9981 (file-name (string-append name "-" version ".tar.gz"))
9982 (sha256
9983 (base32
9984 "03a28gb3298g7pc2qji9hi44p4d99ljp5mpi9cmg42ldv8fl6549"))))
9985 (build-system emacs-build-system)
9986 (home-page "https://github.com/nickmccurdy/add-hooks/")
9987 (synopsis "Emacs function for setting multiple hooks")
9988 (description "This package provides a @code{add-hooks} function tidies up
9989duplicate hook and function names further into a single declarative call.")
9990 (license license:gpl3+)))
9991
9992(define-public emacs-fancy-narrow
9993 (package
9994 (name "emacs-fancy-narrow")
9995 (version "0.9.5")
9996 (source
9997 (origin
9998 (method url-fetch)
9999 (uri (string-append "https://github.com/Malabarba/fancy-narrow/archive/"
10000 version ".tar.gz"))
10001 (file-name (string-append name "-" version ".tar.gz"))
10002 (sha256
10003 (base32
10004 "0rf2rnzg82pdqch041yyx3f9ddixffkk9s2ydzg8hwy66sg3385n"))))
10005 (build-system emacs-build-system)
10006 (home-page "https://github.com/Malabarba/fancy-narrow/releases")
10007 (synopsis "Imitate @code{narrow-to-region} with more eye candy")
10008 (description
10009 "Unlike @code{narrow-to-region}, which completely hides text outside
10010the narrowed region, this package simply de-emphasizes the text, makes it
10011read-only, and makes it unreachable. This leads to a much more natural
10012feeling where the region stays static (instead of being brutally moved to a
10013blank slate) and is clearly highlighted with respect to the rest of the
10014buffer.")
10015 (license license:gpl2+)))
10016
10017(define-public emacs-know-your-http-well
10018 (package
10019 (name "emacs-know-your-http-well")
10020 (version "0.5.0")
10021 (source
10022 (origin
10023 (method url-fetch)
10024 (uri (string-append
10025 "https://github.com/for-GET/know-your-http-well/archive/"
10026 "v" version ".tar.gz"))
10027 (file-name (string-append name "-" version ".tar.gz"))
10028 (sha256
10029 (base32
10030 "1y3kwz88awcgwaivlswq0q4g2i02762r23lpwg61bfqy5lrjjqnj"))))
10031 (arguments
10032 `(#:phases
10033 (modify-phases %standard-phases
10034 (add-after 'unpack 'install-json-files
10035 (lambda* (#:key outputs #:allow-other-keys)
10036 (for-each (lambda (directory)
10037 (copy-recursively directory
10038 (string-append
10039 (assoc-ref outputs "out")
10040 directory)))
10041 '("js" "json"))))
10042 (add-after 'unpack 'chdir-elisp
10043 ;; Elisp directory is not in root of the source.
10044 (lambda _
10045 (chdir "emacs"))))))
10046 (build-system emacs-build-system)
10047 (home-page "https://github.com/for-GET/know-your-http-well")
10048 (synopsis "Meaning of HTTP headers codes")
10049 (description "Meaning of HTTP headers codes.")
10050 (license license:gpl3+)))
10051
10052(define-public emacs-navi-mode
10053 (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674"))
10054 (package
10055 (name "emacs-navi-mode")
10056 (version (git-version "2.0" "1" commit))
10057 (source
10058 (origin
10059 (method git-fetch)
10060 (uri (git-reference
10061 (url "https://github.com/alphapapa/navi.git")
10062 (commit commit)))
10063 (file-name (git-file-name name version))
10064 (sha256
10065 (base32
10066 "0jj5spk14hgb7zb1cd2n8whcw4k1kd5zb6llwj96v178yaws7l8k"))))
10067 (build-system emacs-build-system)
10068 (propagated-inputs
10069 `(("emacs-outshine" ,emacs-outshine)
10070 ("emacs-outorg" ,emacs-outorg)))
10071 (home-page "https://github.com/alphapapa/navi")
10072 (synopsis "Emacs major-mode for easy buffer-navigation")
10073 (description
10074 "This package provides an Emacs major-mode for easy buffer-navigation")
10075 (license license:gpl3+))))
10076
10077(define-public emacs-download-region
10078 (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa")
10079 (revision "1"))
10080 (package
10081 (name "emacs-download-region")
10082 (version (string-append "0.0.1" "-" revision "."
10083 (string-take commit 7)))
10084 (source
10085 (origin
10086 (method git-fetch)
10087 (uri (git-reference
10088 (url "https://github.com/zk-phi/download-region.git")
10089 (commit commit)))
10090 (file-name (string-append name "-" version "-checkout"))
10091 (sha256
10092 (base32
10093 "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc"))))
10094 (build-system emacs-build-system)
10095 (home-page "https://github.com/zk-phi/download-region")
10096 (synopsis "In buffer download manager for Emacs")
10097 (description "@code{download-region} provides in buffer
10098downloading manager for Emacs.")
10099 (license license:gpl3+))))
10100
10101(define-public emacs-helpful
10102 (package
10103 (name "emacs-helpful")
10104 (version "0.15")
10105 (source (origin
10106 (method url-fetch)
10107 (uri (string-append
10108 "https://github.com/Wilfred/helpful/archive/"
10109 version ".tar.gz"))
10110 (file-name (string-append name "-" version ".tar.gz"))
10111 (sha256
10112 (base32
10113 "1xmvhphzb4hbg647dz4lafy6hd19b7bk3lxni6irqrzdsrclhzn6"))))
10114 (build-system emacs-build-system)
10115 (propagated-inputs
10116 `(("emacs-elisp-refs" ,emacs-elisp-refs)))
10117 (home-page "https://github.com/Wilfred/helpful")
10118 (synopsis "More contextual information in Emacs help")
10119 (description "@code{helpful} is an alternative to the built-in Emacs help
10120that provides much more contextual information.
10121
10122@itemize
10123@item Show the source code for interactively defined functions (unlike the
10124built-in Help).
10125@item Fall back to the raw sexp if no source is available.
10126@item Show where a function is being called.
10127@item Docstrings will Highlight the summary (the first sentence), include
10128cross-references, hide superfluous puncuation.
10129@item Show you the properties that have been applied to the current
10130symbol. This provides visibility of features like edebug or byte-code
10131optimisation.
10132@item Provide a separate @code{helpful-command} function to view interactive
10133functions.
10134@item Display any keybindings that apply to interactive functions.
10135@item Trace, disassemble functions from inside Helpful. This is discoverable
10136and doesn't require memorisation of commands.
10137@end itemize\n")
10138 (license license:gpl3+)))
10139
10140(define-public emacs-logview
10141 (package
10142 (name "emacs-logview")
10143 (version "0.9")
10144 (source (origin
10145 (method url-fetch)
10146 (uri (string-append
10147 "https://github.com/doublep/logview/archive/"
10148 version ".tar.gz"))
10149 (file-name (string-append name "-" version ".tar.gz"))
10150 (sha256
10151 (base32
10152 "1vd11ppm46ldqsiwhqgw91p34gbjh1y82r9mxcn9r2gj65nvhxcp"))))
10153 (propagated-inputs
10154 `(("emacs-datetime" ,emacs-datetime)))
10155 (build-system emacs-build-system)
10156 (home-page "https://github.com/doublep/logview/")
10157 (synopsis "Emacs mode for viewing log files")
10158 (description "@code{logview} provides an Emacs mode to view log files.")
10159 (license license:gpl3+)))
10160
10161(define-public emacs-suggest
10162 (package
10163 (name "emacs-suggest")
b6180f93
PN
10164 (version "0.7")
10165 (home-page "https://github.com/Wilfred/suggest.el")
eeb883cb
RW
10166 (source
10167 (origin
b6180f93
PN
10168 (method git-fetch)
10169 (uri (git-reference
10170 (url home-page)
10171 (commit version)))
10172 (file-name (git-file-name name version))
eeb883cb
RW
10173 (sha256
10174 (base32
b6180f93 10175 "01v8plska5d3g19sb1m4ph1i3ayprfzk8mi6mpabjy6zad397xjl"))))
eeb883cb
RW
10176 (build-system emacs-build-system)
10177 (propagated-inputs
10178 `(("emacs-loop" ,emacs-loop)
10179 ("emacs-dash" ,emacs-dash)
10180 ("emacs-s" ,emacs-s)
b6180f93
PN
10181 ("emacs-f" ,emacs-f)
10182 ("emacs-spinner" ,emacs-spinner)
10183 ("emacs-shut-up" ,emacs-shut-up)))
eeb883cb
RW
10184 (synopsis "Suggest Elisp functions that give the output requested")
10185 (description "Suggest.el will find functions that give the output
10186requested. It's a great way of exploring list, string and arithmetic
10187functions.")
10188 (license license:gpl3+)))
10189
10190(define-public emacs-benchmark-init
10191 (package
10192 (name "emacs-benchmark-init")
10193 (version "1.0")
10194 (source (origin
10195 (method url-fetch)
10196 (uri (string-append
10197 "https://github.com/dholm/benchmark-init-el/archive/"
10198 version ".tar.gz"))
10199 (file-name (string-append name "-" version ".tar.gz"))
10200 (sha256
10201 (base32
10202 "0szyqr4nncwz4vd5gww1vz31kf9r2lx25p4d0d09pm35974x53kz"))))
10203 (build-system emacs-build-system)
10204 (home-page "https://github.com/dholm/benchmark-init-el")
10205 (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
10206 (description "@code{benchmark-init} provides a way to keep track of where
10207time is being spent during Emacs startup in order to optimize startup time.")
10208 (license license:gpl3+)))
10209
10210(define-public emacs-emms-player-simple-mpv
10211 ;; A new mpv backend is included in Emms from 5.0.
10212 (deprecated-package "emacs-emms-player-simple-mpv" emacs-emms))
10213
f0caf760
MC
10214(define-public emacs-magit-gerrit
10215 (let ((version "0.3")
10216 (revision "1")
10217 (commit "ece6f369694aca17f3ac166ed2801b432acfe20d"))
10218 (package
10219 (name "emacs-magit-gerrit")
10220 (version (git-version version revision commit))
10221 (source (origin
10222 (method git-fetch)
10223 (uri (git-reference
10224 (url "https://github.com/terranpro/magit-gerrit.git")
10225 (commit commit)))
10226 (file-name (git-file-name name version))
10227 (sha256
10228 (base32
10229 "0mms0gxv9a3ns8lk5k2wjibm3088y1cmpr3axjdh6ppv7r5wdvii"))))
10230 (build-system emacs-build-system)
10231 (propagated-inputs
10232 `(("emacs-magit" ,emacs-magit)))
10233 (home-page "https://github.com/terranpro/magit-gerrit")
10234 (synopsis "Magit extension for Gerrit")
10235 (description "This Magit extension provides integration with Gerrit,
10236which makes it possible to conduct Gerrit code reviews directly from within
10237Emacs.")
10238 (license license:gpl3+))))
10239
eeb883cb
RW
10240(define-public emacs-magit-org-todos-el
10241 (let ((commit "df206287737b9671f2e36ae7b1474ebbe9940d2a"))
10242 (package
10243 (name "emacs-magit-org-todos-el")
10244 (version (git-version "0.1.1" "1" commit))
10245 (source
10246 (origin
10247 (method git-fetch)
10248 (uri (git-reference
10249 (url "https://github.com/danielma/magit-org-todos.el.git")
10250 (commit commit)))
10251 (file-name (git-file-name name version))
10252 (sha256
10253 (base32
10254 "0kdp7k7jnnrkhsg0xh1c3h7iz0vgi120gf5xwl1hxy61avivnxrn"))))
10255 (propagated-inputs
10256 `(("magit" ,emacs-magit)))
10257 (build-system emacs-build-system)
10258 (home-page "https://github.com/danielma/magit-org-todos.el")
10259 (synopsis "Get todo.org into Emacs Magit status")
10260 (description "This package allows you to get @file{todo.org} into your
10261magit status.
10262
10263If you have a @file{todo.org} file with @code{TODO} items in the root of your
10264repository, @code{magit-org-todos} will create a section in your Magit status
10265buffer with each of your todos.")
10266 (license license:gpl3+))))
10267
10268(define-public emacs-f3
10269 (package
10270 (name "emacs-f3")
10271 (version "0.1")
10272 (source
10273 (origin
10274 (method url-fetch)
10275 (uri (string-append "https://github.com/cosmicexplorer/f3/archive/"
10276 version ".tar.gz"))
10277 (file-name (string-append name "-" version ".tar.gz"))
10278 (sha256
10279 (base32
10280 "06b8i1jvklm5k3k90n65f197l1miq1xlxqkqpbppw4h3rhl4y98h"))))
10281 (build-system emacs-build-system)
10282 (propagated-inputs
10283 `(("emacs-helm" ,emacs-helm)))
10284 (home-page "https://github.com/cosmicexplorer/f3")
10285 (synopsis "Fantastic File Finder for Emacs")
10286 (description
10287 "The Fantastic File Finder for Emacs. Find files fast, using helm.")
10288 (license license:gpl3+)))
10289
10290(define-public emacs-lice-el
10291 (let ((commit "4339929927c62bd636f89bb39ea999d18d269250"))
10292 (package
10293 (name "emacs-lice-el")
10294 (version (git-version "0.2" "1" commit))
10295 (source (origin
10296 (method git-fetch)
10297 (uri (git-reference
10298 (url "https://github.com/buzztaiki/lice-el.git")
10299 (commit commit)))
10300 (file-name (git-file-name name version))
10301 (sha256
10302 (base32
10303 "0879z761b7gajkhq176ps745xpdrivch349crransv8fnsc759yb"))))
10304 (build-system emacs-build-system)
10305 (home-page "https://github.com/buzztaiki/lice-el")
10306 (synopsis "License and header template for Emacs")
10307 (description "@code{lice.el} provides following features:
10308
10309@itemize
10310@item License template management.
10311@item File header insertion.
10312@end itemize\n")
10313 (license license:gpl3+))))
10314
10315(define-public emacs-academic-phrases
10316 (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656"))
10317 (package
10318 (name "emacs-academic-phrases")
10319 (version (git-version "0.1" "1" commit))
10320 (source
10321 (origin
10322 (method git-fetch)
10323 (uri (git-reference
10324 (url "https://github.com/nashamri/academic-phrases.git")
10325 (commit commit)))
10326 (file-name (string-append name "-" version "-checkout"))
10327 (sha256
10328 (base32
10329 "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r"))))
10330 (build-system emacs-build-system)
10331 (propagated-inputs
10332 `(("emacs-dash" ,emacs-dash)
10333 ("emacs-s" ,emacs-s)
10334 ("emacs-ht" ,emacs-ht)))
10335 (home-page "https://github.com/nashamri/academic-phrases")
10336 (synopsis "Bypass that mental block when writing your papers")
10337 (description
10338 "When writing your academic paper, you might get stuck trying to find
10339the right phrase that captures your intention. This package tries to
10340alleviate that problem by presenting you with a list of phrases organized by
10341the topic or by the paper section that you are writing. This package has
10342around 600 phrases so far.
10343
10344Using this package is easy, just call @code{academic-phrases} to get a list of
10345phrases organized by topic, or call @code{academic-phrases-by-section} to
10346browse the phrases by the paper section and fill-in the blanks if required.")
10347 (license license:gpl3+))))
10348
10349(define-public emacs-auto-yasnippet
10350 (let ((commit "d1ccfea87312c6dd8cf8501ab5b71b1d3d44d95b"))
10351 (package
10352 (name "emacs-auto-yasnippet")
10353 (version (git-version "0.3.0" "1" commit))
10354 (source (origin
10355 (method git-fetch)
10356 (uri (git-reference
10357 (url "https://github.com/abo-abo/auto-yasnippet.git")
10358 (commit commit)))
10359 (file-name (string-append name "-" version "-checkout"))
10360 (sha256
10361 (base32
10362 "1i8k2qiyzd5rq0zplk4xb5nfa5mp0ibxbzwqj6c7877waq7244xk"))))
10363 (build-system emacs-build-system)
10364 (arguments
10365 '(#:phases
10366 (modify-phases %standard-phases
10367 (add-before 'install 'check
10368 (lambda _
10369 (invoke "emacs" "--batch"
10370 "-l" "auto-yasnippet.el"
10371 "-l" "auto-yasnippet-test.el"
10372 "-f" "ert-run-tests-batch-and-exit"))))))
10373 (propagated-inputs
10374 `(("emacs-yasnippet" ,emacs-yasnippet)))
10375 (home-page "https://github.com/abo-abo/auto-yasnippet/")
10376 (synopsis "Quickly create disposable yasnippets")
10377 (description "This package provides a hybrid of keyboard macros and
10378yasnippet. You create the snippet on the go, usually to be used just in the
10379one place. It's fast, because you're not leaving the current buffer, and all
10380you do is enter the code you'd enter anyway, just placing ~ where you'd like
10381yasnippet fields and mirrors to be.")
10382 (license license:gpl3+))))
10383
10384(define-public emacs-highlight-numbers
10385 (package
10386 (name "emacs-highlight-numbers")
10387 (version "0.2.3")
10388 (source
10389 (origin
10390 (method url-fetch)
10391 (uri (string-append
10392 "https://github.com/Fanael/highlight-numbers/archive/"
10393 version ".tar.gz"))
10394 (file-name (string-append name "-" version ".tar.gz"))
10395 (sha256
10396 (base32
10397 "030v5p11d4n0581ncv499l1fqrmfziy756q6378x2bv22ixghqqp"))))
10398 (build-system emacs-build-system)
10399 (propagated-inputs
10400 `(("emacs-parent-mode" ,emacs-parent-mode)))
10401 (home-page "https://github.com/Fanael/highlight-numbers")
10402 (synopsis "Highlight numbers in source code")
10403 (description "@code{highlight-numbers-mode} provides a minor mode for
10404syntax highlighting of numeric literals in source code.
10405
10406It s customizable: it's easy to add or redefine what exactly consitutes a
10407\"number\" in given major mode. See @code{highlight-numbers-modelist}.")
10408 (license license:gpl3+)))
10409
10410(define-public emacs-darkroom
10411 (package
10412 (name "emacs-darkroom")
10413 (version "0.1")
10414 (source (origin
10415 (method url-fetch)
10416 (uri (string-append "https://elpa.gnu.org/packages/darkroom-"
10417 version ".el"))
10418 (sha256
10419 (base32
10420 "0fif8fm1h7x7g16949shfnaik5f5488clsvkf8bi5izpqp3vi6ak"))))
10421 (build-system emacs-build-system)
10422 (home-page "https://elpa.gnu.org/packages/darkroom.html")
10423 (synopsis "Remove visual distractions and focus on writing")
10424 (description "@code{darkroom-mode} makes visual distractions disappear.
10425The mode-line is temporarily elided, text is enlarged and margins are adjusted
10426so that it's centered on the window.
10427
10428@code{darkroom-tentative-mode} is similar, but it doesn't immediately turn-on
10429@code{darkroom-mode}, unless the current buffer lives in the sole window of
10430the Emacs frame (i.e. all other windows are deleted). Whenever the frame is
10431split to display more windows and more buffers, the buffer exits
10432@code{darkroom-mode}. Whenever they are deleted, the buffer re-enters
10433@code{darkroom-mode}.")
10434 (license license:gpl3+)))
10435
10436(define-public emacs-rsw-elisp
10437 (package
10438 (name "emacs-rsw-elisp")
10439 (version "1.0.5")
10440 (source (origin
10441 (method url-fetch)
10442 (uri (string-append "https://github.com/rswgnu/rsw-elisp"
10443 "/archive/" version ".tar.gz"))
10444 (file-name (string-append name "-" version ".tar.gz"))
10445 (sha256
10446 (base32
10447 "1jnn7xfwl3wxc87v44ccsf1wwp80par3xgcvfb1icd6zchjmlcps"))))
10448 (build-system emacs-build-system)
10449 (home-page "https://github.com/rswgnu/rsw-elisp")
10450 (synopsis "Improved expressions that interactively evaluate Emacs Lisp")
10451 (description "This package improves and replaces the GNU Emacs commands
10452that interactively evaluate Emacs Lisp expressions. The new commands replace
10453standard key bindings and are all prefixed with @code{rsw-elisp-}. They work
10454the same way as the old commands when called non-interactively; only the
10455interactive behavior should be different.")
10456 (license license:gpl3+)))
10457
10458(define-public emacs-default-text-scale
10459 (let ((commit "968e985e219235f3e744d6d967e592acbaf6e0a8")
10460 (revision "1"))
10461 (package
10462 (name "emacs-default-text-scale")
10463 (version (string-append "0.1" "-" revision "."
10464 (string-take commit 7)))
10465 (source (origin
10466 (method git-fetch)
10467 (uri (git-reference
10468 (url "https://github.com/purcell/default-text-scale")
10469 (commit commit)))
10470 (file-name (string-append name "-" version "-checkout"))
10471 (sha256
10472 (base32
10473 "0zds01c3q5yny6ab1fxfkzzgn1kgl3q23lxxap905f4qd70v922h"))))
10474 (build-system emacs-build-system)
10475 (home-page "https://github.com/purcell/default-text-scale")
10476 (synopsis "Adjust the font size in all Emacs frames")
10477 (description "This package provides commands for increasing or
10478decreasing the default font size in all GUI Emacs frames.")
10479 (license license:gpl3+))))
10480
10481(define-public emacs-visual-regexp
10482 (package
10483 (name "emacs-visual-regexp")
10484 (version "1.1.1")
10485 (source
10486 (origin
10487 (method url-fetch)
10488 (uri (string-append "https://github.com/benma/visual-regexp.el/archive/"
10489 "v" version ".tar.gz"))
10490 (file-name (string-append name "-" version ".tar.gz"))
10491 (sha256
10492 (base32
10493 "1czmhvcivlcdyz7rfm0vd4a3xsgmy4qbvbl6yjxc217wrxqflr92"))))
10494 (build-system emacs-build-system)
10495 (home-page "https://github.com/benma/visual-regexp.el/")
10496 (synopsis "Regexp command with interactive visual feedback")
10497 (description "This package provides an Emacs regexp command with
10498interactive visual feedback.")
10499 (license license:gpl3+)))
10500
10501(define-public emacs-faceup
10502 (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154")
10503 (revision "1"))
10504 (package
10505 (name "emacs-faceup")
10506 (version (string-append "0.0.1" "-" revision "."
10507 (string-take commit 7)))
10508 (source
10509 (origin
10510 (method git-fetch)
10511 (uri (git-reference
10512 (url "https://github.com/Lindydancer/faceup.git")
10513 (commit commit)))
10514 (file-name (string-append name "-" version "-checkout"))
10515 (sha256
10516 (base32
10517 "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx"))))
10518 (build-system emacs-build-system)
10519 (home-page "https://github.com/Lindydancer/faceup")
10520 (synopsis "Markup language for faces and font-lock regression testing")
10521 (description "Emacs is capable of highlighting buffers based on
10522language-specific @code{font-lock} rules. This package makes it possible to
10523perform regression test for packages that provide font-lock rules.")
10524 (license license:gpl3+))))
10525
10526(define-public emacs-racket-mode
10527 (let ((commit "b977873e6128f8399432dcd60cc39f6a6f803d9c")
10528 (revision "2"))
10529 (package
10530 (name "emacs-racket-mode")
10531 (version (string-append "0.0.2" "-" revision "."
10532 (string-take commit 7)))
10533 (source
10534 (origin
10535 (method git-fetch)
10536 (uri (git-reference
10537 (url "https://github.com/greghendershott/racket-mode")
10538 (commit commit)))
10539 (file-name (string-append name "-" version "-checkout"))
10540 (sha256
10541 (base32
10542 "0vp4bbbplqvmnhjpl6ajrlydmrhqzil56cfbs18m5c5fddx0zlh7"))))
10543 (build-system emacs-build-system)
10544 (arguments
10545 `(#:include '("\\.el$" "\\.rkt$")))
10546 (propagated-inputs
10547 `(("emacs-faceup" ,emacs-faceup)
10548 ("emacs-s" ,emacs-s)))
10549 (home-page "https://github.com/greghendershott/racket-mode")
10550 (synopsis "Major mode for Racket language")
10551 (description "@code{racket-mode} provides:
10552
10553@itemize
10554@item Focus on Racket (not various Schemes).
10555@item Follow DrRacket concepts where applicable.
10556@item Thorough font-lock and indent.
10557@end itemize\n")
10558 (license license:gpl3+))))
10559
10560(define-public emacs-grep-context
10561 (let ((commit "a17c57e66687a54e195e08afe776bdd60cb6c0a7"))
10562 (package
10563 (name "emacs-grep-context")
10564 (version (git-version "0.1" "1" commit))
10565 (source
10566 (origin
10567 (method git-fetch)
10568 (uri (git-reference
10569 (url "https://github.com/mkcms/grep-context.git")
10570 (commit commit)))
10571 (file-name (string-append name "-" version "-checkout"))
10572 (sha256
10573 (base32
10574 "1nqfa6kjzjshww4hnwg1c0vcr90bdjihy3kmixq3c3jkvxg99b62"))))
10575 (build-system emacs-build-system)
10576 (propagated-inputs
10577 `(("emacs-dash" ,emacs-dash)))
10578 (home-page "https://github.com/nashamri/academic-phrases")
10579 (synopsis "Increase context in compilation and grep buffers")
10580 (description
10581 "This package provides an Emacs package for more context in
10582compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag},
10583@code{ivy}.")
10584 (license license:gpl3+))))
10585
10586(define-public emacs-helm-firefox
10587 (let ((commit "0ad34b7b5abc485a86cae6920c14de861cbeb085")
10588 (revision "1"))
10589 (package
10590 (name "emacs-helm-firefox")
10591 (version (string-append "0.0.1" "-" revision "."
10592 (string-take commit 7)))
10593 (source
10594 (origin
10595 (method git-fetch)
10596 (uri (git-reference
10597 (url "https://github.com/emacs-helm/helm-firefox.git")
10598 (commit commit)))
10599 (file-name (string-append name "-" version "-checkout"))
10600 (sha256
10601 (base32
10602 "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs"))))
10603 (propagated-inputs
10604 `(("emacs-helm" ,emacs-helm)))
10605 (build-system emacs-build-system)
10606 (home-page "https://github.com/emacs-helm/helm-firefox")
10607 (synopsis "Display firefox bookmarks with Emacs Helm interface")
10608 (description "Display firefox bookmarks with Emacs Helm interface")
10609 (license license:gpl3+))))
10610
10611(define-public emacs-interactive-align
10612 (package
10613 (name "emacs-interactive-align")
10614 (version "0.1.0")
10615 (source
10616 (origin
10617 (method url-fetch)
10618 (uri (string-append "https://github.com/mkcms/interactive-align/"
10619 "archive/" "v" version ".tar.gz"))
10620 (file-name (string-append name "-" version ".tar.gz"))
10621 (sha256
10622 (base32
10623 "0sibpgb4lp6yy3pziak8f3hz4b28yj0dqy2nzh51z3d0b63h528m"))))
10624 (build-system emacs-build-system)
10625 (home-page "https://github.com/mkcms/interactive-align/")
10626 (synopsis "Interactive align-regexp command in Emacs")
10627 (description "Interactive align-regexp command in Emacs")
10628 (license license:gpl3+)))
10629
10630(define-public emacs-shift-number
10631 (package
10632 (name "emacs-shift-number")
10633 (version "0.1")
10634 (source
10635 (origin
10636 (method url-fetch)
10637 (uri (string-append "https://github.com/alezost/shift-number.el"
10638 "/archive/" "v" version ".tar.gz"))
10639 (file-name (string-append name "-" version ".tar.gz"))
10640 (sha256
10641 (base32
10642 "1g79m0hqn9jgpm565vvh8pdfzndc4vw7xisnh5qysj55qfg8cb1x"))))
10643 (build-system emacs-build-system)
10644 (home-page "https://github.com/alezost/shift-number.el")
10645 (synopsis "Increase or decrease the number at point")
10646 (description "@code{emacs-shift-number} provides commands
10647@code{shift-number-up} to increase and @code{shift-number-down} to
10648decrease the number at point.")
10649 (license license:gpl3+)))
10650
10651(define-public emacs-highlight-defined
10652 (package
10653 (name "emacs-highlight-defined")
10654 (version "0.1.5")
10655 (source
10656 (origin
10657 (method url-fetch)
10658 (uri (string-append
10659 "https://github.com/Fanael/highlight-defined/archive/"
10660 version ".tar.gz"))
10661 (file-name (string-append name "-" version ".tar.gz"))
10662 (sha256
10663 (base32
10664 "1ryd66989b5byqdw8jmjrjf0c78iiz72wibld750skcnj5h5h506"))))
10665 (build-system emacs-build-system)
10666 (home-page "https://github.com/Fanael/highlight-defined")
10667 (synopsis "Syntax highlighting of known Elisp symbols")
10668 (description "Minor mode providing syntax highlighting of known Emacs Lisp
10669symbols. Currently the code distinguishes Lisp functions, built-in functions,
10670macros, faces and variables. To enable call @code{highlight-defined-mode}. ")
10671 (license license:gpl3+)))
10672
10673(define-public emacs-parinfer-mode
10674 (package
10675 (name "emacs-parinfer-mode")
10676 (version "0.4.10")
10677 (source
10678 (origin
10679 (method url-fetch)
10680 (uri (string-append "https://github.com/DogLooksGood/parinfer-mode/archive/"
10681 "v" version ".tar.gz"))
10682 (file-name (string-append name "-" version ".tar.gz"))
10683 (sha256
10684 (base32
10685 "06ba9qi59sm9ih9m38fbr8kj4qkvrm58n0c0ngfjz60gnr9x9pcv"))))
10686 (propagated-inputs
10687 `(("emacs-dash" ,emacs-dash)
10688 ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters)
10689 ("emacs-company" ,emacs-company)))
10690 (build-system emacs-build-system)
10691 (home-page "https://github.com/DogLooksGood/parinfer-mode/")
10692 (synopsis "Lisp structure editing mode")
10693 (description "@code{parinfer-mode} is a proof-of-concept editor
10694mode for Lisp programming languages. It will infer some changes to
10695keep Parens and Indentation inline with one another.")
10696 (license license:gpl3+)))
10697
10698(define-public emacs-helm-eww
266c97cb
PN
10699 (package
10700 (name "emacs-helm-eww")
10701 (version "1.1")
10702 (source (origin
10703 (method git-fetch)
10704 (uri (git-reference
10705 (url "https://github.com/emacs-helm/helm-eww.git")
10706 (commit version)))
10707 (file-name (string-append name "-" version "-checkout"))
10708 (sha256
10709 (base32
10710 "0dvlp7y6kqc4azg5b7jx5lz2rwd0ia7y0y3hcj9y23zd88r73lg7"))))
10711 (propagated-inputs
10712 `(("emacs-helm" ,emacs-helm)))
10713 (build-system emacs-build-system)
10714 (home-page "https://github.com/emacs-helm/helm-eww/")
10715 (synopsis "Helm interface to EWW")
10716 (description "This package provides a Helm interface for EWW buffers,
eeb883cb 10717bookmarks and history.")
266c97cb 10718 (license license:gpl3+)))
eeb883cb
RW
10719
10720(define-public emacs-stumpwm-mode
10721 (let ((commit "8fbe071d2c6c040794060a354eb377218dc10b35")
10722 (revision "1"))
10723 (package
10724 (name "emacs-stumpwm-mode")
10725 (version (string-append "0.0.1-" revision "."
10726 (string-take commit 7)))
10727 (source (origin
10728 (method git-fetch)
10729 (uri (git-reference
10730 (url "https://github.com/stumpwm/stumpwm-contrib.git")
10731 (commit commit)))
10732 (file-name (string-append name "-" version "-checkout"))
10733 (sha256
10734 (base32
10735 "1dfwsvz1c8w6j4jp0kzaz78ml3f5dp0a5pvf090kwpbpg176r7iq"))))
10736 (build-system emacs-build-system)
10737 (arguments
10738 `(#:phases
10739 (modify-phases %standard-phases
10740 (add-after 'unpack 'chdir-elisp
10741 ;; Elisp directory is not in root of the source.
10742 (lambda _
10743 (chdir "util/swm-emacs"))))))
10744 (home-page "https://github.com/stumpwm/stumpwm-contrib")
10745 (synopsis "Emacs minor-mode for Stumpwm")
10746 (description "Emacs minor-mode for Stumpwm")
10747 (license license:gpl3+))))
10748
10749(define-public emacs-irfc
10750 (package
10751 (name "emacs-irfc")
10752 (version "20130824.507")
10753 (source
10754 (origin
10755 (method url-fetch)
10756 (uri "https://www.emacswiki.org/emacs/download/irfc.el")
10757 (file-name (string-append "irfc-" version ".el"))
10758 (sha256
10759 (base32
10760 "197ybqwbj8qjh2p9pkf5mvqnrkpcgmv8c5s2gvl6msyrabk0mnca"))))
10761 (build-system emacs-build-system)
10762 (home-page "https://www.emacswiki.org/emacs/download/irfc.el")
10763 (synopsis "Interface for IETF RFC document")
10764 (description
10765 "This package provides an Emacs interface for IETF RFC document.")
10766 (license license:gpl3+)))
10767
10768(define-public emacs-ido-vertical-mode
10769 (package
10770 (name "emacs-ido-vertical-mode")
10771 (version "0.1.6")
10772 (source
10773 (origin
10774 (method url-fetch)
10775 (uri (string-append
10776 "https://github.com/creichert/ido-vertical-mode.el/archive/"
10777 "v" version ".tar.gz"))
10778 (file-name (string-append name "-" version ".tar.gz"))
10779 (sha256
10780 (base32
10781 "0dprdxq8wvqd45dinwj92k0kixr07c8xvspa6i613mjcpxgwjg53"))))
10782 (build-system emacs-build-system)
10783 (home-page "https://github.com/creichert/ido-vertical-mode.el")
10784 (synopsis "Makes ido-mode display vertically")
10785 (description "Makes ido-mode display prospects vertically.")
10786 (license license:gpl3+)))
10787
10788(define-public emacs-wordgen
10789 (package
10790 (name "emacs-wordgen")
10791 (version "0.1.4")
10792 (source
10793 (origin
10794 (method url-fetch)
10795 (uri (string-append "https://github.com/Fanael/wordgen.el/archive/"
10796 version ".tar.gz"))
10797 (file-name (string-append name "-" version ".tar.gz"))
10798 (sha256
10799 (base32
10800 "1h2iyixdm49h53pwj9ics9gb9h3g6wa4hainpnjg6mfarf49jkmg"))))
10801 (build-system emacs-build-system)
10802 (home-page "https://github.com/Fanael/wordgen.el")
10803 (synopsis "Random word generator")
10804 (description "This package provides functions to generate random words
10805using user-provided rules.")
10806 (license license:gpl3+)))
10807
10808(define-public emacs-on-screen
10809 (package
10810 (name "emacs-on-screen")
10811 (version "1.3.2")
10812 (source
10813 (origin
10814 (method url-fetch)
10815 (uri (string-append
10816 "http://elpa.gnu.org/packages/on-screen-" version ".el"))
10817 (file-name (string-append name "-" version ".el"))
10818 (sha256
10819 (base32
10820 "15d18mjgv1pnwl6kf3pr5w64q1322p1l1qlfvnckglwmzy5sl2qv"))))
10821 (build-system emacs-build-system)
10822 (home-page
10823 "https://github.com/michael-heerdegen/on-screen.el")
10824 (synopsis "Guide your eyes while scrolling")
10825 (description
10826 "Scrolling can be distracting because your eyes may lose
10827orientation. This library implements a minor mode that highlights
10828the previously visible buffer part after each scroll.")
10829 (license license:gpl3+)))
10830
10831(define-public emacs-highlight-escape-sequences
10832 (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41")
10833 (revision "1"))
10834 (package
10835 (name "emacs-highlight-escape-sequences")
10836 (version (string-append "0.0.1" "-" revision "."
10837 (string-take commit 7)))
10838 (source
10839 (origin
10840 (method git-fetch)
10841 (uri (git-reference
10842 (url "https://github.com/dgutov/highlight-escape-sequences.git")
10843 (commit commit)))
10844 (file-name (string-append name "-" version "-checkout"))
10845 (sha256
10846 (base32
10847 "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is"))))
10848 (build-system emacs-build-system)
10849 (home-page "https://github.com/dgutov/highlight-escape-sequences")
10850 (synopsis "Highlight escape sequences in Emacs")
10851 (description "@code{highlight-escape-sequences} provides an
10852Emacs minor mode to escape sequences in code.")
10853 (license license:gpl3+))))
10854
10855(define-public emacs-dashboard
10856 (package
10857 (name "emacs-dashboard")
10858 (version "1.2.4")
10859 (source
10860 (origin
10861 (method url-fetch)
10862 (uri (string-append
10863 "https://github.com/rakanalh/emacs-dashboard/archive/"
10864 version ".tar.gz"))
10865 (file-name (string-append name "-" version ".tar.gz"))
10866 (sha256
10867 (base32
10868 "1738lmbgq6gk24hcwic0qjyajr21l5xzhya4pv58dw1bhd6vxv9g"))))
10869 (build-system emacs-build-system)
10870 (propagated-inputs
10871 `(("emacs-page-break-lines" ,emacs-page-break-lines)))
10872 (arguments '(#:include '("\\.el$" "\\.txt$" "\\.png$")))
10873 (home-page "https://github.com/rakanalh/emacs-dashboard")
10874 (synopsis "Startup screen extracted from Spacemacs")
10875 (description "This package provides an extensible Emacs dashboard, with
10876sections for bookmarks, projectil projects, org-agenda and more. ")
10877 (license license:gpl3+)))
10878
10879(define-public emacs-slime-company
10880 (package
10881 (name "emacs-slime-company")
10882 (version "1.1")
10883 (source
10884 (origin
10885 (method url-fetch)
10886 (uri (string-append "https://github.com/anwyn/slime-company/archive/"
10887 "v" version ".tar.gz"))
10888 (sha256
10889 (base32
10890 "1myl79pxj501xfr5qc5a24qddsn2l5iaamg7rf7fpny7mr9v70ar"))
10891 (file-name (string-append name "-" version ".tar.gz"))))
10892 (build-system emacs-build-system)
10893 (propagated-inputs
10894 `(("emacs-slime" ,emacs-slime)
10895 ("emacs-company" ,emacs-company)))
10896 (home-page "https://company-mode.github.io")
10897 (synopsis "SLIME completion backend for @code{company-mode}")
10898 (description
10899 "This is a backend implementation for the completion package
10900@code{company-mode} which supports the normal and the fuzzy completion
10901modes of SLIME.")
10902 (license license:gpl3+)))
10903
10904(define-public emacs-sml-mode
10905 (package
10906 (name "emacs-sml-mode")
10907 (version "6.8")
10908 (source
10909 (origin
10910 (method url-fetch)
10911 (uri (string-append "http://elpa.gnu.org/packages/sml-mode-"
10912 version ".el"))
10913 (sha256
10914 (base32
10915 "105fcrz5qp95f2n3fdm3awr6z58sbrjihjss6qnrg4lz2ggbc328"))))
10916 (build-system emacs-build-system)
10917 (home-page "http://elpa.gnu.org/packages/sml-mode.html")
10918 (synopsis "Major mode for editing (Standard) ML")
10919 (description "SML-MODE is a major Emacs mode for editing Standard ML.
10920It provides syntax highlighting and automatic indentation and
10921comes with sml-proc which allows interaction with an inferior SML
10922interactive loop.")
10923 (license license:gpl3+)))
10924
10925(define-public emacs-eros
10926 (let ((commit "a42e45c9b2397156c684330b0fc90ee0eba773f5")
10927 (revision "1"))
10928 (package
10929 (name "emacs-eros")
10930 (version (string-append "0.0.1" "-" revision "."
10931 (string-take commit 7)))
10932 (source
10933 (origin
10934 (method git-fetch)
10935 (uri (git-reference
10936 (url "https://github.com/xiongtx/eros.git")
10937 (commit commit)))
10938 (file-name (string-append name "-" version "-checkout"))
10939 (sha256
10940 (base32
10941 "0whlsq90v13fz69k3wjrwcwb9gkpfxqjd75mg3nrp85j9nwhb5i4"))))
10942 (build-system emacs-build-system)
10943 (home-page "https://github.com/xiongtx/eros")
10944 (synopsis "Evaluation result overlays")
10945 (description "@code{eros} provides evaluation result overlays.")
10946 (license license:gpl3+))))
10947
10948(define-public emacs-stickyfunc-enhance
10949 (let ((commit "13bdba51fcd83ccbc3267959d23afc94d458dcb0")
10950 (revision "1"))
10951 (package
10952 (name "emacs-stickyfunc-enhance")
10953 (version "0.1")
10954 (source
10955 (origin
10956 (method git-fetch)
10957 (uri (git-reference
10958 (url "https://github.com/tuhdo/semantic-stickyfunc-enhance.git")
10959 (commit commit)))
10960 (file-name (string-append name "-" version "-checkout"))
10961 (sha256
10962 (base32
10963 "16dxjsr5nj20blww4xpd4jzgjprzzh1nwvb810ggdmp9paf4iy0g"))))
10964 (build-system emacs-build-system)
10965 (home-page "https://github.com/tuhdo/semantic-stickyfunc-enhance")
10966 (synopsis "Enhancement to stock @code{semantic-stickyfunc-mode}")
10967 (description
10968 "@code{semantic-stickyfunc-mode} shows the function point is currently
10969in at the first line of the current buffer. This is useful when you have a
10970very long function that spreads more than a screen, and you don't have to
10971scroll up to read the function name and then scroll down to original position.")
10972 (license license:gpl3+))))
10973
10974(define-public emacs-git-auto-commit-mode
10975 (package
10976 (name "emacs-git-auto-commit-mode")
10977 (version "4.4.0")
10978 (source
10979 (origin
10980 (method url-fetch)
10981 (uri (string-append
10982 "https://github.com/ryuslash/git-auto-commit-mode/archive/"
10983 version ".tar.gz"))
10984 (file-name (string-append name "-" version ".tar.gz"))
10985 (sha256
10986 (base32
10987 "04avxmalsl3b7zi2vipfw9rb4wrwysnipsbch96skviql9axk870"))))
10988 (build-system emacs-build-system)
10989 (home-page "https://github.com/ryuslash/git-auto-commit-mode")
10990 (synopsis "Emacs Minor mode to automatically commit and push")
10991 (description "@code{git-auto-commit-mode} is an Emacs minor mode that
10992tries to commit changes to a file after every save.
10993
10994When @code{gac-automatically-push-p} is non-nil, it also tries to push to
10995the current upstream.")
10996 (license license:gpl3+)))
10997
10998(define-public emacs-company-restclient
10999 (package
11000 (name "emacs-company-restclient")
11001 (version "0.1.0")
11002 (source
11003 (origin
11004 (method url-fetch)
11005 (uri (string-append
11006 "https://github.com/iquiw/company-restclient/archive/"
11007 "v" version ".tar.gz"))
11008 (file-name (string-append name "-" version ".tar.gz"))
11009 (sha256
11010 (base32
11011 "1kr3f0wgqlk7r171bvb2kinv7fanwj2md01wdpx04qkgwcr1as00"))))
11012 (build-system emacs-build-system)
11013 (propagated-inputs
11014 `(("emacs-company" ,emacs-company)
11015 ("emacs-know-your-http-well" ,emacs-know-your-http-well)
11016 ("emacs-restclient" ,emacs-restclient)))
11017 (home-page "https://github.com/iquiw/company-restclient")
11018 (synopsis "Company-mode completion back-end for restclient-mode")
11019 (description "@code{company-mode} back-end for
11020@code{restclient-mode}.
11021
11022It provides auto-completion for HTTP methods and headers in
11023@code{restclient-mode}. Completion source is given by
11024@code{know-your-http-well}.")
11025 (license license:gpl3+)))
11026
11027(define-public emacs-noflet
11028 (let ((version "20170629")
11029 (revision "1")
11030 (commit "7ae84dc3257637af7334101456dafe1759c6b68a"))
11031 (package
11032 (name "emacs-noflet")
11033 (version (git-version version revision commit))
11034 (source
11035 (origin
11036 (method git-fetch)
11037 (uri (git-reference
11038 (url "https://github.com/nicferrier/emacs-noflet")
11039 (commit commit)))
11040 (file-name (string-append name "-" version "-checkout"))
11041 (sha256
11042 (base32
11043 "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf"))))
11044 (build-system emacs-build-system)
11045 (arguments
11046 `(#:phases
11047 (modify-phases %standard-phases
11048 (add-after 'unpack 'require-dash
11049 ;; noflet.el uses -map from dash, but (require 'dash) is
11050 ;; missing. So, add it.
11051 (lambda _
11052 (substitute* "noflet.el"
11053 ((";;; Code:") ";;; Code:\n(require 'dash)"))
11054 #t)))))
11055 (propagated-inputs
11056 `(("emacs-dash" ,emacs-dash)))
11057 (home-page "https://github.com/nicferrier/emacs-noflet")
11058 (synopsis "Locally override functions")
11059 (description "@code{emacs-noflet} let's you locally override functions,
11060in the manner of @command{flet}, but with access to the original function
11061through the symbol: @command{this-fn}.")
11062 (license license:gpl3+))))
11063
11064(define-public emacs-dumb-jump
11065 (package
11066 (name "emacs-dumb-jump")
11067 (version "0.5.2")
11068 (source
11069 (origin
11070 (method url-fetch)
11071 (uri (string-append
11072 "https://github.com/jacktasia/dumb-jump/archive/v"
11073 version ".tar.gz"))
11074 (file-name (string-append name "-" version ".tar.gz"))
11075 (sha256
11076 (base32
11077 "07n0xjgpxjpf3vp9gxchkjpydyj0zm166930as0kwiwkhjlsirsf"))))
11078 (build-system emacs-build-system)
11079 (arguments
11080 `(#:tests? #f ; FIXME: Tests freeze when run.
11081 #:test-command '("ert-runner")
11082 #:phases
11083 (modify-phases %standard-phases
11084 (add-after 'unpack 'set-shell
11085 (lambda _
11086 ;; Setting the SHELL environment variable is required for the
11087 ;; tests to find sh.
11088 (setenv "SHELL" (which "sh"))
11089 #t)))))
11090 (native-inputs
11091 `(("emacs-el-mock" ,emacs-el-mock)
11092 ("emacs-noflet" ,emacs-noflet)
11093 ("emacs-undercover" ,emacs-undercover)
11094 ("ert-runner" ,emacs-ert-runner)))
11095 (propagated-inputs
11096 `(("emacs-f" ,emacs-f)
11097 ("emacs-popup" ,emacs-popup)))
11098 (home-page "https://github.com/jacktasia/dumb-jump")
11099 (synopsis "Jump to definition for multiple languages without configuration")
11100 (description "Dumb Jump is an Emacs \"jump to definition\" package with
11101support for multiple programming languages that favors \"just working\" over
11102speed or accuracy. This means minimal --- and ideally zero --- configuration
11103with absolutely no stored indexes (tags) or persistent background processes.
11104Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep
11105@command{rg} installed.")
11106 (license license:gpl3+)))
11107
11108(define-public emacs-dts-mode
11109 (let ((commit "9ee0854446dcc6c53d2b8d2941051768dba50344")
11110 (revision "1"))
11111 (package
11112 (name "emacs-dts-mode")
11113 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
11114 (source
11115 (origin
11116 (method git-fetch)
11117 (uri (git-reference
11118 (url "https://github.com/bgamari/dts-mode.git")
11119 (commit commit)))
11120 (file-name (string-append name "-" version "-checkout"))
11121 (sha256
11122 (base32
11123 "1k8lljdbc90nd29xrhdrsscxavzdq532wq2mg7ljc94krj7538b1"))))
11124 (build-system emacs-build-system)
11125 (home-page "https://github.com/bgamari/dts-mode.git")
11126 (synopsis "Emacs minor mode for editing device tree files")
11127 (description
11128 "This package provides an Emacs minor mode for highlighting
11129device tree files.")
11130 (license license:gpl3+))))
11131
11132(define-public emacs-daemons
11133 (package
11134 (name "emacs-daemons")
11135 (version "2.0.0")
11136 (source
11137 (origin
11138 (method git-fetch)
11139 (uri (git-reference
11140 (url "https://github.com/cbowdon/daemons.el")
11141 (commit version)))
11142 (file-name (string-append name "-" version "-checkout"))
11143 (sha256
11144 (base32
11145 "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"))))
11146 (build-system emacs-build-system)
11147 (home-page "https://github.com/cbowdon/daemons.el")
11148 (synopsis "Emacs UI for managing init system services")
11149 (description
11150 "This is an Emacs mode to give you a UI for managing init system
11151daemons (services) for those getting tired of typing out @code{sudo service
11152my_thing reload} all the time. It offers a consistent UI over different init
11153systems.")
11154 (license license:gpl3+)))
11155
d2f555f5
BL
11156(define-public emacs-isearch+
11157 (let ((commit "95e49af9dbf0254e095a11f115e101b52659520a")
11158 (revision "1"))
11159 (package
11160 (name "emacs-isearch+")
11161 (version (git-version "0" revision commit))
11162 (source
11163 (origin
11164 (method git-fetch)
11165 (uri (git-reference
11166 (url "https://github.com/emacsmirror/isearch-plus.git")
11167 (commit commit)))
11168 (file-name (git-file-name name version))
11169 (sha256
11170 (base32
11171 "0xhd9zgknf4lvzyf4apirpd7spb1hbpzkvys00a7pkmd0vvahk0v"))))
11172 (build-system emacs-build-system)
11173 (home-page "https://www.emacswiki.org/emacs/isearch+.el")
11174 (synopsis "Extensions to @code{isearch.el}")
11175 (description "This package extends @code{isearch} with advice, dynamic
11176filters, highlighting of regexp group levels, and more.")
11177 (license license:gpl2+))))
11178
94a33ab8
BL
11179(define-public emacs-eshell-bookmark
11180 (package
11181 (name "emacs-eshell-bookmark")
11182 (version "2.0.0")
11183 (source
11184 (origin
11185 (method git-fetch)
11186 (uri (git-reference
11187 (url "https://github.com/Fuco1/eshell-bookmark")
11188 (commit version)))
11189 (file-name (git-file-name name version))
11190 (sha256
11191 (base32
11192 "14dmsnixf9vqdhsixw693sml0fn80zcf0b37z049fb40cmppqxdw"))))
11193 (build-system emacs-build-system)
11194 (home-page "https://github.com/Fuco1/eshell-bookmark")
11195 (synopsis "Provide @file{bookmark.el} integration for @code{eshell}")
11196 (description
11197 "This package allows for bookmarking @code{eshell} buffers. Upon
11198visiting the bookmark, a new @code{eshell} session will be opened in the
11199appropriate directory if no @code{eshell} session is active.")
11200 (license license:gpl3+)))
11201
eeb883cb
RW
11202(define-public emacs-esh-autosuggest
11203 (package
11204 (name "emacs-esh-autosuggest")
11205 (version "2.0.0")
11206 (source
11207 (origin
11208 (method git-fetch)
11209 (uri (git-reference
11210 (url "https://github.com/dieggsy/esh-autosuggest")
11211 (commit version)))
11212 (file-name (string-append name "-" version "-checkout"))
11213 (sha256
11214 (base32
11215 "116pdjgpjy9b0psm5kzwkwy7dq8vn0p6dy75dl1zsy2xrjf1iqdw"))))
11216 (build-system emacs-build-system)
11217 (propagated-inputs `(("emacs-company" ,emacs-company)))
11218 (home-page "https://github.com/dieggsy/esh-autosuggest")
11219 (synopsis "Fish-like autosuggestions in Eshell")
11220 (description
11221 "This package assumes you use something other than company for eshell
11222completion (e.g. @code{eshell-pcomplete}, @code{completion-at-point},
11223@code{helm-esh-pcomplete}). @code{company-mode} is used solely as a mechanism
11224for history autosuggestions.
11225
11226Unless you're using @code{use-package}'s hook keyword, you can enable the
11227autosuggestions with:
11228@code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}")
11229 (license license:gpl3+)))
11230
11231(define-public emacs-desktop-environment
b8f92427
PN
11232 (let ((commit "a9eba14f2b5b8070f78dca839ca8259736e346a6"))
11233 (package
11234 (name "emacs-desktop-environment")
11235 (version (git-version "0.2.0" "1" commit))
11236 (source
11237 (origin
11238 (method git-fetch)
11239 (uri (git-reference
11240 (url "https://gitlab.petton.fr/DamienCassou/desktop-environment")
11241 (commit commit)))
11242 (file-name (string-append name "-" version "-checkout"))
11243 (sha256
11244 (base32
11245 "0x73x5hy7w55jrzy3xvqhk90rrsznmxjqvsvwhh21qznv5w269xz"))))
11246 (build-system emacs-build-system)
11247 (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
11248 (synopsis "Control your GNU/Linux desktop environment from Emacs")
11249 (description
11250 "This package helps you control your GNU/Linux desktop from Emacs.
eeb883cb
RW
11251With @code{desktop-environment}, you can control the brightness and volume as
11252well as take screenshots and lock your screen. The package depends on the
11253availability of shell commands to do the hard work for us. These commands can
11254be changed by customizing the appropriate variables.")
b8f92427 11255 (license license:gpl3+))))
eeb883cb
RW
11256
11257(define-public emacs-org-caldav
11258 (package
11259 (name "emacs-org-caldav")
11260 (version "20180403")
11261 (source
11262 (origin
11263 (method url-fetch)
11264 (uri (string-append
11265 "https://github.com/dengste/org-caldav/raw/"
11266 "8d3492c27a09f437d2d94f2736c56d7652e87aa0"
11267 "/org-caldav.el"))
11268 (sha256
11269 (base32
11270 "1fh4gh68ddj0is99z2ccyh97v6psnyda61n2dsadzqhcxn51amlc"))))
11271 (build-system emacs-build-system)
11272 (propagated-inputs `(("emacs-org" ,emacs-org)))
11273 (home-page "https://github.com/dengste/org-caldav")
11274 (synopsis
11275 "Sync Org files with external calendars via the CalDAV protocol")
11276 (description
11277 "Synchronize between events in Org-mode files and a CalDAV calendar.
11278This code is still alpha.")
11279 (license license:gpl3+)))
11280
11281(define-public emacs-zotxt
11282 (package
11283 (name "emacs-zotxt")
11284 (version "20180518")
11285 (source
11286 (origin
11287 (method url-fetch)
11288 (uri (string-append
11289 "https://github.com/egh/zotxt-emacs/archive/"
11290 "23a4a9f74a658222027d53a9a83cd4bcc583ca8b"
11291 ".tar.gz"))
11292 (sha256
11293 (base32
11294 "1qlibaciqgsva6fc7vv9krssjq00bi880396jk7llbi3c52q9n1y"))))
11295 (build-system emacs-build-system)
11296 (propagated-inputs
11297 `(("emacs-deferred" ,emacs-deferred)
11298 ("emacs-request" ,emacs-request)))
11299 (home-page "https://github.com/egh/zotxt-emacs")
11300 (synopsis "Integrate Emacs with Zotero")
11301 (description "This package provides two integration features between Emacs
11302and the Zotero research assistant: Insertion of links to Zotero items into an
11303Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
11304 (license license:gpl3+)))
11305
11306(define-public emacs-evil-ediff
11307 ;; Evil-Ediff is included in Evil Collection from 20180617.
11308 (deprecated-package "emacs-evil-ediff" emacs-evil-collection))
11309
11310(define-public emacs-evil-magit
3499638e 11311 (let ((commit "e2fec5877994c0c19f0c25fa01f3d22cb0ab38ba"))
eeb883cb
RW
11312 (package
11313 (name "emacs-evil-magit")
3499638e 11314 (version (git-version "0.4.2" "2" commit))
eeb883cb
RW
11315 (source
11316 (origin
11317 (method git-fetch)
11318 (uri (git-reference
11319 (url "https://github.com/emacs-evil/evil-magit")
11320 (commit commit)))
11321 (file-name (string-append name "-" version "-checkout"))
11322 (sha256
11323 (base32
3499638e 11324 "134v7s03jvbhm70mavwab85r09i68g2a5bvriirh0chz1av2y16v"))))
eeb883cb
RW
11325 (build-system emacs-build-system)
11326 (propagated-inputs
11327 `(("emacs-evil" ,emacs-evil)
11328 ("magit" ,emacs-magit)))
11329 (home-page
11330 "https://github.com/emacs-evil/evil-magit")
11331 (synopsis "Evil-based key bindings for Magit")
11332 (description
11333 "This Emacs library configures Magit and Evil to play well with each other.
11334For some background see @url{https://github.com/magit/evil-magit/issues/1}.
11335See the README at @url{https://github.com/justbur/evil-magit} for a table
11336describing the key binding changes.")
11337 (license license:gpl3+))))
11338
11339(define-public emacs-evil-mu4e
11340 ;; Evil-mu4e is included in Evil Collection from 20180617.
11341 (deprecated-package "emacs-evil-mu4e" emacs-evil-collection))
11342
11343(define-public emacs-evil-multiedit
11344 (package
11345 (name "emacs-evil-multiedit")
11346 (version "1.3.9")
11347 (source
11348 (origin
11349 (method git-fetch)
11350 (uri (git-reference
11351 (url "https://github.com/hlissner/evil-multiedit")
11352 (commit (string-append "v" version))))
11353 (file-name (string-append name "-" version "-checkout"))
11354 (sha256
11355 (base32
11356 "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"))))
11357 (build-system emacs-build-system)
11358 (propagated-inputs
11359 `(("emacs-evil" ,emacs-evil)
11360 ("emacs-iedit" ,emacs-iedit)))
11361 (home-page
11362 "https://github.com/hlissner/evil-multiedit")
11363 (synopsis "Multiple cursors for Evil mode")
11364 (description
11365 "This plugin was an answer to the lack of proper multiple cursor support
11366in Emacs+Evil. It allows you to select and edit matches interactively,
11367integrating @code{iedit-mode} into Evil mode with an attempt at sensible
11368defaults.")
11369 (license license:gpl3+)))
11370
11371(define-public emacs-evil-org
11372 (let ((commit "b6d652a9163d3430a9e0933a554bdbee5244bbf6"))
11373 (package
11374 (name "emacs-evil-org")
11375 (version (git-version "0.1.1" "1" commit))
11376 (source
11377 (origin
11378 (method git-fetch)
11379 (uri (git-reference
11380 (url "https://github.com/Somelauw/evil-org-mode")
11381 (commit commit)))
11382 (file-name (string-append name "-" version "-checkout"))
11383 (sha256
11384 (base32
11385 "176hrw7y7nczffbyhsa167b8rvfacsmcafm2gpkrdjqlrikbmrhl"))))
11386 (build-system emacs-build-system)
11387 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
11388 (home-page
11389 "https://github.com/Somelauw/evil-org-mode")
11390 (synopsis "Evil keybindings for Org mode")
11391 (description
11392 "This package adds supplemental Evil mode key-bindings to Emacs
11393Org-mode. It features:
11394@itemize
11395@item normal, visual and insert mode bindings;
11396@item key bindings organised in key themes;
11397@item operators like > and < to work on headings;
11398@item text objects;
11399@item table support;
11400@item calendar (date selection) support;
11401@item agenda support.
11402@end itemize\n")
11403 (license license:gpl3+))))
11404
1bc24bbf
BL
11405(define-public emacs-debpaste
11406 (package
11407 (name "emacs-debpaste")
11408 (version "0.1.5")
11409 (home-page "https://github.com/alezost/debpaste.el")
11410 (source
11411 (origin
11412 (method git-fetch)
11413 (uri (git-reference (url home-page)
11414 (commit (string-append "v" version))))
11415 (file-name (string-append name "-" version ".tar.gz"))
11416 (sha256
11417 (base32
11418 "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"))))
11419 (build-system emacs-build-system)
11420 (propagated-inputs
11421 `(("emacs-xml-rpc" ,emacs-xml-rpc)))
11422 (synopsis "Manipulate pastes from the Debian Pastezone")
11423 (description "Debpaste is an Emacs interface for the Debian Pastezone,
11424allowing you to receive, post, and delete pastes. It communicates with the
11425server using XML-RPC.")
11426 (license license:gpl3+)))
11427
6f93b525
BL
11428(define-public emacs-xml-rpc
11429 (let ((commit "8f624f8b964e9145acb504e4457c9510e87dd93c")
11430 (revision "1"))
11431 (package
11432 (name "emacs-xml-rpc")
11433 (version (git-version "1.6.12" revision commit))
11434 (source
11435 (origin
11436 (method git-fetch)
11437 (uri (git-reference
11438 (url "https://github.com/hexmode/xml-rpc-el")
11439 (commit commit)))
11440 (file-name (git-file-name name version))
11441 (sha256
11442 (base32
11443 "0xa54z52rsfl3n0xgmbycj4zazp8ksgdwcq56swzs6wp72zlalmj"))))
11444 (build-system emacs-build-system)
11445 (home-page "https://github.com/hexmode/xml-rpc-el")
11446 (synopsis "XML-RPC client for Emacs")
11447 (description "This package provides an XML-RPC client for Emacs capable
11448of both synchronous and asynchronous method calls using the @code{url}
11449package's async retrieval functionality. @file{xml-rpc.el} represents XML-RPC
11450datatypes as Lisp values, automatically converting to and from the XML
11451datastructures as needed, both for method parameters and return values, making
11452using XML-RPC methods fairly transparent to the Lisp code.")
11453 (license license:gpl3+))))
11454
eeb883cb 11455(define-public emacs-fish-completion
674d180c
PN
11456 (package
11457 (name "emacs-fish-completion")
11458 (version "1.0")
11459 (source
11460 (origin
11461 (method url-fetch)
11462 (uri (string-append
11463 "https://gitlab.com/Ambrevar/emacs-fish-completion/repository/"
11464 "archive.tar.gz?ref="
11465 version))
11466 (sha256
11467 (base32
11468 "1hpma1c5j50ja03ibr7h1xmyv7k8j3rbvqivad47kwqhlsgw0jk0"))))
11469 (build-system emacs-build-system)
11470 (inputs `(("fish" ,fish)))
11471 (arguments
11472 `(#:phases
11473 (modify-phases %standard-phases
11474 (add-after 'unpack 'configure
11475 (lambda* (#:key inputs outputs #:allow-other-keys)
11476 (let ((fish (assoc-ref inputs "fish")))
11477 ;; Specify the absolute file names of the various
11478 ;; programs so that everything works out-of-the-box.
11479 (emacs-substitute-variables
11480 "fish-completion.el"
11481 ("fish-completion-command"
11482 (string-append fish "/bin/fish")))))))))
11483 (home-page
11484 "https://gitlab.com/Ambrevar/emacs-fish-completion")
11485 (synopsis "Fish completion for Emacs pcomplete")
11486 (description
11487 "This package provides completion for the Fish shell to pcomplete (used
eeb883cb
RW
11488by shell and Eshell). You can set it up globally with:
11489
11490@example
11491(when (and (executable-find \"fish\")
11492 (require 'fish-completion nil t))
11493 (global-fish-completion-mode))
11494@end example
11495
11496Alternatively, you can call the @code{fish-completion-mode} manually or in
11497shell/Eshell mode hook.
11498
11499The package @code{emacs-bash-completion} is an optional dependency: if available,
11500@code{fish-completion-complete} can be configured to fall back on bash to further
11501try completing. See @code{fish-completion-fallback-on-bash-p}.")
674d180c 11502 (license license:gpl3+)))
eeb883cb
RW
11503
11504(define-public emacs-gif-screencast
11505 (let ((commit "12b25442b97b84abae74ecb5190a9d14ff7cfe5a"))
11506 (package
11507 (name "emacs-gif-screencast")
11508 (version (git-version "20180616" "1" commit))
11509 (source
11510 (origin
11511 (method url-fetch)
11512 (uri (string-append
11513 "https://gitlab.com/Ambrevar/emacs-gif-screencast/"
11514 "repository/archive.tar.gz?ref="
11515 commit))
11516 (sha256
11517 (base32
11518 "0lc457i78xjkn5idr2aaiadkh76zcsksj84z0qh80a9y775syrgh"))))
11519 (build-system emacs-build-system)
11520 (inputs
11521 `(("scrot" ,scrot)
11522 ("imagemagick" ,imagemagick)
11523 ("gifsicle" ,gifsicle)))
11524 (arguments
11525 `(#:phases
11526 (modify-phases %standard-phases
11527 (add-after 'unpack 'configure
11528 (lambda* (#:key inputs outputs #:allow-other-keys)
11529 (let ((scrot (assoc-ref inputs "scrot"))
11530 (imagemagick (assoc-ref inputs "imagemagick"))
11531 (gifsicle (assoc-ref inputs "gifsicle")))
11532 ;; Specify the absolute file names of the various
11533 ;; programs so that everything works out-of-the-box.
11534 (emacs-substitute-variables
11535 "gif-screencast.el"
11536 ("gif-screencast-program"
11537 (string-append scrot "/bin/scrot"))
11538 ("gif-screencast-convert-program"
11539 (string-append imagemagick "/bin/convert"))
11540 ("gif-screencast-cropping-program"
11541 (string-append imagemagick "/bin/mogrify"))
11542 ("gif-screencast-optimize-program"
11543 (string-append imagemagick "/bin/gifsicle")))))))))
11544 (home-page
11545 "https://gitlab.com/Ambrevar/emacs-gif-screencast")
11546 (synopsis "One-frame-per-action GIF recording")
11547 (description
11548 "Call @code{gif-screencast} to start a recording.
11549A screenshot is taken for every user action. Call
11550@code{gif-screencast-stop} (<f9> by default) to finish recording and create
11551the GIF result.")
11552 (license license:gpl3+))))
11553
11554(define-public emacs-google-translate
11555 (package
11556 (name "emacs-google-translate")
11557 (version "0.11.16")
11558 (source
11559 (origin
11560 (method url-fetch)
11561 (uri (string-append "https://github.com/atykhonov/google-translate/"
11562 "archive/v" version ".tar.gz"))
11563 (file-name (string-append name "-" version ".tar.gz"))
11564 (sha256
11565 (base32
11566 "01n9spj1d0gjfj39x526rl3m9c28wnx9afipmf5s8y77cx3mfwhl"))))
11567 (build-system emacs-build-system)
11568 (home-page "https://github.com/atykhonov/google-translate")
11569 (synopsis "Emacs interface to Google Translate")
11570 (description
11571 "This packages provides an Emacs interface to the Google Translate
11572on-line service.")
11573 (license license:gpl3+)))
11574
11575(define-public emacs-helm-company
11576 (let ((commit "d3fc093a0e833b4dee6561c00d6df3d62aa50f3f"))
11577 (package
11578 (name "emacs-helm-company")
11579 (version (git-version "0.2.3" "1" commit))
11580 (source
11581 (origin
11582 (method git-fetch)
11583 (uri (git-reference
11584 (url "https://github.com/Sodel-the-Vociferous/helm-company")
11585 (commit commit)))
11586 (file-name (string-append name "-" version "-checkout"))
11587 (sha256
11588 (base32
11589 "1ciirsanhajdqm5iwl8k9ywf4jha1wdv4sc4d9kslyrfr9zn4q6k"))))
11590 (build-system emacs-build-system)
11591 (propagated-inputs
11592 `(("emacs-helm" ,emacs-helm)
11593 ("emacs-company" ,emacs-company)))
11594 (home-page "https://github.com/Sodel-the-Vociferous/helm-company")
11595 (synopsis "Helm interface for company-mode")
11596 (description
11597 "This is a Helm interface to company-mode, a text completion
11598framework.")
11599 (license license:gpl3+))))
11600
11601(define-public emacs-helm-descbinds
11602 (let ((commit "033be73f21778633813264ce1634a6e1ad873d8e"))
11603 (package
11604 (name "emacs-helm-descbinds")
11605 (version (git-version "1.13" "1" commit))
11606 (source
11607 (origin
11608 (method git-fetch)
11609 (uri (git-reference
11610 (url "https://github.com/emacs-helm/helm-descbinds")
11611 (commit commit)))
11612 (file-name (string-append name "-" version "-checkout"))
11613 (sha256
11614 (base32
11615 "1n89p56qwa243w1c85i5awnaf7piwjsvfi7nmnsrwm33hix5dknk"))))
11616 (build-system emacs-build-system)
11617 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
11618 (home-page "https://github.com/emacs-helm/helm-descbinds")
11619 (synopsis "Convenient @code{describe-bindings} with Helm")
11620 (description
11621 "This package is a replacement of @code{describe-bindings} for Helm.
11622@code{describe-bindings} is replaced with @code{helm-descbinds}. As usual,
11623type @code{C-h b}, or any incomplete key sequence plus @code{C-h}, to run
11624@code{helm-descbinds}. The bindings are presented in a similar way as
11625@code{describe-bindings} does, but you can use completion to find the command
11626you searched for and execute it, or view its documentation.")
11627 (license license:gpl3+))))
11628
11629(define-public emacs-helm-emms
b6fd7f50 11630 (let ((commit "b785cb845a98a643eba9d5d53c9c0b4e6810a3cd"))
eeb883cb
RW
11631 (package
11632 (name "emacs-helm-emms")
b6fd7f50 11633 (version (git-version "1.3" "2" commit))
eeb883cb
RW
11634 (source
11635 (origin
11636 (method git-fetch)
11637 (uri (git-reference
11638 (url "https://github.com/emacs-helm/helm-emms")
11639 (commit commit)))
11640 (file-name (string-append name "-" version "-checkout"))
11641 (sha256
11642 (base32
b6fd7f50 11643 "1595r09y3rmwd46nnhvjja3hb8j2ila295ijxv61cg52ws4wginh"))))
eeb883cb
RW
11644 (build-system emacs-build-system)
11645 (propagated-inputs
11646 `(("emacs-helm" ,emacs-helm)
11647 ("emacs-emms" ,emacs-emms)))
11648 (home-page
11649 "https://github.com/emacs-helm/helm-emms")
11650 (synopsis "Emms for Helm")
11651 (description "Helm interface for Emms to browse all tracks and all folders
11652from @code{emms-source-file-default-directory}.")
11653 (license license:gpl3+))))
11654
11655(define-public emacs-helm-exwm
11656 (let ((commit "56266f261ba3b3d2753b374b50da20eb768c06f5"))
11657 (package
11658 (name "emacs-helm-exwm")
11659 (version (git-version "20180703" "2" commit))
11660 (source
11661 (origin
11662 (method url-fetch)
11663 (uri (string-append
11664 "https://github.com/emacs-helm/helm-exwm/archive/"
11665 commit
11666 ".tar.gz"))
11667 (sha256
11668 (base32
11669 "0n7hdiajw5vxl8ha2r9r4cl4i7crza25348825wb6acwhhzijxcj"))))
11670 (build-system emacs-build-system)
11671 (propagated-inputs
11672 `(("emacs-helm" ,emacs-helm)
11673 ("emacs-exwm" ,emacs-exwm)))
11674 (home-page
11675 "https://github.com/emacs-helm/helm-exwm")
11676 (synopsis "Helm for EXWM buffers")
11677 (description
11678 "@code{helm-exwm} runs a Helm session over the list of EXWM buffers.
11679@code{helm-exwm-switch} is a convenience X application launcher using Helm to
11680switch between the various windows of one or several specific applications.
11681See @code{helm-exwm-switch-browser} for an example.")
11682 (license license:gpl3+))))
11683
11684(define-public emacs-helm-flycheck
11685 (let ((commit "3cf7d3bb194acacc6395f88360588013d92675d6"))
11686 (package
11687 (name "emacs-helm-flycheck")
11688 (version (git-version "0.4" "1" commit))
11689 (source
11690 (origin
11691 (method git-fetch)
11692 (uri (git-reference
11693 (url "https://github.com/yasuyk/helm-flycheck")
11694 (commit commit)))
11695 (file-name (string-append name "-" version "-checkout"))
11696 (sha256
11697 (base32
11698 "1a2yfxhz04klwhcandqvfzysxp6b7bxyxx1xk1x3kds5hif5fkl4"))))
11699 (build-system emacs-build-system)
11700 (propagated-inputs
11701 `(("emacs-dash" ,emacs-dash)
11702 ("emacs-flycheck" ,emacs-flycheck)
11703 ("emacs-helm" ,emacs-helm)))
11704 (home-page "https://github.com/yasuyk/helm-flycheck")
11705 (synopsis "Show Flycheck errors with Helm")
11706 (description
11707 "This integrates Flycheck with Helm.")
11708 (license license:gpl3+))))
11709
11710(define-public emacs-helm-ls-git
11711 (let ((commit "76654c776a7f6e2e5290645e748aac2a746f7daa"))
11712 (package
11713 (name "emacs-helm-ls-git")
11714 (version (git-version "1.9.1" "1" commit))
11715 (source
11716 (origin
11717 (method git-fetch)
11718 (uri (git-reference
11719 (url "https://github.com/emacs-helm/helm-ls-git")
11720 (commit commit)))
11721 (file-name (string-append name "-" version "-checkout"))
11722 (sha256
11723 (base32
11724 "0vsq1n3xl3ghy5zik2scm7jrs501n4kybdqd6yw6j0cv4jxdqbr0"))))
11725 (build-system emacs-build-system)
11726 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
11727 (home-page "https://github.com/emacs-helm/helm-ls-git")
11728 (synopsis "Helm interface for listing the files in a Git repository")
11729 (description
11730 "This package provides a Helm interface for Git files.
11731@itemize
11732@item Display the open buffers in project.
11733@item Display a status source showing state of project (modified files etc.).
11734@item Display a list of all files in project under git control.
11735@item Quickly look at diffs of modified files.
11736@item Allow switching to @code{git status} with your preferred frontend
11737(vc-dir, Magit,etc.).
11738@item Full integration of git-grep, also allow usage of @code{helm-grep} (you
11739can use ack-grep instead of grep).
11740@item Integrate usage of gid from id-utils.
11741@item Full integration with @code{helm-find-files}, allow you to browse
11742projects unrelated to current-buffer.
11743@item In addition, all actions of type files and buffers are provided.
11744@end itemize\n")
11745 (license license:gpl3+))))
11746
11747(define-public emacs-helm-mu
11748 (let ((commit "77e6fea24e01481418738421dbcfe28ef1bd63cf"))
11749 (package
11750 (name "emacs-helm-mu")
11751 (version (git-version "20180513" "1" commit))
11752 (source
11753 (origin
11754 (method url-fetch)
11755 (uri (string-append
11756 "https://github.com/emacs-helm/helm-mu/archive/"
11757 commit
11758 ".tar.gz"))
11759 (sha256
11760 (base32
11761 "0qm4xi3i957scm50nar398pv4x8y03si10l77jb9ckjaviyq2hj9"))))
11762 (build-system emacs-build-system)
11763 (propagated-inputs
11764 `(("emacs-helm" ,emacs-helm)
11765 ("mu" ,mu)))
11766 (home-page
11767 "https://github.com/emacs-helm/helm-mu")
11768 (synopsis
11769 "Helm sources for searching emails and contacts")
11770 (description
11771 "Helm sources for searching emails and contacts using @code{mu} and
11772@code{mu4e}. Mu is an indexer for maildirs and mu4e is a mutt-like MUA for
11773Emacs build on top of mu. Mu is highly efficient making it possible to get
11774instant results even for huge maildirs. It also provides search operators,
11775e.g: @code{from:Peter to:Anne flag:attach search term}.")
11776 (license license:gpl3+))))
11777
11778(define-public emacs-helm-pass
11779 (let ((commit "ebcbef1a962795a36e3491ae926e2a4b8a8b0ebb"))
11780 (package
11781 (name "emacs-helm-pass")
11782 (version (git-version "20180416" "1" commit))
11783 (source
11784 (origin
11785 (method url-fetch)
11786 (uri (string-append
11787 "https://github.com/jabranham/helm-pass/archive/"
11788 commit
11789 ".tar.gz"))
11790 (sha256
11791 (base32
11792 "1pgq4hj9wvz7z2fyxwsvbh6rmc1akya84v382nx26rr76iavz6wi"))))
11793 (build-system emacs-build-system)
11794 (propagated-inputs
11795 `(("emacs-helm" ,emacs-helm)
11796 ("emacs-password-store" ,emacs-password-store)))
11797 (home-page
11798 "https://github.com/jabranham/helm-pass")
11799 (synopsis "Helm interface to pass, the standard Unix password manager")
11800 (description
11801 "Users of @code{helm-pass} may also be interested in functionality
11802provided by other Emacs packages dealing with pass:
11803@itemize
11804@item @code{emacs-password-store}, which @code{helm-pass} relies on.
11805@item @code{emacs-pass}, a major mode for @code{pass}.
11806@item @code{auth-source-pass.el}: integration of Emacs' auth-source with
11807@code{pass}, included in Emacs 26+).
11808@end itemize\n")
11809 (license license:gpl3+))))
11810
11811(define-public emacs-image+
11812 (let ((commit "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc"))
11813 (package
11814 (name "emacs-image+")
11815 (version (git-version "0.6.2" "1" commit))
11816 (source
11817 (origin
11818 (method git-fetch)
11819 (uri (git-reference
11820 (url "https://github.com/mhayashi1120/Emacs-imagex")
11821 (commit commit)))
11822 (file-name (string-append name "-" version "-checkout"))
11823 (sha256
11824 (base32
11825 "0v66wk9nh0raih4jhrzmmyi5lbysjnmbv791vm2230ffi2hmwxnd"))))
11826 (build-system emacs-build-system)
11827 (inputs `(("imagemagick" ,imagemagick)))
11828 (arguments
11829 `(#:phases
11830 (modify-phases %standard-phases
11831 (add-after 'unpack 'configure
11832 (lambda* (#:key inputs outputs #:allow-other-keys)
11833 (let ((imagemagick (assoc-ref inputs "imagemagick")))
11834 ;; Specify the absolute file names of the various
11835 ;; programs so that everything works out-of-the-box.
11836 (chmod "image+.el" #o666)
11837 (emacs-substitute-variables
11838 "image+.el"
11839 ("imagex-convert-command"
11840 (string-append imagemagick "/bin/convert"))
11841 ("imagex-identify-command"
11842 (string-append imagemagick "/bin/identify")))))))))
11843 (home-page "https://github.com/mhayashi1120/Emacs-imagex")
11844 (synopsis "Image manipulation extensions for Emacs")
11845 (description
11846 "Image+ provides keybindings allowing you to zoom in or zoom out of an
11847image, rotate it, save modified images, and more.")
11848 (license license:gpl3+))))
11849
11850(define-public emacs-package-lint
11851 (let ((commit "69bb89d00ba212b734c676ad056aa793c450b288"))
11852 (package
11853 (name "emacs-package-lint")
11854 (version (git-version "0.5" "1" commit))
11855 (source
11856 (origin
11857 (method git-fetch)
11858 (uri (git-reference
11859 (url "https://github.com/purcell/package-lint")
11860 (commit commit)))
11861 (file-name (string-append name "-" version "-checkout"))
11862 (sha256
11863 (base32
11864 "1hfricsgmy3x9snnd2p4xq6vnnv94qdsxxnxp07b3hqc9bhw31rq"))))
11865 (build-system emacs-build-system)
11866 (home-page "https://github.com/purcell/package-lint")
11867 (synopsis "Linting library for elisp package authors")
11868 (description
11869 "This provides a list of issues with the Emacs package metadata of a file,
11870e.g. the package dependencies it requires. See function
11871@code{package-lint-buffer}. Checks will currently be enabled only if a
11872\"Package-Requires:\" or \"Package-Version:\" header is present in the
11873file.")
11874 (license license:gpl3+))))
11875
11876(define-public emacs-picpocket
11877 (let ((version "40")
11878 (commit "6fd88b8711c4370662c0f9c462170187d092a046"))
11879 (package
11880 (name "emacs-picpocket")
11881 (version version)
11882 (source
11883 (origin
11884 (method git-fetch)
11885 (uri (git-reference
11886 (url "https://github.com/johanclaesson/picpocket")
11887 (commit commit)))
11888 (file-name (git-file-name name version))
11889 (sha256
11890 (base32 "1mdzzxf7xm7zwrpnqqxa27d1cr31pd72d7ilbwljv13qp177a3yw"))))
11891 (build-system emacs-build-system)
11892 (arguments ; needed for running tests
11893 `(#:tests? #t
11894 #:emacs ,emacs
11895 #:test-command '("emacs" "--batch"
11896 "-l" "picpocket-test.el"
11897 "-f" "ert-run-tests-batch-and-exit")))
11898 (home-page "https://github.com/johanclaesson/picpocket")
11899 (synopsis "Image viewer for Emacs")
11900 (description
11901 "Picpocket is an image viewer for GNU Emacs. It has commands for:
11902
11903@itemize
11904@item File operations on the picture files (delete, move, copy, hardlink).
11905@item Scale and rotate the picture.
11906@item Associate pictures with tags which are saved to disk.
11907@item Filter pictures according to tags.
11908@item Customizing keystrokes for quick tagging and file operations.
11909@item Undo and browse history of undoable commands.
11910@end itemize")
11911 (license license:gpl3+))))
11912
11913(define-public emacs-wgrep-helm
11914 ;; `emacs-wgrep-helm' was mistakenly added.
11915 (deprecated-package "emacs-wgrep-helm" emacs-wgrep))
11916
11917(define-public emacs-mu4e-conversation
11918 (let ((commit "e7d4bfcb0d392b0aed1f705ccac2419a168d1f5e"))
11919 (package
11920 (name "emacs-mu4e-conversation")
11921 (version (git-version "20181126" "4" commit))
11922 (source
11923 (origin
11924 (method url-fetch)
11925 (uri (string-append
11926 "https://gitlab.com/Ambrevar/mu4e-conversation/"
11927 "repository/archive.tar.gz?ref="
11928 commit))
11929 (file-name (string-append name "-" version "-checkout"))
11930 (sha256
11931 (base32
11932 "0b52hf9rm2afba9pvgink9bwqm705sk0y5qikp0ff5sk53wqvy29"))))
11933 (build-system emacs-build-system)
11934 (propagated-inputs
11935 `(("mu" ,mu)))
11936 (home-page
11937 "https://gitlab.com/Ambrevar/mu4e-conversation")
11938 (synopsis
11939 "Show a complete thread in a single buffer")
11940 (description
11941 "This package offers an alternate view to mu4e's e-mail display. It
11942shows all e-mails of a thread in a single view, where each correspondent has
11943their own face. Threads can be displayed linearly (in which case e-mails are
11944displayed in chronological order) or as an Org document where the node tree
11945maps the thread tree.")
11946 (license license:gpl3+))))
11947
11948(define-public emacs-pinentry
11949 (let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
11950 (revision "1"))
11951 (package
11952 (name "emacs-pinentry")
11953 (version (git-version "0.1" revision commit))
11954 (source
11955 (origin
11956 (method url-fetch)
11957 (uri (string-append
11958 "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain"
11959 "/packages/pinentry/pinentry.el?id=" commit))
11960 (file-name (string-append "pinentry.el"))
11961 (sha256
11962 (base32
11963 "1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
11964 (build-system emacs-build-system)
11965 (propagated-inputs
11966 `(("gnupg" ,gnupg)))
11967 (home-page "https://elpa.gnu.org/packages/pinentry.html")
11968 (synopsis "GnuPG Pinentry server implementation")
11969 (description
11970 "This package allows GnuPG passphrase to be prompted through the
11971minibuffer instead of graphical dialog.
11972
11973To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
11974reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
11975server with @code{M-x pinentry-start}.")
11976 (license license:gpl3+))))
11977
11978(define-public emacs-org-brain
11979 (package
11980 (name "emacs-org-brain")
11981 (version "0.5")
11982 (source
11983 (origin
11984 (method git-fetch)
11985 (uri (git-reference
11986 (url "https://github.com/Kungsgeten/org-brain.git")
11987 (commit "3faf9303af3f2356e3444e69c22dc6c5774047d1")))
11988 (file-name (git-file-name name version))
11989 (sha256
11990 (base32
11991 "1ad681zk6kckw2zbk0r4iaj4bw8cfqrbd1s3gdwgdjlzq81q9mmj"))))
11992 (build-system emacs-build-system)
11993 (home-page "https://github.com/Kungsgeten/org-brain")
11994 (synopsis "Org-mode wiki and concept-mapping for Emacs")
11995 (description "@code{emacs-org-brain} implements a variant of concept
11996mapping in Emacs, using @code{org-mode}. An org-brain is a network of
11997org-mode entries, where each entry is a file or a headline, and you can get a
11998visual overview of the relationships between the entries: parents, children,
11999siblings and friends. This visual overview can also be used to browse your
12000entries. You can think of entries as nodes in a mind map, or pages in a
12001wiki.")
12002 (license license:expat)))
12003
12004(define-public emacs-recent-addresses
12005 (let ((commit "afbbfdc43b81e620acf827ca20d297e0c517b6eb")
12006 (revision "1"))
12007 (package
12008 (name "emacs-recent-addresses")
12009 (home-page "http://nschum.de/src/emacs/recent-addresses/")
12010 (version (git-version "0.1" revision commit))
12011 (source (origin
12012 (method git-fetch)
12013 (uri (git-reference
12014 ;; Note: Use a branch that works with Helm. Submitted
12015 ;; at <https://github.com/nschum/recent-addresses.el/pull/1>.
12016 (url "https://github.com/civodul/recent-addresses.el")
12017 (commit commit)))
12018 (sha256
12019 (base32
12020 "0ajrq0galjmdyjdjyxazykjyax3gh6hvfk4s7l657pi11g0q5zax"))
12021 (file-name (git-file-name name version))))
12022 (build-system emacs-build-system)
12023 (synopsis "Record recently-used email addressed and auto-complete them")
12024 (description
12025 "@code{recent-addresses} is an Emacs package that allows you to quickly
12026look up previously used email addresses. It can be used alongside the Gnus
12027email client.")
12028 (license license:gpl2+))))
12029
12030(define-public emacs-fold-dwim
12031 (let ((commit "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b")
12032 (revision "0"))
12033 (package
12034 (name "emacs-fold-dwim")
12035 (version (git-version "1.2" revision commit))
12036 (home-page "https://github.com/emacsattic/fold-dwim")
12037 (source (origin
12038 (method git-fetch)
12039 (uri (git-reference (url home-page) (commit commit)))
12040 (sha256
12041 (base32
12042 "1yz1wis31asw6xa5maliyd1ck2q02xnnh7dc6swgj9cb4wi7k6i1"))
12043 (file-name (git-file-name name version))))
12044 (build-system emacs-build-system)
12045 (synopsis "Unified user interface for Emacs folding modes")
12046 (description
12047 "DWIM stands for \"do what I mean\", as in the idea that one keystroke
12048can do different things depending on the context. In this package, it means
12049that, if the cursor is in a currently hidden folded construction, we want to
12050show it; if it's not, we want to hide whatever fold the cursor is in.")
12051 (license license:gpl2+))))
12052
12053(define-public emacs-markup-faces
12054 (package
12055 (name "emacs-markup-faces")
12056 (version "1.0.0")
12057 (source
12058 (origin
12059 (method url-fetch)
12060 (uri (string-append "https://stable.melpa.org/packages/markup-faces-"
12061 version ".el"))
12062 (sha256
12063 (base32
12064 "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32"))))
12065 (build-system emacs-build-system)
12066 (home-page "https://github.com/sensorflo/markup-faces")
12067 (synopsis "Collection of Emacs faces for markup language modes")
12068 (description "emacs-markup-faces is like font-lock-faces, but tailored for
12069markup languages instead programming languages. The sub group markup-faces-text
12070is also intended for 'text viewing modes' such as info or (wo)man. This gives a
12071common look and feel, or let's say theme, across different markup language modes
12072and 'text viewing modes' respectively.")
12073 (license license:gpl3+)))
12074
12075(define-public emacs-adoc-mode
12076 (package
12077 (name "emacs-adoc-mode")
12078 (version "0.6.6")
12079 (source
12080 (origin
12081 (method url-fetch)
12082 (uri (string-append "https://stable.melpa.org/packages/adoc-mode-"
12083 version ".el"))
12084 (sha256
12085 (base32
12086 "1c6hrgxxsnl2c19rgjykpm7r4xg9lp6bmk5z6bi7g8pqlrgwffcy"))))
12087 (build-system emacs-build-system)
12088 (propagated-inputs
12089 `(("emacs-markup-faces" ,emacs-markup-faces)))
12090 (home-page "https://github.com/sensorflo/adoc-mode/wiki")
12091 (synopsis "AsciiDoc mode for Emacs")
12092 (description "This package provides an Emacs major mode for editing AsciiDoc
12093files. It focuses on highlighting the document to improve readability.")
12094 (license license:gpl2+)))
12095
12096(define-public emacs-rust-mode
12097 (let ((commit
12098 ;; Last release is old (2016), use more recent commit to get bug
12099 ;; fixes.
12100 "64b4a2450e4d4c47f6307851c9b2598cd2254d68")
12101 (revision "0"))
12102 (package
12103 (name "emacs-rust-mode")
12104 (version (git-version "0.3.0" revision commit))
12105 (source (origin
12106 (method git-fetch)
12107 (uri
12108 (git-reference
12109 (url "https://github.com/rust-lang/rust-mode")
12110 (commit commit)))
12111 (file-name (git-file-name name version))
12112 (sha256
12113 (base32
12114 "0pbz36lljgb7bdgx3h3g0pq1nss1kvn8mhk1l3mknsmynd6w4nd8"))))
12115 (build-system emacs-build-system)
12116 (arguments
12117 `(#:phases
12118 (modify-phases %standard-phases
12119 (replace 'check
12120 (lambda _
12121 (invoke "sh" "run_rust_emacs_tests.sh"))))))
12122 (home-page "https://github.com/rust-lang/rust-mode")
12123 (synopsis "Major Emacs mode for editing Rust source code")
12124 (description "This package provides a major Emacs mode for editing Rust
12125source code.")
12126 (license (list license:expat
12127 license:asl2.0)))))
12128
12129(define-public emacs-ztree
12130 (let ((commit "c54425a094353ec40a8179f9eab3596f76c6cf94"))
12131 (package
12132 (name "emacs-ztree")
12133 (version (git-version "1.0.5" "1" commit))
12134 (source
12135 (origin
12136 (method git-fetch)
12137 (uri (git-reference
12138 (url "https://github.com/fourier/ztree")
12139 (commit commit)))
12140 (file-name (git-file-name name version))
12141 (sha256
12142 (base32
12143 "0j8fpxds8m1zi04nrs8vv21091abvh4n8ab76f1sgdxnp4l5cfb0"))))
12144 (build-system emacs-build-system)
12145 (home-page "https://github.com/fourier/ztree")
12146 (synopsis "Directory tree comparison mode for Emacs")
12147 (description "Ztree is a project dedicated to implementation of several
12148text-tree applications inside GNU Emacs. It consists of 2 subprojects:
12149@command{ztree-diff} and @command{ztree-dir} (the basis of
12150@command{ztree-diff}).")
12151 (license license:gpl3))))
12152
12153(define-public emacs-helm-org-contacts
12154 (let ((commit "0af703bd9a43032b89fdf5559673151d1ac2fffc"))
12155 (package
12156 (name "emacs-helm-org-contacts")
12157 (version (git-version "20180707" "1" commit))
12158 (source
12159 (origin
12160 (method git-fetch)
12161 (uri (git-reference
12162 (url "https://github.com/tmalsburg/helm-org-contacts")
12163 (commit commit)))
12164 (file-name (git-file-name name version))
12165 (sha256
12166 (base32
12167 "1cl7cm2ic9pg4vc9cdh84vzjj1x2lpd5ymimiva8h4l17kiphk4s"))))
12168 (build-system emacs-build-system)
12169 (propagated-inputs
12170 `(("emacs-dash" ,emacs-dash)
12171 ("emacs-helm" ,emacs-helm)
12172 ("emacs-s" ,emacs-s)))
12173 (home-page "https://github.com/tmalsburg/helm-org-contacts")
12174 (synopsis "Helm source for org-contacts")
12175 (description "This Helm source can be used to search contacts stored in
12176org-contacts format. There are actions for inserting postal addresses, email
12177addresses, and phone numbers in the buffer where @command{helm-org-contacts}
12178was called.")
12179 (license license:gpl3))))
12180
12181(define-public emacs-dired-du
12182 (package
12183 (name "emacs-dired-du")
12184 (version "0.5.1")
12185 (source
12186 (origin
12187 (method url-fetch)
12188 (uri (string-append
12189 "https://elpa.gnu.org/packages/dired-du-"
12190 version ".tar"))
12191 (sha256
12192 (base32
12193 "1091scnrjh0a4gja4z6jxic6ghy1yryv46qk9c76pmh50cpw6766"))))
12194 (build-system emacs-build-system)
12195 (home-page "http://elpa.gnu.org/packages/dired-du.html")
12196 (synopsis "Dired with recursive directory sizes")
12197 (description
12198 "Display the recursive size of directories in Dired.
12199This file defines a minor mode @command{dired-du-mode} to show the recursive
12200size of directories in Dired buffers. If @command{du} program is available,
12201then the directory sizes are obtained with it. Otherwise, the directory sizes
12202are obtained with Lisp. The former is faster and provide a more precise
12203value. For directories where the user doesn't have read permission, the
12204recursive size is not obtained. Once this mode is enabled, every new Dired
12205buffer displays recursive dir sizes.")
12206 (license license:gpl3+)))
12207
12208(define-public emacs-pcre2el
12209 ;; Last release is very old so we get the latest commit.
12210 (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
12211 (package
12212 (name "emacs-pcre2el")
12213 (version (git-version "1.8" "1" commit))
12214 (source
12215 (origin
12216 (method git-fetch)
12217 (uri (git-reference
12218 (url "https://github.com/joddie/pcre2el")
12219 (commit commit)))
12220 (file-name (git-file-name name version))
12221 (sha256
12222 (base32
12223 "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"))))
12224 (build-system emacs-build-system)
12225 (home-page "https://github.com/joddie/pcre2el")
12226 (synopsis "Convert between PCRE, Emacs and rx regexp syntax")
12227 (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp
12228Tools) is a utility for working with regular expressions in Emacs, based on a
12229recursive-descent parser for regexp syntax. In addition to converting (a
12230subset of) PCRE syntax into its Emacs equivalent, it can do the following:
12231
12232@itemize
12233@item convert Emacs syntax to PCRE
12234@item convert either syntax to @code{rx}, an S-expression based regexp syntax
12235@item untangle complex regexps by showing the parse tree in @code{rx} form and
12236highlighting the corresponding chunks of code
12237@item show the complete list of strings (productions) matching a regexp,
12238provided the list is finite
12239@item provide live font-locking of regexp syntax (so far only for Elisp
12240buffers – other modes on the TODO list).
12241@end itemize\n")
12242 (license license:gpl3))))
12243
12244(define-public emacs-magit-todos
12245 (package
12246 (name "emacs-magit-todos")
3a56c518 12247 (version "1.1.7")
eeb883cb
RW
12248 (source
12249 (origin
12250 (method git-fetch)
12251 (uri (git-reference
12252 (url "https://github.com/alphapapa/magit-todos")
12253 (commit version)))
12254 (file-name (git-file-name name version))
12255 (sha256
12256 (base32
3a56c518 12257 "0qagdxpik64n4rw9scy451ws5sw00v64ri9g2dcw7b66bx2c6c6w"))))
eeb883cb
RW
12258 (build-system emacs-build-system)
12259 (propagated-inputs
12260 `(("emacs-async" ,emacs-async)
12261 ("emacs-dash" ,emacs-dash)
12262 ("emacs-f" ,emacs-f)
12263 ("emacs-hl-todo" ,emacs-hl-todo)
12264 ("magit" ,emacs-magit)
12265 ("emacs-pcre2el" ,emacs-pcre2el)
12266 ("emacs-s" ,emacs-s)))
12267 (home-page "https://github.com/alphapapa/magit-todos")
12268 (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer")
12269 (description "This package displays keyword entries from source code
12270comments and Org files in the Magit status buffer. Activating an item jumps
12271to it in its file. By default, it uses keywords from @code{hl-todo}, minus a
12272few (like NOTE).")
12273 (license license:gpl3)))
12274
12275(define-public emacs-git-annex
12276 ;; Unreleased version has a fontification fix.
12277 (let ((commit "ebdb44aef1883f1b2b8058e05d30fb9315b03707")
12278 (revision "1"))
12279 (package
12280 (name "emacs-git-annex")
12281 (version (string-append "1.1-" revision "." (string-take commit 8)))
12282 (source
12283 (origin
12284 (method git-fetch)
12285 (uri (git-reference
12286 (url "https://github.com/jwiegley/git-annex-el")
12287 (commit commit)))
12288 (file-name (string-append name "-" version "-checkout"))
12289 (sha256
12290 (base32
12291 "1mzv40gj7k10h7h5s43my8msgzjpj680qprqa9pp8nbyhl49v3wh"))))
12292 (build-system emacs-build-system)
12293 (home-page "https://github.com/jwiegley/git-annex-el")
12294 (synopsis "Emacs integration for git-annex")
12295 (description "Enhances Dired and buffers visiting annex files with
12296git-annex functionality. In Dired, the names of annex files are shortened by
12297hiding the symbolic links and fontified based on whether content is present.
12298Commands for performing some common operations (e.g., unlocking and adding
12299files) are provided.")
12300 (license license:gpl2+))))
12301
12302(define-public emacs-hackernews
12303 (let ((commit "d8c450bbc76d6bb65ec5cdb6c3b888a23f3769e9"))
12304 (package
12305 (name "emacs-hackernews")
12306 (version (git-version "0.4.0" "1" commit))
12307 (source
12308 (origin
12309 (method git-fetch)
12310 (uri (git-reference
12311 (url "https://github.com/clarete/hackernews.el")
12312 (commit commit)))
12313 (file-name (git-file-name name version))
12314 (sha256
12315 (base32
12316 "06mp4n6c300jv5lhwf50ircfjckzr2p1zd38s4mqnxxjlf1maim7"))))
12317 (build-system emacs-build-system)
12318 (home-page "https://github.com/clarete/hackernews.el")
12319 (synopsis "Hacker News client for Emacs")
12320 (description "The @command{hackernews} package is able to fetch stories
12321from six different Hacker News feeds, namely top, new, best, ask, show and job
12322stories. The default feed is top stories, which corresponds to the Hacker
12323News homepage.")
12324 (license license:gpl3))))
12325
12326(define-public emacs-youtube-dl
12327 (let ((commit "7c9d7a7d05b72a7d1b1257a36c5e2b2567b185dd"))
12328 (package
12329 (name "emacs-youtube-dl")
12330 (version (git-version "1.0" "1" commit))
12331 (source
12332 (origin
12333 (method git-fetch)
12334 (uri (git-reference
12335 (url "https://github.com/skeeto/youtube-dl-emacs/")
12336 (commit commit)))
12337 (file-name (git-file-name name version))
12338 (sha256
12339 (base32
12340 "0mh4s089a4x8s380agzb2306kdp1hl204px1n5rrrrdcls7imnh6"))))
12341 (build-system emacs-build-system)
12342 (inputs
12343 `(("youtube-dl" ,youtube-dl)))
12344 (arguments
12345 `(#:phases
12346 (modify-phases %standard-phases
12347 (add-after 'unpack 'configure
12348 (lambda* (#:key inputs #:allow-other-keys)
12349 (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
12350 ;; .el is read-only in git.
12351 (chmod "youtube-dl.el" #o644)
12352 ;; Specify the absolute file names of the various
12353 ;; programs so that everything works out-of-the-box.
12354 (emacs-substitute-variables
12355 "youtube-dl.el"
12356 ("youtube-dl-program"
12357 (string-append youtube-dl "/bin/youtube-dl")))))))))
12358 (home-page "https://github.com/skeeto/youtube-dl-emacs/")
12359 (synopsis "Emacs youtube-dl download manager")
12360 (description "This package manages a video download queue for
12361@command{youtube-dl}, which serves as the back end. It manages a single
12362@command{youtube-dl} subprocess, downloading one video at a time. New videos
12363can be queued at any time.")
12364 (license license:unlicense))))
12365
12366(define-public emacs-org-web-tools
12367 (package
12368 (name "emacs-org-web-tools")
12369 (version "1.0")
12370 (source
12371 (origin
12372 (method git-fetch)
12373 (uri (git-reference
12374 (url "https://github.com/alphapapa/org-web-tools")
12375 (commit version)))
12376 (file-name (git-file-name name version))
12377 (sha256
12378 (base32
12379 "0kak9h5ny00d39gnwspv53nadnag01brw2fq9zk5wpfc91h9bjng"))))
12380 (build-system emacs-build-system)
12381 (propagated-inputs
12382 `(("emacs-dash" ,emacs-dash)
12383 ("emacs-esxml" ,emacs-esxml)
12384 ("emacs-s" ,emacs-s)))
12385 (inputs
12386 `(("pandoc" ,ghc-pandoc)))
12387 (arguments
12388 `(#:phases
12389 (modify-phases %standard-phases
12390 (add-after 'unpack 'patch-exec-paths
12391 (lambda* (#:key inputs #:allow-other-keys)
12392 (let ((pandoc (assoc-ref inputs "pandoc")))
12393 (substitute* "org-web-tools.el"
12394 (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))
12395 #t))))))
12396 (home-page "https://github.com/alphapapa/org-web-tools")
12397 (synopsis "Display/Process web page as Org-mode content")
12398 (description "This package contains library functions and commands useful
12399for retrieving web page content and processing it into Org-mode content.
12400
12401For example, you can copy a URL to the clipboard or kill-ring, then run a
12402command that downloads the page, isolates the “readable” content with
12403@command{eww-readable}, converts it to Org-mode content with Pandoc, and
12404displays it in an Org-mode buffer. Another command does all of that but
12405inserts it as an Org entry instead of displaying it in a new buffer.")
12406 (license license:gpl3+)))
12407
12408(define-public emacs-blimp
12409 (let ((commit "e420763d6d18b5d1be552cdbc47f91418343db03"))
12410 (package
12411 (name "emacs-blimp")
12412 (version (git-version "0.0.0" "1" commit))
12413 (source
12414 (origin
12415 (method git-fetch)
12416 (uri (git-reference
12417 (url "https://github.com/walseb/blimp")
12418 (commit commit)))
12419 (file-name (git-file-name name version))
12420 (sha256
12421 (base32
12422 "09wmhpym516b81dfq8smdmysh1fn610dzlyvyl2rkx8600f0fizd"))))
12423 (build-system emacs-build-system)
12424 (propagated-inputs
12425 `(("emacs-eimp" ,emacs-eimp)))
12426 (home-page "https://github.com/walseb/blimp")
12427 (synopsis "Emacs wrapper around all Imagemagick commands")
12428 (description "Blimp (Bustling Image Manipulation Package) is a complete
12429wrapper around all Imagemagick commands with descriptions, autocompletion (for
12430some commands) and hints displayed in prompt using @command{eimp.el} to
12431execute its commands and resize images.")
12432 (license license:gpl3+))))
12433
12434(define-public emacs-synosaurus
12435 (let ((commit "8bf95b935976ec0a1964cf175ed57cc5f6f93bdb"))
12436 (package
12437 (name "emacs-synosaurus")
12438 (version (git-version "0.1.0" "1" commit))
12439 (source
12440 (origin
12441 (method git-fetch)
12442 (uri (git-reference
12443 (url "https://github.com/hpdeifel/synosaurus")
12444 (commit commit)))
12445 (file-name (git-file-name name version))
12446 (sha256
12447 (base32
12448 "15by9jccab6kyplxa6k0glzaivxkqdigl33gl2qi2cvy6f2q7gva"))))
12449 (build-system emacs-build-system)
12450 (propagated-inputs
12451 `(("wordnet" ,wordnet)))
12452 (arguments
12453 `(#:phases
12454 (modify-phases %standard-phases
12455 (add-after 'unpack 'configure
12456 (lambda* (#:key inputs outputs #:allow-other-keys)
12457 (let ((wn (assoc-ref inputs "wordnet")))
12458 ;; .el is read-only in git.
12459 (chmod "synosaurus-wordnet.el" #o644)
12460 ;; Specify the absolute file names of the various
12461 ;; programs so that everything works out-of-the-box.
12462 (emacs-substitute-variables
12463 "synosaurus-wordnet.el"
12464 ("wordnet-command"
12465 (string-append wn "/bin/wn")))))))))
12466 (home-page "https://github.com/hpdeifel/synosaurus")
12467 (synopsis "Extensible thesaurus mode for Emacs")
12468 (description "Synosaurus is a thesaurus fontend for Emacs with pluggable
12469backends, including the @command{wordnet} offline backend.")
12470 (license license:gpl3+))))
12471
12472(define-public emacs-all-the-icons
12473 (package
12474 (name "emacs-all-the-icons")
12475 (version "3.2.0")
12476 (source
12477 (origin
12478 (method git-fetch)
12479 (uri (git-reference
12480 (url "https://github.com/domtronn/all-the-icons.el.git")
12481 (commit version)))
12482 (file-name (git-file-name name version))
12483 (sha256
12484 (base32
12485 "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn"))))
12486 (build-system emacs-build-system)
12487 (arguments
12488 `(#:include '("\\.el$" "^data/" "^fonts/")
12489 ;; Compiling "test/" fails with "Symbol’s value as variable is void:
12490 ;; all-the-icons--root-code". Ignoring tests.
12491 #:exclude '("^test/")
12492 #:tests? #f))
12493 (propagated-inputs
12494 `(("f" ,emacs-f)
12495 ("memoize" ,emacs-memoize)))
12496 (home-page "https://github.com/domtronn/all-the-icons.el")
12497 (synopsis "Collect icon fonts and propertize them within Emacs")
12498 (description "All-the-icons is a utility package to collect various icon
12499fonts and propertize them within Emacs. Icon fonts allow you to propertize
12500and format icons the same way you would normal text. This enables things such
12501as better scaling of and anti aliasing of the icons.")
12502 ;; Package is released under Expat license. Elisp files are licensed
12503 ;; under GPL3+. Fonts come with various licenses: Expat for
12504 ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
12505 ;; "material-design-icons.ttf", and SIL OFL 1.1 for "fontawesome.ttf",
12506 ;; "ocitcons.ttf" and "weathericons.ttf".
12507 (license
12508 (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
12509
12510(define-public emacs-powerline
12511 (package
12512 (name "emacs-powerline")
12513 (version "2.4")
12514 (source
12515 (origin
12516 (method git-fetch)
12517 (uri (git-reference
12518 (url "https://github.com/milkypostman/powerline.git")
12519 (commit version)))
12520 (file-name (git-file-name name version))
12521 (sha256
12522 (base32
12523 "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"))))
12524 (build-system emacs-build-system)
12525 (home-page "https://github.com/milkypostman/powerline/")
12526 (synopsis "Mode-line plugin for Emacs")
12527 (description "Powerline is a utility plugin which allows you to create
12528a better-looking, more functional Emacs mode-line. A collection of predefined
12529themes comes with the package.")
12530 (license license:gpl3+)))
12531
12532(define-public emacs-spaceline
12533 (package
12534 (name "emacs-spaceline")
12535 (version "2.0.1")
12536 (source
12537 (origin
12538 (method git-fetch)
12539 (uri (git-reference
12540 (url "https://github.com/TheBB/spaceline.git")
12541 (commit (string-append "v" version))))
12542 (file-name (git-file-name name version))
12543 (sha256
12544 (base32
12545 "1q8r95zfrh0vxna5ml2pq9b9f66clfqcl4d2qy2aizkvzyxg6skl"))))
12546 (build-system emacs-build-system)
12547 (propagated-inputs
12548 `(("dash" ,emacs-dash)
12549 ("powerline" ,emacs-powerline)
12550 ("s" ,emacs-s)))
12551 (home-page "https://github.com/TheBB/spaceline")
12552 (synopsis "Powerline theme from Spacemacs")
12553 (description "Spaceline provides Spacemacs' mode-line theme.
12554This package provides features for three kinds of users.
12555
12556@itemize
12557@item You just want to use the Spacemacs mode-line theme and forget about it.
12558@item You want to use something similar to the Spacemacs mode-line theme, but
12559with a handful of easy tweaks.
12560@item You want an easy-to-use library for building your own mode-line from
12561scratch, and you think the Spacemacs theme looks good.
12562@end itemize")
12563 (license license:gpl3+)))
12564
12565(define-public emacs-column-marker
12566 (package
12567 (name "emacs-column-marker")
12568 (version "9")
12569 (source
12570 (origin
12571 (method url-fetch)
12572 (uri "https://www.emacswiki.org/emacs/download/column-marker.el")
12573 (sha256 (base32 "05bv198zhqw5hqq6cr11mhz02dpca74hhp1ycwq369m0yb2naxy9"))))
12574 (build-system emacs-build-system)
12575 (home-page "https://www.emacswiki.org/emacs/ColumnMarker")
12576 (synopsis "Emacs mode for highlighting columns")
12577 (description
12578 "With @code{column-marker.el} you can highlight any number of text columns.
12579Three such highlight column markers are provided by default. This is
12580especially useful for languages like COBOL or Fortran where certain columns
12581have special meaning. It is also handy for aligning text across long vertical
12582distances. Multi-column characters, such as @kbd{TAB} are treated
12583correctly.")
12584 (license license:gpl2+)))
12585
12586(define-public emacs-slime-repl-ansi-color
12587 (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
12588 (package
12589 (name "emacs-slime-repl-ansi-color")
12590 (version (git-version "0.0.0" "1" commit))
12591 (source (origin
12592 (method git-fetch)
12593 (uri (git-reference
12594 (url "https://github.com/deadtrickster/slime-repl-ansi-color")
12595 (commit commit)))
12596 (file-name (git-file-name name version))
12597 (sha256
12598 (base32
12599 "0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
12600 (build-system emacs-build-system)
12601 (home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
12602 (synopsis "Color ANSI codes in the REPL of SLIME")
12603 (description "Color ANSI codes in the REPL of SLIME")
12604 (license license:gpl2+))))
12605
12606(define-public emacs-helm-slime
f81efdcb
PN
12607 (package
12608 (name "emacs-helm-slime")
12609 (version "0.2.0")
12610 (source (origin
12611 (method git-fetch)
12612 (uri (git-reference
12613 (url "https://github.com/emacs-helm/helm-slime")
12614 (commit version)))
12615 (file-name (git-file-name name version))
12616 (sha256
12617 (base32
12618 "0vn93vv2wclnwq6f480z14jn9wfp0ylhp5dd48ycc9jicfsnxqfj"))))
12619 (build-system emacs-build-system)
12620 (propagated-inputs
12621 `(("emacs-helm" ,emacs-helm)
12622 ("emacs-slime" ,emacs-slime)))
12623 (home-page "https://github.com/emacs-helm/helm-slime")
12624 (synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs")
12625 (description "Helm-SLIME defines a few new commands:
eeb883cb
RW
12626
12627@itemize
12628@item helm-slime-complete: Select a symbol from the SLIME completion systems.
12629@item helm-slime-list-connections: Yet another slime-list-connections with Helm.
12630@item: helm-slime-apropos: Yet another slime-apropos with Helm.
12631@item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it.
12632@end itemize\n")
f81efdcb 12633 (license license:gpl3+)))
eeb883cb
RW
12634
12635(define-public emacs-gtk-look
12636 (package
12637 (name "emacs-gtk-look")
12638 (version "29")
12639 (source (origin
12640 (method url-fetch)
12641 (uri "https://download.tuxfamily.org/user42/gtk-look.el")
12642 (sha256
12643 (base32
12644 "14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp"))))
12645 (build-system emacs-build-system)
12646 (arguments
12647 `(#:phases
12648 (modify-phases %standard-phases
12649 (add-after 'unpack 'configure
12650 (lambda _
12651 ;; File is read-only.
12652 (chmod "gtk-look.el" #o644)
12653 (emacs-substitute-variables "gtk-look.el"
12654 ("gtk-lookup-devhelp-indices"
12655 '(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*"))))
12656 #t)))))
12657 (home-page "http://user42.tuxfamily.org/gtk-look/index.html")
12658 (synopsis "Find and display HTML documentation for GTK, GNOME and Glib")
12659 (description "@command{gtk-look} finds and displays HTML documentation for
12660GTK, GNOME and Glib functions and variables in Emacs, similar to what
12661info-lookup-symbol does for info files (C-h S). The documentation is expected
12662to be devhelp indexes with HTML files. The location of the indexes can be
12663customized. In addition to C code development @command{gtk-look} is good for
12664
12665@itemize
12666@item @command{perl-gtk2}, recognising class funcs like
12667@command{Gtk2::Label->new} and bare method names like @command{set_text}.
12668@item @command{guile-gnome}, recognising methods like @command{set-text} and
12669classes like @command{<gtk-window>}.
12670@end itemize\n")
12671 (license license:gpl3+)))
12672
12673(define-public emacs-ov
12674 (package
12675 (name "emacs-ov")
12676 (version "1.0.6")
12677 (source (origin
12678 (method git-fetch)
12679 (uri (git-reference
12680 (url "https://github.com/ShingoFukuyama/ov.el.git")
12681 (commit version)))
12682 (file-name (git-file-name name version))
12683 (sha256
12684 (base32
12685 "0qxk2rf84j86syxi8xknsq252irwg7sz396v3bb4wqz4prpj0kzc"))))
12686 (build-system emacs-build-system)
12687 (home-page "https://github.com/ShingoFukuyama/ov.el")
12688 (synopsis "Overlay library for Emacs Lisp")
12689 (description "@code{ov.el} provides a simple way to manipulate overlays in
12690Emacs.")
12691 (license license:gpl3+)))
12692
12693(define-public emacs-matrix-client
85a3d63f 12694 (let ((commit "a0623667b07a4bf60980c97b078e9faed97ace79"))
eeb883cb
RW
12695 (package
12696 (name "emacs-matrix-client")
85a3d63f 12697 (version (git-version "0.0.0" "3" commit))
eeb883cb
RW
12698 (source (origin
12699 (method git-fetch)
12700 (uri (git-reference
12701 (url "https://github.com/jgkamat/matrix-client-el.git")
12702 (commit commit)))
12703 (file-name (git-file-name name version))
12704 (sha256
12705 (base32
85a3d63f 12706 "1zya8id3y9wzjaj7nplq7br6nhm3lsskv0fkn1xr1y77fzcfgcdb"))))
eeb883cb
RW
12707 (build-system emacs-build-system)
12708 (propagated-inputs
12709 `(("a" ,emacs-a)
e6ab20f7 12710 ("anaphora" ,emacs-anaphora)
eeb883cb
RW
12711 ("dash" ,emacs-dash)
12712 ("esxml" ,emacs-esxml)
12713 ("f" ,emacs-f)
12714 ("frame-purpose" ,emacs-frame-purpose)
12715 ("ht" ,emacs-ht)
12716 ("ov" ,emacs-ov)
12717 ("rainbow-identifiers" ,emacs-rainbow-identifiers)
12718 ("request" ,emacs-request)
12719 ("s" ,emacs-s)
12720 ("tracking" ,emacs-tracking)))
12721 (home-page "https://github.com/jgkamat/matrix-client-el")
12722 (synopsis "Matrix client for Emacs")
12723 (description "@code{matrix-client} is a simple chat UI to Matrix.org
12724rooms. It also provides an API which allows Emacs to seamlessly create
12725RPC channels with users and other software.")
12726 (license license:gpl3+))))
12727
12728(define-public emacs-sesman
12729 (package
12730 (name "emacs-sesman")
12731 (version "0.3.3")
12732 (source
12733 (origin
12734 (method git-fetch)
12735 (uri (git-reference
12736 (url "https://github.com/vspinu/sesman.git")
12737 (commit (string-append "v" version))))
12738 (file-name (git-file-name name version))
12739 (sha256
12740 (base32
12741 "0r32f8ma9ddczxrrdz0nadp14j3zmk10q1ch02gb82synkx3xdra"))))
12742 (build-system emacs-build-system)
12743 (arguments
12744 `(#:tests? #t
12745 #:test-command '("make" "test")))
12746 (home-page "https://github.com/vspinu/sesman")
12747 (synopsis "Session manager for Emacs based IDEs")
12748 (description "Sesman provides facilities for session management and
12749interactive session association with the current contexts (project, directory,
12750buffers). While sesman can be used to manage arbitrary sessions, it primary
12751targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
12752 (license license:gpl3+)))
12753
12754(define-public emacs-buttercup
12755 (package
12756 (name "emacs-buttercup")
12757 (version "1.16")
12758 (source
12759 (origin
12760 (method git-fetch)
12761 (uri (git-reference
12762 (url "https://github.com/jorgenschaefer/emacs-buttercup.git")
12763 (commit (string-append "v" version))))
12764 (file-name (git-file-name name version))
12765 (sha256
12766 (base32
12767 "0dckgcyzsav6ld78bcyrrygy1cz1jvqgav6vy8f6klpmk3r8xrl1"))))
12768 (build-system emacs-build-system)
12769 (arguments
12770 `(#:tests? #t
12771 #:test-command '("make" "test")
12772 #:phases
12773 (modify-phases %standard-phases
12774 (add-after 'install 'install-bin
12775 (lambda* (#:key outputs #:allow-other-keys)
12776 (install-file "bin/buttercup"
12777 (string-append (assoc-ref outputs "out") "/bin"))
12778 #t)))))
12779 (home-page "https://github.com/jorgenschaefer/emacs-buttercup")
12780 (synopsis "Behavior driven emacs lisp testing framework")
12781 (description "Buttercup is a behavior-driven development framework for
12782testing Emacs Lisp code. It allows to group related tests so they can share
12783common set-up and tear-down code, and allows the programmer to \"spy\" on
12784functions to ensure they are called with the right arguments during testing.")
12785 (license license:gpl3+)))
12786
12787(define-public emacs-wordnut
12788 (let ((commit "feac531404041855312c1a046bde7ea18c674915")
12789 (revision "0"))
12790 (package
12791 (name "emacs-wordnut")
12792 (version (git-version "0.1" revision commit))
12793 (home-page "https://github.com/gromnitsky/wordnut")
12794 (source (origin
12795 (method git-fetch)
12796 (uri (git-reference (url home-page) (commit commit)))
12797 (sha256
12798 (base32
12799 "1jl0b6g64a9w0q7bfvwha67vgws5xd15b7mkfyb5gkz3pymqhfxn"))
12800 (patches
12801 (search-patches "emacs-wordnut-require-adaptive-wrap.patch"))
12802 (file-name (git-file-name name version))))
12803 (build-system emacs-build-system)
12804 (propagated-inputs
12805 `(("wordnet" ,wordnet)
12806 ("emacs-adaptive-wrap" ,emacs-adaptive-wrap)))
12807 (synopsis "Major mode for WordNet")
12808 (description "This Emacs package provides an interface for
12809@code{wordnet}. Features include completion, if the query is not found
12810too ambiguous and navigation in the result buffer.")
12811 (license license:gpl3+))))
12812
12813(define-public emacs-frame-purpose
12814 (package
12815 (name "emacs-frame-purpose")
12816 (version "1.0")
12817 (source (origin
12818 (method git-fetch)
12819 (uri (git-reference
12820 (url "https://github.com/alphapapa/frame-purpose.el.git")
12821 (commit version)))
12822 (sha256
12823 (base32
12824 "0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"))
12825 (file-name (git-file-name name version))))
12826 (build-system emacs-build-system)
12827 (inputs
12828 `(("dash" ,emacs-dash)))
12829 (synopsis "Purpose-specific frames for Emacs")
12830 (description "@code{frame-purpose} makes it easy to open purpose-specific
12831frames that only show certain buffers, e.g. by buffers’ major mode, their
12832filename or directory, etc, with custom frame/X-window titles, icons, and
12833other frame parameters.")
12834 (home-page "https://github.com/alphapapa/frame-purpose.el")
12835 (license license:gpl3+)))
12836
12837(define-public emacs-arduino-mode
12838 (let ((commit "3e2bad4569ad26e929e6db2cbcff0d6d36812698")) ;no release yet
12839 (package
12840 (name "emacs-arduino-mode")
12841 (version (git-version "0" "0" commit))
12842 (source (origin
12843 (method git-fetch)
12844 (uri (git-reference
12845 (url "https://github.com/bookest/arduino-mode.git")
12846 (commit commit)))
12847 (sha256
12848 (base32
12849 "1yvaqjc9hadbnnay5fprnh890xsp53kidad1zpb4a5z4a5z61n3c"))
12850 (file-name (git-file-name name version))))
12851 (build-system emacs-build-system)
12852 (synopsis "Emacs major mode for editing Arduino sketches")
12853 (description "Emacs major mode for editing Arduino sketches.")
12854 (home-page "https://github.com/bookest/arduino-mode")
12855 (license license:gpl3+))))
12856
12857(define-public emacs-general
12858 (let ((commit "675050199b5a30d54a24b58a367db32c0bdc47f5"))
12859 (package
12860 (name "emacs-general")
12861 (version (git-version "0" "0" commit))
12862 (home-page "https://github.com/noctuid/general.el")
12863 (source (origin
12864 (method git-fetch)
12865 (uri (git-reference
12866 (url (string-append home-page ".git"))
12867 (commit commit)))
12868 (sha256
12869 (base32
12870 "175yyhzk57yk1sskxh3d2jzhrh2waiibbcfsll167qxr117yji5h"))
12871 (file-name (git-file-name name version))))
12872 (build-system emacs-build-system)
12873 (synopsis "More convenient key definitions in emacs")
12874 (description "@code{general.el} provides a more convenient method for
12875binding keys in emacs (for both evil and non-evil users). Like
12876@code{use-package}, which provides a convenient, unified interface for
12877managing packages, @code{general.el} is intended to provide a convenient,
12878unified interface for key definitions. While this package does implement some
12879completely new functionality (such as the ability to make vim-style
12880keybindings under non-prefix keys with an optional timeout), its primary
12881purpose is to build on existing functionality to make key definition more
12882clear and concise. @code{general-define-key} is user-extensible and supports
12883defining multiple keys in multiple keymaps at once, implicitly wrapping key
12884strings with (@code{kbd ...}), using named prefix key sequences (like the
12885leader key in vim), and much more.")
12886 (license license:gpl3+))))
12887
12888(define-public emacs-tldr
12889 (let ((commit "398b197c8d2238628b07e1b32d0f373876279f4c"))
12890 (package
12891 (name "emacs-tldr")
12892 (version (git-version "0" "0" commit))
12893 (home-page "https://github.com/kuanyui/tldr.el")
12894 (source (origin
12895 (method git-fetch)
12896 (uri (git-reference
12897 (url (string-append home-page ".git"))
12898 (commit commit)))
12899 (sha256
12900 (base32
12901 "0iq7qlis6c6r2qkdpncrhh5vsihkhvy5x4y1y8cjb7zxkh62w33f"))
12902 (file-name (git-file-name name version))))
12903 (build-system emacs-build-system)
12904 (synopsis "Simplified and community-driven man pages for Emacs")
12905 (description "@code{emacs-tldr} allows the user to access tldr pages
12906from within emacs. The @code{tldr} pages are a community effort to simplify
12907the man pages with practical examples.")
12908 (license license:wtfpl2))))
9830f1a2
PN
12909
12910(define-public emacs-window-layout
12911 (package
12912 (name "emacs-window-layout")
12913 (version "1.4")
12914 (home-page "https://github.com/kiwanami/emacs-window-layout")
12915 (source (origin
12916 (method git-fetch)
12917 (uri (git-reference
12918 (url home-page)
12919 (commit (string-append "v" version))))
12920 (sha256
12921 (base32
12922 "0wgqi8r844lbx52fn6az8c1n8m681rp6dkfzd54wmdk1ka7zmvv6"))
12923 (file-name (git-file-name name version))))
12924 (build-system emacs-build-system)
12925 (synopsis "Simple window layout management framework for emacs")
12926 (description "A window-layout management library that can split a frame
12927or a window into some windows according to a layout recipe.")
12928 (license license:gpl3+)))
5544a07f
PN
12929
12930(define-public emacs-e2wm
12931 (package
12932 (name "emacs-e2wm")
12933 (version "1.4")
12934 (home-page "https://github.com/kiwanami/emacs-window-manager")
12935 (source (origin
12936 (method git-fetch)
12937 (uri (git-reference
12938 (url home-page)
12939 (commit (string-append "v" version))))
12940 (sha256
12941 (base32
12942 "12midsrx07pdrsr1qbl2rpi7xyhxqx08bkz7n7gf8vsmqkpfp56s"))
12943 (file-name (git-file-name name version))))
12944 (build-system emacs-build-system)
12945 (propagated-inputs
12946 `(("emacs-window-layout" ,emacs-window-layout)))
12947 (synopsis "Equilibrium Emacs Window Manager")
12948 (description "E2WM is a window manager for Emacs. It enables to
12949customize the place of pop-up window, how the windows are split, how the
12950buffers are located in the windows, keybinds to manipulate windows and
12951buffers, etc. It also has plug-ins to help your Emacs life.")
12952 (license license:gpl3+)))
3e1fcc5e
PN
12953
12954(define-public emacs-ctable
12955 (let ((commit "b8830d1ca95abb100a81bc32011bd17d5ecba000"))
12956 (package
12957 (name "emacs-ctable")
12958 (version (git-version "0.1.2" "1" commit))
12959 (home-page "https://github.com/kiwanami/emacs-ctable")
12960 (source (origin
12961 (method git-fetch)
12962 (uri (git-reference
12963 (url home-page)
12964 (commit commit)))
12965 (sha256
12966 (base32
12967 "0pg303pnqscrsbx9579hc815angszsgf9vpd2z2f8p4f4ka6a00h"))
12968 (file-name (git-file-name name version))))
12969 (build-system emacs-build-system)
12970 (synopsis "Table component for Emacs Lisp")
12971 (description "This program is a table component for Emacs Lisp. Other
12972programs can use this table component for the application UI.")
12973 (license license:gpl3+))))
8c98ce92
PN
12974
12975(define-public emacs-epc
12976 (let ((commit "e1bfa5ca163273859336e3cc89b4b6460f7f8cda"))
12977 (package
12978 (name "emacs-epc")
12979 (version (git-version "0.1.1" "1" commit))
12980 (home-page "https://github.com/kiwanami/emacs-epc")
12981 (source (origin
12982 (method git-fetch)
12983 (uri (git-reference
12984 (url home-page)
12985 (commit commit)))
12986 (sha256
12987 (base32
12988 "15nkrjgi64f829isfd6xrhl4zw8jirr8pkas7nisrbk1av868hx0"))
12989 (file-name (git-file-name name version))))
12990 (build-system emacs-build-system)
12991 (propagated-inputs
12992 `(("emacs-deferred" ,emacs-deferred)
12993 ("emacs-ctable" ,emacs-ctable)))
12994 (synopsis "RPC stack for Emacs Lisp")
12995 (description "This program is an asynchronous RPC stack for Emacs.
12996Using this RPC stack, Emacs can communicate with the peer process
12997smoothly. Because the protocol employs S-expression encoding and consists of
12998asynchronous communications, the RPC response is fairly good.")
12999 (license license:gpl3+))))
c010ec65
PN
13000
13001(define-public emacs-edbi
13002 (let ((commit "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))
13003 (package
13004 (name "emacs-edbi")
13005 (version (git-version "0.1.3" "1" commit))
13006 (home-page "https://github.com/kiwanami/emacs-edbi")
13007 (source (origin
13008 (method git-fetch)
13009 (uri (git-reference
13010 (url home-page)
13011 (commit commit)))
13012 (sha256
13013 (base32
13014 "0x0igyvdcm4863n7zndvcv6wgzwgn7324cbfjja6xd7r0k936zdy"))
13015 (file-name (git-file-name name version))))
13016 (build-system emacs-build-system)
13017 (inputs
13018 `(("perl" ,perl)
13019 ("perl-rpc-epc-service" ,perl-rpc-epc-service)
13020 ("perl-dbi" ,perl-dbi)
13021 ;; TODO: Adding support for perl-dbd-mysql and others would
13022 ;; dramatically increase the closure size. Make several packages?
13023 ("perl-dbd-sqlite" ,perl-dbd-sqlite)))
13024 (propagated-inputs
13025 `(("emacs-e2wm" ,emacs-e2wm)
13026 ("emacs-epc" ,emacs-epc)))
13027 (arguments
13028 `(#:include '("\\.el$" "\\.pl$")
13029 #:phases
13030 (modify-phases %standard-phases
13031 (add-after 'install 'patch-path
13032 (lambda* (#:key inputs outputs #:allow-other-keys)
13033 (let ((perl (assoc-ref inputs "perl"))
13034 (dir (string-append (assoc-ref outputs "out")
13035 "/share/emacs/site-lisp/guix.d/edbi-"
13036 ,version)))
13037 (substitute* (string-append dir "/edbi.el")
13038 (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
13039 (chmod (string-append dir "/edbi-bridge.pl") #o555)
13040 (wrap-program (string-append dir "/edbi-bridge.pl")
13041 `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))
13042 #t))))))
13043 (synopsis "Database Interface for Emacs Lisp")
13044 (description "This program connects the database server through Perl's
13045DBI, and provides DB-accessing API and the simple management UI.")
13046 (license license:gpl3+))))
3d540c48
PN
13047
13048(define-public emacs-edbi-sqlite
13049 (let ((commit "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f"))
13050 (package
13051 (name "emacs-edbi-sqlite")
13052 (version (git-version "0.1.1" "1" commit))
13053 (home-page "https://github.com/proofit404/edbi-sqlite")
13054 (source (origin
13055 (method git-fetch)
13056 (uri (git-reference
13057 (url home-page)
13058 (commit commit)))
13059 (sha256
13060 (base32
13061 "1vll81386fx90lq5sy4rlxcik6mvw7zx5cc51f0yaca9bkcckp51"))
13062 (file-name (git-file-name name version))))
13063 (build-system emacs-build-system)
13064 (propagated-inputs
13065 `(("emacs-edbi" ,emacs-edbi)))
13066 (synopsis "Open SQLite files in Emacs")
13067 (description "This package is a convenience wrapper for @command{edbi}
13068to open SQLite databases.")
13069 (license license:gpl3+))))
f896abc7
LC
13070
13071(define-public emacs-nix-mode
13072 (package
13073 (name "emacs-nix-mode")
13074 (version "1.2.2")
13075 (source
13076 (origin
13077 (method url-fetch)
13078 (uri (string-append "https://github.com/NixOS/nix-mode/archive/v"
13079 version ".tar.gz"))
13080 (file-name (string-append name "-" version ".tar.gz"))
13081 (sha256
13082 (base32
13083 "06aqz0czznsj8835jqnk794sy2p6pa8kxfqwh0nl5d5vxivria6z"))))
13084 (build-system emacs-build-system)
13085 (inputs
13086 `(("emacs-company" ,emacs-company)
13087 ("emacs-mmm-mode" ,emacs-mmm-mode)))
13088 (home-page "https://github.com/NixOS/nix-mode")
13089 (synopsis "Emacs major mode for editing Nix expressions")
13090 (description "@code{nixos-mode} provides an Emacs major mode for editing
13091Nix expressions. It supports syntax highlighting, indenting and refilling of
13092comments.")
13093 (license license:lgpl2.1+)))
67248962
RW
13094
13095(define-public emacs-simple-mpc
13096 ;; There have been no releases.
13097 (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
13098 (revision "1"))
13099 (package
13100 (name "emacs-simple-mpc")
13101 (version (git-version "0" revision commit))
13102 (source
13103 (origin
13104 (method git-fetch)
13105 (uri (git-reference
13106 (url "https://github.com/jorenvo/simple-mpc.git")
13107 (commit commit)))
13108 (file-name (git-file-name name version))
13109 (sha256
13110 (base32
13111 "1ja06pv007cmzjjgka95jlg31k7d29jrih1yxyblsxv85s9sg21q"))))
13112 (build-system emacs-build-system)
13113 (propagated-inputs `(("emacs-s" ,emacs-s)))
13114 (home-page "https://github.com/jorenvo/simple-mpc")
13115 (synopsis "Simple Emacs frontend to mpc")
13116 (description "This package provides an Emacs major mode which acts as a
13117front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).")
13118 (license license:gpl3+))))
43af5f9d
AI
13119
13120(define-public emacs-mkmcc-gnuplot-mode
13121 (package
13122 (name "emacs-mkmcc-gnuplot-mode")
13123 (version "1.2.0")
13124 (source
13125 (origin
13126 (method git-fetch)
13127 (uri (git-reference
13128 (url "https://github.com/mkmcc/gnuplot-mode")
13129 (commit "601f6392986f0cba332c87678d31ae0d0a496ce7")))
13130 (file-name (string-append name "-" version "-checkout"))
13131 (sha256
13132 (base32
13133 "14f0yh1rjqc3337j4sbqzfb7pjim2c8a7wk1a73xkrdkmjn82vgb"))))
13134 (build-system emacs-build-system)
13135 (home-page "https://mkmcc.github.io/software/gnuplot-mode.html")
13136 (synopsis "Minimal emacs major mode for editing gnuplot scripts")
13137 (description "@code{emacs-mkmcc-gnuplot-mode} is a minimal emacs major
13138mode for editing gnuplot scripts. It provides syntax highlighting,
13139indentation and a command to plot the file.")
13140 (license license:gpl3+)))
ba25ba90
CL
13141
13142(define-public emacs-dtrt-indent
13143 (package
13144 (name "emacs-dtrt-indent")
13145 (version "0.8")
13146 (source (origin
13147 (method git-fetch)
13148 (uri (git-reference
13149 (url "https://github.com/jscheid/dtrt-indent")
13150 (commit version)))
13151 (file-name (git-file-name name version))
13152 (sha256
13153 (base32
13154 "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z"))))
13155 (build-system emacs-build-system)
13156 (home-page "https://github.com/jscheid/dtrt-indent")
13157 (synopsis "Minor mode that guesses the indentation offset")
13158 (description "This package provides a minor mode that guesses the
13159indentation offset originally used for creating source code files and
13160transparently adjusts the corresponding settings in Emacs, making it more
13161convenient to edit foreign files.")
13162 (license license:gpl2+)))
57b663fa
CL
13163
13164(define-public emacs-repo
13165 (package
13166 (name "emacs-repo")
13167 (version "0.1.3")
13168 (source (origin
13169 (method git-fetch)
13170 (uri (git-reference
13171 (url "https://github.com/canatella/repo-el")
13172 (commit version)))
13173 (file-name (git-file-name name version))
13174 (sha256
13175 (base32
13176 "0rbvcvm7bfr6ncji7cllfxyyr6x7n9fx863byp243phsj3n93adz"))))
13177 (build-system emacs-build-system)
13178 (native-inputs
13179 `(("emacs-el-mock" ,emacs-el-mock)
13180 ("ert-runner" ,emacs-ert-runner)))
13181 (propagated-inputs
13182 `(("emacs-f" ,emacs-f)
13183 ("magit" ,emacs-magit)))
13184 (home-page "https://github.com/canatella/repo-el")
13185 (synopsis "Emacs interface for the Google Repo tool")
13186 (description "This package provides integration of the Google Repo tool
13187with emacs. It displays the output of the @code{repo status} command in a
13188buffer and launches Magit from the status buffer for the project at point.")
b2cb1613 13189 (license license:gpl3+)))
bdccd7e1
MO
13190
13191(define-public emacs-alect-themes
13192 (package
13193 (name "emacs-alect-themes")
13194 (version "0.9")
13195 (source (origin
13196 (method git-fetch)
13197 (uri (git-reference
13198 (url "https://github.com/alezost/alect-themes")
13199 (commit (string-append "v" version))))
13200 (file-name (git-file-name name version))
13201 (sha256
13202 (base32
13203 "0nffxpdm0sa7bynwi0rmlwpc4qmvbda5ankhzz7fmk4ap9fkjxv9"))))
13204 (build-system emacs-build-system)
13205 (home-page "https://github.com/alezost/alect-themes")
13206 (synopsis "Low contrast, light, dark and black color theme for Emacs")
13207 (description "@code{emacs-alect-themes} provides configurable light, dark
13208and black color themes for Emacs. The themes are intended to be used with
13209GUI.")
57b663fa 13210 (license license:gpl3+)))
71066710
MO
13211
13212(define-public emacs-google-c-style
13213 (let ((commit "6271f3f473ceb3a7fef99388a3040903b1a145f1")
13214 (revision "0"))
13215 (package
13216 (name "emacs-google-c-style")
13217 (version (git-version "0.1" revision commit))
13218 (source (origin
13219 (method git-fetch)
13220 (uri (git-reference
13221 (url "https://github.com/google/styleguide")
13222 (commit commit)))
13223 (file-name (git-file-name name version))
13224 (sha256
13225 (base32
13226 "1jghyyasdl15c4gaqaxmdn43am63k6bykn5ab83f1ahv9zi1krxk"))))
13227 (build-system emacs-build-system)
13228 (home-page "https://github.com/google/styleguide")
13229 (synopsis "Emacs settings file for Google C/C++ style")
13230 (description "@code{emacs-google-c-style} provides an Emacs settings
13231file for Google C and C++ style.")
13232 (license license:gpl1+))))
285bf324
PN
13233
13234(define-public emacs-redshank
13235 (let ((commit "f98e68f532e622bcd464292ca4a9cf5fbea14ebb")
13236 (revision "1"))
13237 (package
13238 (name "emacs-redshank")
13239 (version (git-version "0.1" revision commit))
13240 (source (origin
13241 (method git-fetch)
13242 (uri (git-reference
13243 (url "http://www.foldr.org/~michaelw/projects/redshank.git")
13244 (commit commit)))
13245 (file-name (git-file-name name version))
13246 (sha256
13247 (base32
13248 "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p"))))
13249 (build-system emacs-build-system)
13250 (propagated-inputs
13251 `(("emacs-paredit" ,emacs-paredit)))
13252 (home-page "http://www.foldr.org/~michaelw/emacs/redshank/")
13253 (synopsis "Common Lisp Editing Extensions (for Emacs)")
13254 (description "Redshank is a collection of code-wrangling Emacs macros
13255mostly geared towards Common Lisp, but some are useful for other Lisp
13256dialects, too. Redshank's code transformations aim to be expression-based (as
13257opposed to character-based).")
13258 (license license:gpl1+))))
33756922
PN
13259
13260(define-public emacs-disk-usage
13261 (package
13262 (name "emacs-disk-usage")
7e80767d 13263 (version "1.3.0")
933d810e
PN
13264 (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
13265 (source
13266 (origin
13267 (method url-fetch)
13268 (uri (string-append
13269 "https://elpa.gnu.org/packages/disk-usage-"
13270 version
13271 ".el"))
13272 (sha256
13273 (base32
7e80767d 13274 "0ky6c34z7c6hd4yvcrcsidkfk2kvffkg63v02vch2i6hg1n6n028"))))
33756922
PN
13275 (build-system emacs-build-system)
13276 (synopsis "Sort and browse disk usage listings with Emacs")
13277 (description "Disk Usage is a file system analyzer: it offers a tabulated
13278view of file listings sorted by size. Directory sizes are computed
13279recursively. The results are cached for speed.")
13280 (license license:gpl3+)))
e77c7210
PN
13281
13282(define-public emacs-orgit
7d3a78e7 13283 (let ((commit "2456436a7e64d26bcf455b3890a586acaa3e7f93"))
e77c7210
PN
13284 (package
13285 (name "emacs-orgit")
7d3a78e7 13286 (version (git-version "1.5.1" "2" commit))
e77c7210
PN
13287 (home-page "https://github.com/magit/orgit")
13288 (source (origin
13289 (method git-fetch)
13290 (uri (git-reference
13291 (url home-page)
13292 (commit commit)))
13293 (file-name (git-file-name name version))
13294 (sha256
13295 (base32
7d3a78e7 13296 "1i52dq2ynddb1irgigr5mdwfbfd3bvm1f29jnzd7nlc0nk186nvh"))))
e77c7210
PN
13297 (build-system emacs-build-system)
13298 (propagated-inputs
13299 `(("emacs-dash" ,emacs-dash)
13300 ("emacs-magit" ,emacs-magit)))
13301 (synopsis "Support for Org links to Magit buffers")
13302 (description "This package defines several Org link types, which can be
13303used to link to certain Magit buffers. Use the command
13304@command{org-store-link} while such a buffer is current to store a link.
13305Later you can insert it into an Org buffer using the command
13306@code{org-insert-link}.")
13307 (license license:gpl3+))))
089a2c51
CL
13308
13309(define-public emacs-amx
13310 (package
13311 (name "emacs-amx")
13312 (version "3.2")
13313 (source (origin
13314 (method git-fetch)
13315 (uri (git-reference
13316 (url "https://github.com/DarwinAwardWinner/amx")
13317 (commit (string-append "v" version))))
13318 (file-name (git-file-name name version))
13319 (sha256
13320 (base32
13321 "0bb8y1dmzyqkrb4mg6zndcsxppby3glridv2aap2pv05gv8kx7mj"))))
13322 (build-system emacs-build-system)
13323 (propagated-inputs `(("emacs-s" ,emacs-s)))
13324 (home-page "https://github.com/DarwinAwardWinner/amx")
13325 (synopsis "Alternative interface for M-x")
13326 (description "Amx is an alternative interface for M-x in Emacs. It
13327provides several enhancements over the ordinary
13328@code{execute-extended-command}, such as prioritizing your most-used commands
13329in the completion list and showing keyboard shortcuts, and it supports several
13330completion systems for selecting commands, such as ido and ivy.")
13331 (license license:gpl3+)))
842e66c5
PN
13332
13333(define-public emacs-lorem-ipsum
13334 (let ((commit "4b39f6fed455d67f635b3837cf5668bf74d0f6cd"))
13335 (package
13336 (name "emacs-lorem-ipsum")
13337 (version (git-version "0.2" "1" commit))
13338 (home-page "https://github.com/jschaf/emacs-lorem-ipsum/")
13339 (source (origin
13340 (method git-fetch)
13341 (uri (git-reference
13342 (url home-page)
13343 (commit commit)))
13344 (file-name (git-file-name name version))
13345 (sha256
13346 (base32
13347 "0a3b18p3vdjci89prsgdzjnfxsl8p67vjhf8ai4qdng7zvh50lir"))))
13348 (build-system emacs-build-system)
13349 (synopsis "Insert dummy pseudo Latin text in Emacs")
13350 (description "This package provides convenience functions to insert
13351dummy Latin text into a buffer. This can be useful if you need to produce
13352paragraphs or pages of text for testing purposes.")
13353 (license license:gpl3+))))
75dabac6
PN
13354
13355(define-public emacs-lisp-extra-font-lock
13356 (let ((commit "4605eccbe1a7fcbd3cacf5b71249435413b4db4f"))
13357 (package
13358 (name "emacs-lisp-extra-font-lock")
13359 (version (git-version "0.0.6" "1" commit))
13360 (home-page "https://github.com/Lindydancer/lisp-extra-font-lock")
13361 (source (origin
13362 (method git-fetch)
13363 (uri (git-reference
13364 (url home-page)
13365 (commit commit)))
13366 (file-name (git-file-name name version))
13367 (sha256
13368 (base32
13369 "152vcp3mdlv33jf5va4rinl1d0k960gnfhbrqqrafazgx9j3ya8w"))))
13370 (build-system emacs-build-system)
13371 (synopsis "Highlight bound variables and quoted expressions in Emacs")
13372 (description "This package highlight the location where local variables
13373is created (bound, for example, by let) as well as quoted and backquoted
13374constant expressions.")
13375 (license license:gpl3+))))
3899ae89
OP
13376
13377(define-public emacs-docker-tramp
13378 (package
13379 (name "emacs-docker-tramp")
13380 (version "0.1")
13381 (source
13382 (origin
13383 (method git-fetch)
13384 (uri (git-reference
13385 (url "https://github.com/emacs-pe/docker-tramp.el")
13386 (commit (string-append "v" version))))
13387 (file-name (git-file-name name version))
13388 (sha256
13389 (base32
13390 "0lxvzmfg52fhxrhbvp92zwp7cv4i1rlxnkyyzgngj3sjm7y60yvg"))))
13391 (build-system emacs-build-system)
13392 (home-page "https://github.com/emacs-pe/docker-tramp.el")
13393 (synopsis "TRAMP integration for docker containers")
13394 (description
13395 "This package provides a TRAMP method for Docker containers.")
13396 (license license:gpl3+)))
18964a60
OP
13397
13398(define-public emacs-docker
13399 (package
13400 (name "emacs-docker")
13401 (version "1.2.0")
13402 (source (origin
13403 (method git-fetch)
13404 (uri (git-reference
13405 (url "https://github.com/Silex/docker.el")
13406 (commit version)))
13407 (file-name (git-file-name name version))
13408 (sha256
13409 (base32
13410 "15kd86kaq1x6giz855q9w6zvnyc742j309j0pmm86rwx398g4rq1"))))
13411 (inputs
13412 `(("emacs-undercover" ,emacs-undercover)))
13413 (propagated-inputs
13414 `(("emacs-dash" ,emacs-dash)
13415 ("emacs-docker-tramp" ,emacs-docker-tramp)
13416 ("emacs-magit-popup" ,emacs-magit-popup)
13417 ("emacs-s" ,emacs-s)
13418 ("emacs-tablist" ,emacs-tablist)
13419 ("emacs-json-mode" ,emacs-json-mode)))
13420 (arguments
13421 `(#:phases
13422 (modify-phases %standard-phases
13423 (delete 'check)))) ;no tests
13424 (build-system emacs-build-system)
13425 (home-page "https://github.com/Silex/docker.el")
13426 (synopsis "Manage docker from Emacs")
13427 (description "This package provides an Emacs interface for Docker.")
13428 (license license:gpl3+)))
1f058ece
OP
13429
13430(define-public emacs-dockerfile-mode
13431 ;; Latest upstream release is too old.
13432 (let ((commit "7223d92718f78fa3ab15667cdb2ed90cfeb579e7"))
13433 (package
13434 (name "emacs-dockerfile-mode")
13435 (version (git-version "1.2" "1" commit))
13436 (source
13437 (origin
13438 (method git-fetch)
13439 (uri (git-reference
13440 (url "https://github.com/spotify/dockerfile-mode.git")
13441 (commit commit)))
13442 (file-name (git-file-name name version))
13443 (sha256
13444 (base32
13445 "0hmipgl4rk6aih11i8mnspwdijjiwk2y0wns6lzs8bgkvy3c064r"))))
13446 (build-system emacs-build-system)
13447 (propagated-inputs
13448 `(("emacs-s" ,emacs-s)))
13449 (home-page "https://github.com/spotify/dockerfile-mode")
13450 (synopsis "Major mode for editing Dockerfile")
13451 (description
13452 "This package provides a major mode @code{dockerfile-mode} for use with
13453the standard @code{Dockerfile} file format.")
13454 (license license:asl2.0))))
60adaae0
BG
13455
13456(define-public emacs-lsp-mode
13457 (package
13458 (name "emacs-lsp-mode")
13459 (version "6.0")
13460 (source (origin
13461 (method git-fetch)
13462 (uri (git-reference
13463 (url "https://github.com/emacs-lsp/lsp-mode.git")
13464 (commit version)))
13465 (file-name (git-file-name name version))
13466 (sha256
13467 (base32
13468 "1v1mq6ixzlgiazj8fmg4xaqhsqn3l89iqy74yndhvzh2rdf0pbkl"))))
13469 (build-system emacs-build-system)
13470 (propagated-inputs
13471 `(("emacs-dash" ,emacs-dash)
13472 ("emacs-f" ,emacs-f)
13473 ("emacs-ht" ,emacs-ht)
13474 ("emacs-spinner" ,emacs-spinner)))
13475 (home-page "https://github.com/emacs-lsp/lsp-mode")
13476 (synopsis "Emacs client and library for the Language Server Protocol")
13477 (description "@code{LSP-mode} is a client and library implmentation for
13478the Language Server Protocol. This mode aims to provide an IDE-like
13479experience by providing optional integration with other popular Emacs packages
13480like @code{company}, @code{flycheck}, and @code{projectile}.")
13481 (license license:gpl3+)))
209393a0
BG
13482
13483(define-public emacs-lsp-ui
13484 (package
13485 (name "emacs-lsp-ui")
13486 (version "6.0")
13487 (source (origin
13488 (method git-fetch)
13489 (uri (git-reference
13490 (url "https://github.com/emacs-lsp/lsp-ui.git")
13491 (commit version)))
13492 (file-name (git-file-name name version))
13493 (sha256
13494 (base32
13495 "1r4327fd8cvjxfwkddp5c4bdskyncbs4sx9m3z2w4d773y2jrakc"))))
13496 (build-system emacs-build-system)
13497 (propagated-inputs
13498 `(("emacs-dash" ,emacs-dash)
13499 ("emacs-lsp-mode" ,emacs-lsp-mode)
13500 ("emacs-markdown-mode" ,emacs-markdown-mode)
13501 ("emacs-flycheck" ,emacs-flycheck)))
13502 (home-page "https://github.com/emacs-lsp/lsp-ui")
13503 (synopsis "User interface extensions for @code{lsp-mode}")
13504 (description
13505 "@code{LSP-ui} contains several enhancements and integrations for
13506@code{lsp-mode}, such as visual flychecking, displaying references in-line,
13507and code peeking.")
13508 (license license:gpl3+)))