gnu: calcurse: Update to 4.4.0.
[jackhill/guix/guix.git] / gnu / packages / emacs-xyz.scm
CommitLineData
eeb883cb
RW
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
3;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
4;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
5;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Alex Kost <alezost@gmail.com>
6;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
db2badeb 7;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
eeb883cb
RW
8;;; Copyright © 2016, 2017, 2018 Chris Marusich <cmmarusich@gmail.com>
9;;; Copyright © 2015, 2016, 2018 Christopher Lemmer Webber <cwebber@dustycloud.org>
10;;; Copyright © 2016 Adriano Peluso <catonano@gmail.com>
11;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
12;;; Copyright © 2016 David Thompson <davet@gnu.org>
13;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
14;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
15;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
16;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
17;;; Copyright © 2016, 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
18;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
43af5f9d 19;;; Copyright © 2016, 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
eeb883cb 20;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
71066710 21;;; Copyright © 2017, 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
eeb883cb
RW
22;;; Copyright © 2017, 2018, 2019 Clément Lassieur <clement@lassieur.org>
23;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
24;;; Copyright © 2017, 2018 Kyle Meyer <kyle@kyleam.com>
25;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
26;;; Copyright © 2017 George Clemmer <myglc2@gmail.com>
27;;; Copyright © 2017, 2018 Feng Shu <tumashu@163.com>
28;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
29;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com>
30;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
31;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
32;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
33;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
82328c01 34;;; Copyright © 2017, 2018, 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
eeb883cb
RW
35;;; Copyright © 2018 Sohom Bhattacharjee <soham.bhattacharjee15@gmail.com>
36;;; Copyright © 2018 Mathieu Lirzin <mthl@gnu.org>
9830f1a2 37;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
eeb883cb
RW
38;;; Copyright © 2018, 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
39;;; Copyright © 2018 Jack Hill <jackhill@jackhill.us>
40;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
41;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com>
42;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
43;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
e3da630b 44;;; Copyright © 2018, 2019 Brett Gilio <brettg@posteo.net>
d97283c3 45;;; Copyright © 2019 Dimakakos Dimos <bendersteed@teknik.io>
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
281 `(#:test-target "test"
282 #:tests? #f ; tests are not included in the release
283
284 #:make-flags
285 (list (string-append "PREFIX=" %output)
286 ;; Don't put .el files in a sub-directory.
287 (string-append "lispdir=" %output "/share/emacs/site-lisp")
288 (string-append "DASH_DIR="
289 (assoc-ref %build-inputs "dash")
290 "/share/emacs/site-lisp/guix.d/dash-"
291 ,(package-version emacs-dash))
292 (string-append "GHUB_DIR="
293 (assoc-ref %build-inputs "ghub")
294 "/share/emacs/site-lisp/guix.d/ghub-"
295 ,(package-version emacs-ghub))
ae848798
EF
296 (string-append "GRAPHQL_DIR="
297 (assoc-ref %build-inputs "graphql")
298 "/share/emacs/site-lisp/guix.d/graphql-"
299 ,(package-version emacs-graphql))
300 (string-append "TREEPY_DIR="
301 (assoc-ref %build-inputs "treepy")
302 "/share/emacs/site-lisp/guix.d/treepy-"
303 ,(package-version emacs-treepy))
eeb883cb
RW
304 (string-append "MAGIT_POPUP_DIR="
305 (assoc-ref %build-inputs "magit-popup")
306 "/share/emacs/site-lisp/guix.d/magit-popup-"
307 ,(package-version emacs-magit-popup))
308 (string-append "WITH_EDITOR_DIR="
309 (assoc-ref %build-inputs "with-editor")
310 "/share/emacs/site-lisp/guix.d/with-editor-"
311 ,(package-version emacs-with-editor)))
312
313 #:phases
314 (modify-phases %standard-phases
315 (delete 'configure)
316 (add-before
317 'build 'patch-exec-paths
318 (lambda* (#:key inputs #:allow-other-keys)
319 (let ((perl (assoc-ref inputs "perl")))
320 (substitute* "lisp/magit-sequence.el"
321 (("perl") (string-append perl "/bin/perl")))
322 #t))))))
323 (home-page "https://magit.vc/")
324 (synopsis "Emacs interface for the Git version control system")
325 (description
326 "With Magit, you can inspect and modify your Git repositories with Emacs.
327You can review and commit the changes you have made to the tracked files, for
328example, and you can browse the history of past changes. There is support for
329cherry picking, reverting, merging, rebasing, and other common Git
330operations.")
331 (license license:gpl3+)))
332
333(define-public magit
334 (deprecated-package "magit" emacs-magit))
335
336(define-public emacs-magit-svn
337 (package
338 (name "emacs-magit-svn")
427530b9 339 (version "2.2.1")
eeb883cb 340 (source (origin
daa82371
EF
341 (method git-fetch)
342 (uri (git-reference
343 (url "https://github.com/magit/magit-svn")
344 (commit version)))
345 (file-name (git-file-name name version))
eeb883cb
RW
346 (sha256
347 (base32
427530b9 348 "01kcsc53q3mbhgjssjpby7ypnhqsr48rkl1xz3ahaypmlp929gl9"))))
eeb883cb 349 (build-system trivial-build-system)
daa82371 350 (native-inputs `(("emacs" ,emacs-minimal)))
eeb883cb 351 (propagated-inputs `(("dash" ,emacs-dash)
ff1d5478 352 ("ghub" ,emacs-ghub)
ae848798
EF
353 ("graphql" ,emacs-graphql)
354 ("treepy" ,emacs-treepy)
eeb883cb 355 ("with-editor" ,emacs-with-editor)
ff1d5478
EF
356 ("magit" ,emacs-magit)
357 ("magit-popup" ,emacs-magit-popup)))
eeb883cb
RW
358 (arguments
359 `(#:modules ((guix build utils)
360 (guix build emacs-utils))
361
362 #:builder
363 (begin
364 (use-modules (guix build utils)
365 (guix build emacs-utils))
366
daa82371
EF
367 (let ((emacs (string-append (assoc-ref %build-inputs "emacs")
368 "/bin/emacs"))
369 (magit (string-append (assoc-ref %build-inputs "magit")
370 "/share/emacs/site-lisp"))
ff1d5478
EF
371 (magit-popup (string-append (assoc-ref %build-inputs "magit-popup")
372 "/share/emacs/site-lisp/guix.d/magit-popup-"
373 ,(package-version emacs-magit-popup)))
374 (ghub (string-append (assoc-ref %build-inputs "ghub")
375 "/share/emacs/site-lisp/guix.d/ghub-"
376 ,(package-version emacs-ghub)))
ae848798
EF
377 (graphql (string-append (assoc-ref %build-inputs "graphql")
378 "/share/emacs/site-lisp/guix.d/graphql-"
379 ,(package-version emacs-graphql)))
380 (treepy (string-append (assoc-ref %build-inputs "treepy")
381 "/share/emacs/site-lisp/guix.d/treepy-"
382 ,(package-version emacs-treepy)))
daa82371
EF
383 (dash (string-append (assoc-ref %build-inputs "dash")
384 "/share/emacs/site-lisp/guix.d/dash-"
385 ,(package-version emacs-dash)))
386 (with-editor (string-append (assoc-ref %build-inputs "with-editor")
387 "/share/emacs/site-lisp/guix.d/with-editor-"
388 ,(package-version emacs-with-editor)))
389 (source (assoc-ref %build-inputs "source"))
390 (lisp-dir (string-append %output "/share/emacs/site-lisp")))
eeb883cb 391
daa82371 392 (install-file (string-append source "/magit-svn.el")
eeb883cb
RW
393 lisp-dir)
394
395 (with-directory-excursion lisp-dir
396 (parameterize ((%emacs emacs))
397 (emacs-generate-autoloads ,name lisp-dir)
398 (setenv "EMACSLOADPATH"
ff1d5478 399 (string-append ":" magit ":" magit-popup ":" ghub ":"
ae848798 400 ":" graphql ":" treepy ":" dash ":" with-editor))
eeb883cb
RW
401 (emacs-batch-eval '(byte-compile-file "magit-svn.el"))))
402 #t))))
403 (home-page "https://github.com/magit/magit-svn")
404 (synopsis "Git-SVN extension to Magit")
405 (description
406 "This package is an extension to Magit, the Git Emacs mode, providing
407support for Git-SVN.")
408 (license license:gpl3+)))
409
410(define-public magit-svn
411 (deprecated-package "magit-svn" emacs-magit-svn))
412
413(define-public emacs-magit-popup
414 (package
415 (name "emacs-magit-popup")
416 (version "2.12.5")
417 (source (origin
418 (method git-fetch)
419 (uri (git-reference
420 (url "https://github.com/magit/magit-popup.git")
421 (commit (string-append "v" version))))
422 (file-name (git-file-name name version))
423 (sha256
424 (base32
425 "13riknyqr6vxqll80sfhvz165flvdz367rbd0pr5slb01bnfsi2i"))))
426 (build-system emacs-build-system)
427 (arguments
428 `(#:phases
429 (modify-phases %standard-phases
430 (add-before 'install 'make-info
431 (lambda _
432 (invoke "make" "info"))))))
433 (native-inputs
434 `(("texinfo" ,texinfo)))
435 (propagated-inputs
436 `(("emacs-dash" ,emacs-dash)))
437 (home-page "https://github.com/magit/magit-popup")
438 (synopsis "Define prefix-infix-suffix command combos")
439 (description
440 "This library implements a generic interface for toggling switches and
441setting options and then invoking an Emacs command which does something with
442these arguments. The prototypical use is for the command to call an external
443process, passing on the arguments as command line arguments.")
444 (license license:gpl3+)))
445
446(define-public emacs-treepy
447 (package
448 (name "emacs-treepy")
449 (version "0.1.1")
450 (source (origin
451 (method git-fetch)
452 (uri (git-reference
453 (url "https://github.com/volrath/treepy.el.git")
454 (commit version)))
455 (file-name (git-file-name name version))
456 (sha256
457 (base32
458 "04zwm6gx9pxfvgfkizx6pvb1ql8pqxjyzqp8flz0432x0gq5nlxk"))))
459 (build-system emacs-build-system)
460 (home-page
461 "https://github.com/volrath/treepy.el")
462 (synopsis "Tree traversal tools")
463 (description
464 "Generic tools for recursive and iterative tree traversal based on
465clojure.walk and clojure.zip respectively.")
466 (license license:gpl3+)))
467
468(define-public emacs-graphql
469 (package
470 (name "emacs-graphql")
471 (version "0.1.1")
472 (source (origin
473 (modules '((guix build utils)))
474 ;; Remove examples file with references to external packages as
475 ;; they do not exist at compilation time.
476 (snippet
477 '(begin (delete-file "examples.el")
478 #t))
479 (method git-fetch)
480 (uri (git-reference
481 (url "https://github.com/vermiculus/graphql.el.git")
482 (commit version)))
483 (file-name (git-file-name name version))
484 (sha256
485 (base32
486 "0sp0skc1rnhi39szfbq1i99pdgd3bhn4c15cff05iqhjy2d4hniw"))))
487 (build-system emacs-build-system)
488 (home-page
489 "https://github.com/vermiculus/graphql.el")
490 (synopsis "GraphQL utilities")
491 (description
492 "GraphQL.el provides a generally-applicable domain-specific language for
493creating and executing GraphQL queries against your favorite web services.
494GraphQL is a data query language and runtime designed and used to request and
495deliver data to mobile and web apps.")
496 (license license:gpl3+)))
497
498(define-public emacs-ghub
499 (package
500 (name "emacs-ghub")
ae848798 501 (version "3.2.0")
eeb883cb 502 (source (origin
0c662875
EF
503 (method git-fetch)
504 (uri (git-reference
505 (url "https://github.com/magit/ghub")
506 (commit (string-append "v" version))))
507 (file-name (git-file-name name version))
eeb883cb
RW
508 (sha256
509 (base32
ae848798 510 "0lp52qygyavddl1lrgsyb6mq7hcf9h89dy2pzya3mb2va49f0vvl"))))
eeb883cb
RW
511 (build-system emacs-build-system)
512 (arguments
513 `(#:phases
514 (modify-phases %standard-phases
515 (add-before 'install 'make-info
516 (lambda _
517 (invoke "make" "info"))))))
518 (native-inputs
519 `(("texinfo" ,texinfo)))
ae848798
EF
520 (propagated-inputs
521 `(("dash" ,emacs-dash)
522 ("graphql" ,emacs-graphql)
523 ("treepy" ,emacs-treepy)))
eeb883cb 524 (home-page "https://github.com/magit/ghub")
ae848798 525 (synopsis "Emacs client libraries for the APIs of various Git forges")
eeb883cb 526 (description
ae848798
EF
527 "Ghub provides basic support for using the APIs of various Git forges from
528Emacs packages. It supports the REST APIs of Github, Github GraphQL, Gitlab,
529Gitea, Gogs and Bitbucket. It abstracts access to API resources using only a
530handful of functions that are not resource-specific.")
eeb883cb
RW
531 (license license:gpl3+)))
532
533(define-public emacs-scribble-mode
534 (let ((commit "34e9e5edb921813b6483e0fefa848efb6ee4b314")
535 (version "0.0")
536 (revision 0))
537 (package
538 (name "emacs-scribble-mode")
539 (version (if (zero? revision)
540 version
541 (string-append version "-"
542 (number->string revision)
543 "." (string-take commit 7))))
544 (source (origin
545 (method git-fetch)
546 (uri (git-reference
547 (url "https://github.com/emacs-pe/scribble-mode.git")
548 (commit commit)))
549 (sha256
550 (base32
551 "0598byqpz2q6yi2q4dwd77jj9z3n99z34d3an51s9m2za0nh1qvp"))))
552 (build-system emacs-build-system)
553 (home-page "https://github.com/emacs-pe/scribble-mode")
554 (synopsis "Emacs mode for editing the Scribble documentation syntax.")
555 (description
556 "This package provides basic syntax highlighting and editing support
557for editing Racket's Scribble documentation syntax in Emacs.")
558 (license license:gpl3+))))
559
560(define-public emacs-haskell-mode
561 (package
562 (name "emacs-haskell-mode")
563 (version "16.1")
564 (source (origin
f5350a07
EF
565 (method git-fetch)
566 (uri (git-reference
567 (url "https://github.com/haskell/haskell-mode")
568 (commit (string-append "v" version))))
569 (file-name (git-file-name name version))
eeb883cb 570 (sha256
f5350a07 571 (base32 "1qk36y0v9fzass6785il65c6wb5cfj4ihhwkvgnzmbafpa8p4dvq"))
eeb883cb
RW
572 (patches
573 (search-patches ; backport test failure fixes
574 "haskell-mode-unused-variables.patch"
575 "haskell-mode-make-check.patch"))))
576 (inputs
577 `(("emacs-el-search" ,emacs-el-search) ; for tests
578 ("emacs-stream" ,emacs-stream))) ; for tests
579 (propagated-inputs
580 `(("emacs-dash" ,emacs-dash)))
581 (native-inputs
582 `(("emacs" ,emacs-minimal)
583 ("texinfo" ,texinfo)))
584 (build-system gnu-build-system)
585 (arguments
586 `(#:make-flags (list (string-append "EMACS="
587 (assoc-ref %build-inputs "emacs")
588 "/bin/emacs"))
589 #:modules ((ice-9 match)
590 (srfi srfi-26)
591 ,@%gnu-build-system-modules)
592 #:phases
593 (modify-phases %standard-phases
594 (delete 'configure)
595 (add-before
596 'build 'pre-build
597 (lambda* (#:key inputs #:allow-other-keys)
598 (define (el-dir store-dir)
599 (match (find-files store-dir "\\.el$")
600 ((f1 f2 ...) (dirname f1))
601 (_ "")))
602
603 (let ((sh (string-append (assoc-ref inputs "bash") "/bin/sh")))
604 (define emacs-prefix? (cut string-prefix? "emacs-" <>))
605
606 (setenv "SHELL" "sh")
607 (setenv "EMACSLOADPATH"
608 (string-concatenate
609 (map (match-lambda
610 (((? emacs-prefix? name) . dir)
611 (string-append (el-dir dir) ":"))
612 (_ ""))
613 inputs)))
614 (substitute* (find-files "." "\\.el") (("/bin/sh") sh))
615 ;; embed filename to fix test failure
616 (let ((file "tests/haskell-cabal-tests.el"))
617 (substitute* file
618 (("\\(buffer-file-name\\)")
619 (format #f "(or (buffer-file-name) ~s)" file))))
620 #t)))
621 (replace
622 'install
623 (lambda* (#:key outputs #:allow-other-keys)
624 (let* ((out (assoc-ref outputs "out"))
625 (el-dir (string-append out "/share/emacs/site-lisp"))
626 (doc (string-append
627 out "/share/doc/haskell-mode-" ,version))
628 (info (string-append out "/share/info")))
629 (define (copy-to-dir dir files)
630 (for-each (lambda (f)
631 (install-file f dir))
632 files))
633
634 (with-directory-excursion "doc"
635 (invoke "makeinfo" "haskell-mode.texi")
636 (install-file "haskell-mode.info" info))
637 (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
638 (copy-to-dir el-dir (find-files "." "\\.elc?"))
639 ;; These are part of other packages.
640 (with-directory-excursion el-dir
641 (for-each delete-file '("dash.el" "ert.el")))
642 #t))))))
643 (home-page "https://github.com/haskell/haskell-mode")
644 (synopsis "Haskell mode for Emacs")
645 (description
646 "This is an Emacs mode for editing, debugging and developing Haskell
647programs.")
648 (license license:gpl3+)))
649
650(define-public haskell-mode
651 (deprecated-package "haskell-mode" emacs-haskell-mode))
652
653(define-public emacs-flycheck
654 (package
655 (name "emacs-flycheck")
656 (version "31")
657 (source (origin
658 (method url-fetch)
659 (uri (string-append
660 "https://github.com/flycheck/flycheck/releases/download/"
661 version "/flycheck-" version ".tar"))
662 (sha256
663 (base32
664 "01rnwan16m7cyyrfca3c5c60mbj2r3knkpzbhji2fczsf0wns240"))
665 (modules '((guix build utils)))
666 (snippet `(begin
667 ;; Change 'flycheck-version' so that it does not
668 ;; attempt to get its version from pkg-info.el.
669 (substitute* "flycheck.el"
670 (("\\(pkg-info-version-info 'flycheck\\)")
671 (string-append "\"" ,version "\"")))
672 #t))))
673 (build-system emacs-build-system)
674 (propagated-inputs
675 `(("emacs-dash" ,emacs-dash)))
676 (home-page "https://www.flycheck.org")
677 (synopsis "On-the-fly syntax checking")
678 (description
679 "This package provides on-the-fly syntax checking for GNU Emacs. It is a
680replacement for the older Flymake extension which is part of GNU Emacs, with
681many improvements and additional features.
682
683Flycheck provides fully-automatic, fail-safe, on-the-fly background syntax
684checking for over 30 programming and markup languages with more than 70
685different tools. It highlights errors and warnings inline in the buffer, and
686provides an optional IDE-like error list.")
687 (license license:gpl3+))) ;+GFDLv1.3+ for the manual
688
689(define-public emacs-a
690 (package
691 (name "emacs-a")
692 (version "0.1.1")
693 (source (origin
694 (method git-fetch)
695 (uri (git-reference
696 (url "https://github.com/plexus/a.el.git")
697 (commit (string-append "v" version))))
698 (file-name (git-file-name name version))
699 (sha256
700 (base32
701 "00v9w6qg3bkwdhypq0ssf0phdh0f4bcq59c20lngd6vhk0204dqi"))))
702 (build-system emacs-build-system)
703 (home-page "https://github.com/plexus/a.el/")
704 (synopsis
705 "Emacs library for dealing with association lists and hash tables")
706 (description "@code{emacs-a} provides Emacs Lisp functions for dealing
707with associative structures in a uniform and functional way. These functions
708can take association lists, hash tables, and in some cases vectors (where the
709index is considered the key).")
710 (license license:gpl3+)))
711
60ceff7e
NG
712(define-public emacs-anaphora
713 (package
714 (name "emacs-anaphora")
715 (version "1.0.4")
716 (source
717 (origin
718 (method git-fetch)
719 (uri (git-reference
720 (url "https://github.com/rolandwalker/anaphora.git")
721 (commit (string-append "v" version))))
722 (file-name (git-file-name name version))
723 (sha256
724 (base32
725 "11fgiy029sqz7nvdm7dcal95lacryz9zql0x5h05z48nrrcl4bib"))))
726 (build-system emacs-build-system)
727 (home-page "https://github.com/rolandwalker/anaphora/")
728 (synopsis "Anaphoric expressions for Emacs Lisp")
729 (description "@code{emacs-anaphora} implements anaphoric expressions for
730Emacs Lisp.
731
732Anaphoric expressions implicitly create one or more temporary variables which
733can be referred to during the expression. This technique can improve clarity
734in certain cases. It also enables recursion for anonymous functions.")
735 (license license:public-domain)))
736
eeb883cb
RW
737\f
738;;;
739;;; Web browsing.
740;;;
741
742(define-public emacs-w3m
743 ;; Emacs-w3m follows a "rolling release" model.
744 (package
745 (name "emacs-w3m")
746 (version "2018-11-11")
747 (source (origin
748 (method cvs-fetch)
749 (uri (cvs-reference
750 (root-directory
751 ":pserver:anonymous@cvs.namazu.org:/storage/cvsroot")
752 (module "emacs-w3m")
753 (revision version)))
754 (file-name (string-append name "-" version "-checkout"))
755 (sha256
756 (base32
757 "0nvahdbjs12zg7zsk4gql02mvnv56cf1rwj2f5p42lwp3xvswiwp"))))
758 (build-system gnu-build-system)
759 (native-inputs `(("autoconf" ,autoconf)
760 ("texinfo" ,texinfo)
761 ("emacs" ,emacs-minimal)))
762 (inputs `(("w3m" ,w3m)
763 ("imagemagick" ,imagemagick)))
764 (arguments
765 `(#:modules ((guix build gnu-build-system)
766 (guix build utils)
767 (guix build emacs-utils))
768 #:imported-modules (,@%gnu-build-system-modules
769 (guix build emacs-utils))
770 #:configure-flags
771 (let ((out (assoc-ref %outputs "out")))
772 (list (string-append "--with-lispdir="
773 out "/share/emacs/site-lisp")
774 (string-append "--with-icondir="
775 out "/share/images/emacs-w3m")
776 ;; Leave .el files uncompressed, otherwise GC can't
777 ;; identify run-time dependencies. See
778 ;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
779 "--without-compress-install"))
780 #:tests? #f ; no check target
781 #:phases
782 (modify-phases %standard-phases
783 (add-after 'unpack 'autoconf
784 (lambda _
785 (invoke "autoconf")))
786 (add-before 'configure 'support-emacs!
787 (lambda _
788 ;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
789 ;; unsupported.
790 (substitute* "configure"
791 (("EMACS_FLAVOR=unsupported")
792 "EMACS_FLAVOR=emacs"))
793 #t))
794 (add-before 'build 'patch-exec-paths
795 (lambda* (#:key inputs outputs #:allow-other-keys)
796 (let ((out (assoc-ref outputs "out"))
797 (w3m (assoc-ref inputs "w3m"))
798 (imagemagick (assoc-ref inputs "imagemagick"))
799 (coreutils (assoc-ref inputs "coreutils")))
800 (make-file-writable "w3m.el")
801 (emacs-substitute-variables "w3m.el"
802 ("w3m-command" (string-append w3m "/bin/w3m"))
803 ("w3m-touch-command"
804 (string-append coreutils "/bin/touch"))
805 ("w3m-icon-directory"
806 (string-append out "/share/images/emacs-w3m")))
807 (make-file-writable "w3m-image.el")
808 (emacs-substitute-variables "w3m-image.el"
809 ("w3m-imagick-convert-program"
810 (string-append imagemagick "/bin/convert"))
811 ("w3m-imagick-identify-program"
812 (string-append imagemagick "/bin/identify")))
813 #t)))
814 (replace 'install
815 (lambda* (#:key outputs #:allow-other-keys)
816 (invoke "make" "install" "install-icons")
817 (with-directory-excursion
818 (string-append (assoc-ref outputs "out")
819 "/share/emacs/site-lisp")
820 (for-each delete-file '("ChangeLog" "ChangeLog.1"))
821 (symlink "w3m-load.el" "w3m-autoloads.el")
822 #t))))))
823 (home-page "http://emacs-w3m.namazu.org/")
824 (synopsis "Simple Web browser for Emacs based on w3m")
825 (description
826 "Emacs-w3m is an emacs interface for the w3m web browser.")
827 (license license:gpl2+)))
828
829(define-public emacs-wget
830 (package
831 (name "emacs-wget")
832 (version "0.5.0")
833 (source (origin
834 (method url-fetch)
835 (uri (string-append "mirror://debian/pool/main/w/wget-el/wget-el_"
836 version ".orig.tar.gz"))
837 (sha256
838 (base32 "10byvyv9dk0ib55gfqm7bcpxmx2qbih1jd03gmihrppr2mn52nff"))))
839 (build-system gnu-build-system)
840 (inputs `(("wget" ,wget)))
841 (native-inputs `(("emacs" ,emacs-minimal)))
842 (arguments
843 `(#:modules ((guix build gnu-build-system)
844 (guix build utils)
845 (guix build emacs-utils))
846 #:imported-modules (,@%gnu-build-system-modules
847 (guix build emacs-utils))
848 #:tests? #f ; no check target
849 #:phases
850 (modify-phases %standard-phases
851 (replace 'configure
852 (lambda* (#:key outputs #:allow-other-keys)
853 (substitute* "Makefile"
854 (("/usr/local") (assoc-ref outputs "out"))
855 (("/site-lisp/emacs-wget") "/site-lisp"))
856 #t))
857 (add-before 'build 'patch-exec-paths
858 (lambda* (#:key inputs outputs #:allow-other-keys)
859 (let ((wget (assoc-ref inputs "wget")))
860 (emacs-substitute-variables "wget.el"
861 ("wget-command" (string-append wget "/bin/wget"))))
862 #t))
863 (add-after 'install 'post-install
864 (lambda* (#:key outputs #:allow-other-keys)
865 (emacs-generate-autoloads
866 "wget" (string-append (assoc-ref outputs "out")
867 "/share/emacs/site-lisp/"))
868 #t)))))
869 (home-page "http://www.emacswiki.org/emacs/EmacsWget")
870 (synopsis "Simple file downloader for Emacs based on wget")
871 (description
872 "Emacs-wget is an emacs interface for the wget file downloader.")
873 (license license:gpl2+)))
874
875\f
876;;;
877;;; Multimedia.
878;;;
879
880(define-public emacs-emms
881 (package
882 (name "emacs-emms")
883 (version "5.1")
884 (source (origin
885 (method url-fetch)
886 (uri (string-append "mirror://gnu/emms/emms-"
887 version ".tar.gz"))
888 (sha256
889 (base32
890 "149ddczyx6x10zn4mn8g0rll1rwf4yciv8x6j0qdnlbwszblx2x6"))
891 (modules '((guix build utils)))
892 (snippet
893 '(begin
894 (substitute* "Makefile"
895 (("/usr/bin/install-info")
896 ;; No need to use 'install-info' since it would create a
897 ;; useless 'dir' file.
898 "true")
899 (("^INFODIR=.*")
900 ;; Install Info files to $out/share/info, not $out/info.
901 "INFODIR := $(PREFIX)/share/info\n")
902 (("/site-lisp/emms")
903 ;; Install directly in share/emacs/site-lisp, not in a
904 ;; sub-directory.
905 "/site-lisp")
906 (("^all: (.*)\n" _ rest)
907 ;; Build 'emms-print-metadata'.
908 (string-append "all: " rest " emms-print-metadata\n")))
909 #t))))
910 (build-system gnu-build-system)
911 (arguments
912 `(#:modules ((guix build gnu-build-system)
913 (guix build utils)
914 (guix build emacs-utils)
915 (ice-9 ftw))
916 #:imported-modules (,@%gnu-build-system-modules
917 (guix build emacs-utils))
918
919 #:phases
920 (modify-phases %standard-phases
921 (replace 'configure
922 (lambda* (#:key inputs outputs #:allow-other-keys)
923 (let ((out (assoc-ref outputs "out"))
924 (flac (assoc-ref inputs "flac"))
925 (vorbis (assoc-ref inputs "vorbis-tools"))
926 (alsa (assoc-ref inputs "alsa-utils"))
927 (mpg321 (assoc-ref inputs "mpg321"))
928 (mp3info (assoc-ref inputs "mp3info"))
929 (opus (assoc-ref inputs "opus-tools")))
930 ;; Specify the installation directory.
931 (substitute* "Makefile"
932 (("PREFIX=.*$")
933 (string-append "PREFIX := " out "\n")))
934
935 (setenv "SHELL" (which "sh"))
936 (setenv "CC" "gcc")
937
938 ;; Specify the absolute file names of the various
939 ;; programs so that everything works out-of-the-box.
940 (with-directory-excursion "lisp"
941 (emacs-substitute-variables
942 "emms-player-mpg321-remote.el"
943 ("emms-player-mpg321-remote-command"
944 (string-append mpg321 "/bin/mpg321")))
945 (substitute* "emms-player-simple.el"
946 (("\"ogg123\"")
947 (string-append "\"" vorbis "/bin/ogg123\"")))
948 (substitute* "emms-player-simple.el"
949 (("\"mpg321\"")
950 (string-append "\"" mpg321 "/bin/mpg321\"")))
951 (emacs-substitute-variables "emms-info-ogginfo.el"
952 ("emms-info-ogginfo-program-name"
953 (string-append vorbis "/bin/ogginfo")))
954 (emacs-substitute-variables "emms-info-opusinfo.el"
955 ("emms-info-opusinfo-program-name"
956 (string-append opus "/bin/opusinfo")))
957 (emacs-substitute-variables "emms-info-libtag.el"
958 ("emms-info-libtag-program-name"
959 (string-append out "/bin/emms-print-metadata")))
960 (emacs-substitute-variables "emms-info-mp3info.el"
961 ("emms-info-mp3info-program-name"
962 (string-append mp3info "/bin/mp3info")))
963 (emacs-substitute-variables "emms-info-metaflac.el"
964 ("emms-info-metaflac-program-name"
965 (string-append flac "/bin/metaflac")))
966 (emacs-substitute-variables "emms-source-file.el"
967 ("emms-source-file-gnu-find" (which "find")))
968 (substitute* "emms-volume-amixer.el"
969 (("\"amixer\"")
970 (string-append "\"" alsa "/bin/amixer\"")))
971 (substitute* "emms-tag-editor.el"
972 (("\"mp3info\"")
973 (string-append "\"" mp3info "/bin/mp3info\"")))))))
974 (add-before 'install 'pre-install
975 (lambda* (#:key outputs #:allow-other-keys)
976 ;; The 'install' rule expects the target directories to exist.
977 (let* ((out (assoc-ref outputs "out"))
978 (bin (string-append out "/bin"))
979 (man1 (string-append out "/share/man/man1")))
980 (mkdir-p bin)
981 (mkdir-p man1)
982
983 ;; Ensure that files are not rejected by gzip
984 (let ((early-1980 315619200)) ; 1980-01-02 UTC
985 (ftw "." (lambda (file stat flag)
986 (unless (<= early-1980 (stat:mtime stat))
987 (utime file early-1980 early-1980))
988 #t)))
989 #t)))
990 (add-after 'install 'post-install
991 (lambda* (#:key outputs #:allow-other-keys)
992 (let ((out (assoc-ref outputs "out")))
993 (symlink "emms-auto.el"
994 (string-append out "/share/emacs/site-lisp/"
995 "emms-autoloads.el")))
996 #t)))
997 #:tests? #f))
998 (native-inputs `(("emacs" ,emacs-minimal) ;for (guix build emacs-utils)
999 ("texinfo" ,texinfo)))
1000 (inputs `(("alsa-utils" ,alsa-utils)
1001 ("flac" ,flac) ;for metaflac
1002 ("vorbis-tools" ,vorbis-tools)
1003 ("mpg321" ,mpg321)
1004 ("taglib" ,taglib)
1005 ("mp3info" ,mp3info)
1006 ("opus-tools" ,opus-tools)))
1007 (properties '((upstream-name . "emms")))
1008 (synopsis "Emacs Multimedia System")
1009 (description
1010 "EMMS is the Emacs Multimedia System. It is a small front-end which
1011can control one of the supported external players. Thus, it supports
1012whatever formats are supported by your music player. It also
1013supports tagging and playlist management, all behind a clean and
1014light user interface.")
1015 (home-page "https://www.gnu.org/software/emms/")
1016 (license license:gpl3+)))
1017
1018(define-public emacs-emms-player-mpv
1019 ;; A new mpv backend is included in Emms from 5.0.
1020 (deprecated-package "emacs-emms-player-mpv" emacs-emms))
1021
1022(define-public emacs-emms-mode-line-cycle
1023 (package
1024 (name "emacs-emms-mode-line-cycle")
1025 (version "0.2.5")
1026 (source
1027 (origin
b2c08402
EF
1028 (method git-fetch)
1029 (uri (git-reference
1030 (url "https://github.com/momomo5717/emms-mode-line-cycle")
1031 (commit version)))
1032 (file-name (git-file-name name version))
eeb883cb
RW
1033 (sha256
1034 (base32
b2c08402 1035 "0q80f0plch6k4lhs8c9qm3mfycfbp3kn5sjrk9zxgxwnn901y9mp"))))
eeb883cb
RW
1036 (build-system emacs-build-system)
1037 (propagated-inputs
1038 `(("emms" ,emacs-emms)))
1039 (home-page "https://github.com/momomo5717/emms-mode-line-cycle")
1040 (synopsis "Display the EMMS mode line as a ticker")
1041 (description
1042 "This is a minor mode for updating the EMMS mode-line string cyclically
1043within a specified width. It is useful for displaying long track titles.")
1044 (license license:gpl3+)))
1045
1046\f
1047;;;
1048;;; Miscellaneous.
1049;;;
1050
1051(define-public emacs-bbdb
1052 (package
1053 (name "emacs-bbdb")
1054 (version "3.1.2")
1055 (source (origin
1056 (method url-fetch)
1057 (uri (string-append "mirror://savannah/bbdb/bbdb-"
1058 version ".tar.gz"))
1059 (sha256
1060 (base32
1061 "1gs16bbpiiy01w9pyg12868r57kx1v3hnw04gmqsmpc40l1hyy05"))
1062 (modules '((guix build utils)))
1063 (snippet
1064 ;; We don't want to build and install the PDF.
1065 '(begin
1066 (substitute* "doc/Makefile.in"
1067 (("^doc_DATA = .*$")
1068 "doc_DATA =\n"))
1069 #t))))
1070 (build-system gnu-build-system)
1071 (arguments
1072 '(#:phases
1073 (modify-phases %standard-phases
1074 (add-after 'install 'post-install
1075 (lambda* (#:key outputs #:allow-other-keys)
1076 ;; Add an autoloads file with the right name for guix.el.
1077 (let* ((out (assoc-ref outputs "out"))
1078 (site (string-append out "/share/emacs/site-lisp")))
1079 (with-directory-excursion site
1080 (symlink "bbdb-loaddefs.el" "bbdb-autoloads.el")))
1081 #t)))))
1082 (native-inputs `(("emacs" ,emacs-minimal)))
1083 (home-page "https://savannah.nongnu.org/projects/bbdb/")
1084 (synopsis "Contact management utility for Emacs")
1085 (description
1086 "BBDB is the Insidious Big Brother Database for GNU Emacs. It provides
1087an address book for email and snail mail addresses, phone numbers and the
1088like. It can be linked with various Emacs mail clients (Message and Mail
1089mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
1090 (license license:gpl3+)))
1091
1092(define-public bbdb
1093 (deprecated-package "bbdb" emacs-bbdb))
1094
1095(define-public emacs-aggressive-indent
1096 (package
1097 (name "emacs-aggressive-indent")
1098 (version "1.8.3")
1099 (source (origin
1100 (method url-fetch)
1101 (uri (string-append "https://elpa.gnu.org/packages/"
1102 "aggressive-indent-" version ".el"))
1103 (sha256
1104 (base32
1105 "0jnzccl50x0wapprgwxinp99pwwa6j43q6msn4gv437j7swy8wnj"))))
1106 (build-system emacs-build-system)
1107 (home-page "https://elpa.gnu.org/packages/aggressive-indent.html")
1108 (synopsis "Minor mode to aggressively keep your code always indented")
1109 (description
1110 "@code{aggressive-indent-mode} is a minor mode that keeps your code
1111always indented. It reindents after every change, making it more reliable
1112than @code{electric-indent-mode}.")
1113 (license license:gpl2+)))
1114
1115(define-public emacs-ag
1116 (package
1117 (name "emacs-ag")
1118 (version "0.47")
1119 (source (origin
1120 (method url-fetch)
1121 (uri (string-append
1122 "https://github.com/Wilfred/ag.el/archive/"
1123 version ".tar.gz"))
1124 (file-name (string-append name "-" version ".tar.gz"))
1125 (sha256
1126 (base32
1127 "1rlmp6wnyhqfg86dbz17r914msp58favn4kd4yrdwyia265a4lar"))))
1128 (build-system emacs-build-system)
1129 (arguments
1130 `(#:phases
1131 (modify-phases %standard-phases
1132 (add-before 'install 'make-info
1133 (lambda _
1134 (with-directory-excursion "docs"
1135 (invoke "make" "info"))))
1136 (add-after 'install 'install-info
1137 (lambda* (#:key outputs #:allow-other-keys)
1138 (let* ((out (assoc-ref outputs "out"))
1139 (info (string-append out "/share/info")))
1140 (install-file "docs/_build/texinfo/agel.info" info)
1141 #t))))))
1142 (native-inputs
1143 `(("python-sphinx" ,python-sphinx)
1144 ("texinfo" ,texinfo)))
1145 (propagated-inputs
1146 `(("dash" ,emacs-dash)
1147 ("s" ,emacs-s)
1148 ;; We need to use 'ag' as the executable on remote systems.
1149 ("the-silver-searcher" ,the-silver-searcher)))
1150 (home-page "https://github.com/Wilfred/ag.el")
1151 (synopsis "Front-end for ag (the-silver-searcher) for Emacs")
1152 (description "This package provides the ability to use the silver
1153searcher, a code searching tool, sometimes abbreviated to @code{ag}. Features
1154include version control system awareness, use of Perl compatible regular
1155expressions, editing the search results directly and searching file names
1156rather than the contents of files.")
1157 (license license:gpl3+)))
1158
1159(define-public emacs-async
1160 (package
1161 (name "emacs-async")
1162 (home-page "https://github.com/jwiegley/emacs-async")
1163 (version "1.9.3")
1164 (source (origin
1165 (method git-fetch)
1166 (uri (git-reference
1167 (url home-page)
1168 (commit (string-append "v" version))))
1169 (file-name (git-file-name name version))
1170 (sha256
1171 (base32
1172 "1zsnb6dy8p6y68xgidv3dfxaga4biramfw8fq7wac0sc50vc98vq"))))
1173 (build-system emacs-build-system)
1174 (synopsis "Asynchronous processing in Emacs")
1175 (description
1176 "This package provides the ability to call asynchronous functions and
1177processes. For example, it can be used to run dired commands (for copying,
1178moving, etc.) asynchronously using @code{dired-async-mode}. Also it is used
1179as a library for other Emacs packages.")
1180 (license license:gpl3+)))
1181
1182(define-public emacs-auctex
1183 (package
1184 (name "emacs-auctex")
1185 (version "12.1.0")
1186 (source
1187 (origin
1188 (method url-fetch)
1189 (uri (string-append
1190 "https://elpa.gnu.org/packages/auctex-"
1191 version
1192 ".tar"))
1193 (sha256
1194 (base32
1195 "0iy5x61xqkxaph2hq64sg50l1c6yp6qhzppwadayxkdz00b46sas"))))
1196 (build-system emacs-build-system)
1197 ;; We use 'emacs' because AUCTeX requires dbus at compile time
1198 ;; ('emacs-minimal' does not provide dbus).
1199 (arguments
1200 `(#:emacs ,emacs
1201 #:include '("\\.el$" "^images/" "^latex/" "\\.info$")
1202 #:exclude '("^tests/" "^latex/README")))
1203 (native-inputs
1204 `(("perl" ,perl)))
1205 (home-page "https://www.gnu.org/software/auctex/")
1206 (synopsis "Integrated environment for TeX")
1207 (description
1208 "AUCTeX is a comprehensive customizable integrated environment for
1209writing input files for TeX, LaTeX, ConTeXt, Texinfo, and docTeX using Emacs
1210or XEmacs.")
1211 (license license:gpl3+)))
1212
1213(define-public emacs-autothemer
1214 (package
1215 (name "emacs-autothemer")
1216 (version "0.2.2")
1217 (source
1218 (origin
1219 (method url-fetch)
1220 (uri (string-append "https://github.com/sebastiansturm/autothemer/archive/"
1221 version ".tar.gz"))
1222 (file-name (string-append name "-" version ".tar.gz"))
1223 (sha256
1224 (base32
1225 "0rd28r9wfrbll212am4ih9hrvypx785aff76va2cbfxdwm9kixsa"))))
1226 (build-system emacs-build-system)
1227 (propagated-inputs
1228 `(("emacs-dash" ,emacs-dash)))
1229 (home-page "https://github.com/sebastiansturm/autothemer")
1230 (synopsis "Conveniently create Emacs themes")
1231 (description
1232 "Autothemer provides a thin layer on top of @code{deftheme} and
1233@code{custom-theme-set-faces} that creates a new custom color theme, based on
1234a set of simplified face specifications and a user-supplied color palette")
1235 (license license:gpl3+)))
1236
1237(define-public emacs-howm
1238 (package
1239 (name "emacs-howm")
1240 (version "1.4.4")
1241 (source
1242 (origin
1243 (method url-fetch)
1244 (uri (string-append "http://howm.sourceforge.jp/a/howm-"
1245 version ".tar.gz"))
1246 (sha256
1247 (base32
1248 "0ddm91l6z58j7x59fa966j6q1rg4cinyza4r8ibg80hprn5h31qk"))))
1249 (build-system gnu-build-system)
1250 (native-inputs
1251 `(("emacs" ,emacs-minimal)))
1252 (arguments
1253 `(#:configure-flags
1254 (list (string-append "--with-howmdir=" %output
1255 "/share/emacs/site-lisp/guix.d/howm-" ,version))
1256 #:modules ((guix build gnu-build-system)
1257 ((guix build emacs-build-system) #:prefix emacs:)
1258 (guix build utils))
1259 #:imported-modules (,@%gnu-build-system-modules
1260 (guix build emacs-build-system)
1261 (guix build emacs-utils))
1262 #:phases
1263 (modify-phases %standard-phases
1264 (add-after 'install 'make-autoloads
1265 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1266 (home-page "http://howm.osdn.jp/")
1267 (synopsis "Note-taking tool for Emacs")
1268 (description "Howm is a note-taking tool for Emacs. Like
1269code@{emacs-wiki.el}, it facilitates using hyperlinks and doing full-text
1270searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
1271 (license license:gpl1+)))
1272
1273(define-public emacs-calfw
1274 (package
1275 (name "emacs-calfw")
1276 (version "1.6")
1277 (source
1278 (origin
1279 (method url-fetch)
1280 (uri (string-append
1281 "https://github.com/kiwanami/emacs-calfw/archive/v"
1282 version ".tar.gz"))
1283 (file-name (string-append name "-" version ".tar.gz"))
1284 (sha256
1285 (base32
1286 "1zr91xr0f1xfcv78yxka8vs5ximmq2ixmqf2pkb57kwwnxlypq4i"))))
1287 (build-system emacs-build-system)
1288 (propagated-inputs
1289 `(("emacs-howm" ,emacs-howm)))
1290 (home-page "https://github.com/kiwanami/emacs-calfw/")
1291 (synopsis "Calendar framework for Emacs")
1292 (description
1293 "This package displays a calendar view with various schedule data in the
1294Emacs buffer.")
1295 (license license:gpl3+)))
1296
1297(define-public emacs-direnv
1298 (package
1299 (name "emacs-direnv")
1300 (version "1.2.0")
1301 (source
1302 (origin
1303 (method url-fetch)
1304 (uri (string-append
1305 "https://github.com/wbolster/emacs-direnv/archive/"
1306 version ".tar.gz"))
1307 (file-name (string-append name "-" version ".tar.gz"))
1308 (sha256
1309 (base32
1310 "0m9nxawklhiiysyibzzhh2zkxgq1fskqvaqb06f7r8dnhabfy9fr"))))
1311 (build-system emacs-build-system)
1312 (propagated-inputs
1313 `(("dash" ,emacs-dash)
1314 ("with-editor" ,emacs-with-editor)))
1315 (home-page "https://github.com/wbolster/emacs-direnv")
1316 (synopsis "Direnv integration for Emacs")
1317 (description
1318 "This package provides support for invoking direnv to get the environment
1319for the current file and updating the environment within Emacs to match.
1320
1321Direnv can be invoked manually, and a global minor mode is included that will
1322update the environment when the active buffer changes.
1323
1324Using emacs-direnv means that programs started from Emacs will use the
1325environment set through Direnv.")
1326 (license license:gpl3+)))
1327
1328(define-public emacs-ggtags
1329 (package
1330 (name "emacs-ggtags")
1331 (version "0.8.13")
1332 (source
1333 (origin
1334 (method url-fetch)
1335 (uri (string-append "http://elpa.gnu.org/packages/ggtags-"
1336 version ".el"))
1337 (sha256
1338 (base32
1339 "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"))))
1340 (build-system emacs-build-system)
1341 (inputs
1342 `(("global" ,global)))
1343 (arguments
1344 `(#:phases
1345 (modify-phases %standard-phases
1346 (add-after 'unpack 'configure
1347 (lambda* (#:key inputs #:allow-other-keys)
1348 (chmod "ggtags.el" #o644)
1349 (emacs-substitute-variables "ggtags.el"
1350 ("ggtags-executable-directory"
1351 (string-append (assoc-ref inputs "global") "/bin")))
1352 #t)))))
1353 (home-page "https://github.com/leoliu/ggtags")
1354 (synopsis "Frontend to the GNU Global source code tagging system")
1355 (description "@code{ggtags} provides a frontend to the GNU Global source
1356code tagging system.
1357
1358Features:
1359
1360@itemize
1361@item Build on @code{compile.el} for asynchronicity and its large feature-set.
1362@item Automatically update Global's tag files when needed with tuning for
1363large source trees.
1364@item Intuitive navigation among multiple matches with mode-line display of
1365current match, total matches and exit status.
1366@item Read tag with completion.
1367@item Show definition at point.
1368@item Jump to #include files.
1369@item Support search history and saving a search to register/bookmark.
1370@item Query replace.
1371@item Manage Global's environment variables on a per-project basis.
1372@item Highlight (definition) tag at point.
1373@item Abbreviated display of file names.
1374@item Support all Global search backends: @code{grep}, @code{idutils}, etc.
1375@item Support exuberant ctags @url{http://ctags.sourceforge.net/} and
1376@code{pygments} backend.
1377@item Support all Global's output formats: @code{grep}, @code{ctags-x},
1378@code{cscope} etc.
1379@item Support projects on remote hosts (e.g. via @code{tramp}).
1380@item Support eldoc.
1381@item Search @code{GTAGSLIBPATH} for references and symbols.
1382@end itemize\n")
1383 (license license:gpl3+)))
1384
1385(define-public emacs-go-mode
1386 (package
1387 (name "emacs-go-mode")
1388 (version "1.5.0")
1389 (source (origin
1390 (method git-fetch)
1391 (uri (git-reference
1392 (url "https://github.com/dominikh/go-mode.el.git")
1393 (commit (string-append "v" version))))
1394 (file-name (git-file-name name version))
1395 (sha256
1396 (base32
1397 "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf"))))
1398 (build-system emacs-build-system)
1399 (arguments
1400 `(#:phases
1401 (modify-phases %standard-phases
1402 (add-after 'unpack 'make-writable
1403 (lambda _
1404 (for-each make-file-writable (find-files "." "\\.el$"))
1405 #t)))))
1406 (home-page "https://github.com/dominikh/go-mode.el")
1407 (synopsis "Go mode for Emacs")
1408 (description
1409 "This package provides go-mode, an Emacs mode for working with software
1410written in the Go programming language.")
1411 (license license:bsd-3)))
1412
1413(define-public emacs-google-maps
1414 (package
1415 (name "emacs-google-maps")
1416 (version "1.0.0")
1417 (source (origin
1418 (method url-fetch)
1419 (uri (string-append "https://github.com/jd/google-maps.el/"
1420 "archive/" version ".tar.gz"))
1421 (file-name (string-append name "-" version ".tar.gz"))
1422 (sha256
1423 (base32
1424 "014bxapm4d8vjxbzrfjdpsavxyfx981mlcb10aq5rmigr6il8ybs"))))
1425 (build-system emacs-build-system)
1426 (home-page "https://github.com/jd/google-maps.el")
1427 (synopsis "Access Google Maps from Emacs")
1428 (description "The @code{google-maps} package allows to display Google
1429Maps directly inside Emacs.")
1430 (license license:gpl3+)))
1431
1432(define-public emacs-graphviz-dot-mode
1433 (let ((commit "c456a2b65c734089e6c44e87209a5a432a741b1a")
1434 (revision "1"))
1435 (package
1436 (name "emacs-graphviz-dot-mode")
1437 (version (string-append "0.3.11-" revision "."
1438 (string-take commit 7)))
1439 (source (origin
1440 (method git-fetch)
1441 (uri (git-reference
1442 (url "https://github.com/ppareit/graphviz-dot-mode.git")
1443 (commit commit)))
1444 (file-name (string-append name "-" version "-checkout"))
1445 (sha256
1446 (base32
1447 "0j1r2rspaakw37b0mx7pwpvdsvixq9sw3xjbww5piihzpdxz58z1"))))
1448 (build-system emacs-build-system)
1449 (arguments
1450 `(#:phases
1451 (modify-phases %standard-phases
1452 (add-before 'install 'make-info
1453 (lambda* (#:key inputs #:allow-other-keys)
1454 (with-directory-excursion "texinfo"
1455 (substitute* "Makefile"
1456 (("\\/usr\\/bin\\/gzip")
1457 (string-append (assoc-ref inputs "gzip") "/bin/gzip")))
1458 (invoke "make"
1459 "clean"
1460 "info"
1461 (string-append "TEXINFODIR="
1462 (assoc-ref inputs "texinfo")
1463 "/bin")))))
1464 (add-after 'install 'install-info
1465 (lambda* (#:key outputs #:allow-other-keys)
1466 (let* ((out (assoc-ref outputs "out"))
1467 (info (string-append out "/share/info")))
1468 (install-file "texinfo/graphviz-dot-mode.info.gz" info)
1469 #t))))))
1470 (native-inputs
1471 `(("texinfo" ,texinfo)
1472 ("gzip" ,gzip)))
1473 (home-page "http://ppareit.github.com/graphviz-dot-mode")
1474 (synopsis "Major mode for editing Graphviz Dot files")
1475 (description
1476 "This Emacs packages helps you to create @file{.dot} or @file{.gv}
1477files using the dot syntax, and use Graphviz to convert these files to
1478diagrams.")
1479 (license license:gpl2+))))
1480
1481(define-public emacs-mmm-mode
1482 (package
1483 (name "emacs-mmm-mode")
1484 (version "0.5.5")
1485 (source
1486 (origin
1487 (method url-fetch)
1488 (uri (string-append
1489 "https://github.com/purcell/mmm-mode/archive/"
1490 version ".tar.gz"))
1491 (file-name (string-append name "-" version ".tar.gz"))
1492 (sha256
1493 (base32
1494 "0c5ing3hcr74k78hqhrfwiv6m3n8hqfrw89j2x34vf60f4iyqzqc"))))
1495 (build-system gnu-build-system)
1496 (arguments
1497 '(#:phases
1498 (modify-phases %standard-phases
1499 (add-after 'unpack 'autogen
1500 (lambda _
1501 (invoke "sh" "autogen.sh"))))))
1502 (native-inputs
1503 `(("autoconf" ,autoconf)
1504 ("automake" ,automake)
1505 ("emacs" ,emacs-minimal)
1506 ("texinfo" ,texinfo)))
1507 (home-page "https://github.com/purcell/mmm-mode")
1508 (synopsis "Allow multiple major modes in an Emacs buffer")
1509 (description
1510 "MMM Mode is a minor mode that allows multiple major modes to coexist in a
1511single buffer.")
1512 (license license:gpl3+)))
1513
1514(define-public emacs-tablist
1515 (package
1516 (name "emacs-tablist")
1517 (version "0.70")
1518 (source (origin
1519 (method url-fetch)
1520 (uri (string-append
1521 "https://github.com/politza/tablist/archive/v"
1522 version ".tar.gz"))
1523 (file-name (string-append name "-" version ".tar.gz"))
1524 (sha256
1525 (base32
1526 "177d6s7ym1mwz1nhnl09r14z3n093g9a2szm97xsaig0c204xz9c"))))
1527 (build-system emacs-build-system)
1528 (home-page "https://github.com/politza/tablist")
1529 (synopsis "Extension for @code{tabulated-list-mode}")
1530 (description "Tablist is the Emacs package that provides several
1531additional features to @code{tabulated-list-mode}: it adds marks,
1532filters, new key bindings and faces. It can be enabled by
1533@code{tablist-mode} or @code{tablist-minor-mode} commands.")
1534 (license license:gpl3+)))
1535
1536(define-public emacs-pdf-tools
1537 (package
1538 (name "emacs-pdf-tools")
2becddeb 1539 (version "0.90")
eeb883cb
RW
1540 (home-page "https://github.com/politza/pdf-tools")
1541 (source (origin
1542 (method git-fetch)
1543 (uri (git-reference (url home-page)
1544 (commit (string-append "v" version))))
1545 (file-name (git-file-name name version))
1546 (sha256
1547 (base32
2becddeb 1548 "0iv2g5kd14zk3r5dzdw7b7hk4b5w7qpbilcqkja46jgxbb6xnpl9"))))
eeb883cb
RW
1549 (build-system gnu-build-system)
1550 (arguments
2becddeb 1551 `(#:tests? #f ; there are no tests
eeb883cb
RW
1552 #:modules ((guix build gnu-build-system)
1553 ((guix build emacs-build-system) #:prefix emacs:)
1554 (guix build utils)
1555 (guix build emacs-utils))
1556 #:imported-modules (,@%gnu-build-system-modules
1557 (guix build emacs-build-system)
1558 (guix build emacs-utils))
1559 #:phases
1560 (modify-phases %standard-phases
1561 ;; Build server side using 'gnu-build-system'.
1562 (add-after 'unpack 'enter-server-dir
1563 (lambda _ (chdir "server") #t))
1564 (add-after 'enter-server-dir 'autogen
1565 (lambda _
1566 (invoke "bash" "autogen.sh")))
1567
1568 ;; Build emacs side using 'emacs-build-system'.
1569 (add-after 'compress-documentation 'enter-lisp-dir
1570 (lambda _ (chdir "../lisp") #t))
1571 (add-after 'enter-lisp-dir 'emacs-patch-variables
1572 (lambda* (#:key outputs #:allow-other-keys)
1573 (for-each make-file-writable (find-files "."))
1574
1575 ;; Set path to epdfinfo program.
1576 (emacs-substitute-variables "pdf-info.el"
1577 ("pdf-info-epdfinfo-program"
1578 (string-append (assoc-ref outputs "out")
1579 "/bin/epdfinfo")))
1580 ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto
1581 ;; upgrading" that pdf-tools tries to perform.
1582 (emacs-substitute-variables "pdf-tools.el"
1583 ("pdf-tools-handle-upgrades" '()))))
1584 (add-after 'emacs-patch-variables 'emacs-set-emacs-load-path
1585 (assoc-ref emacs:%standard-phases 'set-emacs-load-path))
1586 (add-after 'emacs-set-emacs-load-path 'emacs-install
1587 (assoc-ref emacs:%standard-phases 'install))
1588 (add-after 'emacs-install 'emacs-build
1589 (assoc-ref emacs:%standard-phases 'build))
1590 (add-after 'emacs-install 'emacs-make-autoloads
1591 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1592 (native-inputs `(("autoconf" ,autoconf)
1593 ("automake" ,automake)
1594 ("pkg-config" ,pkg-config)
1595 ("emacs" ,emacs-minimal)))
1596 (inputs `(("poppler" ,poppler)
1597 ("cairo" ,cairo)
1598 ("glib" ,glib)
1599 ("libpng" ,libpng)
1600 ("zlib" ,zlib)))
1601 (propagated-inputs `(("tablist" ,emacs-tablist)))
1602 (synopsis "Emacs support library for PDF files")
1603 (description
1604 "PDF Tools is, among other things, a replacement of DocView for PDF
1605files. The key difference is that pages are not pre-rendered by
1606e.g. ghostscript and stored in the file-system, but rather created on-demand
1607and stored in memory.")
1608 (license license:gpl3+)))
1609
1610(define-public emacs-dash
1611 (package
1612 (name "emacs-dash")
1613 (version "2.14.1")
1614 (source (origin
1615 (method git-fetch)
1616 (uri (git-reference
1617 (url "https://github.com/magnars/dash.el.git")
1618 (commit version)))
1619 (file-name (git-file-name name version))
1620 (sha256
1621 (base32
1622 "1kzijmjxjxgr7p8clphzvmm47vczckbs8mza9an77c25bn627ywl"))))
1623 (build-system emacs-build-system)
1624 (arguments
1625 `(#:tests? #t
1626 #:test-command '("./run-tests.sh")))
1627 (home-page "https://github.com/magnars/dash.el")
1628 (synopsis "Modern list library for Emacs")
1629 (description "This package provides a modern list API library for Emacs.")
1630 (license license:gpl3+)))
1631
1632(define-public emacs-bui
1633 (package
1634 (name "emacs-bui")
1635 (version "1.2.1")
1636 (source (origin
1637 (method git-fetch)
1638 (uri (git-reference
1639 (url "https://notabug.org/alezost/emacs-bui.git")
1640 (commit (string-append "v" version))))
1641 (file-name (string-append name "-" version "-checkout"))
1642 (sha256
1643 (base32
1644 "0sszdl4kvqbihdh8d7mybpp0d8yw2p3gyiipjcxz9xhvvmw3ww4x"))))
1645 (build-system emacs-build-system)
1646 (propagated-inputs
1647 `(("dash" ,emacs-dash)))
1648 (home-page "https://notabug.org/alezost/emacs-bui")
1649 (synopsis "Buffer interface library for Emacs")
1650 (description
1651 "BUI (Buffer User Interface) is a library for making @code{list} and
1652@code{info} interfaces to display an arbitrary data of the same
1653type, for example: packages, buffers, files, etc.")
1654 (license license:gpl3+)))
1655
1656(define-public emacs-guix
1657 (package
1658 (name "emacs-guix")
1659 (version "0.5.1.1")
1660 (source (origin
1661 (method url-fetch)
1662 (uri (string-append "https://emacs-guix.gitlab.io/website/"
1663 "releases/emacs-guix-" version ".tar.gz"))
1664 (sha256
1665 (base32
1666 "1gxg7lan3njc2yg2d02b2zij0d2cm2pv2q08nqz86s85jk3b6m03"))))
1667 (build-system gnu-build-system)
1668 (arguments
1669 `(#:configure-flags
1670 (let ((guix (assoc-ref %build-inputs "guix"))
1671 (gcrypt (assoc-ref %build-inputs "guile-gcrypt"))
1672 (geiser (assoc-ref %build-inputs "geiser"))
1673 (dash (assoc-ref %build-inputs "dash"))
1674 (bui (assoc-ref %build-inputs "bui"))
1675 (magit-popup (assoc-ref %build-inputs "magit-popup"))
1676 (edit-indirect (assoc-ref %build-inputs "edit-indirect"))
1677 (site-lisp "/share/emacs/site-lisp")
1678 (site-scm "/share/guile/site")
1679 (site-go "/lib/guile")
1680 (guile-dir (lambda (dir)
1681 (car (find-files dir
1682 (lambda (file stat)
1683 (string-prefix?
1684 "2." (basename file)))
1685 #:directories? #t)))))
1686 (list (string-append "--with-guix-site-dir="
1687 (guile-dir (string-append guix site-scm)))
1688 (string-append "--with-guix-site-ccache-dir="
1689 (guile-dir (string-append guix site-go))
1690 "/site-ccache")
1691 (string-append "--with-guile-gcrypt-site-dir="
1692 (guile-dir (string-append gcrypt site-scm)))
1693 (string-append "--with-guile-gcrypt-site-ccache-dir="
1694 (guile-dir (string-append gcrypt site-go))
1695 "/site-ccache")
1696 (string-append "--with-geiser-lispdir=" geiser site-lisp)
1697 (string-append "--with-dash-lispdir="
1698 dash site-lisp "/guix.d/dash-"
1699 ,(package-version emacs-dash))
1700 (string-append "--with-bui-lispdir="
1701 bui site-lisp "/guix.d/bui-"
1702 ,(package-version emacs-bui))
1703 (string-append "--with-editindirect-lispdir="
1704 edit-indirect site-lisp "/guix.d/edit-indirect-"
1705 ,(package-version emacs-edit-indirect))
1706 (string-append "--with-popup-lispdir="
1707 magit-popup site-lisp "/guix.d/magit-popup-"
1708 ,(package-version emacs-magit-popup))))))
1709 (native-inputs
1710 `(("pkg-config" ,pkg-config)
1711 ("emacs" ,emacs-minimal)))
1712 (inputs
1713 `(("guile" ,guile-2.2)
1714 ("guix" ,guix)))
1715 (propagated-inputs
1716 `(("geiser" ,emacs-geiser)
1717 ("guile-gcrypt" ,guile-gcrypt)
1718 ("dash" ,emacs-dash)
1719 ("bui" ,emacs-bui)
1720 ("edit-indirect" ,emacs-edit-indirect)
1721 ("magit-popup" ,emacs-magit-popup)))
1722 (home-page "https://emacs-guix.gitlab.io/website/")
1723 (synopsis "Emacs interface for GNU Guix")
1724 (description
1725 "Emacs-Guix provides a visual interface, tools and features for the GNU
1726Guix package manager. Particularly, it allows you to do various package
1727management tasks from Emacs. To begin with, run @code{M-x guix-about} or
1728@code{M-x guix-help} command.")
1729 (license license:gpl3+)))
1730
1731(define-public emacs-build-farm
1732 (package
1733 (name "emacs-build-farm")
1734 (version "0.2.2")
1735 (source (origin
1736 (method git-fetch)
1737 (uri (git-reference
1738 (url "https://notabug.org/alezost/emacs-build-farm.git")
1739 (commit (string-append "v" version))))
1740 (file-name (string-append name "-" version "-checkout"))
1741 (sha256
1742 (base32
1743 "0i0bwbav5861j2y15j9nd5m9rdqg9q97zgcbld8pivr9nyxy63lz"))))
1744 (build-system emacs-build-system)
1745 (propagated-inputs
1746 `(("bui" ,emacs-bui)
1747 ("magit-popup" ,emacs-magit-popup)))
1748 (home-page "https://notabug.org/alezost/emacs-build-farm")
1749 (synopsis "Emacs interface for Hydra and Cuirass build farms")
1750 (description
1751 "This Emacs package provides an interface for Hydra and
1752Cuirass (build farms used by Nix and Guix). It allows you to look at
1753various data related to the build farm projects, jobsets, builds and
1754evaluations. The entry point is @code{M-x build-farm} command.")
1755 (license license:gpl3+)))
1756
1757(define-public emacs-d-mode
1758 (package
1759 (name "emacs-d-mode")
1760 (version "2.0.9")
1761 (source (origin
1762 (method url-fetch)
1763 (uri (string-append
1764 "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode/"
1765 "archive/" version ".tar.gz"))
1766 (file-name (string-append name "-" version ".tar.gz"))
1767 (sha256
1768 (base32
1769 "127aa77ix3p7w4g339bx026df9y649dahlr3v359z0hs40zjz3kd"))))
1770 (build-system emacs-build-system)
1771 (propagated-inputs
1772 `(("emacs-undercover" ,emacs-undercover)))
1773 (home-page "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode")
1774 (synopsis "Emacs major mode for editing D code")
1775 (description "This package provides an Emacs major mode for highlighting
1776code written in the D programming language. This mode is currently known to
1777work with Emacs 24 and 25.")
1778 (license license:gpl2+)))
1779
1780(define-public emacs-keyfreq
1781 (package
1782 (name "emacs-keyfreq")
1783 (version "20160516.716")
1784 (source
1785 (origin
1786 (method url-fetch)
1787 (uri (string-append "http://melpa.org/packages/keyfreq-"
1788 version ".el"))
1789 (sha256
1790 (base32
1791 "008hd7d06qskc3mx0bbdgpgy2pwxr8185fzlyqf9qjg49y74p6g8"))))
1792 (build-system emacs-build-system)
1793 (home-page "https://github.com/dacap/keyfreq")
1794 (synopsis "Track Emacs command frequencies")
1795 (description "@code{emacs-keyfeq} tracks and shows how many times you used
1796a command.")
1797 (license license:gpl3+)))
1798
1799(define-public emacs-olivetti
1800 (package
1801 (name "emacs-olivetti")
1802 (version "1.5.7")
1803 (source (origin
1804 (method url-fetch)
1805 (uri (string-append
1806 "https://stable.melpa.org/packages/olivetti-"
1807 version ".el"))
1808 (sha256
1809 (base32
1810 "1yj2ylg46q0pw1xzlv2b0fv9x8p56x25284s9v2smwjr4vf0nwcj"))))
1811 (build-system emacs-build-system)
1812 (home-page "https://github.com/rnkn/olivetti")
1813 (synopsis "Emacs minor mode for a nice writing environment")
1814 (description "This package provides an Emacs minor mode that puts writing
1815in the center.")
1816 (license license:gpl3+)))
1817
1818(define-public emacs-undo-tree
1819 (package
1820 (name "emacs-undo-tree")
1821 (version "0.6.6")
1822 (source (origin
1823 (method git-fetch)
1824 (uri (git-reference
1825 (url "http://dr-qubit.org/git/undo-tree.git")
1826 (commit (string-append "release/" version))))
1827 (file-name (string-append name "-" version "-checkout"))
1828 (sha256
1829 (base32
1830 "1hnh2mnmw179gr094r561w6cw1haid0lpvpqvkc24wpj82vphzpa"))))
1831 (build-system emacs-build-system)
1832 (home-page "http://www.dr-qubit.org/emacs.php")
1833 (synopsis "Treat undo history as a tree")
1834 (description "Tree-like interface to Emacs undo system, providing
1835graphical tree presentation of all previous states of buffer that
1836allows easily move between them.")
1837 (license license:gpl3+)))
1838
1839(define-public emacs-s
1840 (package
1841 (name "emacs-s")
1842 (version "1.12.0")
1843 (source (origin
1844 (method url-fetch)
1845 (uri (string-append
1846 "https://github.com/magnars/s.el/archive/"
1847 version ".tar.gz"))
1848 (file-name (string-append name "-" version ".tar.gz"))
1849 (sha256
1850 (base32
1851 "0xbl75863pcm806zg0x1lw7qznzjq2c8320k8js7apyag8q4srvh"))))
1852 (build-system emacs-build-system)
1853 (arguments
1854 `(#:tests? #t
1855 #:emacs ,emacs ; FIXME: tests fail with emacs-minimal
1856 #:test-command '("./run-tests.sh")))
1857 (home-page "https://github.com/magnars/s.el")
1858 (synopsis "Emacs string manipulation library")
1859 (description "This package provides an Emacs library for manipulating
1860strings.")
1861 (license license:gpl3+)))
1862
1863(define-public emacs-symon
1864 (package
1865 (name "emacs-symon")
1866 (version "20160630")
1867 (source
1868 (origin
1869 (method url-fetch)
1870 (uri (string-append "https://github.com/zk-phi/symon/archive/"
1871 version ".tar.gz"))
1872 (file-name (string-append name "-" version ".tar.gz"))
1873 (sha256
1874 (base32
1875 "0h4jcgdnq98wc9rj72nwyazq8498yg55jfljiij5qwbn1xf1g5zz"))))
1876 (build-system emacs-build-system)
1877 (home-page "https://github.com/zk-phi/symon")
1878 (synopsis "Tiny graphical system monitor")
1879 (description
1880 "Tiny graphical system monitor for the Emacs minibuffer when idle.")
1881 (license license:gpl2+)))
1882
1883(define-public emacs-sx
1884 (let ((version "20180212")
1885 (revision "1")
1886 (commit "833435fbf90d1c9e927d165b155f3b1ef39271de"))
1887 (package
1888 (name "emacs-sx")
1889 (version (git-version version revision commit))
1890 (source
1891 (origin
1892 (method git-fetch)
1893 (uri (git-reference
1894 (url "https://github.com/vermiculus/sx.el")
1895 (commit commit)))
1896 (file-name (git-file-name name version))
1897 (sha256
1898 (base32
1899 "1369xaxq1vy3d9yh862ddnhddikdpg2d0wv1ly00pnvdp9v4cqgd"))))
1900 (build-system emacs-build-system)
1901 (propagated-inputs
1902 `(("emacs-markdown-mode" ,emacs-markdown-mode)))
1903 (home-page "https://github.com/vermiculus/sx.el")
1904 (synopsis "Emacs StackExchange client")
1905 (description
1906 "Emacs StackExchange client. Ask and answer questions on
1907Stack Overflow, Super User, and other StackExchange sites.")
1908 (license license:gpl3+))))
1909
1910(define-public emacs-f
1911 (package
1912 (name "emacs-f")
1913 (version "0.20.0")
1914 (source (origin
1915 (method git-fetch)
1916 (uri (git-reference
1917 (url "https://github.com/rejeep/f.el.git")
1918 (commit (string-append "v" version))))
1919 (file-name (git-file-name name version))
1920 (sha256
1921 (base32
1922 "1a47xk3yp1rp17fqg7ldl3d3fb888h0fz3sysqfdz1bfdgs8a9bk"))))
1923 (build-system emacs-build-system)
1924 (propagated-inputs
1925 `(("emacs-s" ,emacs-s)
1926 ("emacs-dash" ,emacs-dash)))
1927 (home-page "https://github.com/rejeep/f.el")
1928 (synopsis "Emacs API for working with files and directories")
1929 (description "This package provides an Emacs library for working with
1930files and directories.")
1931 (license license:gpl3+)))
1932
1933(define-public emacs-git-gutter
1934 (package
1935 (name "emacs-git-gutter")
1936 (version "0.90")
1937 (source (origin
1938 (method url-fetch)
1939 (uri (string-append
1940 "https://github.com/syohex/" name "/archive/"
1941 version ".tar.gz"))
1942 (file-name (string-append name "-" version ".tar.gz"))
1943 (sha256
1944 (base32
1945 "1nmhvhpq1l56mj2yq3ag23rw3x4xgnsy8szp30s26l0yjnkhc4qg"))))
1946 (build-system emacs-build-system)
1947 (home-page "https://github.com/syohex/emacs-git-gutter")
1948 (synopsis "See and manage hunks of text in a version control system")
1949 (description
1950 "This package is an Emacs minor mode for displaying and interacting with
1951hunks of text managed in a version control system. Added modified and deleted
1952areas can be indicated with symbols on the edge of the buffer, and commands
1953can be used to move between and perform actions on these hunks.
1954
1955Git, Mercurial, Subversion and Bazaar are supported, and many parts of the
1956display and behaviour is easily customisable.")
1957 (license license:gpl3+)))
1958
1959(define-public emacs-git-timemachine
1960 (package
1961 (name "emacs-git-timemachine")
1962 (version "4.5")
1963 (source
1964 (origin
1965 (method url-fetch)
1966 (uri (string-append "https://gitlab.com/pidu/git-timemachine"
1967 "/-/archive/" version
1968 "/git-timemachine-" version ".tar.gz"))
1969 (file-name (string-append name "-" version ".tar.gz"))
1970 (sha256
1971 (base32
1972 "0ii40qcincasg7s1yrvqcxkqcqzb4sfs7gcxscn6m4x4ans165zy"))))
1973 (build-system emacs-build-system)
1974 (home-page "https://gitlab.com/pidu/git-timemachine")
1975 (synopsis "Step through historic versions of Git-controlled files")
1976 (description "This package enables you to step through historic versions
1977of files under Git version control from within Emacs.")
1978 (license license:gpl3+)))
1979
1980(define-public emacs-minitest
1981 (let ((commit "1aadb7865c1dc69c201cecee275751ecec33a182")
1982 (revision "1"))
1983 (package
1984 (name "emacs-minitest")
1985 (version (git-version "0.8.0" revision commit))
1986 (source (origin
1987 (method git-fetch)
1988 (uri (git-reference
1989 (url "https://github.com/arthurnn/minitest-emacs")
1990 (commit commit)))
1991 (file-name (git-file-name name commit))
1992 (sha256
1993 (base32
1994 "1l18zqpdzbnqj2qawq8hj7z7pl8hr8z9d8ihy8jaiqma915hmhj1"))))
1995 (build-system emacs-build-system)
1996 (arguments
1997 '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include)
1998 #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude)))
1999 (propagated-inputs
2000 `(("emacs-dash" ,emacs-dash)
2001 ("emacs-f" ,emacs-f)))
2002 (home-page "https://github.com/arthurnn/minitest-emacs")
2003 (synopsis "Emacs minitest mode")
2004 (description
2005 "The minitest mode provides commands to run the tests for the current
2006file or line, as well as rerunning the previous tests, or all the tests for a
2007project.
2008
2009This package also includes relevant snippets for yasnippet.")
2010 (license license:expat))))
2011
2012(define-public emacs-el-mock
2013 (package
2014 (name "emacs-el-mock")
2015 (version "1.25.1")
2016 (source
2017 (origin
2018 (method url-fetch)
2019 (uri (string-append "https://github.com/rejeep/el-mock.el/"
2020 "archive/v" version ".tar.gz"))
2021 (file-name (string-append name "-" version ".tar.gz"))
2022 (sha256
2023 (base32
2024 "16xw94n58xxn3zvgyj72bmzs0k5lkvswjmzs79ws9n7rzdivb38b"))))
2025 (build-system emacs-build-system)
2026 (home-page "https://github.com/rejeep/el-mock.el")
2027 (synopsis "Tiny mock and stub framework in Emacs Lisp")
2028 (description
2029 "Emacs Lisp Mock is a library for mocking and stubbing using readable
2030syntax. Most commonly Emacs Lisp Mock is used in conjunction with Emacs Lisp
2031Expectations, but it can be used in other contexts.")
2032 (license license:gpl3+)))
2033
2034(define-public emacs-espuds
2035 (package
2036 (name "emacs-espuds")
2037 (version "0.3.3")
2038 (source
2039 (origin
2040 (method url-fetch)
2041 (uri (string-append "https://github.com/ecukes/espuds/"
2042 "archive/v" version ".tar.gz"))
2043 (file-name (string-append name "-" version ".tar.gz"))
2044 (sha256
2045 (base32
2046 "0xv551376pbmh735a3zjwc9z4qdx6ngj1vpq3xqjpn0a1rwjyn4k"))))
2047 (build-system emacs-build-system)
2048 (propagated-inputs
2049 `(("emacs-s" ,emacs-s)
2050 ("emacs-dash" ,emacs-dash)
2051 ("emacs-f" ,emacs-f)))
2052 (home-page "https://github.com/ecukes/espuds")
2053 (synopsis "Common step definitions for Ecukes")
2054 (description "Espuds is a collection of the most commonly used step
2055definitions for testing with the Ecukes framework.")
2056 (license license:gpl3+)))
2057
2058(define-public emacs-spark
2059 (let ((version "20160503") ; no proper tag, use date of commit
2060 (commit "0bf148c3ede3b31d56fd75f347cdd0b0eae60025")
2061 (revision "1"))
2062 (package
2063 (name "emacs-spark")
2064 (version (git-version version revision commit))
2065 (source
2066 (origin
2067 (method git-fetch)
2068 (uri (git-reference
2069 (url "https://github.com/alvinfrancis/spark.git")
2070 (commit commit)))
2071 (file-name (git-file-name name version))
2072 (sha256
2073 (base32
2074 "1ykqr86j17mi95s08d9fp02d7ych1331b04dcqxzxnmpkhwngyj1"))))
2075 (build-system emacs-build-system)
2076 (home-page "https://github.com/alvinfrancis/spark")
2077 (synopsis "Sparkline generation library for Emacs Lisp")
2078 (description "@code{emacs-spark} is a sparkline generation library for
2079Emacs Lisp. It generates a sparkline string given a list of numbers. It is a
2080port of @code{cl-spark} to Emacs Lisp.")
2081 (license license:expat))))
2082
2083(define-public emacs-es-mode
2084 (package
2085 (name "emacs-es-mode")
2086 (version "4.3.0")
2087 (source (origin
2088 (method url-fetch)
2089 (uri (string-append
2090 "https://github.com/dakrone/es-mode/archive/"
2091 version ".tar.gz"))
2092 (file-name (string-append name "-" version ".tar.gz"))
2093 (sha256
2094 (base32
2095 "0y86qdcb3g7fkcb4pzsjh3syzql6w3314hg1wqxq4a8bbk3y0cgr"))))
2096 (build-system emacs-build-system)
2097 (propagated-inputs
2098 ;; The version of org in Emacs 24.5 is not sufficient, and causes tables
2099 ;; to be rendered incorrectly
2100 `(("emacs-dash" ,emacs-dash)
2101 ("emacs-org" ,emacs-org)
2102 ("emacs-spark" ,emacs-spark)))
2103 (home-page "https://github.com/dakrone/es-mode")
2104 (synopsis "Major mode for editing Elasticsearch queries")
2105 (description "@code{es-mode} includes highlighting, completion and
2106indentation support for Elasticsearch queries. Also supported are
2107@code{es-mode} blocks in @code{org-mode}, for which the results of queries can
2108be processed through @code{jq}, or in the case of aggregations, can be
2109rendered in to a table. In addition, there is an @code{es-command-center}
2110mode, which displays information about Elasticsearch clusters.")
2111 (license license:gpl3+)))
2112
2113(define-public emacs-expand-region
2114 (package
2115 (name "emacs-expand-region")
2116 (version "0.11.0")
2117 (source
2118 (origin
2119 (method url-fetch)
2120 (uri (string-append "https://github.com/magnars/expand-region.el"
2121 "/archive/" version ".tar.gz"))
2122 (file-name (string-append name "-" version ".tar.gz"))
2123 (sha256
2124 (base32
2125 "08dy1f411sh9wwww53rjw80idcf3vpki6ba2arl4hl5jcw9651g0"))))
2126 (build-system emacs-build-system)
2127 (home-page "https://github.com/magnars/expand-region.el")
2128 (synopsis "Increase selected region by semantic units")
2129 (description
2130 "Expand region increases the selected region by semantic units. Just
2131keep pressing the key until it selects what you want. There's also
2132@code{er/contract-region} if you expand too far.")
2133 (license license:gpl3+)))
2134
2135(define-public emacs-fill-column-indicator
2136 (package
2137 (name "emacs-fill-column-indicator")
2138 (version "1.89")
2139 (source
2140 (origin
2141 (method url-fetch)
2142 (uri (string-append "https://github.com/alpaker/Fill-Column-Indicator"
2143 "/archive/v" version ".tar.gz"))
2144 (file-name (string-append name "-" version ".tar.gz"))
2145 (sha256
2146 (base32
2147 "09ab01np14bdcsr38xf95kpnvxzqr46mdjmphg3pigwnx39a3jvg"))))
2148 (build-system emacs-build-system)
2149 (home-page "https://www.emacswiki.org/emacs/FillColumnIndicator")
2150 (synopsis "Graphically indicate the fill column")
2151 (description
2152 "Fill-column-indicator graphically indicates the location of the fill
2153column by drawing a thin line down the length of the editing window.")
2154 (license license:gpl3+)))
2155
2156(define-public emacs-grep-a-lot
2157 (package
2158 (name "emacs-grep-a-lot")
2159 (version "1.0.7")
2160 (source (origin
2161 (method git-fetch)
2162 (uri (git-reference
2163 (url "https://github.com/ZungBang/emacs-grep-a-lot.git")
2164 (commit "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad")))
2165 (file-name (string-append name "-" version "-checkout"))
2166 (sha256
2167 (base32
2168 "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw"))))
2169 (build-system emacs-build-system)
2170 (home-page "https://github.com/ZungBang/emacs-grep-a-lot")
2171 (synopsis "Enables multiple grep buffers in Emacs")
2172 (description
2173 "This Emacs package allows managing multiple grep buffers.")
2174 (license license:gpl3+)))
2175
2176(define-public emacs-inf-ruby
2177 (package
2178 (name "emacs-inf-ruby")
2179 (version "2.5.1")
2180 (source
2181 (origin
2182 (method url-fetch)
2183 (uri (string-append "https://github.com/nonsequitur/inf-ruby/"
2184 "archive/" version ".tar.gz"))
2185 (file-name (string-append name "-" version ".tar.gz"))
2186 (sha256
2187 (base32
2188 "0m7323k649ckxql1grsdnf71bjhys7l4qb8wbpphb1mr1q8i4066"))))
2189 (build-system emacs-build-system)
2190 (home-page "https://github.com/nonsequitur/inf-ruby")
2191 (synopsis "Provides a REPL buffer connected to a Ruby subprocess in Emacs")
2192 (description
2193 "@code{inf-ruby} provides a Read Eval Print Loop (REPL) buffer, allowing
2194for easy interaction with a ruby subprocess. Features include support for
2195detecting specific uses of Ruby, e.g. when using rails, and using a
2196appropriate console.")
2197 (license license:gpl3+)))
2198
2199(define-public emacs-znc
2200 (package
2201 (name "emacs-znc")
2202 (version "0.0.2")
2203 (source
2204 (origin
2205 (method url-fetch)
2206 (uri (string-append "https://marmalade-repo.org/packages/znc-"
2207 version ".el"))
2208 (sha256
2209 (base32
2210 "1d8lqvybgyazin5z0g1c4l3rg1vzrrvf0saqs53jr1zcdg0lianh"))))
2211 (build-system emacs-build-system)
2212 (home-page "https://github.com/sshirokov/ZNC.el")
2213 (synopsis "Make ERC and ZNC get along better")
2214 (description
2215 "This is a thin wrapper around @code{erc} that enables one to use the ZNC
2216IRC bouncer with ERC.")
2217 (license license:expat)))
2218
2219(define-public emacs-shut-up
2220 (package
2221 (name "emacs-shut-up")
2222 (version "0.3.2")
2223 (source
2224 (origin
2225 (method url-fetch)
2226 (uri (string-append "https://github.com/cask/shut-up/"
2227 "archive/v" version ".tar.gz"))
2228 (file-name (string-append name "-" version ".tar.gz"))
2229 (sha256
2230 (base32
2231 "09kzrjdkb569iviyg7ydwq44yh84m3f9hkl7jizfrlk0w4gz67d1"))))
2232 (build-system emacs-build-system)
2233 (home-page "https://github.com/cask/shut-up")
2234 (synopsis "Silence Emacs")
2235 (description "This package silences most output of Emacs when running an
2236Emacs shell script.")
2237 (license license:expat)))
2238
2239(define-public emacs-undercover
2240 (package
2241 (name "emacs-undercover")
2242 (version "0.6.0")
2243 (source
2244 (origin
2245 (method url-fetch)
2246 (uri (string-append "https://github.com/sviridov/undercover.el/"
2247 "archive/v" version ".tar.gz"))
2248 (file-name (string-append name "-" version ".tar.gz"))
2249 (sha256
2250 (base32
2251 "0f48fi0xnbsqs382rgh85m9mq1wdnr0yib7as9xhwzvq0hsr5m0a"))))
2252 (build-system emacs-build-system)
2253 (propagated-inputs
2254 `(("emacs-dash" ,emacs-dash)
2255 ("emacs-shut-up" ,emacs-shut-up)))
2256 (home-page "https://github.com/sviridov/undercover.el")
2257 (synopsis "Test coverage library for Emacs Lisp")
2258 (description
2259 "Undercover is a test coverage library for software written in Emacs
2260Lisp.")
2261 (license license:expat)))
2262
2263(define-public emacs-paren-face
2264 (package
2265 (name "emacs-paren-face")
2266 (version "1.0.0")
2267 (source
2268 (origin
2269 (method url-fetch)
2270 (uri (string-append "https://github.com/tarsius/paren-face/archive/"
2271 version ".tar.gz"))
2272 (file-name (string-append name "-" version ".tar.gz"))
2273 (sha256
2274 (base32
2275 "0y4qrhxa9332vsvr999jg7qj1ymnfgwpf591yi4a4jgg90pm7qnn"))))
2276 (build-system emacs-build-system)
2277 (home-page "https://github.com/tarsius/paren-face")
2278 (synopsis "Face for parentheses in lisp modes")
2279 (description
2280 "This library defines a face named @code{parenthesis} used just for
2281parentheses. The intended purpose of this face is to make parentheses less
2282visible in Lisp code by dimming them. Lispers probably don't need to be
2283constantly made aware of the existence of the parentheses. Dimming them might
2284be even more useful for people new to lisp who have not yet learned to
2285subconsciously blend out the parentheses.")
2286 (license license:gpl3+)))
2287
2288(define-public emacs-page-break-lines
2289 (package
2290 (name "emacs-page-break-lines")
2291 (version "0.11")
2292 (source
2293 (origin
2294 (method url-fetch)
2295 (uri (string-append "https://github.com/purcell/page-break-lines/"
2296 "archive/" version ".tar.gz"))
2297 (file-name (string-append name "-" version ".tar.gz"))
2298 (sha256
2299 (base32
2300 "1zzhziq5kbrm9rxk30kx2glz455fp1blqxg8cpcf6l8xl3w8z4pg"))))
2301 (build-system emacs-build-system)
2302 (home-page "https://github.com/purcell/page-break-lines")
2303 (synopsis "Display page breaks as tidy horizontal lines")
2304 (description
2305 "This library provides a global mode which displays form feed characters
2306as horizontal rules.")
2307 (license license:gpl3+)))
2308
2309(define-public emacs-simple-httpd
2310 (package
2311 (name "emacs-simple-httpd")
2312 (version "1.4.6")
2313 (source
2314 (origin
2315 (method url-fetch)
2316 (uri (string-append "https://github.com/skeeto/emacs-web-server/"
2317 "archive/" version ".tar.gz"))
2318 (file-name (string-append name "-" version ".tar.gz"))
2319 (sha256
2320 (base32
2321 "01r7h3imnj4qx1m53a2wjafvbylcyz5f9r2rg2cs7ky3chlg220r"))))
2322 (build-system emacs-build-system)
2323 (home-page "https://github.com/skeeto/emacs-http-server")
2324 (synopsis "HTTP server in pure Emacs Lisp")
2325 (description
2326 "This package provides a simple HTTP server written in Emacs Lisp to
2327serve files and directory listings.")
2328 (license license:unlicense)))
2329
2330(define-public emacs-skewer-mode
2331 (package
2332 (name "emacs-skewer-mode")
2333 (version "1.6.2")
2334 (source
2335 (origin
2336 (method url-fetch)
2337 (uri (string-append "https://github.com/skeeto/skewer-mode/archive/"
2338 version ".tar.gz"))
2339 (file-name (string-append name "-" version ".tar.gz"))
2340 (sha256
2341 (base32
2342 "07jpz374j0j964szy3zznrkyja2kpdl3xa87wh7349mzxivqxdx0"))))
2343 (build-system emacs-build-system)
2344 (propagated-inputs
2345 `(("emacs-simple-httpd" ,emacs-simple-httpd)
2346 ("emacs-js2-mode" ,emacs-js2-mode)))
2347 (arguments '(#:include '("\\.el$" "\\.js$" "\\.html$")))
2348 (home-page "https://github.com/skeeto/skewer-mode")
2349 (synopsis "Live web development in Emacs")
2350 (description
2351 "Skewer-mode provides live interaction with JavaScript, CSS, and HTML in
2352a web browser. Expressions are sent on-the-fly from an editing buffer to be
2353evaluated in the browser, just like Emacs does with an inferior Lisp process
2354in Lisp modes.")
2355 (license license:unlicense)))
2356
2357(define-public emacs-string-inflection
2358 (package
2359 (name "emacs-string-inflection")
2360 (version "1.0.6")
2361 (source (origin
2362 (method git-fetch)
2363 (uri (git-reference
2364 (url "https://github.com/akicho8/string-inflection")
2365 (commit "a150e7bdda60b7824d3a936750ce23f73b0e4edd")))
2366 (file-name (string-append name "-" version "-checkout"))
2367 (sha256
2368 (base32
2369 "1k0sm552iawi49v4zis6dbb81d1rzgky9v0dpv7nj31gnb7bmy7k"))))
2370 (build-system emacs-build-system)
2371 (native-inputs
2372 `(("ert-runner" ,emacs-ert-runner)))
2373 (arguments
2374 `(#:tests? #t
2375 #:test-command '("ert-runner")))
2376 (home-page "https://github.com/akicho8/string-inflection")
2377 (synopsis "Convert symbol names between different naming conventions")
2378 (description
2379 "This Emacs package provides convenient methods for manipulating the
2380naming style of a symbol. It supports different naming conventions such as:
2381
2382@enumerate
2383@item camel case
2384@item Pascal case
2385@item all upper case
2386@item lower case separated by underscore
2387@item etc...
2388@end enumerate\n")
2389 (license license:gpl2+)))
2390
2391(define-public emacs-stripe-buffer
2392 (package
2393 (name "emacs-stripe-buffer")
2394 (version "0.2.5")
2395 (source
2396 (origin
2397 (method url-fetch)
2398 (uri (string-append "https://github.com/sabof/stripe-buffer/"
2399 "archive/" version ".tar.gz"))
2400 (file-name (string-append name "-" version ".tar.gz"))
2401 (sha256
2402 (base32
2403 "1p515dq7raly5hw94kiwm3vzsfih0d8af622q4ipvvljsm98aiik"))))
2404 (build-system emacs-build-system)
2405 (home-page "https://github.com/sabof/stripe-buffer/")
2406 (synopsis "Add stripes to list buffers")
2407 (description
2408 "This Emacs package adds faces to add stripes to list buffers and org
2409tables.")
2410 (license license:gpl2+)))
2411
2412(define-public emacs-rich-minority
2413 (package
2414 (name "emacs-rich-minority")
2415 (version "1.0.1")
2416 (source
2417 (origin
2418 (method url-fetch)
2419 (uri (string-append "https://github.com/Malabarba/rich-minority/"
2420 "archive/" version ".tar.gz"))
2421 (file-name (string-append name "-" version ".tar.gz"))
2422 (sha256
2423 (base32
2424 "1l0cb0q7kyi88nwfqd542psnkgwnjklpzc5rx32gzd3lkwkrbr8v"))))
2425 (build-system emacs-build-system)
2426 (home-page "https://github.com/Malabarba/rich-minority")
2427 (synopsis "Clean-up and beautify the list of minor modes")
2428 (description
2429 "This Emacs package hides and/or highlights minor modes in the
2430mode-line.")
2431 (license license:gpl2+)))
2432
2433(define-public emacs-robe
2434 (package
2435 (name "emacs-robe")
2436 (version "0.8.1")
2437 (source
2438 (origin
2439 (method url-fetch)
2440 (uri (string-append "https://github.com/dgutov/robe/"
2441 "archive/" version ".tar.gz"))
2442 (file-name (string-append name "-" version ".tar.gz"))
2443 (sha256
2444 (base32
2445 "1vp45y99fwj88z04ah4yppz4z568qcib646az6m9az5ar0f203br"))))
2446 (build-system emacs-build-system)
2447 (arguments
2448 '(#:include (cons "^lib\\/" %default-include)))
2449 (propagated-inputs
2450 `(("emacs-inf-ruby" ,emacs-inf-ruby)))
2451 (home-page "https://github.com/dgutov/robe")
2452 (synopsis "Ruby code assistance tool for Emacs")
2453 (description
2454 "Robe can provide information on loaded classes and modules in Ruby code,
2455as well as where methods are defined. This allows the user to jump to method
2456definitions, modules and classes, display method documentation and provide
2457method and constant name completion.")
2458 (license license:gpl3+)))
2459
2460(define-public emacs-rspec
2461 (package
2462 (name "emacs-rspec")
2463 (version "1.11")
2464 (source
2465 (origin
2466 (method url-fetch)
2467 (uri (string-append "https://github.com/pezra/rspec-mode/"
2468 "archive/v" version ".tar.gz"))
2469 (file-name (string-append name "-" version ".tar.gz"))
2470 (sha256
2471 (base32
2472 "1j0a7ms5516nlg60qfyn730pfxys6acm0rgyxh5xfkpi6jafgpvw"))))
2473 (build-system emacs-build-system)
2474 (home-page "https://github.com/pezra/rspec-mode")
2475 (synopsis "Provides a rspec mode for working with RSpec")
2476 (description
2477 "The Emacs RSpec mode provides keybindings for Ruby source files, e.g. to
2478verify the spec associated with the current buffer, or entire project, as well
2479as moving between the spec files, and coresponding code files.
2480
2481Also included are keybindings for spec files and Dired buffers, as well as
2482snippets for yasnippet.")
2483 (license license:gpl3+)))
2484
2485(define-public emacs-smart-mode-line
2486 (package
2487 (name "emacs-smart-mode-line")
2488 (version "2.12.0")
2489 (source
2490 (origin
2491 (method url-fetch)
2492 (uri (string-append "https://github.com/Malabarba/smart-mode-line/"
2493 "archive/" version ".tar.gz"))
2494 (file-name (string-append name "-" version ".tar.gz"))
2495 (sha256
2496 (base32
2497 "1hn8s6laijmg7w1bgwdfrki6h9vxkbgr8rmmssvd5yqyad5w2sba"))))
2498 (build-system emacs-build-system)
2499 (propagated-inputs
2500 `(("emacs-rich-minority" ,emacs-rich-minority)))
2501 (home-page "https://github.com/Malabarba/smart-mode-line")
2502 (synopsis "Color-coded smart mode-line")
2503 (description
2504 "Smart Mode Line is a mode-line theme for Emacs. It aims to be easy to
2505read from small to large monitors by using colors, a prefix feature, and smart
2506truncation.")
2507 (license license:gpl2+)))
2508
2509(define-public emacs-sr-speedbar
2510 (let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
2511 (revision "0"))
2512 (package
2513 (name "emacs-sr-speedbar")
2514 (version (git-version "20161025" revision commit))
2515 (source
2516 (origin
2517 (method git-fetch)
2518 (uri (git-reference
2519 (url "https://github.com/emacsorphanage/sr-speedbar.git")
2520 (commit commit)))
2521 (file-name (git-file-name name version))
2522 (sha256
2523 (base32
2524 "0sd12555hk7z721y00kv3crdybvcn1i08wmd148z5imayzibj153"))))
2525 (build-system emacs-build-system)
2526 (home-page "https://www.emacswiki.org/emacs/SrSpeedbar")
2527 (synopsis "Same frame Emacs @code{speedbar}")
2528 (description
2529 "This Emacs package allows you to show @code{M-x speedbar} in the
2530same frame (in an extra window). You can customize the initial width of
2531the speedbar window.")
2532 (license license:gpl3+))))
2533
2534(define-public emacs-shell-switcher
2535 (package
2536 (name "emacs-shell-switcher")
2537 (version "1.0.1")
2538 (source
2539 (origin
2540 (method url-fetch)
2541 (uri (string-append "https://github.com/DamienCassou/shell-switcher"
2542 "/archive/v" version ".tar.gz"))
2543 (file-name (string-append name "-" version ".tar.gz"))
2544 (sha256
2545 (base32
2546 "1c23mfkdqz2g9rixd9smm323vzlvhzz3ng34ambcqjfq309qb2nz"))))
2547 (build-system emacs-build-system)
2548 (home-page "https://github.com/DamienCassou/shell-switcher")
2549 (synopsis "Provide fast switching between shell buffers")
2550 (description
2551 "This package provides commands to quickly switch between shell buffers.")
2552 (license license:gpl3+)))
2553
2554(define-public emacs-ob-ipython
2555 (package
2556 (name "emacs-ob-ipython")
2557 (version "20150704.8807064693")
2558 (source (origin
2559 (method git-fetch)
2560 (uri (git-reference
2561 (commit "880706469338ab59b5bb7dbe8460016f89755364")
2562 (url "https://github.com/gregsexton/ob-ipython.git")))
2563 (file-name (string-append name "-" version "-checkout"))
2564 (sha256
2565 (base32
2566 "1scf25snbds9ymagpny30ijbsg479r3nm0ih01dy4m9d0g7qryb7"))))
2567 (build-system emacs-build-system)
2568 (propagated-inputs
2569 `(("emacs-f" ,emacs-f)))
2570 (home-page "http://www.gregsexton.org")
2571 (synopsis "Org-Babel functions for IPython evaluation")
2572 (description "This package adds support to Org-Babel for evaluating Python
2573source code using IPython.")
2574 (license license:gpl3+)))
2575
2576(define-public emacs-debbugs
2577 (package
2578 (name "emacs-debbugs")
2579 (version "0.16")
2580 (source (origin
2581 (method url-fetch)
2582 (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
2583 version ".tar"))
2584 (sha256
2585 (base32
2586 "0y3bq803c7820h15g66d1648skxfhlfa2v6vincj6xk5ssp44s9p"))))
2587 (build-system emacs-build-system)
2588 (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
2589 (propagated-inputs
2590 `(("emacs-async" ,emacs-async)))
2591 (home-page "https://elpa.gnu.org/packages/debbugs.html")
2592 (synopsis "Access the Debbugs bug tracker in Emacs")
2593 (description
2594 "This package lets you access the @uref{http://bugs.gnu.org,GNU Bug
2595Tracker} from within Emacs.
2596
2597For instance, it defines the command @code{M-x debbugs-gnu} for listing bugs,
2598and the command @code{M-x debbugs-gnu-search} for bug searching. If you
2599prefer the listing of bugs as TODO items of @code{org-mode}, you could use
2600@code{M-x debbugs-org} and related commands.
2601
2602A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
2603Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
2604 (license license:gpl3+)))
2605
2606(define-public emacs-ert-expectations
2607 (package
2608 (name "emacs-ert-expectations")
2609 (version "0.2")
2610 (source
2611 (origin
2612 (method url-fetch)
2613 (uri "https://www.emacswiki.org/emacs/download/ert-expectations.el")
2614 (sha256
2615 (base32
2616 "0cwy3ilsid90abzzjb7ha2blq9kmv3gfp3icwwfcz6qczgirq6g7"))))
2617 (build-system emacs-build-system)
2618 (home-page "https://www.emacswiki.org/emacs/ert-expectations.el")
2619 (synopsis "Simple unit test framework for Emacs Lisp")
2620 (description "@code{emacs-ert-expectations} is a simple unit test
2621framework for Emacs Lisp to be used with @code{ert}.")
2622 (license license:gpl3+)))
2623
2624(define-public emacs-deferred
2625 (package
2626 (name "emacs-deferred")
2627 (version "0.5.1")
2628 (home-page "https://github.com/kiwanami/emacs-deferred")
2629 (source (origin
2630 (method git-fetch)
2631 (uri (git-reference
2632 (url home-page)
2633 (commit (string-append "v" version))))
2634 (sha256
2635 (base32
2636 "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h"))
2637 (file-name (string-append name "-" version))))
2638 (build-system emacs-build-system)
2639 (arguments
2640 `(#:phases
2641 (modify-phases %standard-phases
2642 (add-after 'unpack 'set-shell
2643 ;; Setting the SHELL environment variable is required for the tests
2644 ;; to find sh.
2645 (lambda _
2646 (setenv "SHELL" (which "sh"))
2647 #t))
2648 (add-before 'check 'fix-makefile
2649 (lambda _
2650 (substitute* "Makefile"
2651 (("\\$\\(CASK\\) exec ") ""))
2652 #t)))
2653 #:tests? #t
2654 #:test-command '("make" "test")))
2655 (native-inputs
2656 `(("emacs-ert-expectations" ,emacs-ert-expectations)
2657 ("emacs-undercover" ,emacs-undercover)
2658 ("ert-runner" ,emacs-ert-runner)))
2659 (synopsis "Simple asynchronous functions for Emacs Lisp")
2660 (description
2661 "The @code{deferred.el} library provides support for asynchronous tasks.
2662The API is almost the same as that of
2663@uref{https://github.com/cho45/jsdeferred, JSDeferred}, a JavaScript library
2664for asynchronous tasks.")
2665 (license license:gpl3+)))
2666
2667(define-public emacs-butler
2668 (package
2669 (name "emacs-butler")
2670 (version "0.2.4")
2671 (home-page "https://github.com/AshtonKem/Butler")
2672 (source (origin
2673 (method git-fetch)
2674 (uri (git-reference
2675 (url home-page)
2676 (commit version)))
2677 (sha256
2678 (base32
2679 "1pii9dw4skq7nr4na6qxqasl36av8cwjp71bf1fgppqpcd9z8skj"))
2680 (file-name (string-append name "-" version))))
2681 (build-system emacs-build-system)
2682 (propagated-inputs
2683 `(("emacs-deferred" ,emacs-deferred)))
2684 (synopsis "Emacs client for Jenkins")
2685 (description
2686 "Butler provides an interface to connect to Jenkins continuous
2687integration servers. Users can specify a list of server in the
2688@code{butler-server-list} variable and then use @code{M-x butler-status} to
2689view the build status of those servers' build jobs, and possibly to trigger
2690build jobs.")
2691 (license license:gpl3+)))
2692
2693(define-public emacs-company
2694 (package
2695 (name "emacs-company")
2696 (version "0.9.7")
2697 (source
2698 (origin
2699 (method url-fetch)
2700 (uri (string-append "https://github.com/company-mode/company-mode/archive/"
2701 version ".tar.gz"))
2702 (file-name (string-append name "-" version ".tar.gz"))
2703 (sha256
2704 (base32
2705 "19flv38f2qhxda8lbk2ckywvibd72vbzmn4hchqz6d8acsknh4sb"))))
2706 (build-system emacs-build-system)
2707 (arguments
2708 `(#:phases
2709 (modify-phases %standard-phases
2710 (add-before 'check 'fix-bin-dir
2711 (lambda _
2712 ;; The company-files-candidates-normal-root test looks
2713 ;; for the /bin directory, but the build environment has
2714 ;; no /bin directory. Modify the test to look for the
2715 ;; /tmp directory.
2716 (substitute* "test/files-tests.el"
2717 (("/bin/") "/tmp/"))
2718 #t)))
2719 #:tests? #t
2720 #:test-command '("make" "test-batch")))
2721 (home-page "http://company-mode.github.io/")
2722 (synopsis "Modular text completion framework")
2723 (description
2724 "Company is a modular completion mechanism. Modules for retrieving
2725completion candidates are called back-ends, modules for displaying them are
2726front-ends. Company comes with many back-ends, e.g. @code{company-elisp}.
2727These are distributed in separate files and can be used individually.")
2728 (license license:gpl3+)))
2729
2730(define-public emacs-irony-mode
2731 (package
2732 (name "emacs-irony-mode")
2733 (version "1.2.0")
2734 (home-page "https://github.com/Sarcasm/irony-mode")
2735 (source (origin
2736 (method git-fetch)
2737 (uri (git-reference
2738 (url (string-append home-page ".git"))
2739 (commit (string-append "v" version))))
2740 (sha256
2741 (base32
2742 "0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8"))
2743 (file-name (string-append name "-" version ".tar.gz"))))
2744 (build-system emacs-build-system)
2745 (inputs `(("server" ,emacs-irony-mode-server)))
2746 (arguments `(#:phases
2747 (modify-phases %standard-phases
2748 (add-after 'unpack 'configure
2749 (lambda* (#:key inputs #:allow-other-keys)
2750 (chmod "irony.el" #o644)
2751 (emacs-substitute-variables "irony.el"
2752 ("irony-server-install-prefix"
2753 (assoc-ref inputs "server")))
2754 #t)))))
2755 (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
2756 (description "Irony-mode provides Clang-assisted syntax checking and
2757completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can
2758provide syntax checking and autocompletion on compiler level which is very
2759resistent against false positives. It also integrates well with other
2760packages like @code{eldoc-mode} and especially @code{company-mode} as
2761described on the homepage.")
2762 (license license:gpl3+)))
2763
2764(define-public emacs-irony-mode-server
2765 (package (inherit emacs-irony-mode)
2766 (name "emacs-irony-mode-server")
2767 (inputs
2768 `(("clang" ,clang)))
2769 (arguments
2770 `(#:phases
2771 (modify-phases %standard-phases
2772 (replace 'configure
2773 (lambda* (#:key outputs #:allow-other-keys)
2774 (let ((out (assoc-ref outputs "out")))
2775 (invoke "cmake"
2776 "server"
2777 (string-append "-DCMAKE_INSTALL_PREFIX=" out)) #t))))))
2778 (build-system cmake-build-system)
2779 (synopsis "Server for the Emacs @dfn{irony mode}")))
2780
2781(define-public emacs-company-irony
2782 (package
2783 (name "emacs-company-irony")
2784 (version "1.1.0")
2785 (source (origin
2786 (method git-fetch)
2787 (uri (git-reference
2788 (url "https://github.com/Sarcasm/company-irony.git")
2789 (commit (string-append "v" version))))
2790 (sha256 (base32
2791 "1qgyam2vyjw90kpxns5cd6bq3qiqjhzpwrlvmi18vyb69qcgqd8a"))
2792 (file-name (git-file-name name version))))
2793 (build-system emacs-build-system)
2794 (inputs
2795 `(("emacs-irony-mode" ,emacs-irony-mode)
2796 ("emacs-company" ,emacs-company)))
2797 (synopsis "C++ completion backend for Company using irony-mode")
2798 (description "This backend for company-mode allows for C++ code completion
2799with irony-mode using clang-tooling.")
2800 (home-page "https://github.com/Sarcasm/company-irony")
2801 (license license:gpl3+)))
2802
2803(define-public emacs-flycheck-irony
2804 (package
2805 (name "emacs-flycheck-irony")
2806 (version "0.1.0")
2807 (source (origin
2808 (method git-fetch)
2809 (uri (git-reference
2810 (url "https://github.com/Sarcasm/flycheck-irony.git")
2811 (commit (string-append "v" version))))
2812 (sha256
2813 (base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996"))
2814 (file-name (string-append name "-" version))))
2815 (build-system emacs-build-system)
2816 (inputs
2817 `(("irony-mode" ,emacs-irony-mode)
2818 ("flycheck-mode" ,emacs-flycheck)
2819 ("emacs-company" ,emacs-company)))
2820 (synopsis "Live syntax checking frontend for Flycheck using irony-mode")
2821 (description "This package provides a frontend for Flycheck that lets
2822irony-mode do the syntax checking.")
2823 (home-page "https://github.com/Sarcasm/flycheck-irony")
2824 (license license:gpl3+)))
2825
2826(define-public emacs-irony-eldoc
2827 (package
2828 (name "emacs-irony-eldoc")
2829 (version (package-version emacs-irony-mode))
2830 (source
2831 (origin
2832 (method git-fetch)
2833 (uri (git-reference
2834 (url "https://github.com/ikirill/irony-eldoc.git")
2835 (commit "0df5831eaae264a25422b061eb2792aadde8b3f2")))
2836 (sha256 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd"))
2837 (file-name (string-append name "-" version))))
2838 (build-system emacs-build-system)
2839 (inputs
2840 `(("irony-mode" ,emacs-irony-mode)))
2841 (synopsis "Eldoc integration for irony-mode")
2842 (description "Irony-eldoc is an eldoc extension that shows documentation
2843for the current function or variable in the minibuffer.")
2844 (home-page "https://github.com/ikirill/irony-eldoc")
2845 (license license:gpl3+)))
2846
2847(define-public emacs-company-quickhelp
2848 (package
2849 (name "emacs-company-quickhelp")
2850 (version "2.3.0")
2851 (source
2852 (origin
2853 (method url-fetch)
2854 (uri (string-append
2855 "https://github.com/expez/company-quickhelp/archive/"
2856 version ".tar.gz"))
2857 (file-name (string-append name "-" version ".tar.gz"))
2858 (sha256
2859 (base32
2860 "0xrn2z1dgk5gmkmp2jkn9g83ckk39lqp5pyyv8rl7f6gqvib3qh0"))))
2861 (build-system emacs-build-system)
2862 (propagated-inputs
2863 `(("emacs-pos-tip" ,emacs-pos-tip)
2864 ("emacs-company" ,emacs-company)))
2865 (home-page "https://github.com/expez/company-quickhelp")
2866 (synopsis "Popup documentation for completion candidates")
2867 (description "@code{company-quickhelp} shows documentation for the
2868completion candidate when using the Company text completion framework.")
2869 (license license:gpl3+)))
2870
2871(define-public emacs-multiple-cursors
2872 (package
2873 (name "emacs-multiple-cursors")
2874 (version "1.4.0")
2875 (source
2876 (origin
2877 (method url-fetch)
2878 (uri (string-append "https://github.com/magnars/multiple-cursors.el/"
2879 "archive/" version ".tar.gz"))
2880 (file-name (string-append name "-" version ".tar.gz"))
2881 (sha256
2882 (base32
2883 "0hihihlvcvzayg5fnqzcg45fhvlmq6xlq58syy00rjwbry9w389k"))))
2884 (build-system emacs-build-system)
2885 (home-page "https://github.com/magnars/multiple-cursors.el")
2886 (synopsis "Multiple cursors for Emacs")
2887 (description
2888 "This package adds support to Emacs for editing text with multiple
2889simultaneous cursors.")
2890 (license license:gpl3+)))
2891
2892(define-public emacs-typo
2893 (package
2894 (name "emacs-typo")
2895 (version "1.1")
2896 (home-page "https://github.com/jorgenschaefer/typoel")
2897 (source (origin
2898 (method git-fetch)
2899 (uri (git-reference
2900 (url home-page)
2901 (commit (string-append "v" version))))
2902 (sha256
2903 (base32
2904 "1jhd4grch5iz12gyxwfbsgh4dmz5hj4bg4gnvphccg8dsnni05k2"))
2905 (file-name (string-append name "-" version))))
2906 (build-system emacs-build-system)
2907 (synopsis "Minor mode for typographic editing")
2908 (description
2909 "This package provides two Emacs modes, @code{typo-mode} and
2910@code{typo-global-mode}. These modes automatically insert Unicode characters
2911for quotation marks, dashes, and ellipses. For example, typing @kbd{\"}
2912automatically inserts a Unicode opening or closing quotation mark, depending
2913on context.")
2914 (license license:gpl3+)))
2915
2916(define-public emacs-scheme-complete
2917 (let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5"))
2918 (package
2919 (name "emacs-scheme-complete")
2920 (version (string-append "20151223." (string-take commit 8)))
2921 (source
2922 (origin
2923 (file-name (string-append name "-" version))
2924 (method git-fetch)
2925 (uri (git-reference
2926 (url "https://github.com/ashinn/scheme-complete.git")
2927 (commit commit)))
2928 (sha256
2929 (base32
2930 "141wn9l0m33w0g3dqmx8nxbfdny1r5xbr6ak61rsz21bk0qafs7x"))
2931 (patches
2932 (search-patches "emacs-scheme-complete-scheme-r5rs-info.patch"))))
2933 (build-system emacs-build-system)
2934 (home-page "https://github.com/ashinn/scheme-complete")
2935 (synopsis "Smart tab completion for Scheme in Emacs")
2936 (description
2937 "This file provides a single function, @code{scheme-smart-complete},
2938which you can use for intelligent, context-sensitive completion for any Scheme
2939implementation in Emacs. To use it just load this file and bind that function
2940to a key in your preferred mode.")
2941 (license license:public-domain))))
2942
2943(define-public emacs-scel
2944 (let ((version "20170629")
2945 (revision "1")
2946 (commit "aeea3ad4be9306d14c3a734a4ff54fee10ac135b"))
2947 (package
2948 (name "emacs-scel")
2949 (version (git-version version revision commit))
2950 (source
2951 (origin
2952 (method git-fetch)
2953 (uri (git-reference
2954 (url "https://github.com/supercollider/scel.git")
2955 (commit commit)))
2956 (file-name (string-append name "-" version "-checkout"))
2957 (sha256
2958 (base32
2959 "0jvmzs1lsjyndqshhii2y4mnr3wghai26i3p75453zrpxpg0zvvw"))))
2960 (build-system emacs-build-system)
2961 (arguments
2962 `(#:modules ((guix build emacs-build-system)
2963 ((guix build cmake-build-system) #:prefix cmake:)
2964 (guix build utils))
2965 #:imported-modules (,@%emacs-build-system-modules
2966 (guix build cmake-build-system))
2967 #:phases
2968 (modify-phases %standard-phases
2969 (add-after 'unpack 'configure
2970 (lambda* (#:key outputs #:allow-other-keys)
2971 (substitute* "el/CMakeLists.txt"
2972 (("share/emacs/site-lisp/SuperCollider")
2973 (string-append
2974 "share/emacs/site-lisp/guix.d/scel-" ,version)))
2975 ((assoc-ref cmake:%standard-phases 'configure)
2976 #:outputs outputs
2977 #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF"))))
2978 (add-after 'set-emacs-load-path 'add-el-dir-to-emacs-load-path
2979 (lambda _
2980 (setenv "EMACSLOADPATH"
2981 (string-append (getcwd) "/el:" (getenv "EMACSLOADPATH")))
2982 #t))
2983 (replace 'install (assoc-ref cmake:%standard-phases 'install)))))
2984 (inputs
2985 `(("supercollider" ,supercollider)))
2986 (native-inputs
2987 `(("cmake" ,cmake)))
2988 (home-page "https://github.com/supercollider/scel")
2989 (synopsis "SuperCollider Emacs interface")
2990 (description "@code{emacs-scel} is an Emacs interface to SuperCollider.
2991SuperCollider is a platform for audio synthesis and algorithmic composition.")
2992 (license license:gpl2+))))
2993
2994(define-public emacs-mit-scheme-doc
2995 (package
2996 (name "emacs-mit-scheme-doc")
2997 (version "20140203")
2998 (source
2999 (origin
3000 (modules '((guix build utils)))
3001 (snippet
3002 ;; keep only file of interest
3003 '(begin
3004 (for-each delete-file '("dot-emacs.el" "Makefile"))
3005 (install-file "6.945-config/mit-scheme-doc.el" ".")
3006 (delete-file-recursively "6.945-config")
3007 #t))
3008 (file-name (string-append name "-" version ".tar.bz2"))
3009 (method url-fetch)
3010 (uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/"
3011 "6.945/dont-panic/emacs-basic-config.tar.bz2"))
3012 (sha256
3013 (base32
3014 "0dqidg2bd66pawqfarvwca93w5gqf9mikn1k2a2rmd9ymfjpziq1"))))
3015 (build-system emacs-build-system)
3016 (inputs `(("mit-scheme" ,mit-scheme)))
3017 (arguments
3018 `(#:phases
3019 (modify-phases %standard-phases
3020 (add-after 'unpack 'configure-doc
3021 (lambda* (#:key inputs #:allow-other-keys)
3022 (let* ((mit-scheme-dir (assoc-ref inputs "mit-scheme"))
3023 (doc-dir (string-append mit-scheme-dir "/share/doc/"
3024 "mit-scheme-"
3025 ,(package-version mit-scheme))))
3026 (substitute* "mit-scheme-doc.el"
3027 (("http://www\\.gnu\\.org/software/mit-scheme/documentation/mit-scheme-ref/")
3028 (string-append "file:" doc-dir "/mit-scheme-ref/")))))))))
3029 (home-page "http://groups.csail.mit.edu/mac/users/gjs/6.945/dont-panic/")
3030 (synopsis "MIT-Scheme documentation lookup for Emacs")
3031 (description
3032 "This package provides a set of Emacs functions to search definitions of
3033identifiers in the MIT-Scheme documentation.")
3034 (license license:gpl2+)))
3035
3036(define-public emacs-constants
3037 (package
3038 (name "emacs-constants")
3039 (version "2.6")
3040 (home-page "https://staff.fnwi.uva.nl/c.dominik/Tools/constants")
3041 (source
3042 (origin
3043 (file-name (string-append name "-" version ".tar.gz"))
3044 (method url-fetch)
3045 (uri (string-append "https://github.com/fedeinthemix/emacs-constants"
3046 "/archive/v" version ".tar.gz"))
3047 (sha256
3048 (base32
3049 "0pnrpmmxq8mh5h2hbrp5vcym0j0fh6dv3s7c5ccn18wllhzg9g7n"))))
3050 (build-system emacs-build-system)
3051 (synopsis "Enter definition of constants into an Emacs buffer")
3052 (description
3053 "This package provides functions for inserting the definition of natural
3054constants and units into an Emacs buffer.")
3055 (license license:gpl2+)))
3056
3057(define-public emacs-tagedit
3058 (package
3059 (name "emacs-tagedit")
3060 (version "1.4.0")
3061 (source
3062 (origin
3063 (method url-fetch)
3064 (uri (string-append "https://github.com/magnars/tagedit/"
3065 "archive/" version ".tar.gz"))
3066 (file-name (string-append name "-" version ".tar.gz"))
3067 (sha256
3068 (base32
3069 "1apfnann4qklfdsmdi7icjsj18x7gwx8d83iqr4z25clszz95xfq"))))
3070 (build-system emacs-build-system)
3071 (propagated-inputs
3072 `(("emacs-s" ,emacs-s)
3073 ("emacs-dash" ,emacs-dash)))
3074 (home-page "https://github.com/magnars/tagedit")
3075 (synopsis "Some paredit-like features for html-mode")
3076 (description
3077 "This package provides a collection of paredit-like functions for editing
3078in @code{html-mode}.")
3079 (license license:gpl3+)))
3080
3081(define-public emacs-slime
3082 (package
3083 (name "emacs-slime")
c4e4b853 3084 (version "2.23")
eeb883cb
RW
3085 (source
3086 (origin
3087 (file-name (string-append name "-" version ".tar.gz"))
3088 (method url-fetch)
3089 (uri (string-append
3090 "https://github.com/slime/slime/archive/v"
3091 version ".tar.gz"))
3092 (sha256
3093 (base32
c4e4b853 3094 "01gkrqfpifcx1vipwrbhns2r4s8izp3z1w4p41azc943s1a2d5nc"))))
eeb883cb
RW
3095 (build-system emacs-build-system)
3096 (native-inputs
3097 `(("texinfo" ,texinfo)))
3098 (arguments
3099 `(#:include '("\\.el$" "\\.lisp$" "\\.asd$" "contrib")
3100 #:exclude '("^slime-tests.el" "^contrib/test/"
3101 "^contrib/Makefile$" "^contrib/README.md$")
3102 #:phases
3103 (modify-phases %standard-phases
3104 (add-before 'install 'configure
3105 (lambda* _
3106 (emacs-substitute-variables "slime.el"
3107 ("inferior-lisp-program" "sbcl"))
3108 #t))
3109 (add-before 'install 'install-doc
3110 (lambda* (#:key outputs #:allow-other-keys)
3111 (let* ((out (assoc-ref outputs "out"))
3112 (info-dir (string-append out "/share/info"))
3113 (doc-dir (string-append out "/share/doc/"
3114 ,name "-" ,version))
3115 (doc-files '("doc/slime-refcard.pdf"
3116 "README.md" "NEWS" "PROBLEMS"
3117 "CONTRIBUTING.md")))
3118 (with-directory-excursion "doc"
3119 (substitute* "Makefile"
3120 (("infodir=/usr/local/info")
3121 (string-append "infodir=" info-dir)))
3122 (invoke "make" "html/index.html")
3123 (invoke "make" "slime.info")
3124 (install-file "slime.info" info-dir)
3125 (copy-recursively "html" (string-append doc-dir "/html")))
3126 (for-each (lambda (f)
3127 (install-file f doc-dir)
3128 (delete-file f))
3129 doc-files)
3130 (delete-file-recursively "doc")
3131 #t))))))
3132 (home-page "https://github.com/slime/slime")
3133 (synopsis "Superior Lisp Interaction Mode for Emacs")
3134 (description
3135 "SLIME extends Emacs with support for interactive programming in
3136Common Lisp. The features are centered around @command{slime-mode},
3137an Emacs minor mode that complements the standard @command{lisp-mode}.
3138While lisp-mode supports editing Lisp source files, @command{slime-mode}
3139adds support for interacting with a running Common Lisp process
3140for compilation, debugging, documentation lookup, and so on.")
3141 (license (list license:gpl2+ license:public-domain))))
3142
3143(define-public emacs-popup
3144 (package
3145 (name "emacs-popup")
3146 (version "0.5.3")
3147 (source (origin
3148 (method url-fetch)
3149 (uri (string-append
3150 "https://github.com/auto-complete/popup-el/archive/v"
3151 version ".tar.gz"))
3152 (file-name (string-append name "-" version ".tar.gz"))
3153 (sha256
3154 (base32
3155 "1yrgfj8y69xmcb6kwgplhq68ndm9410qwh7sd2knnd1gchpphdc0"))))
3156 (build-system emacs-build-system)
3157 (home-page "https://github.com/auto-complete/popup-el")
3158 (synopsis "Visual Popup User Interface for Emacs")
3159 (description
3160 "Popup.el is a visual popup user interface library for Emacs.
3161This provides a basic API and common UI widgets such as popup tooltips
3162and popup menus.")
3163 (license license:gpl3+)))
3164
3165(define-public emacs-puppet-mode
3166 (let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2")
3167 (revision "1"))
3168 (package
3169 (name "emacs-puppet-mode")
3170 ;; The last release, 0.3 was several years ago, and there have been many
3171 ;; commits since
3172 (version (git-version "0.3" revision commit))
3173 (source
3174 (origin
3175 (method url-fetch)
3176 (uri (string-append
3177 "https://raw.githubusercontent.com/voxpupuli/puppet-mode/"
3178 commit "/puppet-mode.el"))
3179 (sha256
3180 (base32
3181 "1indycxawsl0p2aqqg754f6735q3cmah9vd886rpn0ncc3ipi1xm"))))
3182 (build-system emacs-build-system)
3183 (home-page "https://github.com/voxpupuli/puppet-mode")
3184 (synopsis "Emacs major mode for the Puppet configuration language")
3185 (description
3186 "This package provides support for the Puppet configuration language,
3187including syntax highlighting, indentation of expressions and statements,
3188linting of manifests and integration with Puppet Debugger.")
3189 ;; Also incorporates work covered by the Apache License, Version 2.0
3190 (license license:gpl3+))))
3191
3192(define-public emacs-god-mode
3193 (let ((commit "6cf0807b6555eb6fcf8387a4e3b667071ef38964")
3194 (revision "1"))
3195 (package
3196 (name "emacs-god-mode")
3197 (version (string-append "20151005.925."
3198 revision "-" (string-take commit 9)))
3199 (source
3200 (origin
3201 (method git-fetch)
3202 (uri (git-reference
3203 (url "https://github.com/chrisdone/god-mode.git")
3204 (commit commit)))
3205 (file-name (string-append name "-" version "-checkout"))
3206 (sha256
3207 (base32
3208 "1am415k4xxcva6y3vbvyvknzc6bma49pq3p85zmpjsdmsp18qdix"))))
3209 (build-system emacs-build-system)
3210 (home-page "https://github.com/chrisdone/god-mode")
3211 (synopsis "Minor mode for entering commands without modifier keys")
3212 (description
3213 "This package provides a global minor mode for entering Emacs commands
3214without modifier keys. It's similar to Vim's separation of commands and
3215insertion mode. When enabled all keys are implicitly prefixed with
3216@samp{C-} (among other helpful shortcuts).")
3217 (license license:gpl3+))))
3218
3219(define-public emacs-jinja2-mode
3220 (package
3221 (name "emacs-jinja2-mode")
3222 (version "0.2")
3223 (source
3224 (origin
3225 (method url-fetch)
3226 (uri (string-append "https://github.com/paradoxxxzero/jinja2-mode/"
3227 "archive/v" version ".tar.gz"))
3228 (file-name (string-append name "-" version ".tar.gz"))
3229 (sha256
3230 (base32
3231 "0cgxjab1kla2zc2fj7bzib6i7snp08zshandmp9kqcm85l262xpn"))))
3232 (build-system emacs-build-system)
3233 (home-page "https://github.com/paradoxxxzero/jinja2-mode")
3234 (synopsis "Major mode for jinja2")
3235 (description
3236 "Emacs major mode for jinja2 with: syntax highlighting,
3237sgml/html integration, and indentation (working with sgml).")
3238 (license license:gpl3+)))
3239
3240(define-public emacs-rfcview
3241 (package
3242 (name "emacs-rfcview")
3243 (version "0.13")
3244 (home-page "http://www.loveshack.ukfsn.org/emacs")
3245 (source (origin
3246 (method url-fetch)
3247 (uri "http://www.loveshack.ukfsn.org/emacs/rfcview.el")
3248 (sha256
3249 (base32
3250 "0ympj5rxig383zl2jf0pzdsa80nnq0dpvjiriq0ivfi98fj7kxbz"))))
3251 (build-system emacs-build-system)
3252 (synopsis "Prettify Request for Comments (RFC) documents")
3253 (description "The Internet Engineering Task Force (IETF) and the Internet
3254Society (ISOC) publish various Internet-related protocols and specifications
3255as \"Request for Comments\" (RFC) documents and Internet Standard (STD)
3256documents. RFCs and STDs are published in a simple text form. This package
3257provides an Emacs major mode, rfcview-mode, which makes it more pleasant to
3258read these documents in Emacs. It prettifies the text and adds
3259hyperlinks/menus for easier navigation. It also provides functions for
3260browsing the index of RFC documents and fetching them from remote servers or
3261local directories.")
3262 (license license:gpl3+)))
3263
3264(define-public emacs-ffap-rfc-space
3265 (package
3266 (name "emacs-ffap-rfc-space")
3267 (version "12")
3268 (home-page "http://user42.tuxfamily.org/ffap-rfc-space/index.html")
3269 (source (origin
3270 (method url-fetch)
3271 (uri "http://download.tuxfamily.org/user42/ffap-rfc-space.el")
3272 (sha256
3273 (base32
3274 "1iv61dv57a73mdps7rn6zmgz7nqh14v0ninidyrasy45b1nv6gck"))))
3275 (build-system emacs-build-system)
3276 (synopsis "Make ffap recognize an RFC with a space before its number")
3277 (description "The Internet Engineering Task Force (IETF) and the
3278Internet Society (ISOC) publish various Internet-related protocols and
3279specifications as \"Request for Comments\" (RFC) documents. The
3280built-in Emacs module \"ffap\" (Find File at Point) has the ability to
3281recognize names at point which look like \"RFC1234\" and \"RFC-1234\"
3282and load the appropriate RFC from a remote server. However, it fails
3283to recognize a name like \"RFC 1234\". This package enhances ffap so
3284that it correctly finds RFCs even when a space appears before the
3285number.")
3286 (license license:gpl3+)))
3287
3288(define-public emacs-org-bullets
3289 (package
3290 (name "emacs-org-bullets")
3291 (version "0.2.4")
3292 (source
3293 (origin
3294 (method url-fetch)
3295 (uri (string-append "https://github.com/sabof/org-bullets/archive/"
3296 version ".tar.gz"))
3297 (file-name (string-append name "-" version ".tar.gz"))
3298 (sha256
3299 (base32
3300 "1dyxvpb73vj80v8br2q9rf255hfphrgaw91fbvwdcd735np9pcnh"))))
3301 (build-system emacs-build-system)
3302 (home-page "https://github.com/sabof/org-bullets")
3303 (synopsis "Show bullets in org-mode as UTF-8 characters")
3304 (description
3305 "This package provides an Emacs minor mode causing bullets in
3306@code{org-mode} to be rendered as UTF-8 characters.")
3307 (license license:gpl3+)))
3308
3309(define-public emacs-org-pomodoro
3310 (package
3311 (name "emacs-org-pomodoro")
3312 (version "2.1.0")
3313 (source
3314 (origin
3315 (method url-fetch)
3316 (uri (string-append
3317 "https://github.com/lolownia/org-pomodoro/archive/"
3318 version ".tar.gz"))
3319 (file-name (string-append name "-" version ".tar.gz"))
3320 (sha256
3321 (base32
3322 "1jalsggw3q5kvj353f84x4nl04a5vmq07h75ggppy1627lb31zm4"))))
3323 (build-system emacs-build-system)
3324 (propagated-inputs
3325 `(("emacs-alert" ,emacs-alert)))
3326 (home-page "https://github.com/lolownia/org-pomodoro")
3327 (synopsis "Pomodoro technique for org-mode")
3328 (description "@code{emacs-org-pomodoro} adds very basic support for
3329Pomodoro technique in Emacs org-mode.
3330
3331Run @code{M-x org-pomodoro} for the task at point or select one of the
3332last tasks that you clocked time for. Each clocked-in pomodoro starts
3333a timer of 25 minutes and after each pomodoro a break timer of 5
3334minutes is started automatically. Every 4 breaks a long break is
3335started with 20 minutes. All values are customizable.")
3336 (license license:gpl3+)))
3337
3338(define-public emacs-org-trello
3339 (package
3340 (name "emacs-org-trello")
3341 (version "0.8.0")
3342 (source (origin
3343 (method url-fetch)
3344 (uri (string-append
3345 "https://github.com/org-trello/org-trello/archive/"
3346 version ".tar.gz"))
3347 (file-name (string-append name "-" version ".tar.gz"))
3348 (sha256
3349 (base32
3350 "0549mnf5cgwn8b8jbl38fljbaxmh1605sv9j8f3lsa95jhs1zpa0"))))
3351 (build-system emacs-build-system)
3352 (propagated-inputs
3353 `(("emacs-dash" ,emacs-dash)
3354 ("emacs-deferred" ,emacs-deferred)
3355 ("emacs-f" ,emacs-f)
3356 ("emacs-helm" ,emacs-helm)
3357 ("emacs-request" ,emacs-request)
3358 ("emacs-s" ,emacs-s)))
3359 (home-page "https://org-trello.github.io")
3360 (synopsis "Emacs minor mode for interacting with Trello")
3361 (description "This package provides an Emacs minor mode to extend
3362@code{org-mode} with Trello abilities. Trello is an online project
3363organizer.")
3364 (license license:gpl3+)))
3365
3366(define-public emacs-atom-one-dark-theme
3367 (let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
3368 (revision "0"))
3369 (package
3370 (name "emacs-atom-one-dark-theme")
3371 (version (git-version "0.4.0" revision commit))
3372 (source (origin
3373 (method git-fetch)
3374 (uri (git-reference
3375 (url "https://github.com/jonathanchu/atom-one-dark-theme.git")
3376 (commit commit)))
3377 (sha256
3378 (base32
3379 "1alma16hg3mfjly8a9s3mrswkjjx4lrpdnf43869hn2ibkn7zx9z"))
3380 (file-name (git-file-name name version))))
3381 (build-system emacs-build-system)
3382 (home-page "https://github.com/jonathanchu/atom-one-dark-theme")
3383 (synopsis "Atom One Dark color theme for Emacs")
3384 (description "An Emacs port of the Atom One Dark theme from Atom.io.")
3385 (license license:gpl3+))))
3386
3387(define-public emacs-zenburn-theme
3388 (package
3389 (name "emacs-zenburn-theme")
3390 (version "2.6")
3391 (source (origin
3392 (method url-fetch)
3393 (uri (string-append
3394 "https://github.com/bbatsov/zenburn-emacs/archive/v"
3395 version ".tar.gz"))
3396 (file-name (string-append name "-" version ".tar.gz"))
3397 (sha256
3398 (base32
3399 "0qc9d1rwq55yzh8shbppyd6izy1grpyr8kqh5zdgm7c5jccngpr4"))))
3400 (build-system emacs-build-system)
3401 (home-page "https://github.com/bbatsov/zenburn-emacs")
3402 (synopsis "Low contrast color theme for Emacs")
3403 (description
3404 "Zenburn theme is a port of the popular Vim Zenburn theme for Emacs.
3405It is built on top of the custom theme support in Emacs 24 or later.")
3406 (license license:gpl3+)))
3407
3408(define-public emacs-solarized-theme
3409 (package
3410 (name "emacs-solarized-theme")
3411 (version "1.2.2")
3412 (source (origin
3413 (method url-fetch)
3414 (uri (string-append "https://github.com/bbatsov/solarized-emacs/"
3415 "archive/v" version ".tar.gz"))
3416 (file-name (string-append name "-" version ".tar.gz"))
3417 (sha256
3418 (base32
3419 "1ha3slc6d9wi9ilkhmwrzkvf308n6ph7b0k69pk369s9304awxzx"))))
3420 (build-system emacs-build-system)
3421 (propagated-inputs
3422 `(("emacs-dash" ,emacs-dash)))
3423 (home-page "https://github.com/bbatsov/solarized-emacs")
3424 (synopsis "Port of the Solarized theme for Emacs")
3425 (description
3426 "Solarized for Emacs is a port of the Solarized theme for Vim. This
3427package provides a light and a dark variant.")
3428 (license license:gpl3+)))
3429
3430(define-public emacs-ahungry-theme
3431 (package
3432 (name "emacs-ahungry-theme")
3433 (version "1.10.0")
3434 (source
3435 (origin (method url-fetch)
3436 (uri (string-append "https://elpa.gnu.org/packages/ahungry-theme-"
3437 version ".tar"))
3438 (sha256
3439 (base32
3440 "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm"))))
3441 (build-system emacs-build-system)
3442 (home-page "https://github.com/ahungry/color-theme-ahungry")
3443 (synopsis "Ahungry color theme for Emacs")
3444 (description "Ahungry theme for Emacs provides bright and bold colors.
3445If you load it from a terminal, you will be able to make use of the
3446transparent background. If you load it from a GUI, it will default to a
3447dark background.")
3448 (license license:gpl3+)))
3449
3450(define-public emacs-2048-game
3451 (package
3452 (name "emacs-2048-game")
3453 (version "20151026.1233")
3454 (source
3455 (origin
3456 (method url-fetch)
3457 (uri (string-append "https://melpa.org/packages/2048-game-"
3458 version ".el"))
3459 (sha256
3460 (base32
3461 "0gy2pvz79whpavp4jmz8h9krzn7brmvv3diixi1d4w51pcdvaldd"))))
3462 (build-system emacs-build-system)
3463 (home-page "https://bitbucket.org/zck/2048.el")
3464 (synopsis "Implementation of the game 2048 in Emacs Lisp")
3465 (description
3466 "This program is an implementation of 2048 for Emacs.
3467The goal of this game is to create a tile with value 2048. The size of the
3468board and goal value can be customized.")
3469 (license license:gpl3+)))
3470
3471(define-public emacs-base16-theme
3472 (package
3473 (name "emacs-base16-theme")
3474 (version "2.1")
3475 (source
3476 (origin
3477 (method url-fetch)
3478 (uri (string-append "https://stable.melpa.org/packages/base16-theme-"
3479 version ".tar"))
3480 (sha256
3481 (base32
3482 "0z6hrwz2jlz6jbr381rcqcqvx6hss5cad352klx07rark7zccacj"))))
3483 (build-system emacs-build-system)
3484 (home-page "https://github.com/belak/base16-emacs")
3485 (synopsis "Base16 color themes for Emacs")
3486 (description
3487 "Base16 provides carefully chosen syntax highlighting and a default set
3488of sixteen colors suitable for a wide range of applications. Base16 is not a
3489single theme but a set of guidelines with numerous implementations.")
3490 (license license:expat)))
3491
3492(define-public emacs-smartparens
3493 (package
3494 (name "emacs-smartparens")
3495 (version "1.11.0")
3496 (source (origin
3497 (method url-fetch)
3498 (uri (string-append
3499 "https://github.com/Fuco1/smartparens/archive/"
3500 version ".tar.gz"))
3501 (file-name (string-append name "-" version ".tar.gz"))
3502 (sha256
3503 (base32
3504 "0q5as813xs8y29i3v2rm97phd6m7xsmmw6hwbvx57gwmi8i1c409"))))
3505 (build-system emacs-build-system)
3506 (propagated-inputs
3507 `(("emacs-dash" ,emacs-dash)
3508 ("emacs-markdown-mode" ,emacs-markdown-mode)))
3509 (home-page "https://github.com/Fuco1/smartparens")
3510 (synopsis "Paredit-like insertion, wrapping and navigation with user
3511defined pairs")
3512 (description
3513 "Smartparens is a minor mode for Emacs that deals with parens pairs
3514and tries to be smart about it. It started as a unification effort to
3515combine functionality of several existing packages in a single,
3516compatible and extensible way to deal with parentheses, delimiters, tags
3517and the like. Some of these packages include autopair, textmate,
3518wrap-region, electric-pair-mode, paredit and others. With the basic
3519features found in other packages it also brings many improvements as
3520well as completely new features.")
3521 (license license:gpl3+)))
3522
3523(define-public emacs-highlight-symbol
3524 (package
3525 (name "emacs-highlight-symbol")
3526 (version "1.3")
3527 (source (origin
3528 (method url-fetch)
3529 (uri (string-append
3530 "https://github.com/nschum/highlight-symbol.el/archive/"
3531 version ".tar.gz"))
3532 (file-name (string-append name "-" version ".tar.gz"))
3533 (sha256
3534 (base32
3535 "1n7k1qns0fn0jsyc0hrjac5nzk21xw48yc30vyrhwvc51h0b9g90"))))
3536 (build-system emacs-build-system)
3537 (home-page "https://nschum.de/src/emacs/highlight-symbol")
3538 (synopsis "Automatic and manual symbol highlighting for Emacs")
3539 (description
3540 "Use @code{highlight-symbol} to toggle highlighting of the symbol at
3541point throughout the current buffer. Use @code{highlight-symbol-mode} to keep
3542the symbol at point highlighted.
3543
3544The functions @code{highlight-symbol-next}, @code{highlight-symbol-prev},
3545@code{highlight-symbol-next-in-defun} and
3546@code{highlight-symbol-prev-in-defun} allow for cycling through the locations
3547of any symbol at point. Use @code{highlight-symbol-nav-mode} to enable key
3548bindings @code{M-p} and @code{M-p} for navigation. When
3549@code{highlight-symbol-on-navigation-p} is set, highlighting is triggered
3550regardless of @code{highlight-symbol-idle-delay}.
3551
3552@code{highlight-symbol-query-replace} can be used to replace the symbol. ")
3553 (license license:gpl2+)))
3554
3555(define-public emacs-hl-todo
3556 (package
3557 (name "emacs-hl-todo")
3558 (version "1.9.0")
3559 (source (origin
3560 (method url-fetch)
3561 (uri (string-append
3562 "https://raw.githubusercontent.com/tarsius/hl-todo/"
3563 version "/hl-todo.el"))
3564 (file-name (string-append "hl-todo-" version ".el"))
3565 (sha256
3566 (base32
3567 "0728givzh7xv5i88ac9if8byj1p8bilrj1fnizca10s0rv100hdr"))))
3568 (build-system emacs-build-system)
3569 (home-page "https://github.com/tarsius/hl-todo")
3570 (synopsis "Emacs mode to highlight TODO and similar keywords")
3571 (description
3572 "This package provides an Emacs mode to highlight TODO and similar
3573keywords in comments and strings. This package also provides commands for
3574moving to the next or previous keyword and to invoke @code{occur} with a
3575regexp that matches all known keywords.")
3576 (license license:gpl3+)))
3577
3578(define-public emacs-perspective
3579 (package
3580 (name "emacs-perspective")
3581 (version "1.12")
3582 (source
3583 (origin
3584 (method url-fetch)
3585 (uri (string-append "https://github.com/nex3/perspective-el/"
3586 "archive/" version ".tar.gz"))
3587 (file-name (string-append name "-" version ".tar.gz"))
3588 (sha256
3589 (base32
3590 "078ahh0kmhdylq5ib9c81c76kz1n02xwc83pm729d00i84ibviic"))))
3591 (build-system emacs-build-system)
3592 (home-page "https://github.com/nex3/perspective-el")
3593 (synopsis "Switch between named \"perspectives\"")
3594 (description
3595 "This package provides tagged workspaces in Emacs, similar to workspaces in
3596windows managers such as Awesome and XMonad. @code{perspective.el} provides
3597multiple workspaces (or \"perspectives\") for each Emacs frame. Each
3598perspective is composed of a window configuration and a set of buffers.
3599Switching to a perspective activates its window configuration, and when in a
3600perspective only its buffers are available by default.")
3601 ;; This package is released under the same license as Emacs (GPLv3+) or
3602 ;; the Expat license.
3603 (license license:gpl3+)))
3604
3605(define-public emacs-test-simple
3606 (package
3607 (name "emacs-test-simple")
3608 (version "1.3.0")
3609 (source
3610 (origin
3611 (method url-fetch)
3612 (uri (string-append "https://elpa.gnu.org/packages/test-simple-"
3613 version ".el"))
3614 (sha256
3615 (base32
3616 "1yd61jc9ds95a5n09052kwc5gasy57g4lxr0jsff040brlyi9czz"))))
3617 (build-system emacs-build-system)
3618 (home-page "https://github.com/rocky/emacs-test-simple")
3619 (synopsis "Simple unit test framework for Emacs Lisp")
3620 (description
3621 "Test Simple is a simple unit test framework for Emacs Lisp. It
3622alleviates the need for context macros, enclosing specifications or required
3623test tags. It supports both interactive and non-interactive use.")
3624 (license license:gpl3+)))
3625
3626(define-public emacs-load-relative
3627 (package
3628 (name "emacs-load-relative")
3629 (version "1.3")
3630 (source
3631 (origin
3632 (method url-fetch)
3633 (uri (string-append "https://elpa.gnu.org/packages/load-relative-"
3634 version ".el"))
3635 (sha256
3636 (base32
3637 "1hfxb2436jdsi9wfmsv47lkkpa5galjf5q81bqabbsv79rv59dps"))))
3638 (build-system emacs-build-system)
3639 (home-page "http://github.com/rocky/emacs-load-relative")
3640 (synopsis "Emacs Lisp relative file loading related functions")
3641 (description
3642 "Provides functions which facilitate writing multi-file Emacs packages
3643and running from the source tree without having to \"install\" code or fiddle
3644with @{load-path}.
3645
3646The main function, @code{load-relative}, loads an Emacs Lisp file relative to
3647another (presumably currently running) Emacs Lisp file.")
3648 (license license:gpl3+)))
3649
3650(define-public emacs-loc-changes
3651 (package
3652 (name "emacs-loc-changes")
3653 (version "1.2")
3654 (source
3655 (origin
3656 (method url-fetch)
3657 (uri (string-append "https://elpa.gnu.org/packages/loc-changes-"
3658 version ".el"))
3659 (sha256
3660 (base32
3661 "1x8fn8vqasayf1rb8a6nma9n6nbvkx60krmiahyb05vl5rrsw6r3"))))
3662 (build-system emacs-build-system)
3663 (home-page "https://github.com/rocky/emacs-loc-changes")
3664 (synopsis "Keeps track of positions even after buffer changes")
3665 (description
3666 "This Emacs package provides a mean to track important buffer positions
3667after buffer changes.")
3668 (license license:gpl3+)))
3669
3670(define-public emacs-realgud
3671 (package
3672 (name "emacs-realgud")
3673 (version "1.4.5")
3674 (source
3675 (origin
3676 (method url-fetch)
3677 (uri (string-append "https://elpa.gnu.org/packages/realgud-"
3678 version ".tar"))
3679 (sha256
3680 (base32
3681 "108wgxg7fb4byaiasgvbxv2hq7b00biq9f0mh9hy6vw4160y5w24"))
3682 (patches
3683 ;; Patch awaiting inclusion upstream (see:
3684 ;; https://github.com/realgud/realgud/pull/226).
3685 (search-patches "emacs-realgud-fix-configure-ac.patch"))))
3686 (build-system emacs-build-system)
3687 (arguments
3688 `(#:tests? #t
3689 #:phases
3690 (modify-phases %standard-phases
3691 (add-after 'set-emacs-load-path 'fix-autogen-script
3692 (lambda _
3693 (substitute* "autogen.sh"
3694 (("./configure") "sh configure"))))
3695 (add-after 'fix-autogen-script 'autogen
3696 (lambda _
3697 (setenv "CONFIG_SHELL" "sh")
3698 (invoke "sh" "autogen.sh")))
3699 (add-after 'fix-autogen-script 'set-home
3700 (lambda _
3701 (setenv "HOME" (getenv "TMPDIR"))))
3702 (add-before 'patch-el-files 'remove-realgud-pkg.el
3703 (lambda _
3704 ;; XXX: This file is auto-generated at some point and causes
3705 ;; substitute* to crash during the `patch-el-files' phase with:
3706 ;; ERROR: In procedure stat: No such file or directory:
3707 ;; "./realgud-pkg.el"
3708 (delete-file "./realgud-pkg.el")
3709 ;; FIXME: `patch-el-files' crashes on this file with error:
3710 ;; unable to locate "bashdb".
3711 (delete-file "./test/test-regexp-bashdb.el"))))
3712 #:include (cons* ".*\\.el$" %default-include)))
3713 (native-inputs
3714 `(("autoconf" ,autoconf)
3715 ("automake" ,automake)
3716 ("emacs-test-simple" ,emacs-test-simple)))
3717 (propagated-inputs
3718 `(("emacs-load-relative" ,emacs-load-relative)
3719 ("emacs-loc-changes" ,emacs-loc-changes)))
3720 (home-page "https://github.com/realgud/realgud/")
3721 (synopsis
3722 "Modular front-end for interacting with external debuggers")
3723 (description
3724 "RealGUD is a modular, extensible GNU Emacs front-end for interacting
3725with external debuggers. It integrates various debuggers such as gdb, pdb,
3726ipdb, jdb, lldb, bashdb, zshdb, etc. and allows to visually step code in the
3727sources. Unlike GUD, it also supports running multiple debug sessions in
3728parallel.")
3729 (license license:gpl3+)))
3730
3731(define-public emacs-request
3732 (package
3733 (name "emacs-request")
3734 (version "0.3.0")
3735 (source (origin
3736 (method git-fetch)
3737 (uri (git-reference
3738 (url "https://github.com/tkf/emacs-request.git")
3739 (commit (string-append "v" version))))
3740 (file-name (string-append name "-" version "-checkout"))
3741 (sha256
3742 (base32
3743 "0wyxqbb35yqf6ci47531lk32d6fppamx9d8826kdz983vm87him7"))))
3744 (build-system emacs-build-system)
3745 (propagated-inputs
3746 `(("emacs-deferred" ,emacs-deferred)))
3747 (home-page "https://github.com/tkf/emacs-request")
3748 (synopsis "Package for speaking HTTP in Emacs Lisp")
3749 (description "This package provides a HTTP request library with multiple
3750backends. It supports url.el which is shipped with Emacs and the curl command
3751line program.")
3752 (license license:gpl3+)))
3753
3754(define-public emacs-rudel
3755 (package
3756 (name "emacs-rudel")
3757 (version "0.3.1")
3758 (source
3759 (origin
3760 (method url-fetch)
3761 (uri (string-append "http://elpa.gnu.org/packages/rudel-"
3762 version ".tar"))
3763 (sha256
3764 (base32
3765 "0glqa68g509p0s2vcc0i8kzlddnc9brd9jqhnm5rzxz4i050cvnz"))))
3766 (build-system emacs-build-system)
3767 (home-page "http://rudel.sourceforge.net/")
3768 (synopsis "Collaborative editing framework")
3769 (description
3770 "Rudel is a collaborative editing environment for GNU Emacs. Its purpose
3771is to share buffers with other users in order to edit the contents of those
3772buffers collaboratively. Rudel supports multiple backends to enable
3773communication with other collaborative editors using different protocols,
3774though currently Obby (for use with the Gobby editor) is the only
3775fully-functional one.")
3776 (license license:gpl3+)))
3777
3778(define-public emacs-hydra
3779 (package
3780 (name "emacs-hydra")
3781 (version "0.14.0")
3782 (source
3783 (origin
3784 (method git-fetch)
3785 (uri (git-reference
3786 (url "https://github.com/abo-abo/hydra")
3787 (commit version)))
3788 (file-name (git-file-name name version))
3789 (sha256
3790 (base32
3791 "0ln4z2796ycy33g5jcxkqvm7638qxy4sipsab7d2864hh700cikg"))))
3792 (build-system emacs-build-system)
3793 (home-page "https://github.com/abo-abo/hydra")
3794 (synopsis "Make Emacs bindings that stick around")
3795 (description
3796 "This package can be used to tie related commands into a family of short
3797bindings with a common prefix---a Hydra. Once you summon the Hydra (through
3798the prefixed binding), all the heads can be called in succession with only a
3799short extension. Any binding that isn't the Hydra's head vanquishes the
3800Hydra. Note that the final binding, besides vanquishing the Hydra, will still
3801serve its original purpose, calling the command assigned to it. This makes
3802the Hydra very seamless; it's like a minor mode that disables itself
3803automatically.")
3804 (license license:gpl3+)))
3805
3806(define-public emacs-ivy
3807 (package
3808 (name "emacs-ivy")
db2badeb 3809 (version "0.11.0")
eeb883cb
RW
3810 (source
3811 (origin
3812 (method git-fetch)
3813 (uri (git-reference
3814 (url "https://github.com/abo-abo/swiper.git")
3815 (commit version)))
3816 (file-name (string-append name "-" version "-checkout"))
3817 (sha256
3818 (base32
db2badeb 3819 "009n8zjycs62cv4i1k9adbb284wz2w3r13xki2740sj34k683v13"))))
eeb883cb
RW
3820 (build-system emacs-build-system)
3821 (arguments
3822 `(#:phases
3823 (modify-phases %standard-phases
3824 (add-after 'install 'install-doc
3825 (lambda* (#:key outputs #:allow-other-keys)
3826 (let* ((out (assoc-ref outputs "out"))
3827 (info (string-append out "/share/info")))
3828 (with-directory-excursion "doc"
3829 (invoke "makeinfo" "ivy.texi")
3830 (install-file "ivy.info" info)
3831 #t)))))))
3832 (propagated-inputs
3833 `(("emacs-hydra" ,emacs-hydra)))
3834 (native-inputs
3835 `(("texinfo" ,texinfo)))
3836 (home-page "http://oremacs.com/swiper/")
3837 (synopsis "Incremental vertical completion for Emacs")
3838 (description
3839 "This package provides @code{ivy-read} as an alternative to
3840@code{completing-read} and similar functions. No attempt is made to determine
3841the best candidate. Instead, the user can navigate candidates with
3842@code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
3843splitting the input text by spaces and re-building it into a regular
3844expression.")
3845 (license license:gpl3+)))
3846
3847(define-public emacs-ivy-yasnippet
3848 (let ((commit "32580b4fd23ebf9ca7dde96704f7d53df6e253cd")
3849 (revision "2"))
3850 (package
3851 (name "emacs-ivy-yasnippet")
3852 (version (git-version "0.1" revision commit))
3853 (source
3854 (origin
3855 (method git-fetch)
3856 (uri (git-reference
3857 (url "https://github.com/mkcms/ivy-yasnippet.git")
3858 (commit commit)))
3859 (file-name (git-file-name name version))
3860 (sha256
3861 (base32
3862 "1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"))))
3863 (build-system emacs-build-system)
3864 (propagated-inputs
3865 `(("emacs-ivy" ,emacs-ivy)
3866 ("emacs-yasnippet" ,emacs-yasnippet)
3867 ("emacs-dash" ,emacs-dash)))
3868 (home-page "https://github.com/mkcms/ivy-yasnippet")
3869 (synopsis "Preview @code{yasnippets} with @code{ivy}")
3870 (description "This package allows you to select @code{yasnippet}
3871snippets using @code{ivy} completion. When current selection changes in the
3872minibuffer, the snippet contents are temporarily expanded in the buffer. To
3873use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
3874@code{yas-minor-mode} first).")
3875 (license license:gpl3+))))
3876
3877(define-public emacs-ivy-rich
3878 (package
3879 (name "emacs-ivy-rich")
3880 (version "0.1.0")
3881 (source
3882 (origin
3883 (method url-fetch)
3884 (uri (string-append "https://github.com/Yevgnen/ivy-rich/archive/"
3885 version ".tar.gz"))
3886 (file-name (string-append name "-" version ".tar.gz"))
3887 (sha256
3888 (base32
3889 "14r3mx5rkd4wz0ls5pv5w6c7la3z9iy93d3jfind3xyg4kywy95c"))))
3890 (build-system emacs-build-system)
3891 (propagated-inputs
3892 `(("emacs-ivy" ,emacs-ivy)))
3893 (home-page "https://github.com/Yevgnen/ivy-rich")
3894 (synopsis "More friendly interface for @code{ivy}")
3895 (description
3896 "This package extends @code{ivy} by showing more information in the
3897minibuffer for each candidate. It adds columns showing buffer modes, file
3898sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can
3899show icons as well.")
3900 (license license:gpl3+)))
3901
3902(define-public emacs-avy
3903 (package
3904 (name "emacs-avy")
3905 (version "0.4.0")
3906 (source
3907 (origin
3908 (method url-fetch)
3909 (uri (string-append "https://github.com/abo-abo/avy/archive/"
3910 version ".tar.gz"))
3911 (file-name (string-append name "-" version ".tar.gz"))
3912 (sha256
3913 (base32
3914 "1wdrq512h25ymzjbf2kbsdymvd2ryfwzb6bh5bc3yv7q203im796"))))
3915 (build-system emacs-build-system)
3916 (home-page "https://github.com/abo-abo/avy")
3917 (synopsis "Tree-based completion for Emacs")
3918 (description
3919 "This package provides a generic completion method based on building a
3920balanced decision tree with each candidate being a leaf. To traverse the tree
3921from the root to a desired leaf, typically a sequence of @code{read-key} can
3922be used.
3923
3924In order for @code{read-key} to make sense, the tree needs to be visualized
3925appropriately, with a character at each branch node. So this completion
3926method works only for things that you can see on your screen, all at once,
3927such as the positions of characters, words, line beginnings, links, or
3928windows.")
3929 (license license:gpl3+)))
3930
3931(define-public emacs-ace-window
3932 (package
3933 (name "emacs-ace-window")
3934 (version "0.9.0")
3935 (source
3936 (origin
3937 (method url-fetch)
3938 (uri (string-append "https://github.com/abo-abo/ace-window/archive/"
3939 version ".tar.gz"))
3940 (file-name (string-append name "-" version ".tar.gz"))
3941 (sha256
3942 (base32
3943 "1p2sgfl5dml4zbd6ldql6lm2m9vmd236ah996ni32x254s48j5pn"))))
3944 (build-system emacs-build-system)
3945 (propagated-inputs
3946 `(("emacs-avy" ,emacs-avy)))
3947 (home-page "https://github.com/abo-abo/ace-window")
3948 (synopsis "Quickly switch windows in Emacs")
3949 (description
3950 "@code{ace-window} is meant to replace @code{other-window}.
3951In fact, when there are only two windows present, @code{other-window} is
3952called. If there are more, each window will have its first character
3953highlighted. Pressing that character will switch to that window.")
3954 (license license:gpl3+)))
3955
3956(define-public emacs-iedit
3957 (package
3958 (name "emacs-iedit")
3959 (version "0.9.9.9")
3960 (source
3961 (origin
3962 (method url-fetch)
3963 (uri (string-append "https://github.com/victorhge/iedit/archive/v"
3964 version ".tar.gz"))
3965 (file-name (string-append name "-" version ".tar.gz"))
3966 (sha256
3967 (base32
3968 "1hv8q6pr85ss9g3158l1fqv3m62vsq8rslsi86jicr2dcxyascr0"))))
3969 (build-system emacs-build-system)
3970 (home-page "http://www.emacswiki.org/emacs/Iedit")
3971 (synopsis "Edit multiple regions in the same way simultaneously")
3972 (description
3973 "This package is an Emacs minor mode and allows you to edit one
3974occurrence of some text in a buffer (possibly narrowed) or region, and
3975simultaneously have other occurrences edited in the same way.
3976
3977You can also use Iedit mode as a quick way to temporarily show only the buffer
3978lines that match the current text being edited. This gives you the effect of
3979a temporary @code{keep-lines} or @code{occur}.")
3980 (license license:gpl3+)))
3981
3982(define-public emacs-zoutline
3983 (let ((commit "b3ee0f0e0b916838c2d2c249beba74ffdb8d5699")
3984 (revision "0"))
3985 (package
3986 (name "emacs-zoutline")
3987 (version (git-version "0.1" revision commit))
3988 (home-page "https://github.com/abo-abo/zoutline")
3989 (source (origin
3990 (method git-fetch)
3991 (uri (git-reference (url home-page) (commit commit)))
3992 (sha256
3993 (base32
3994 "0sd0017piw0dis6dhpq5dkqd3acisxqgipl7dj8gmc1vnswhdwr8"))
3995 (file-name (git-file-name name version))))
3996 (build-system emacs-build-system)
3997 (synopsis "Simple outline library")
3998 (description
3999 "This library provides helpers for outlines. Outlines allow users to
4000navigate code in a tree-like fashion.")
4001 (license license:gpl3+))))
4002
4003(define-public emacs-lispy
4004 ;; Release 0.26.0 was almost 3 years ago, and there have been ~772 commits
4005 ;; since.
caf810d3
PN
4006 (let ((commit "f94cfc6b8f9c3afe7d028c366928049c011023de")
4007 (revision "1"))
eeb883cb
RW
4008 (package
4009 (name "emacs-lispy")
4010 (version (git-version "0.26.0" revision commit))
4011 (home-page "https://github.com/abo-abo/lispy")
4012 (source (origin
4013 (method git-fetch)
4014 (uri (git-reference (url home-page) (commit commit)))
4015 (sha256
4016 (base32
caf810d3 4017 "1bm2cpwizg1qfpm377gpx1af1hm5maw69if1csnk5vwaphmv8c4g"))
eeb883cb
RW
4018 (file-name (git-file-name name version))))
4019 (build-system emacs-build-system)
4020 (propagated-inputs
4021 `(("emacs-ace-window" ,emacs-ace-window)
4022 ("emacs-iedit" ,emacs-iedit)
4023 ("emacs-ivy" ,emacs-ivy)
4024 ("emacs-hydra" ,emacs-hydra)
4025 ("emacs-zoutline" ,emacs-zoutline)))
4026 (synopsis "Modal S-expression editing")
4027 (description
4028 "Due to the structure of Lisp syntax it's very rare for the programmer
4029to want to insert characters right before \"(\" or right after \")\". Thus
4030unprefixed printable characters can be used to call commands when the point is
4031at one of these special locations. Lispy provides unprefixed keybindings for
4032S-expression editing when point is at the beginning or end of an
4033S-expression.")
4034 (license license:gpl3+))))
4035
4036(define-public emacs-lispyville
808136bd
PN
4037 (let ((commit "d28b937f0cabd8ce61e2020fe9a733ca80d82c74")
4038 (revision "1"))
eeb883cb
RW
4039 (package
4040 (name "emacs-lispyville")
4041 (version (git-version "0.1" revision commit))
4042 (home-page "https://github.com/noctuid/lispyville")
4043 (source (origin
4044 (method git-fetch)
4045 (uri (git-reference (url home-page) (commit commit)))
4046 (sha256
4047 (base32
808136bd 4048 "0f6srwj1qqkfkbmp5n5pjvi6gm7b7xav05p5hrs2i83rjrakzzqx"))
eeb883cb
RW
4049 (file-name (git-file-name name version))))
4050 (propagated-inputs
4051 `(("emacs-evil" ,emacs-evil)
4052 ("emacs-lispy" ,emacs-lispy)))
4053 (build-system emacs-build-system)
4054 (synopsis "Minor mode for integrating Evil with lispy")
4055 (description
4056 "LispyVille's main purpose is to provide a Lisp editing environment
4057suited towards Evil users. It can serve as a minimal layer on top of lispy
4058for better integration with Evil, but it does not require the use of lispy’s
4059keybinding style. The provided commands allow for editing Lisp in normal
4060state and will work even without lispy being enabled.")
4061 (license license:gpl3+))))
4062
4063(define-public emacs-clojure-mode
4064 (package
4065 (name "emacs-clojure-mode")
4066 (version "5.6.1")
4067 (source (origin
4068 (method url-fetch)
4069 (uri (string-append
4070 "https://github.com/clojure-emacs/clojure-mode/archive/"
4071 version ".tar.gz"))
4072 (file-name (string-append name "-" version ".tar.gz"))
4073 (sha256
4074 (base32
4075 "1f4k1hncy5ygh4izn7mqfp744nnisrp9ywn2njknbjxx34ai1q88"))))
4076 (build-system emacs-build-system)
4077 (native-inputs
4078 `(("emacs-dash" ,emacs-dash)
4079 ("emacs-s" ,emacs-s)
4080 ("ert-runner" ,emacs-ert-runner)))
4081 (arguments
4082 `(#:tests? #t
4083 #:test-command '("ert-runner")))
4084 (home-page "https://github.com/clojure-emacs/clojure-mode")
4085 (synopsis "Major mode for Clojure code")
4086 (description
4087 "This Emacs package provides font-lock, indentation, navigation and basic
4088refactoring for the @uref{http://clojure.org, Clojure programming language}.
4089It is recommended to use @code{clojure-mode} with paredit or smartparens.")
4090 (license license:gpl3+)))
4091
4092(define-public emacs-epl
4093 (package
4094 (name "emacs-epl")
4095 (version "0.8")
4096 (source (origin
4097 (method url-fetch)
4098 (uri (string-append
4099 "https://github.com/cask/epl/archive/"
4100 version ".tar.gz"))
4101 (file-name (string-append name "-" version ".tar.gz"))
4102 (sha256
4103 (base32
4104 "1511n3a3f5gvaf2b4nh018by61ciyzi3y3603fzqma7p9hrckarc"))))
4105 (build-system emacs-build-system)
4106 (home-page "https://github.com/cask/epl")
4107 (synopsis "Emacs Package Library")
4108 (description
4109 "A package management library for Emacs, based on @code{package.el}.
4110
4111The purpose of this library is to wrap all the quirks and hassle of
4112@code{package.el} into a sane API.")
4113 (license license:gpl3+)))
4114
4115(define-public emacs-queue
4116 (package
4117 (name "emacs-queue")
4118 (version "0.2")
4119 (source (origin
4120 (method url-fetch)
4121 (uri (string-append "https://elpa.gnu.org/packages/queue-"
4122 version ".el"))
4123 (sha256
4124 (base32
4125 "0cx2848sqnnkkr4zisvqadzxngjyhmb36mh0q3if7q19yjjhmrkb"))))
4126 (build-system emacs-build-system)
4127 (home-page "http://www.dr-qubit.org/tags/computing-code-emacs.html")
4128 (synopsis "Queue data structure for Emacs")
4129 (description
4130 "This Emacs library provides queue data structure. These queues can be
4131used both as a first-in last-out (FILO) and as a first-in first-out (FIFO)
4132stack, i.e. elements can be added to the front or back of the queue, and can
4133be removed from the front. This type of data structure is sometimes called an
4134\"output-restricted deque\".")
4135 (license license:gpl3+)))
4136
4137(define-public emacs-pkg-info
4138 (package
4139 (name "emacs-pkg-info")
4140 (version "0.6")
4141 (source (origin
4142 (method url-fetch)
4143 (uri (string-append
4144 "https://github.com/lunaryorn/pkg-info.el/archive/"
4145 version ".tar.gz"))
4146 (file-name (string-append name "-" version ".tar.gz"))
4147 (sha256
4148 (base32
4149 "1gy1jks5mmm02gg1c8gcyr4f8a9s5ggzhk56gv33b9mzjqzi5rd5"))))
4150 (build-system emacs-build-system)
4151 (propagated-inputs `(("emacs-epl" ,emacs-epl)))
4152 (home-page "https://github.com/lunaryorn/pkg-info.el")
4153 (synopsis "Information about Emacs packages")
4154 (description
4155 "This library extracts information from the installed Emacs packages.")
4156 (license license:gpl3+)))
4157
4158(define-public emacs-spinner
4159 (package
4160 (name "emacs-spinner")
4161 (version "1.7.3")
4162 (source (origin
4163 (method url-fetch)
4164 (uri (string-append "https://elpa.gnu.org/packages/spinner-"
4165 version ".el"))
4166 (sha256
4167 (base32
4168 "19kp1mmndbmw11sgvv2ggfjl4pyf5zrsbh3871f0965pw9z8vahd"))))
4169 (build-system emacs-build-system)
4170 (home-page "https://github.com/Malabarba/spinner.el")
4171 (synopsis "Emacs mode-line spinner for operations in progress")
4172 (description
4173 "This Emacs package adds spinners and progress-bars to the mode-line for
4174ongoing operations.")
4175 (license license:gpl3+)))
4176
4177(define-public emacs-sparql-mode
4178 (package
4179 (name "emacs-sparql-mode")
4180 (version "2.0.1")
4181 (source (origin
4182 (method url-fetch)
4183 (uri (string-append "https://github.com/ljos/sparql-mode/archive/"
4184 "v" version ".tar.gz"))
4185 (file-name (string-append name "-" version ".tar.gz"))
4186 (sha256
4187 (base32
4188 "1s93mkllxnhy7fw616cnnc2danacdlarys0g3cn89drh0llh53cv"))))
4189 (build-system emacs-build-system)
4190 (home-page "https://github.com/ljos/sparql-mode")
4191 (synopsis "SPARQL mode for Emacs")
4192 (description "This package provides a major mode for Emacs that provides
4193syntax highlighting for SPARQL. It also provides a way to execute queries
4194against a SPARQL HTTP endpoint, such as is provided by Fuseki. It is also
4195possible to query other endpoints like DBPedia.")
4196 (license license:gpl3+)))
4197
4198(define-public emacs-better-defaults
4199 (package
4200 (name "emacs-better-defaults")
4201 (version "0.1.3")
4202 (source
4203 (origin
4204 (method url-fetch)
4205 (uri (string-append "https://github.com/technomancy/better-defaults"
4206 "/archive/" version ".tar.gz"))
4207 (file-name (string-append name "-" version ".tar.gz"))
4208 (sha256
4209 (base32
4210 "08fg4zslzlxbvyil5g4gwvwd22fh4zsgqprs5wh9hv1rgc6757m2"))))
4211 (build-system emacs-build-system)
4212 (home-page "https://github.com/technomancy/better-defaults")
4213 (synopsis "Better defaults for Emacs")
4214 (description
4215 "Better defaults attempts to address the most obvious deficiencies of the
4216Emacs default configuration in uncontroversial ways that nearly everyone can
4217agree upon.")
4218 (license license:gpl3+)))
4219
4220(define-public emacs-eprime
4221 (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f"))
4222 (package
4223 (name "emacs-eprime")
4224 (version (string-append "20140513-" (string-take commit 7)))
4225 (source (origin
4226 (method url-fetch)
4227 (uri (string-append "https://raw.githubusercontent.com"
4228 "/AndrewHynes/eprime-mode/"
4229 commit "/eprime-mode.el"))
4230 (file-name (string-append "eprime-" version ".el"))
4231 (sha256
4232 (base32
4233 "0v68lggkyq7kbcr9zyi573m2g2x251xy3jadlaw8kx02l8krwq8d"))))
4234 (build-system emacs-build-system)
4235 (home-page "https://github.com/AndrewHynes/eprime-mode")
4236 (synopsis "E-prime checking mode for Emacs")
4237 (description "This package provides an E-prime checking mode for Emacs
4238that highlights non-conforming text. The subset of the English language called
4239E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
4240 (license license:gpl3+))))
4241
4242(define-public emacs-julia-mode
4243 ;; XXX: Upstream version remained stuck at 0.3. See
4244 ;; <https://github.com/JuliaEditorSupport/julia-emacs/issues/46>.
4245 (let ((commit "115d4dc8a07445301772da8376b232fa8c7168f4")
4246 (revision "1"))
4247 (package
4248 (name "emacs-julia-mode")
4249 (version (string-append "0.3-" revision "." (string-take commit 8)))
4250 (source
4251 (origin
4252 (method git-fetch)
4253 (uri (git-reference
4254 (url "https://github.com/JuliaEditorSupport/julia-emacs.git")
4255 (commit commit)))
4256 (file-name (string-append name "-" version "-checkout"))
4257 (sha256
4258 (base32
4259 "1is4dcv6blslpzbjcg8l2jpxi8xj96q4cm0nxjxsyswpm8bw8ki0"))))
4260 (build-system emacs-build-system)
4261 (arguments
4262 `(#:tests? #t
4263 #:test-command '("emacs" "--batch"
4264 "-l" "julia-mode-tests.el"
4265 "-f" "ert-run-tests-batch-and-exit")))
4266 (home-page "https://github.com/JuliaEditorSupport/julia-emacs")
4267 (synopsis "Major mode for Julia")
4268 (description "This Emacs package provides a mode for the Julia
4269programming language.")
4270 (license license:expat))))
4271
4272(define-public emacs-smex
4273 (package
4274 (name "emacs-smex")
4275 (version "3.0")
4276 (source (origin
4277 (method url-fetch)
4278 (uri (string-append "https://raw.githubusercontent.com"
4279 "/nonsequitur/smex/" version "/smex.el"))
4280 (file-name (string-append "smex-" version ".el"))
4281 (sha256
4282 (base32
4283 "0ar310zx9k5y4i1vl2rawvi712xj9gx77160860jbs691p77cxqp"))))
4284 (build-system emacs-build-system)
4285 (home-page "https://github.com/nonsequitur/smex/")
4286 (synopsis "M-x interface with Ido-style fuzzy matching")
4287 (description
4288 "Smex is a M-x enhancement for Emacs. Built on top of Ido, it provides a
4289convenient interface to your recently and most frequently used commands. And
4290to all the other commands, too.")
4291 (license license:gpl3+)))
4292
4293(define-public emacs-js2-mode
4294 (package
4295 (name "emacs-js2-mode")
4296 (version "20180301")
4297 (source (origin
4298 (method url-fetch)
4299 (uri (string-append "https://github.com/mooz/js2-mode/archive/"
4300 version ".tar.gz"))
4301 (file-name (string-append name "-" version ".tar.gz"))
4302 (sha256
4303 (base32
4304 "13aghgwaqrmbf3pbifcry52kya454wnh1gbdh5805n1n6xgjm5w3"))))
4305 (build-system emacs-build-system)
4306 (home-page "https://github.com/mooz/js2-mode/")
4307 (synopsis "Improved JavaScript editing mode for Emacs")
4308 (description
4309 "Js2-mode provides a JavaScript major mode for Emacs that is more
4310advanced than the built-in javascript-mode. Features include accurate syntax
4311highlighting using a recursive-descent parser, on-the-fly reporting of syntax
4312errors and strict-mode warnings, smart line-wrapping within comments and
4313strings, and code folding.")
4314 (license license:gpl3+)))
4315
4316(define-public emacs-nodejs-repl
4317 (package
4318 (name "emacs-nodejs-repl")
4319 (version "0.2.0")
4320 (source (origin
4321 (method url-fetch)
4322 (uri (string-append "https://github.com/abicky/nodejs-repl.el"
4323 "/archive/" version ".tar.gz"))
4324 (sha256
4325 (base32
4326 "0hq2cqdq2668yf48g7qnkci90nhih1gnhacsgz355jnib56lhmkz"))
4327 (file-name (string-append name "-" version ".tar.gz"))))
4328 (build-system emacs-build-system)
4329 (home-page "https://github.com/abicky/nodejs-repl.el")
4330 (synopsis "Node.js REPL inside Emacs")
4331 (description
4332 "This program is derived from comint-mode and provides the following
4333features:
4334
4335@itemize
4336@item TAB completion same as Node.js REPL
4337@item file name completion in string
4338@item incremental history search
4339@end itemize")
4340 (license license:gpl3+)))
4341
4342(define-public emacs-typescript-mode
4343 (package
4344 (name "emacs-typescript-mode")
4345 (version "0.3")
4346 (source (origin
4347 (method url-fetch)
4348 (uri (string-append
4349 "https://github.com/ananthakumaran/typescript.el"
4350 "/archive/v" version ".tar.gz"))
4351 (sha256
4352 (base32
4353 "1gqjirm8scf0wysm7x97zdfbs4qa5nqdl64jfbkd18iskv5mg3rj"))
4354 (file-name (string-append name "-" version ".tar.gz"))))
4355 (build-system emacs-build-system)
4356 (home-page "https://github.com/ananthakumaran/typescript.el")
4357 (synopsis "Emacs major mode for editing Typescript code")
4358 (description
4359 "This is based on Karl Landstrom's barebones @code{typescript-mode}.
4360This is much more robust and works with @code{cc-mode}'s comment
4361filling (mostly). The modifications to the original @code{javascript.el} mode
4362mainly consisted in replacing \"javascript\" with \"typescript\"
4363
4364The main features of this Typescript mode are syntactic highlighting (enabled
4365with @code{font-lock-mode} or @code{global-font-lock-mode}), automatic
4366indentation and filling of comments and C preprocessor fontification.")
4367 (license license:gpl3+)))
4368
4369(define-public emacs-tide
4370 (package
4371 (name "emacs-tide")
608b922f 4372 (version "3.2.3")
eeb883cb
RW
4373 (source (origin
4374 (method url-fetch)
4375 (uri (string-append "https://github.com/ananthakumaran/tide"
4376 "/archive/v" version ".tar.gz"))
4377 (sha256
4378 (base32
608b922f 4379 "1c600myr2yqbkmy9lify38lz0zzjdqk1733db5n7vsay16vn6fzi"))
eeb883cb
RW
4380 (file-name (string-append name "-" version ".tar.gz"))))
4381 (build-system emacs-build-system)
4382 (propagated-inputs
4383 `(("emacs-dash" ,emacs-dash)
4384 ("emacs-s" ,emacs-s)
4385 ("emacs-flycheck" ,emacs-flycheck)
4386 ("emacs-typescript-mode" ,emacs-typescript-mode)))
4387 (home-page "https://github.com/ananthakumaran/tide")
4388 (synopsis "Typescript IDE for Emacs")
4389 (description
4390 "Tide is an Interactive Development Environment (IDE) for Emacs which
4391provides the following features:
4392
4393@itemize
4394@item ElDoc
4395@item Auto complete
4396@item Flycheck
4397@item Jump to definition, Jump to type definition
4398@item Find occurrences
4399@item Rename symbol
4400@item Imenu
4401@item Compile On Save
4402@item Highlight Identifiers
4403@item Code Fixes
4404@item Code Refactor
4405@item Organize Imports
4406@end itemize")
4407 (license license:gpl3+)))
4408
4409(define-public emacs-markdown-mode
4410 (package
4411 (name "emacs-markdown-mode")
4412 (version "2.3")
4413 (source (origin
4414 (method url-fetch)
4415 (uri (string-append "https://raw.githubusercontent.com/jrblevin"
4416 "/markdown-mode/v" version
4417 "/markdown-mode.el"))
4418 (file-name (string-append "markdown-mode-" version ".el"))
4419 (sha256
4420 (base32
4421 "152whyrq3dqlqy5wv4mdd94kmal19hs5kwaxjcp2gp2r97lsmdmi"))))
4422 (build-system emacs-build-system)
4423 (home-page "http://jblevins.org/projects/markdown-mode/")
4424 (synopsis "Emacs Major mode for Markdown files")
4425 (description
4426 "Markdown-mode is a major mode for editing Markdown-formatted text files
4427in Emacs.")
4428 (license license:gpl3+)))
4429
4430(define-public emacs-edit-indirect
4431 (package
4432 (name "emacs-edit-indirect")
4433 (version "0.1.5")
4434 (source
4435 (origin
4436 (method git-fetch)
4437 (uri (git-reference
4438 (url "https://github.com/Fanael/edit-indirect")
4439 (commit version)))
4440 (file-name (git-file-name name version))
4441 (sha256
4442 (base32
4443 "0by1x53pji39fjrj5bd446kz831nv0vdgw2jqasbym4pc1p2947r"))))
4444 (build-system emacs-build-system)
4445 (home-page "https://github.com/Fanael/edit-indirect")
4446 (synopsis "Edit regions in separate buffers")
4447 (description "This package allows you to edit regions in separate buffers,
4448like @code{org-edit-src-code} but for arbitrary regions.")
4449 (license license:gpl3+)))
4450
4451(define-public emacs-projectile
4452 (package
4453 (name "emacs-projectile")
d97283c3 4454 (version "2.0.0")
eeb883cb
RW
4455 (source (origin
4456 (method url-fetch)
4457 (uri (string-append "https://raw.githubusercontent.com/bbatsov"
4458 "/projectile/v" version "/projectile.el"))
4459 (file-name (string-append "projectile-" version ".el"))
4460 (sha256
4461 (base32
d97283c3 4462 "149hablms6n9b4wp78dz4pjz1rzyylfw9ayghq5p9d7k661mvyby"))))
eeb883cb
RW
4463 (build-system emacs-build-system)
4464 (propagated-inputs
4465 `(("emacs-dash" ,emacs-dash)
4466 ("emacs-pkg-info" ,emacs-pkg-info)))
4467 (home-page "https://github.com/bbatsov/projectile")
4468 (synopsis "Manage and navigate projects in Emacs easily")
4469 (description
4470 "This library provides easy project management and navigation. The
4471concept of a project is pretty basic - just a folder containing special file.
4472Currently git, mercurial and bazaar repos are considered projects by default.
4473If you want to mark a folder manually as a project just create an empty
4474.projectile file in it.")
4475 (license license:gpl3+)))
4476
4477(define-public emacs-elfeed
4478 (package
4479 (name "emacs-elfeed")
4480 (version "3.0.0")
4481 (source (origin
4482 (method url-fetch)
4483 (uri (string-append "https://github.com/skeeto/elfeed/archive/"
4484 version ".tar.gz"))
4485 (file-name (string-append name "-" version ".tar.gz"))
4486 (sha256
4487 (base32
4488 "1wkdrxr6zzqb48czqqv34l87bx8aqjk1739ddqg933aqh241kfvn"))))
4489 (build-system emacs-build-system)
4490 (arguments
4491 `(#:tests? #t
4492 #:test-command '("make" "test")))
4493 (home-page "https://github.com/skeeto/elfeed")
4494 (synopsis "Atom/RSS feed reader for Emacs")
4495 (description
4496 "Elfeed is an extensible web feed reader for Emacs, supporting both Atom
4497and RSS, with a user interface inspired by notmuch.")
4498 (license license:gpl3+)))
4499
4500(define-public emacs-el-x
4501 (package
4502 (name "emacs-el-x")
4503 (version "0.3.1")
4504 (source (origin
4505 (method git-fetch)
4506 (uri (git-reference
4507 (url "https://github.com/sigma/el-x.git")
4508 (commit (string-append "v" version))))
4509 (file-name (string-append name "-" version "-checkout"))
4510 (sha256
4511 (base32
4512 "1i6j44ssxm1xdg0mf91nh1lnprwsaxsx8vsrf720nan7mfr283h5"))))
4513 (build-system emacs-build-system)
4514 (arguments
4515 `(#:phases
4516 (modify-phases %standard-phases
4517 ;; Move the source files to the top level, which is included in
4518 ;; the EMACSLOADPATH.
4519 (add-after 'unpack 'move-source-files
4520 (lambda _
4521 (let ((el-files (find-files "./lisp" ".*\\.el$")))
4522 (for-each (lambda (f)
4523 (rename-file f (basename f)))
4524 el-files))
4525 #t)))))
4526 (home-page "https://github.com/sigma/el-x")
4527 (synopsis "Emacs Lisp extensions")
4528 (description "command@{emacs-el-x} defines the @code{dflet} macro to
4529provide the historic behavior of @code{flet}, as well as
4530@code{declare-function} stub for older Emacs.")
4531 (license license:gpl2+)))
4532
4533(define-public emacs-mocker
4534 (package
4535 (name "emacs-mocker")
4536 (version "0.3.1")
4537 (source (origin
4538 (method git-fetch)
4539 (uri (git-reference
4540 (url "https://github.com/sigma/mocker.el.git")
4541 (commit (string-append "v" version))))
4542 (file-name (string-append name "-" version "-checkout"))
4543 (sha256
4544 (base32
4545 "1lav7am41v63xgavq8pr88y828jmd1cxd4prjq7jlbxm6nvrwxh2"))))
4546 (build-system emacs-build-system)
4547 (arguments
4548 `(#:tests? #t
4549 #:test-command '("ert-runner")))
4550 (native-inputs
4551 `(("ert-runner" ,emacs-ert-runner)))
4552 (propagated-inputs
4553 `(("emacs-el-x" ,emacs-el-x)))
4554 (home-page "https://github.com/sigma/mocker.el")
4555 (synopsis "Mocking framework for Emacs Lisp")
4556 (description "Mocker.el is a framework for writing tests in Emacs Lisp.
4557It uses regular Lisp rather than a domain specific language (DSL), which
4558maximizes flexibility (at the expense of conciseness).")
4559 (license license:gpl2+)))
4560
4561(define-public emacs-find-file-in-project
4562 (package
4563 (name "emacs-find-file-in-project")
4564 (version "5.4.7")
4565 (source (origin
4566 (method git-fetch)
4567 (uri (git-reference
4568 (url "https://github.com/technomancy/find-file-in-project.git")
4569 (commit version)))
4570 (file-name (string-append name "-" version "-checkout"))
4571 (sha256
4572 (base32
4573 "1sdnyqv69mipbgs9yax88m9b6crsa59rjhwrih197pifl4089awr"))))
4574 (build-system emacs-build-system)
4575 (arguments
4576 `(#:phases
4577 (modify-phases %standard-phases
4578 (add-before 'check 'set-shell
4579 ;; Otherwise Emacs shell-file-name is set to "/bin/sh", which doesn't
4580 ;; work.
4581 (lambda _
4582 (setenv "SHELL" (which "sh"))
4583 #t)))
4584 #:tests? #t
4585 #:test-command '("./tests/test.sh")))
4586 (home-page "https://github.com/technomancy/find-file-in-project")
4587 (synopsis "File/directory finder for Emacs")
4588 (description "@code{find-file-in-project} allows to find files or
4589directories quickly in the current project. The project root is detected
4590automatically when Git, Subversion or Mercurial are used. It also provides
4591functions to assist in reviewing changes on files.")
4592 (license license:gpl3+)))
4593
4594(define-public emacs-pyvenv
4595 (package
4596 (name "emacs-pyvenv")
1275f9ef 4597 (version "1.20")
eeb883cb
RW
4598 (source (origin
4599 (method git-fetch)
4600 (uri (git-reference
4601 (url "https://github.com/jorgenschaefer/pyvenv.git")
4602 (commit (string-append "v" version))))
4603 (file-name (string-append name "-" version "-checkout"))
4604 (sha256
4605 (base32
1275f9ef 4606 "1x052fsavb94x3scpqd6n9spqgzaahzbdxhg4qa5sy6hqsabn6zh"))))
eeb883cb
RW
4607 (build-system emacs-build-system)
4608 (arguments
4609 `(#:phases
4610 (modify-phases %standard-phases
4611 ;; This phase incorrectly attempts to substitute "activate" and fails
4612 ;; doing so.
4613 (delete 'patch-el-files))
4614 #:tests? #t
4615 #:test-command '("ert-runner")))
4616 (native-inputs
4617 `(("ert-runner" ,emacs-ert-runner)
4618 ("emacs-mocker" ,emacs-mocker)))
4619 (home-page "https://github.com/jorgenschaefer/pyvenv")
1275f9ef 4620 (synopsis "Python virtual environment interface for Emacs")
eeb883cb
RW
4621 (description "pyvenv.el is a minor mode to support using Python virtual
4622environments (virtualenv) inside Emacs.")
4623 (license license:gpl3+)))
4624
4625(define-public emacs-highlight-indentation
4626 (package
4627 (name "emacs-highlight-indentation")
4628 (version "0.7.0")
4629 (source (origin
4630 (method git-fetch)
4631 (uri (git-reference
4632 (url "https://github.com/antonj/Highlight-Indentation-for-Emacs.git")
4633 (commit (string-append "v" version))))
4634 (file-name (string-append name "-" version "-checkout"))
4635 (sha256
4636 (base32
4637 "00l54k75qk24a0znzl4ij3s3nrnr2wy9ha3za8apphzlm98m907k"))))
4638 (build-system emacs-build-system)
4639 (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/")
4640 (synopsis "Highlighting indentation for Emacs")
4641 (description "Provides two minor modes to highlight indentation guides in Emacs:
4642@enumerate
4643@item @code{highlight-indentation-mode}, which displays guidelines
4644indentation (space indentation only).
4645@item @code{highlight-indentation-current-column-mode}, which displays guidelines for the current-point indentation (space indentation only).
4646@end enumerate")
4647 (license license:gpl2+)))
4648
4649(define-public emacs-elpy
4650 (package
4651 (name "emacs-elpy")
d79e0b3a 4652 (version "1.28.0")
eeb883cb
RW
4653 (source (origin
4654 (method git-fetch)
4655 (uri (git-reference
4656 (url "https://github.com/jorgenschaefer/elpy.git")
4657 (commit version)))
4658 (file-name (string-append name "-" version "-checkout"))
4659 (sha256
4660 (base32
d79e0b3a 4661 "073bwxwjzcbmvpcz9q2xjwzx9x7hkvjni6fwvikh6yawzjp56jis"))))
eeb883cb
RW
4662 (build-system emacs-build-system)
4663 (arguments
4664 `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
4665 #:phases
4666 ;; TODO: Make `elpy-config' display Guix commands :)
4667 (modify-phases %standard-phases
4668 ;; One elpy test depends on being run inside a Python virtual
4669 ;; environment to pass. We have nothing to gain from doing so here,
4670 ;; so we just trick Elpy into thinking we are (see:
4671 ;; https://github.com/jorgenschaefer/elpy/pull/1293).
4672 (add-before 'check 'fake-virtualenv
4673 (lambda _
4674 (setenv "VIRTUAL_ENV" "/tmp")
4675 #t))
4676 (add-before 'check 'build-doc
4677 (lambda _
4678 (with-directory-excursion "docs"
4679 (invoke "make" "info" "man"))
4680 ;; Move .info file at the root so that it can installed by the
4681 ;; 'move-doc phase.
4682 (rename-file "docs/_build/texinfo/Elpy.info" "Elpy.info")
4683 #t))
4684 (add-after 'build-doc 'install-manpage
4685 (lambda* (#:key outputs #:allow-other-keys)
4686 (let* ((out (assoc-ref outputs "out"))
4687 (man1 (string-append out "/share/man/man1")))
4688 (mkdir-p man1)
4689 (copy-file "docs/_build/man/elpy.1"
4690 (string-append man1 "/elpy.1")))
4691 #t)))
4692 #:tests? #t
4693 #:test-command '("ert-runner")))
4694 (propagated-inputs
4695 `(("emacs-company" ,emacs-company)
4696 ("emacs-find-file-in-project" ,emacs-find-file-in-project)
4697 ("emacs-highlight-indentation" ,emacs-highlight-indentation)
4698 ("emacs-yasnippet" ,emacs-yasnippet)
4699 ("pyvenv" ,emacs-pyvenv)
4700 ("s" ,emacs-s)))
4701 (native-inputs
4702 `(("ert-runner" ,emacs-ert-runner)
4703 ("emacs-f" ,emacs-f)
4704 ("python" ,python-wrapper)
4705 ("python-autopep8" ,python-autopep8)
4706 ("python-black" ,python-black)
4707 ("python-flake8" ,python-flake8)
4708 ("python-jedi" ,python-jedi)
4709 ("python-yapf" ,python-yapf)
4710 ;; For documentation.
4711 ("python-sphinx" ,python-sphinx)
4712 ("texinfo" ,texinfo)))
4713 (home-page "https://github.com/jorgenschaefer/elpy")
4714 (synopsis "Python development environment for Emacs")
4715 (description "Elpy brings powerful Python editing to Emacs. It combines
4716and configures a number of other packages written in Emacs Lisp as well as
4717Python, together offering features such as navigation, documentation,
4718completion, interactive development and more.")
4719 (license license:gpl3+)))
4720
4721(define-public emacs-rainbow-delimiters
4722 (package
4723 (name "emacs-rainbow-delimiters")
4724 (version "2.1.3")
4725 (source (origin
4726 (method url-fetch)
4727 (uri (string-append "https://raw.githubusercontent.com/Fanael"
4728 "/rainbow-delimiters/" version
4729 "/rainbow-delimiters.el"))
4730 (file-name (string-append "rainbow-delimiters-" version ".el"))
4731 (sha256
4732 (base32
4733 "1b3kampwsjabhcqdp0khgff13wc5jqhy3rbvaa12vnv7qy22l9ck"))))
4734 (build-system emacs-build-system)
4735 (home-page "https://github.com/Fanael/rainbow-delimiters")
4736 (synopsis "Highlight brackets according to their depth")
4737 (description
4738 "Rainbow-delimiters is a \"rainbow parentheses\"-like mode for Emacs which
4739highlights parentheses, brackets, and braces according to their depth. Each
4740successive level is highlighted in a different color, making it easy to spot
4741matching delimiters, orient yourself in the code, and tell which statements
4742are at a given level.")
4743 (license license:gpl3+)))
4744
4745(define-public emacs-rainbow-identifiers
4746 (package
4747 (name "emacs-rainbow-identifiers")
4748 (version "0.2.2")
4749 (source (origin
4750 (method url-fetch)
4751 (uri (string-append "https://raw.githubusercontent.com/Fanael"
4752 "/rainbow-identifiers/" version
4753 "/rainbow-identifiers.el"))
4754 (file-name (string-append "rainbow-identifiers-" version ".el"))
4755 (sha256
4756 (base32
4757 "0325abxj47k0g1i8nqrq70w2wr6060ckhhf92krv1s072b3jzm31"))))
4758 (build-system emacs-build-system)
4759 (home-page "https://github.com/Fanael/rainbow-identifiers")
4760 (synopsis "Highlight identifiers in source code")
4761 (description
4762 "Rainbow identifiers mode is an Emacs minor mode providing highlighting of
4763identifiers based on their names. Each identifier gets a color based on a hash
4764of its name.")
4765 (license license:bsd-2)))
4766
4767(define-public emacs-rainbow-mode
4768 (package
4769 (name "emacs-rainbow-mode")
4770 (version "1.0.1")
4771 (source (origin
4772 (method url-fetch)
4773 (uri (string-append
4774 "http://elpa.gnu.org/packages/rainbow-mode-" version ".el"))
4775 (sha256
4776 (base32
4777 "0cpga4ax635rfpj7y2vmh7ank0yw00dcy20gjg1mj74r97by8csf"))))
4778 (build-system emacs-build-system)
4779 (home-page "http://elpa.gnu.org/packages/rainbow-mode.html")
4780 (synopsis "Colorize color names in buffers")
4781 (description
4782 "This minor mode sets background color to strings that match color
4783names, e.g. #0000ff is displayed in white with a blue background.")
4784 (license license:gpl3+)))
4785
4786(define-public emacs-visual-fill-column
4787 (package
4788 (name "emacs-visual-fill-column")
4789 (version "1.11")
4790 (source (origin
4791 (method url-fetch)
4792 (uri (string-append "https://codeload.github.com/joostkremers/"
4793 "visual-fill-column/tar.gz/" version))
4794 (file-name (string-append name "-" version ".tar.gz"))
4795 (sha256
4796 (base32
4797 "13jnviakp607zcms7f8ams56mr8wffnq1pghlc6fvqs39663pgwh"))))
4798 (build-system emacs-build-system)
4799 (home-page "https://github.com/joostkremers/visual-fill-column")
4800 (synopsis "Fill-column for visual-line-mode")
4801 (description
4802 "@code{visual-fill-column-mode} is a small Emacs minor mode that mimics
4803the effect of @code{fill-column} in @code{visual-line-mode}. Instead of
4804wrapping lines at the window edge, which is the standard behaviour of
4805@code{visual-line-mode}, it wraps lines at @code{fill-column}. If
4806@code{fill-column} is too large for the window, the text is wrapped at the
4807window edge.")
4808 (license license:gpl3+)))
4809
4810(define-public emacs-writeroom
4811 (package
4812 (name "emacs-writeroom")
4813 (version "3.7")
4814 (source (origin
4815 (method url-fetch)
4816 (uri (string-append
4817 "https://github.com/joostkremers/writeroom-mode/archive/"
4818 version ".tar.gz"))
4819 (file-name (string-append name "-" version ".tar.gz"))
4820 (sha256
4821 (base32
4822 "0yqgp5h3kvvpgva4azakb2wnjl7gsyh45glf75crspv3xyq57f2r"))))
4823 (build-system emacs-build-system)
4824 (propagated-inputs
4825 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)))
4826 (home-page "https://github.com/joostkremers/writeroom-mode")
4827 (synopsis "Distraction-free writing for Emacs")
4828 (description
4829 "This package defines a minor mode for distraction-free writing. Some of
4830the default effects include entering fullscreen, deleting other windows of the
4831current frame, disabling the mode line, and adding margins to the buffer that
4832restrict the text width to 80 characters.")
4833 (license license:bsd-3)))
4834
4835(define-public emacs-ido-completing-read+
4836 (package
4837 (name "emacs-ido-completing-read+")
4838 (version "3.12")
4839 (source (origin
4840 (method url-fetch)
4841 (uri (string-append "https://raw.githubusercontent.com"
4842 "/DarwinAwardWinner/ido-ubiquitous/v"
4843 version "/ido-completing-read+.el"))
4844 (file-name (string-append "ido-completing-read+-" version ".el"))
4845 (sha256
4846 (base32
4847 "1cyalb0p7nfsm4n6n9q6rjmvn6adqc0fq8ybnlj3n41n289dkfjf"))))
4848 (build-system emacs-build-system)
4849 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
4850 (synopsis "Replacement for completing-read using ido")
4851 (description
4852 "The ido-completing-read+ function is a wrapper for ido-completing-read.
4853Importantly, it detects edge cases that ordinary ido cannot handle and either
4854adjusts them so ido can handle them, or else simply falls back to the standard
4855Emacs completion function instead.")
4856 (license license:gpl3+)))
4857
4858(define-public emacs-ido-ubiquitous
4859 (package
4860 (name "emacs-ido-ubiquitous")
4861 (version "3.12")
4862 (source (origin
4863 (method url-fetch)
4864 (uri (string-append "https://raw.githubusercontent.com"
4865 "/DarwinAwardWinner/ido-ubiquitous/v"
4866 version "/ido-ubiquitous.el"))
4867 (file-name (string-append "ido-ubiquitous-" version ".el"))
4868 (sha256
4869 (base32
4870 "197ypji0fb6jsdcq40rpnknwlh3imas6s6jbsvkfm0pz9988c3q2"))))
4871 (build-system emacs-build-system)
4872 (propagated-inputs
4873 `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
4874 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
4875 (synopsis "Use ido (nearly) everywhere")
4876 (description
4877 "Ido-ubiquitous enables ido-style completion for almost every function
4878that uses the standard completion function completing-read.")
4879 (license license:gpl3+)))
4880
4881(define-public emacs-yaml-mode
4882 (package
4883 (name "emacs-yaml-mode")
4884 (version "0.0.13")
4885 (source (origin
4886 (method url-fetch)
4887 (uri (string-append "https://raw.githubusercontent.com/yoshiki"
4888 "/yaml-mode/v" version "/yaml-mode.el"))
4889 (file-name (string-append "yaml-mode-" version ".el"))
4890 (sha256
4891 (base32
4892 "0im88sk9dqw03x6d6zaspgvg9i0pfpgb8f2zygrmbifh2w4pwmvj"))))
4893 (build-system emacs-build-system)
4894 (home-page "https://github.com/yoshiki/yaml-mode")
4895 (synopsis "Major mode for editing YAML files")
4896 (description
4897 "Yaml-mode is an Emacs major mode for editing files in the YAML data
4898serialization format. It was initially developed by Yoshiki Kurihara and many
4899features were added by Marshall Vandegrift. As YAML and Python share the fact
4900that indentation determines structure, this mode provides indentation and
4901indentation command behavior very similar to that of python-mode.")
4902 (license license:gpl3+)))
4903
4904(define-public emacs-web-mode
4905 (package
4906 (name "emacs-web-mode")
4907 (version "16")
4908 (source (origin
4909 (method url-fetch)
4910 (uri (string-append "https://raw.githubusercontent.com/fxbois"
4911 "/web-mode/v" version "/web-mode.el"))
4912 (file-name (string-append "web-mode-" version ".el"))
4913 (sha256
4914 (base32
4915 "1hs5w7kdvcyn4ihyw1kfjg48djn5p7lz4rlbhzzdqv1g56xqx3gw"))))
4916 (build-system emacs-build-system)
4917 (synopsis "Major mode for editing web templates")
4918 (description "Web-mode is an Emacs major mode for editing web templates
4919aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by
4920client/server side engines). Web-mode is compatible with many template
4921engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker,
4922Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template,
4923Dust.js, React/JSX, Angularjs, ejs, etc.")
4924 (home-page "http://web-mode.org/")
4925 (license license:gpl3+)))
4926
4927(define-public emacs-wgrep
4928 (let ((commit "414be70bd313e482cd9f0b70fd2daad4ee23497c"))
4929 ;; Late commit fixes compatibility issue with Emacs 26+.
4930 (package
4931 (name "emacs-wgrep")
4932 (version (git-version "2.1.10" "1" commit))
4933 (source (origin
4934 (method git-fetch)
4935 (uri (git-reference
4936 (url "https://github.com/mhayashi1120/Emacs-wgrep")
4937 (commit commit)))
4938 (file-name (git-file-name name version))
4939 (sha256
4940 (base32
4941 "1sdhd587q3pg92lhiayph87azhalmf1gzrnsprkmqvnphv7mvks9"))))
4942 (build-system emacs-build-system)
4943 (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
4944 (synopsis "Edit a grep buffer and apply those changes to the files")
4945 (description
4946 "Emacs wgrep allows you to edit a grep buffer and apply those changes
4947to the file buffer. Several backends are supported beside the classic grep:
4948ack, ag, helm and pt.")
4949 (license license:gpl3+))))
4950
4951(define-public emacs-helm
4952 (package
4953 (name "emacs-helm")
4954 (version "3.0")
4955 (source (origin
4956 (method url-fetch)
4957 (uri (string-append
4958 "https://github.com/" name "/helm/archive/v"
4959 version ".tar.gz"))
4960 (file-name (string-append name "-" version ".tar.gz"))
4961 (sha256
4962 (base32
4963 "0k2r0ccppaqfjvyszaxa16vf7g2qzj1clhfr6v646ncsy17laciw"))))
4964 (build-system emacs-build-system)
4965 (propagated-inputs
4966 `(("emacs-async" ,emacs-async)
4967 ("emacs-popup" ,emacs-popup)))
4968 (home-page "https://emacs-helm.github.io/helm/")
4969 (synopsis "Incremental completion and selection narrowing
4970framework for Emacs")
4971 (description "Helm is incremental completion and selection narrowing
4972framework for Emacs. It will help steer you in the right direction when
4973you're looking for stuff in Emacs (like buffers, files, etc). Helm is a fork
4974of @code{anything.el} originally written by Tamas Patrovic and can be
4975considered to be its successor. Helm sets out to clean up the legacy code in
4976@code{anything.el} and provide a cleaner, leaner and more modular tool, that's
4977not tied in the trap of backward compatibility.")
4978 (license license:gpl3+)))
4979
4980(define-public emacs-helm-swoop
4981 (package
4982 (name "emacs-helm-swoop")
4983 (version "1.7.4")
4984 (source (origin
4985 (method url-fetch)
4986 (uri (string-append
4987 "https://github.com/ShingoFukuyama/helm-swoop/archive/"
4988 version
4989 ".tar.gz"))
4990 (file-name (string-append name "-" version ".tar.gz"))
4991 (sha256
4992 (base32
4993 "1ssivsjzlnkg049cg993l8fp09l5nhpz6asj7w5c91zp5kpc6fh7"))))
4994 (build-system emacs-build-system)
4995 (propagated-inputs
4996 `(("emacs-helm" ,emacs-helm)))
4997 (home-page "https://github.com/ShingoFukuyama/helm-swoop")
4998 (synopsis "Filter and jump to lines in an Emacs buffer using Helm")
4999 (description
5000 "This package builds on the Helm interface to provide several commands
5001for search-based navigation of buffers.")
5002 (license license:gpl2+)))
5003
5004(define-public emacs-helm-projectile
5005 (package
5006 (name "emacs-helm-projectile")
5007 (version "0.14.0")
5008 (source (origin
5009 (method url-fetch)
5010 (uri (string-append
5011 "https://github.com/bbatsov/helm-projectile/archive/v"
5012 version
5013 ".tar.gz"))
5014 (file-name (string-append name "-" version ".tar.gz"))
5015 (sha256
5016 (base32
5017 "19cfmilqh8kbab3b2hmx6lyrj73q6vfmn3p730x95g23iz16mnd5"))))
5018 (build-system emacs-build-system)
5019 (propagated-inputs
5020 `(("emacs-dash" ,emacs-dash)
5021 ("emacs-helm" ,emacs-helm)
5022 ("emacs-projectile" ,emacs-projectile)))
5023 (home-page "https://github.com/bbatsov/helm-projectile")
5024 (synopsis "Helm integration for Projectile")
5025 (description
5026 "This Emacs library provides a Helm interface for Projectile.")
5027 (license license:gpl3+)))
5028
5029(define-public emacs-helm-make
5030 (let ((commit "feae8df22bc4b20705ea08ac9adfc2b43bb348d0")
5031 (revision "1"))
5032 (package
5033 (name "emacs-helm-make")
5034 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
5035 (source
5036 (origin
5037 (method git-fetch)
5038 (uri (git-reference
5039 (url "https://github.com/abo-abo/helm-make.git")
5040 (commit commit)))
5041 (file-name (string-append name "-" version "-checkout"))
5042 (sha256
5043 (base32
5044 "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam"))))
5045 (build-system emacs-build-system)
5046 (propagated-inputs
5047 `(("emacs-helm" ,emacs-helm)
5048 ("emacs-projectile" ,emacs-projectile)))
5049 (home-page "https://github.com/abo-abo/helm-make")
5050 (synopsis "Select a Makefile target with helm")
5051 (description "@code{helm-make} or @code{helm-make-projectile} will give
5052you a @code{helm} selection of directory Makefile's targets. Selecting a
5053target will call @code{compile} on it.")
5054 (license license:gpl3+))))
5055
5056(define-public emacs-cider
5057 (package
5058 (name "emacs-cider")
de8abc96 5059 (version "0.20.0")
eeb883cb
RW
5060 (source
5061 (origin
5062 (method git-fetch)
5063 (uri (git-reference
5064 (url "https://github.com/clojure-emacs/cider.git")
5065 (commit (string-append "v" version))))
5066 (file-name (git-file-name name version))
5067 (sha256
5068 (base32
de8abc96 5069 "0lfhzg9c931jbx27hpshk3l76gwbp6ggf668sqa77xrvymwdlsnw"))))
eeb883cb
RW
5070 (build-system emacs-build-system)
5071 (arguments
5072 '(#:exclude ; Don't exclude 'cider-test.el'.
5073 '("^\\.dir-locals\\.el$" "^test/")))
5074 (propagated-inputs
5075 `(("emacs-clojure-mode" ,emacs-clojure-mode)
5076 ("emacs-sesman" ,emacs-sesman)
5077 ("emacs-spinner" ,emacs-spinner)
5078 ("emacs-pkg-info" ,emacs-pkg-info)
5079 ("emacs-queue" ,emacs-queue)))
5080 (home-page "https://cider.readthedocs.io/")
5081 (synopsis "Clojure development environment for Emacs")
5082 (description
5083 "CIDER (Clojure Interactive Development Environment that Rocks) aims to
5084provide an interactive development experience similar to the one you'd get
5085when programming in Emacs Lisp, Common Lisp (with SLIME or Sly), Scheme (with
5086Geiser) and Smalltalk.
5087
5088CIDER is the successor to the now deprecated combination of using SLIME +
5089swank-clojure for Clojure development.
5090
5091There are plenty of differences between CIDER and SLIME, but the core ideas
5092are pretty much the same (and SLIME served as the principle inspiration for
5093CIDER).")
5094 (license license:gpl3+)))
5095
5096;; There hasn't been a tag or release since 2015, so we take the latest
5097;; commit.
5098(define-public emacs-sly
5099 (let ((commit "486bfbe95612bcdc0960c490207970a188e0fbb9")
5100 (revision "1"))
5101 (package
5102 (name "emacs-sly")
5103 (version (string-append "1.0.0-" revision "." (string-take commit 9)))
5104 (source
5105 (origin
5106 (method git-fetch)
5107 (uri (git-reference
5108 (url "https://github.com/joaotavora/sly.git")
5109 (commit commit)))
5110 (file-name (git-file-name name version))
5111 (sha256
5112 (base32
5113 "0ib4q4k3h3qn88pymyjjmlmnpizdn1mfg5gpk5a715nqsgxlg09l"))))
5114 (build-system emacs-build-system)
5115 (arguments
5116 `(#:include (cons "^lib\\/" %default-include)
5117 #:phases
5118 ;; The package provides autoloads.
5119 (modify-phases %standard-phases
5120 (delete 'make-autoloads))))
5121 (home-page "https://github.com/joaotavora/sly")
5122 (synopsis "Sylvester the Cat's Common Lisp IDE")
5123 (description
5124 "SLY is Sylvester the Cat's Common Lisp IDE. SLY is a fork of SLIME, and
5125contains the following improvements over it:
5126
5127@enumerate
5128@item Completely redesigned REPL based on Emacs's own full-featured
5129 @code{comint.el}
5130@item Live code annotations via a new @code{sly-stickers} contrib
5131@item Consistent interactive button interface. Everything can be copied to
5132 the REPL.
5133@item Multiple inspectors with independent history
5134@item Regexp-capable @code{M-x sly-apropos}
5135@item Contribs are first class SLY citizens and enabled by default
5136@item Use ASDF to loads contribs on demand.
5137@end enumerate
5138
5139SLY tracks SLIME's bugfixes and all its familar features (debugger, inspector,
5140xref, etc...) are still available, but with better integration.")
5141 (license license:gpl3+))))
5142
5143(define-public emacs-lua-mode
5144 (let ((commit "652e299cb967fccca827dda381d61a9c144d97de")
5145 (revision "1"))
5146 (package
5147 (name "emacs-lua-mode")
5148 (version (string-append "20151025." revision "-" (string-take commit 9)))
5149 (home-page "https://github.com/immerrr/lua-mode/")
5150 (source (origin
5151 (method git-fetch)
5152 (uri (git-reference
5153 (url home-page)
5154 (commit commit)))
5155 (file-name (string-append name "-" version ".checkout"))
5156 (sha256
5157 (base32
5158 "053025k930wh0lak6rc1973ynfrmm8zsyzfqhhd39x7abkl41hc9"))))
5159 (build-system emacs-build-system)
5160 (synopsis "Major mode for lua")
5161 (description
5162 "This Emacs package provides a mode for @uref{https://www.lua.org/,
5163Lua programing language}.")
5164 (license license:gpl2+))))
5165
5166(define-public emacs-ebuild-mode
5167 (package
5168 (name "emacs-ebuild-mode")
5169 (version "1.37")
5170 (source (origin
5171 (method url-fetch)
5172 (uri (string-append
5173 "https://dev.gentoo.org/~ulm/emacs/ebuild-mode"
5174 "-" version ".tar.xz"))
5175 (file-name (string-append name "-" version ".tar.xz"))
5176 (sha256
5177 (base32
5178 "07dzrdjjczkxdfdgi60h4jjkvzi4p0k9rij2wpfp8s03ay3qldpp"))))
5179 (build-system emacs-build-system)
5180 (home-page "https://devmanual.gentoo.org")
5181 (synopsis "Major modes for Gentoo package files")
5182 (description
5183 "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
5184news items, openrc and runscripts.")
5185 (license license:gpl2+)))
5186
5187(define-public emacs-evil
b6a76979
PN
5188 (package
5189 (name "emacs-evil")
5190 (version "1.2.14")
5191 (source
5192 (origin
5193 (method git-fetch)
5194 (uri (git-reference
5195 (url "https://github.com/emacs-evil/evil")
5196 (commit version)))
5197 (file-name (string-append name "-" version "-checkout"))
5198 (sha256
5199 (base32
5200 "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"))))
5201 (build-system emacs-build-system)
5202 (propagated-inputs
5203 `(("emacs-undo-tree" ,emacs-undo-tree)
5204 ("emacs-goto-chg" ,emacs-goto-chg)))
5205 (home-page "https://github.com/emacs-evil/evil")
5206 (synopsis "Extensible Vi layer for Emacs")
5207 (description
5208 "Evil is an extensible vi layer for Emacs. It emulates the
eeb883cb
RW
5209main features of Vim, and provides facilities for writing custom
5210extensions.")
b6a76979 5211 (license license:gpl3+)))
eeb883cb
RW
5212
5213(define-public emacs-evil-collection
4727e69a
PN
5214 (let ((commit "e7b57aae0131634d0da5e599717a86c4b3ca6092")
5215 (revision "7"))
eeb883cb
RW
5216 (package
5217 (name "emacs-evil-collection")
5218 (version (git-version "0.0.1" revision commit))
5219 (source (origin
5220 (method git-fetch)
5221 (uri (git-reference
5222 (url "https://github.com/emacs-evil/evil-collection")
5223 (commit commit)))
5224 (file-name (string-append name "-" version "-checkout"))
5225 (sha256
5226 (base32
4727e69a 5227 "1g7bxvgnsikpxxdimy0lymn3xz53fari048l827sjyw5kxi59d20"))))
eeb883cb
RW
5228 (build-system emacs-build-system)
5229 (propagated-inputs
5230 `(("emacs-evil" ,emacs-evil)))
5231 (home-page "https://github.com/emacs-evil/evil-collection")
5232 (synopsis "Collection of Evil bindings for many major and minor modes")
5233 (description "This is a collection of Evil bindings for the parts of
5234Emacs that Evil does not cover properly by default, such as @code{help-mode},
5235@code{M-x calendar}, Eshell and more.")
5236 (license license:gpl3+))))
5237
5238(define-public emacs-goto-chg
5239 (package
5240 (name "emacs-goto-chg")
5241 (version "1.6")
5242 (source
5243 (origin
5244 (method url-fetch)
5245 ;; There is no versioned source.
5246 (uri "https://www.emacswiki.org/emacs/download/goto-chg.el")
5247 (file-name (string-append "goto-chg-" version ".el"))
5248 (sha256
5249 (base32
5250 "078d6p4br5vips7b9x4v6cy0wxf6m5ij9gpqd4g33bryn22gnpij"))))
5251 (build-system emacs-build-system)
5252 ;; There is no other home page.
5253 (home-page "https://www.emacswiki.org/emacs/goto-chg.el")
5254 (synopsis "Go to the last change in the Emacs buffer")
5255 (description
5256 "This package provides @code{M-x goto-last-change} command that goes to
5257the point of the most recent edit in the current Emacs buffer. When repeated,
5258go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is
5259used for reverse direction.")
5260 (license license:gpl2+)))
5261
5262(define-public emacs-monroe
5263 (package
5264 (name "emacs-monroe")
5265 (version "0.3.1")
5266 (source
5267 (origin
5268 (method url-fetch)
5269 (uri (string-append "https://github.com/sanel/monroe/archive/"
5270 version ".tar.gz"))
5271 (file-name (string-append name "-" version ".tar.gz"))
5272 (sha256
5273 (base32
5274 "0icdx8shkd951phlnmcq1vqaxp1l667q5rjscskc5r22aylakh4w"))))
5275 (build-system emacs-build-system)
5276 (home-page "https://github.com/sanel/monroe")
5277 (synopsis "Clojure nREPL client for Emacs")
5278 (description
5279 "Monroe is a nREPL client for Emacs, focused on simplicity and easy
5280distribution, primarily targeting Clojure users")
5281 (license license:gpl3+)))
5282
5283(define-public emacs-orgalist
5284 (package
5285 (name "emacs-orgalist")
5286 (version "1.9")
5287 (source
5288 (origin
5289 (method url-fetch)
5290 (uri (string-append "https://elpa.gnu.org/packages/"
5291 "orgalist-" version ".el"))
5292 (sha256
5293 (base32
5294 "1rmmcyiiqkq54hn74nhzxzl4nvd902hv6gq341jwhrm7yiagffi6"))))
5295 (build-system emacs-build-system)
5296 (home-page "http://elpa.gnu.org/packages/orgalist.html")
5297 (synopsis "Manage Org-like lists in non-Org buffers")
5298 (description "Write Org mode's plain lists in non-Org buffers. More
5299specifically, Orgalist supports the syntax of Org mode for numbered,
5300unnumbered, description items, checkboxes, and counter cookies.
5301
5302The library also implements radio lists, i.e., lists written in Org
5303syntax later translated into the host format, e.g., LaTeX or HTML.")
5304 (license license:gpl3+)))
5305
5306(define-public emacs-writegood-mode
5307 (package
5308 (name "emacs-writegood-mode")
5309 (version "2.0.2")
5310 (home-page "https://github.com/bnbeckwith/writegood-mode")
5311 (source (origin
5312 (method git-fetch)
5313 (uri (git-reference
5314 (url home-page)
5315 (commit (string-append "v" version))))
5316 (sha256
5317 (base32
5318 "1nnjn1r669hvvzfycllwap4w04m8rfsk4nzcg8057m1f263kj31b"))
5319 (file-name (string-append name "-checkout"))))
5320 (build-system emacs-build-system)
5321 (synopsis "Polish up poor writing on the fly")
5322 (description
5323 "This minor mode tries to find and highlight problems with your writing
5324in English as you type. It primarily detects \"weasel words\" and abuse of
5325passive voice.")
5326 (license license:gpl3+)))
5327
5328(define-public emacs-neotree
5329 (package
5330 (name "emacs-neotree")
5331 (version "0.5.2")
5332 (home-page "https://github.com/jaypei/emacs-neotree")
5333 (source (origin
5334 (method url-fetch)
5335 (uri (string-append
5336 "https://github.com/jaypei/" name
5337 "/archive/" version ".tar.gz"))
5338 (sha256
5339 (base32
5340 "1zd6dchwyijnf7kgchfcp51gs938l204dk9z6mljrfqf2zy0gp12"))
5341 (file-name (string-append name "-" version ".tar.gz"))))
5342 (build-system emacs-build-system)
5343 (synopsis "Folder tree view for Emacs")
5344 (description "This Emacs package provides a folder tree view.")
5345 (license license:gpl3+)))
5346
5347(define-public emacs-org
5348 (package
5349 (name "emacs-org")
5350 ;; emacs-org-contrib inherits from this package. Please update its sha256
5351 ;; checksum as well.
2dd662f4 5352 (version "9.2.1")
eeb883cb
RW
5353 (source (origin
5354 (method url-fetch)
5355 (uri (string-append "http://elpa.gnu.org/packages/org-"
5356 version ".tar"))
5357 (sha256
5358 (base32
2dd662f4 5359 "0ggca29pyksvfblyd2ciqhgi392wlqx0nmph7ck4m5wbzmk2qnry"))))
eeb883cb
RW
5360 (build-system emacs-build-system)
5361 (home-page "https://orgmode.org/")
5362 (synopsis "Outline-based notes management and organizer")
5363 (description "Org is an Emacs mode for keeping notes, maintaining TODO
5364lists, and project planning with a fast and effective lightweight markup
5365language. It also is an authoring system with unique support for literate
5366programming and reproducible research.")
5367 (license license:gpl3+)))
5368
5369(define-public emacs-org-contrib
5370 (package
5371 (inherit emacs-org)
5372 (name "emacs-org-contrib")
2dd662f4 5373 (version "20190203")
eeb883cb
RW
5374 (source (origin
5375 (method url-fetch)
5376 (uri (string-append "https://orgmode.org/elpa/org-plus-contrib-"
5377 version ".tar"))
5378 (sha256
5379 (base32
2dd662f4 5380 "060rm62p1660n9f6i5w8l932w7gn5ign93q92gva4jy4bkmvczyb"))))
eeb883cb
RW
5381 (arguments
5382 `(#:modules ((guix build emacs-build-system)
5383 (guix build utils)
5384 (guix build emacs-utils)
5385 (ice-9 ftw)
5386 (srfi srfi-1))
5387 #:phases
5388 (modify-phases %standard-phases
5389 (add-after 'install 'delete-org-files
5390 (lambda* (#:key inputs outputs #:allow-other-keys)
5391 (let* ((out (assoc-ref outputs "out"))
5392 (org (assoc-ref inputs "org"))
5393 (contrib-files
5394 (map basename (find-files out)))
5395 (org+contrib-files
5396 (map basename (find-files org)))
5397 (duplicates (lset-intersection
5398 string=? contrib-files org+contrib-files)))
5399 (with-directory-excursion
5400 (string-append
5401 out "/share/emacs/site-lisp/guix.d/org-contrib-" ,version)
5402 (for-each delete-file duplicates))
5403 #t))))))
5404 (propagated-inputs
5405 `(("arduino-mode" ,emacs-arduino-mode)
5406 ("cider" ,emacs-cider)
5407 ("org" ,emacs-org)
5408 ("scel" ,emacs-scel)))
5409 (synopsis "Contributed packages to Org mode")
5410 (description "Org is an Emacs mode for keeping notes, maintaining TODO
5411lists, and project planning with a fast and effective plain-text system.
5412
5413This package is equivalent to org-plus-contrib, but only includes additional
5414files that you would find in @file{contrib/} from the git repository.")))
5415
5416(define-public emacs-flx
5417 (package
5418 (name "emacs-flx")
5419 (version "0.6.1")
5420 (source
5421 (origin
5422 (method url-fetch)
5423 (uri (string-append "https://github.com/lewang/"
5424 "flx/archive/v" version ".tar.gz"))
5425 (sha256
5426 (base32
5427 "0bkcpnf1j4i2fcc2rllwbz62l00sw2mcia6rm5amgwvlkqavmkv6"))
5428 (file-name (string-append name "-" version ".tar.gz"))))
5429 (build-system emacs-build-system)
5430 (home-page "https://github.com/lewang/flx")
5431 (synopsis "Fuzzy matching for Emacs")
5432 (description
5433 "Flx provides fuzzy matching for emacs a la sublime text.
5434The sorting algorithm is a balance between word beginnings (abbreviation)
5435and contiguous matches (substring). The longer the substring match,
5436the higher it scores. This maps well to how we think about matching.
5437Flx has support for ido (interactively do things) through flx-ido.")
5438 (license license:gpl3+)))
5439
5440(define-public emacs-cyberpunk-theme
5441 (package
5442 (name "emacs-cyberpunk-theme")
5443 (version "1.19")
5444 (source
5445 (origin
5446 (method url-fetch)
5447 (uri (string-append "https://github.com/n3mo/cyberpunk-theme.el/"
5448 "archive/" version ".tar.gz"))
5449 (sha256
5450 (base32
5451 "05l5fxw1mn5py6mfhxrzyqjq0d8m5m1akfi46vrgh13r414jffvv"))
5452 (file-name (string-append name "-" version ".tar.gz"))))
5453 (build-system emacs-build-system)
5454 (home-page "https://github.com/n3mo/cyberpunk-theme.el")
5455 (synopsis "Cyberpunk theme for emacs built-in color theme support")
5456 (description
5457 "Cyberpunk color theme for the emacs 24+ built-in color theme support
5458known loosely as deftheme. Many mode-specific customizations are included.")
5459 (license license:gpl3+)))
5460
5461(define-public emacs-danneskjold-theme
5462 (let* ((commit "8733d2fe8743e8a01826ea6d4430ef376c727e57")
5463 (revision "1"))
5464 (package
5465 (name "emacs-danneskjold-theme")
5466 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
5467 (home-page "https://github.com/rails-to-cosmos/danneskjold-theme")
5468 (source
5469 (origin
5470 (method git-fetch)
5471 (uri (git-reference
5472 (url home-page)
5473 (commit commit)))
5474 (file-name (string-append name "-" version "-checkout"))
5475 (sha256
5476 (base32
5477 "0s6rbsb0y8i8m5b9xm4gw1p1cxsxdqnqxqqb638pygz9f76mbir1"))))
5478 (build-system emacs-build-system)
5479 (arguments
5480 `(#:phases
5481 (modify-phases %standard-phases
5482 (add-after 'unpack 'delete-screenshots
5483 (lambda _
5484 (delete-file-recursively "screenshots") #t)))))
5485 (synopsis "High-contrast Emacs theme")
5486 (description
5487 "@code{danneskjold-theme} is a high-contrast theme for Emacs.")
5488 (license license:gpl3+))))
5489
5490(define-public emacs-dream-theme
5491 (let* ((commit "107a11d74365046f28a1802a2bdb5e69e4a7488b")
5492 (revision "1"))
5493 (package
5494 (name "emacs-dream-theme")
5495 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
5496 (source
5497 (origin
5498 (method git-fetch)
5499 (uri (git-reference
5500 (url "https://github.com/djcb/dream-theme")
5501 (commit commit)))
5502 (file-name (string-append name "-" version "-checkout"))
5503 (sha256
5504 (base32
5505 "0za18nfkq4xqm35k6006vsixcbmvmxqgma4iw5sw37h8vmcsdylk"))))
5506 (build-system emacs-build-system)
5507 (home-page "https://github.com/djcb/dream-theme")
5508 (synopsis "High-contrast Emacs theme")
5509 (description
5510 "@code{dream-theme} is a dark, clean theme for Emacs. It is inspired
5511by zenburn, sinburn and similar themes, but slowly diverging from them.")
5512 (license license:gpl3+))))
5513
5514(define-public emacs-auto-complete
5515 (package
5516 (name "emacs-auto-complete")
5517 (version "1.5.1")
5518 (source
5519 (origin
5520 (method url-fetch)
5521 (uri (string-append "https://github.com/auto-complete/"
5522 "auto-complete/archive/v" version ".tar.gz"))
5523 (sha256
5524 (base32
5525 "1jvq4lj00hwml75lpmlciazy8f3bbg13gffsfnl835p4qd8l7yqv"))
5526 (file-name (string-append name "-" version ".tar.gz"))))
5527 (build-system emacs-build-system)
5528 (propagated-inputs
5529 `(("emacs-popup" ,emacs-popup)))
5530 (home-page "https://github.com/auto-complete/auto-complete")
5531 (synopsis "Intelligent auto-completion extension for Emacs")
5532 (description
5533 "Auto-Complete is an intelligent auto-completion extension for Emacs.
5534It extends the standard Emacs completion interface and provides an environment
5535that allows users to concentrate more on their own work. Its features are:
5536a visual interface, reduce overhead of completion by using statistic method,
5537extensibility.")
5538 (license license:gpl3+)))
5539
5540(define-public emacs-nginx-mode
5541 (package
5542 (name "emacs-nginx-mode")
5543 (version "1.1.9")
5544 (source
5545 (origin
5546 (method url-fetch)
5547 (uri (string-append
5548 "https://github.com/ajc/nginx-mode/archive/v"
5549 version ".tar.gz"))
5550 (file-name (string-append name "-" version ".tar.gz"))
5551 (sha256
5552 (base32
5553 "0bzyrj6zz1hm67bkhw23bam7qc869s3zg7m1rb1c3aa4n0aw90cq"))))
5554 (build-system emacs-build-system)
5555 (home-page "https://github.com/ajc/nginx-mode")
5556 (synopsis "Emacs major mode for editing nginx config files")
5557 (description "This package provides an Emacs major mode for
5558editing nginx config files.")
5559 (license license:gpl2+)))
5560
5561(define-public emacs-stream
5562 (package
5563 (name "emacs-stream")
5564 (version "2.2.0")
5565 (home-page "https://github.com/NicolasPetton/stream")
5566 (source
5567 (origin
5568 (method url-fetch)
5569 (file-name (string-append name "-" version ".tar.gz"))
5570 (uri (string-append home-page "/archive/"version ".tar.gz"))
5571 (sha256
5572 (base32 "03ql4nqfz5pn55mjly6clhvc3g7x2d28kj7mrlqmigvjbql39xxc"))))
5573 (build-system emacs-build-system)
5574 (synopsis "Implementation of streams for Emacs")
5575 (description "This library provides an implementation of streams for Emacs.
5576Streams are implemented as delayed evaluation of cons cells.")
5577 (license license:gpl3+)))
5578
5579(define-public emacs-el-search
5580 (let ((commit "f26277bfbb3fc3fc74beea6592f294c439796bd4")
5581 (revision "1"))
5582 (package
5583 (name "emacs-el-search")
5584 ;; No ufficial release.
5585 (version (string-append "0.0-" revision "." (string-take commit 7)))
5586 (home-page "https://github.com/emacsmirror/el-search")
5587 (source
5588 (origin
5589 (method git-fetch)
5590 (file-name (string-append name "-" version ".tar.gz"))
5591 (uri (git-reference
5592 (commit commit)
5593 (url (string-append home-page ".git"))))
5594 (sha256
5595 (base32 "12xf40h9sb7xxg2r97gsia94q02543mgiiiw46fzh1ac7b7993g6"))))
5596 (build-system emacs-build-system)
5597 (inputs `(("emacs-stream" ,emacs-stream)))
5598 (synopsis "Expression based interactive search for emacs-lisp-mode")
5599 (description "This package provides expression based interactive search
5600procedures for emacs-lisp-mode.")
5601 (license license:gpl3+))))
5602
5603(define-public emacs-ht
5604 (package
5605 (name "emacs-ht")
b6ecf3d7 5606 (version "2.2")
eeb883cb
RW
5607 (source
5608 (origin
5609 (method url-fetch)
5610 (uri (string-append
5611 "https://github.com/Wilfred/ht.el/archive/"
5612 version ".tar.gz"))
5613 (file-name (string-append name "-" version ".tar.gz"))
5614 (sha256
5615 (base32
b6ecf3d7 5616 "0fsi27gdrh2dgwdbq43vnw5sz25war6shlxaclr60fl7krpxjkzf"))))
eeb883cb
RW
5617 (build-system emacs-build-system)
5618 (propagated-inputs `(("emacs-dash" ,emacs-dash)))
5619 (home-page "https://github.com/Wilfred/ht.el")
5620 (synopsis "Hash table library for Emacs")
5621 (description
5622 "This package simplifies the use of hash tables in elisp. It also
5623provides functions to convert hash tables from and to alists and plists.")
5624 (license license:gpl3+)))
5625
5626(define-public emacs-log4e
5627 (package
5628 (name "emacs-log4e")
5629 (version "0.3.0")
5630 (source
5631 (origin
5632 (method url-fetch)
5633 (uri (string-append
5634 "https://github.com/aki2o/log4e/archive/v"
5635 version ".tar.gz"))
5636 (file-name (string-append name "-" version ".tar.gz"))
5637 (sha256
5638 (base32
5639 "0nbdpbw353snda3v19l9hsm6gimppwnpxj18amm350bm81lyim2g"))))
5640 (build-system emacs-build-system)
5641 (arguments
5642 `(#:phases
5643 (modify-phases %standard-phases
5644 (add-after 'unpack 'remove-tests
5645 ;; Guile builder complains about null characters in some
5646 ;; strings of test files. Remove "test" directory (it is not
5647 ;; needed anyway).
5648 (lambda _
5649 (delete-file-recursively "test"))))))
5650 (home-page "https://github.com/aki2o/log4e")
5651 (synopsis "Logging framework for elisp")
5652 (description
5653 "This package provides a logging framework for elisp. It allows
5654you to deal with multiple log levels.")
5655 (license license:gpl3+)))
5656
5657(define-public emacs-gntp
5658 (package
5659 (name "emacs-gntp")
5660 (version "0.1")
5661 (source
5662 (origin
5663 (method url-fetch)
5664 (uri (string-append
5665 "https://github.com/tekai/gntp.el/archive/v"
5666 version ".tar.gz"))
5667 (file-name (string-append name "-" version ".tar.gz"))
5668 (sha256
5669 (base32
5670 "16c1dfkia9yhl206bdhjr3b8kfvqcqr38jl5lq8qsyrrzsnmghny"))))
5671 (build-system emacs-build-system)
5672 (home-page "https://github.com/tekai/gntp.el")
5673 (synopsis "Growl Notification Protocol for Emacs")
5674 (description
5675 "This package implements the Growl Notification Protocol GNTP
5676described at @uref{http://www.growlforwindows.com/gfw/help/gntp.aspx}.
5677It is incomplete as it only lets you send but not receive
5678notifications.")
5679 (license license:bsd-3)))
5680
5681(define-public emacs-alert
5682 (package
5683 (name "emacs-alert")
5684 (version "1.2")
5685 (source
5686 (origin
5687 (method url-fetch)
5688 (uri (string-append
5689 "https://github.com/jwiegley/alert/archive/v"
5690 version ".tar.gz"))
5691 (file-name (string-append name "-" version ".tar.gz"))
5692 (sha256
5693 (base32
5694 "1693kck3k2iz5zhpmxwqyafxm68hr6gzs60lkxd3j1wlp2c9fwyr"))))
5695 (build-system emacs-build-system)
5696 (propagated-inputs
5697 `(("emacs-gntp" ,emacs-gntp)
5698 ("emacs-log4e" ,emacs-log4e)))
5699 (home-page "https://github.com/jwiegley/alert")
5700 (synopsis "Growl-style notification system for Emacs")
5701 (description
5702 "Alert is a Growl-workalike for Emacs which uses a common notification
5703interface and multiple, selectable \"styles\", whose use is fully
5704customizable by the user.")
5705 (license license:gpl2+)))
5706
5707(define-public emacs-mu4e-alert
5708 (package
5709 (name "emacs-mu4e-alert")
5710 (version "1.0")
5711 (source
5712 (origin
5713 (method url-fetch)
5714 (uri (string-append
5715 "https://github.com/iqbalansari/mu4e-alert/archive/v"
5716 version ".tar.gz"))
5717 (file-name (string-append name "-" version ".tar.gz"))
5718 (sha256
5719 (base32
5720 "07qc834qnxn8xi4bw5nawj8g91bmkzw0r0vahkgysp7r9xrf57gj"))))
5721 (build-system emacs-build-system)
5722 (propagated-inputs
5723 `(("emacs-alert" ,emacs-alert)
5724 ("emacs-s" ,emacs-s)
5725 ("emacs-ht" ,emacs-ht)
5726 ("mu" ,mu)))
5727 (home-page "https://github.com/iqbalansari/mu4e-alert")
5728 (synopsis "Desktop notification for mu4e")
5729 (description
5730 "This package provides desktop notifications for mu4e.
5731Additionally it can display the number of unread emails in the
5732mode-line.")
5733 (license license:gpl3+)))
5734
5735(define-public emacs-pretty-mode
5736 (package
5737 (name "emacs-pretty-mode")
5738 (version "2.0.3")
5739 (source
5740 (origin
5741 (method url-fetch)
5742 (uri (string-append "https://github.com/akatov/pretty-mode/"
5743 "archive/" version ".tar.gz"))
5744 (file-name (string-append name "-" version ".tar.gz"))
5745 (sha256
5746 (base32
5747 "1fan7m4vnqs8kpg7r54kx3g7faadkpkf9kzarfv8n57kq8w157pl"))))
5748 (build-system emacs-build-system)
5749 (home-page "https://github.com/akatov/pretty-mode")
5750 (synopsis "Redisplay parts of the buffer as Unicode symbols")
5751 (description
5752 "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
5753 (license license:gpl3+)))
5754
5755(define-public emacs-yasnippet
5756 (package
5757 (name "emacs-yasnippet")
5758 (version "0.13.0")
5759 (source (origin
5760 (method url-fetch)
5761 (uri (string-append "https://github.com/joaotavora/yasnippet/"
5762 "archive/" version ".tar.gz"))
5763 (file-name (string-append name "-" version ".tar.gz"))
5764 (sha256
5765 (base32
5766 "12ls2x17agzbrj1xynjbmfa11igqxia4hj4fv6fpr66yci2r1plc"))
5767 (modules '((guix build utils)))
5768 (snippet
5769 '(begin
5770 ;; YASnippet expects a "snippets" subdirectory in the same
5771 ;; directory as yasnippet.el, but we don't install it
5772 ;; because it's a git submodule pointing to an external
5773 ;; repository. Adjust `yas-snippet-dirs' to prevent
5774 ;; warnings about a missing directory.
5775 (substitute* "yasnippet.el"
5776 (("^ +'yas-installed-snippets-dir\\)\\)\n")
5777 "))\n"))
5778 #t))))
5779 (build-system emacs-build-system)
5780 (home-page "https://github.com/joaotavora/yasnippet")
5781 (synopsis "Yet another snippet extension for Emacs")
5782 (description
5783 "YASnippet is a template system for Emacs. It allows you to type an
5784abbreviation and automatically expand it into function templates.")
5785 (license license:gpl3+)))
5786
5787(define-public emacs-yasnippet-snippets
5788 (let ((commit "885050d34737e2fb36a3e7759d60c09347bd4ce0")
5789 (revision "1"))
5790 (package
5791 (name "emacs-yasnippet-snippets")
5792 (version (string-append "1-" revision "." (string-take commit 8)))
5793 (source
5794 (origin
5795 (method git-fetch)
5796 (uri (git-reference
5797 (url "https://github.com/AndreaCrotti/yasnippet-snippets")
5798 (commit commit)))
5799 (file-name (string-append name "-" version "-checkout"))
5800 (sha256
5801 (base32
5802 "1m935zgglw0iakzrixld5rcjz3wnj84f8wy2mvc3pggjri9l0qr9"))))
5803 (build-system trivial-build-system)
5804 (arguments
5805 `(#:modules ((ice-9 ftw)
5806 (ice-9 regex)
5807 (guix build utils))
5808 #:builder
5809 (begin
5810 (use-modules (ice-9 ftw)
5811 (ice-9 regex)
5812 (guix build utils))
5813 (with-directory-excursion (assoc-ref %build-inputs "source")
5814 (for-each (lambda (dir)
5815 (copy-recursively
5816 dir
5817 (string-append %output
5818 "/share/emacs/yasnippet-snippets/"
5819 dir)))
5820 (scandir "." (lambda (fname)
5821 (and (string-match "-mode$" fname)
5822 (directory-exists? fname))))))
5823 #t)))
5824 (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
5825 (synopsis "Collection of YASnippet snippets for many languages")
5826 (description
5827 "Provides Andrea Crotti's collection of YASnippet snippets. After installation,
5828the snippets will be in \"~/.guix-profile/share/emacs/yasnippet-snippets/\".
5829To make YASnippet aware of these snippets, add the above directory to
5830@code{yas-snippet-dirs}.")
5831 (license license:expat))))
5832
5833(define-public emacs-helm-c-yasnippet
5834 (let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")
5835 (revision "1"))
5836 (package
5837 (name "emacs-helm-c-yasnippet")
5838 (version (string-append "0.6.7" "-" revision "."
5839 (string-take commit 7)))
5840 (source (origin
5841 (method git-fetch)
5842 (uri (git-reference
5843 (url "https://github.com/emacs-jp/helm-c-yasnippet")
5844 (commit commit)))
5845 (file-name (string-append name "-" version "-checkout"))
5846 (sha256
5847 (base32
5848 "1cbafjqlzxbg19xfdqsinsh7afq58gkf44rsg1qxfgm8g6zhr7f8"))))
5849 (build-system emacs-build-system)
5850 (propagated-inputs
5851 `(("emacs-helm" ,emacs-helm)
5852 ("emacs-yasnippet" ,emacs-yasnippet)))
5853 (home-page "https://github.com/emacs-jp/helm-c-yasnippet")
5854 (synopsis "Helm integration for Yasnippet")
5855 (description "This Emacs library provides Helm interface for
5856Yasnippet.")
5857 (license license:gpl2+))))
5858
5859(define-public emacs-helm-system-packages
5860 (package
5861 (name "emacs-helm-system-packages")
5862 (version "1.10.1")
5863 (source (origin
5864 (method git-fetch)
5865 (uri (git-reference
5866 (url "https://github.com/emacs-helm/helm-system-packages")
5867 (commit (string-append "v" version))))
5868 (file-name (string-append name "-" version "-checkout"))
5869 (sha256
5870 (base32
5871 "01by0c4lqi2cw8xmbxkjw7m9x78zssm31sx4hdpw5j35s2951j0f"))))
5872 (build-system emacs-build-system)
5873 (inputs
5874 `(("recutils" ,recutils)))
5875 (propagated-inputs
5876 `(("emacs-helm" ,emacs-helm)))
5877 (arguments
5878 `(#:phases
5879 (modify-phases %standard-phases
5880 (add-after 'unpack 'configure
5881 (lambda* (#:key inputs outputs #:allow-other-keys)
5882 (let ((recutils (assoc-ref inputs "recutils")))
5883 ;; Specify the absolute file names of the various
5884 ;; programs so that everything works out-of-the-box.
5885 (substitute* "helm-system-packages-guix.el"
5886 (("recsel") (string-append recutils "/bin/recsel")))))))))
5887 (home-page "https://github.com/emacs-helm/helm-system-packages")
5888 (synopsis "Helm System Packages is an interface to your package manager")
5889 (description "List all available packages in Helm (with installed
5890packages displayed in their own respective face). Fuzzy-search, mark and
5891execute the desired action over any selections of packages: Install,
5892uninstall, display packages details (in Org Mode) or insert details at point,
5893find files owned by packages... And much more, including performing all the
5894above over the network.")
5895 (license license:gpl3+)))
5896
5897(define-public emacs-memoize
5898 (package
5899 (name "emacs-memoize")
5900 (version "1.1")
5901 (source
5902 (origin
5903 (method url-fetch)
5904 (uri (string-append
5905 "https://github.com/skeeto/emacs-memoize/archive/"
5906 version ".tar.gz"))
5907 (file-name (string-append name "-" version ".tar.gz"))
5908 (sha256
5909 (base32
5910 "05ijgwi4ymxx31vpjm2pn356j85cykknajn14lrzz8pn5sh0vrg4"))))
5911 (build-system emacs-build-system)
5912 (arguments
5913 `(#:tests? #t
5914 #:test-command '("emacs" "--batch"
5915 "-l" "memoize-test.el"
5916 "-f" "ert-run-tests-batch-and-exit")))
5917 (home-page "https://github.com/skeeto/emacs-memoize")
5918 (synopsis "Emacs lisp memoization library")
5919 (description "@code{emacs-memoize} is an Emacs library for
5920memoizing functions.")
5921 (license license:unlicense)))
5922
5923(define-public emacs-linum-relative
5924 (package
5925 (name "emacs-linum-relative")
5926 (version "0.5")
5927 (source
5928 (origin
5929 (method url-fetch)
5930 (uri (string-append
5931 "https://github.com/coldnew/linum-relative/archive/"
5932 version ".tar.gz"))
5933 (file-name (string-append name "-" version ".tar.gz"))
5934 (sha256
5935 (base32
5936 "0s4frvr27866lw1rn3jal9wj5rkz9fx4yiszqv7w06azsdgsqksv"))))
5937 (build-system emacs-build-system)
5938 (home-page "https://github.com/coldnew/linum-relative")
5939 (synopsis "Relative line numbering for Emacs")
5940 (description "@code{emacs-linum-relative} displays the relative line
5941number on the left margin in Emacs.")
5942 (license license:gpl2+)))
5943
5944(define-public emacs-idle-highlight
5945 (package
5946 (name "emacs-idle-highlight")
5947 (version "1.1.3")
5948 (source
5949 (origin
5950 (method url-fetch)
5951 (uri (string-append
5952 "https://github.com/nonsequitur/idle-highlight-mode/archive/"
5953 version ".tar.gz"))
5954 (file-name (string-append name "-" version ".tar.gz"))
5955 (sha256
5956 (base32
5957 "0kdv10hrgqpskjh0zvpnzwlkn5bccnqxas62gkws6njln57bf8nl"))))
5958 (build-system emacs-build-system)
5959 (home-page "https://www.emacswiki.org/emacs/IdleHighlight")
5960 (synopsis "Highlights all occurrences of the word the point is on")
5961 (description
5962 "This Emacs package provides @code{idle-highlight-mode} that sets
5963 an idle timer to highlight all occurrences in the buffer of the word under
5964 the point.")
5965 (license license:gpl3+)))
5966
5967(define-public emacs-ox-twbs
5968 (package
5969 (name "emacs-ox-twbs")
5970 (version "1.1.1")
5971 (source
5972 (origin
5973 (method url-fetch)
5974 (uri (string-append
5975 "https://github.com/marsmining/ox-twbs/archive/v"
5976 version ".tar.gz"))
5977 (file-name (string-append name "-" version ".tar.gz"))
5978 (sha256
5979 (base32
5980 "1zaq8dczq5wijjk36114k2x3hfrqig3lyx6djril6wyk67vczyqs"))))
5981 (build-system emacs-build-system)
5982 (home-page "https://github.com/marsmining/ox-twbs")
5983 (synopsis "Export org-mode docs as HTML compatible with Twitter Bootstrap")
5984 (description
5985 "This Emacs package outputs your org-mode docs with a simple, clean and
5986modern look. It implements a new HTML back-end for exporting org-mode docs as
5987HTML compatible with Twitter Bootstrap. By default, HTML is exported with
5988jQuery and Bootstrap resources included via osscdn.")
5989 (license license:gpl3+)))
5990
5991(define-public emacs-highlight-sexp
5992 (package
5993 (name "emacs-highlight-sexp")
5994 (version "1.0")
5995 (source
5996 (origin
5997 (method url-fetch)
5998 (uri (string-append
5999 "https://github.com/daimrod/highlight-sexp/archive/v"
6000 version ".tar.gz"))
6001 (file-name (string-append name "-" version ".tar.gz"))
6002 (sha256
6003 (base32
6004 "0jwx87qkln1rg9wmv4qkgkml935fh2pkgrg5x4ca6n5dgb4q6rj1"))))
6005 (build-system emacs-build-system)
6006 (home-page "https://github.com/daimrod/highlight-sexp")
6007 (synopsis "Minor mode that highlights the s-exp at the current position")
6008 (description
6009 "This Emacs package highlights the s-exp at the current position.")
6010 (license license:gpl3+)))
6011
6012(define-public emacs-highlight-stages
6013 (let ((commit "29cbc5b78261916da042ddb107420083da49b271")
6014 (revision "1"))
6015 (package
6016 (name "emacs-highlight-stages")
6017 (version (string-append "1.1.0" "-" revision "." (string-take commit 7)))
6018 (source
6019 (origin
6020 (method git-fetch)
6021 (uri (git-reference
6022 (url "https://github.com/zk-phi/highlight-stages.git")
6023 (commit commit)))
6024 (file-name (string-append name "-" version "-checkout"))
6025 (sha256
6026 (base32
6027 "0r6nbcrr0dqpgm8dir8ahzjy7rw4nrac48byamzrq96r7ajlxlv0"))
6028 (patches
6029 (search-patches "emacs-highlight-stages-add-gexp.patch"))))
6030 (build-system emacs-build-system)
6031 (home-page "https://github.com/wigust/highlight-stages")
6032 (synopsis "Minor mode that highlights (quasi-quoted) expressions")
6033 (description "@code{highlight-stages} provides an Emacs minor mode that
6034highlights quasi-quoted expressions.")
6035 (license license:gpl3+))))
6036
6037(define-public emacspeak
6038 (package
6039 (name "emacspeak")
ea32c946 6040 (version "49.0")
eeb883cb
RW
6041 (source
6042 (origin
6043 (method url-fetch)
6044 (uri (string-append
6045 "https://github.com/tvraman/emacspeak/releases/download/"
6046 version "/emacspeak-" version ".tar.bz2"))
6047 (sha256
6048 (base32
ea32c946 6049 "1smf26m7201z0bk49lzbw9zhbjfi6wylidfjixb8ylp6g0wnh8dx"))))
eeb883cb
RW
6050 (build-system gnu-build-system)
6051 (arguments
6052 '(#:make-flags (list (string-append "prefix="
6053 (assoc-ref %outputs "out")))
6054 #:phases
6055 (modify-phases %standard-phases
6056 (replace 'configure
6057 (lambda* (#:key outputs #:allow-other-keys)
6058 (let* ((out (assoc-ref outputs "out"))
6059 (lisp (string-append out
6060 "/share/emacs/site-lisp/emacspeak")))
6061 (setenv "SHELL" (which "sh"))
6062 ;; Configure Emacspeak according to etc/install.org.
6063 (invoke "make" "config"))))
6064 (add-after 'build 'build-espeak
6065 (lambda _
6066 (invoke "make" "espeak")))
6067 (replace 'install
6068 (lambda* (#:key inputs outputs #:allow-other-keys)
6069 (let* ((out (assoc-ref outputs "out"))
6070 (bin (string-append out "/bin"))
6071 (lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
6072 (info (string-append out "/share/info"))
6073 (emacs (string-append (assoc-ref inputs "emacs")
6074 "/bin/emacs")))
6075 ;; According to etc/install.org, the Emacspeak directory should
6076 ;; be copied to its installation destination.
6077 (for-each
6078 (lambda (file)
6079 (copy-recursively file (string-append lisp "/" file)))
6080 '("etc" "info" "js" "lisp" "media" "scapes" "servers" "sounds"
6081 "stumpwm" "xsl"))
6082 ;; Make sure emacspeak is loaded from the correct directory.
6083 (substitute* "etc/emacspeak.sh"
ea32c946
KK
6084 (("/lisp/emacspeak-setup.el")
6085 (string-append lisp "/lisp/emacspeak-setup.el")))
eeb883cb
RW
6086 ;; Install the convenient startup script.
6087 (mkdir-p bin)
6088 (copy-file "etc/emacspeak.sh" (string-append bin "/emacspeak")))
6089 #t))
6090 (add-after 'install 'wrap-program
6091 (lambda* (#:key inputs outputs #:allow-other-keys)
6092 (let* ((out (assoc-ref outputs "out"))
6093 (emacspeak (string-append out "/bin/emacspeak"))
6094 (espeak (string-append (assoc-ref inputs "espeak")
6095 "/bin/espeak")))
6096 ;; The environment variable DTK_PROGRAM tells emacspeak what
6097 ;; program to use for speech.
6098 (wrap-program emacspeak
6099 `("DTK_PROGRAM" ":" prefix (,espeak)))
6100 #t))))
6101 #:tests? #f)) ; no check target
6102 (inputs
6103 `(("emacs" ,emacs)
6104 ("espeak" ,espeak)
6105 ("perl" ,perl)
6106 ("tcl" ,tcl)
6107 ("tclx" ,tclx)))
6108 (home-page "http://emacspeak.sourceforge.net")
6109 (synopsis "Audio desktop interface for Emacs")
6110 (description
6111 "Emacspeak is a speech interface that allows visually impaired users to
6112interact independently and efficiently with the computer. Audio formatting
6113--a technique pioneered by AsTeR-- and full support for W3C's Aural CSS (ACSS)
6114allows Emacspeak to produce rich aural presentations of electronic information.
6115By seamlessly blending all aspects of the Internet such as Web-surfing and
6116messaging, Emacspeak speech-enables local and remote information via a
6117consistent and well-integrated user interface.")
6118 (license license:gpl2+)))
6119
6120(define-public emacs-adaptive-wrap
6121 (package
6122 (name "emacs-adaptive-wrap")
6123 (version "0.5.1")
6124 (source (origin
6125 (method url-fetch)
6126 (uri (string-append
6127 "http://elpa.gnu.org/packages/adaptive-wrap-"
6128 version ".el"))
6129 (sha256
6130 (base32
6131 "0qi7gjprcpywk2daivnlavwsx53hl5wcqvpxbwinvigg42vxh3ll"))))
6132 (build-system emacs-build-system)
6133 (home-page "http://elpa.gnu.org/packages/adaptive-wrap.html")
6134 (synopsis "Smart line-wrapping with wrap-prefix")
6135 (description
6136 "This Emacs package provides the @code{adaptive-wrap-prefix-mode}
6137minor mode which sets the wrap-prefix property on the fly so that
6138single-long-line paragraphs get word-wrapped in a way similar to what
6139you'd get with @kbd{M-q} using @code{adaptive-fill-mode}, but without
6140actually changing the buffer's text.")
6141 (license license:gpl3+)))
6142
6143(define-public emacs-diff-hl
6144 (package
6145 (name "emacs-diff-hl")
6146 (version "1.8.5")
6147 (source
6148 (origin
6149 (method url-fetch)
6150 (uri (string-append "https://elpa.gnu.org/packages/diff-hl-"
6151 version ".tar"))
6152 (sha256
6153 (base32
6154 "1vxc7z7c2qs0mx7l5sa4sybi5qbzv0s79flj74p1ynw8dl3qxg3d"))))
6155 (build-system emacs-build-system)
6156 (home-page "https://github.com/dgutov/diff-hl")
6157 (synopsis
6158 "Highlight uncommitted changes using VC")
6159 (description
6160 "@code{diff-hl-mode} highlights uncommitted changes on the side of the
6161window (using the fringe, by default), allows you to jump between
6162the hunks and revert them selectively.")
6163 (license license:gpl3+)))
6164
6165(define-public emacs-diminish
6166 (package
6167 (name "emacs-diminish")
6168 (version "0.45")
6169 (source
6170 (origin
6171 (method url-fetch)
6172 (uri (string-append
6173 "https://github.com/myrjola/diminish.el/archive/v"
6174 version ".tar.gz"))
6175 (file-name (string-append name "-" version ".tar.gz"))
6176 (sha256
6177 (base32
6178 "0i3629sv5cfrrb00hcnmaqzgs8mk36yasc1ax3ry1ga09nr6rkj9"))))
6179 (build-system emacs-build-system)
6180 (home-page "https://github.com/myrjola/diminish.el")
6181 (synopsis "Diminish minor modes with no modeline display")
6182 (description "@code{emacs-diminish} implements hiding or
6183abbreviation of the mode line displays (lighters) of minor modes.")
6184 (license license:gpl2+)))
6185
6186(define-public emacs-use-package
6187 (let ((commit "da8c9e2840343906e732f9699e43d35a1f06481d")
6188 (revision "1"))
6189 (package
6190 (name "emacs-use-package")
6191 (version (git-version "2.3" revision commit))
6192 (source (origin
6193 (method git-fetch)
6194 (uri (git-reference
6195 (url "https://github.com/jwiegley/use-package")
6196 (commit commit)))
6197 (file-name (git-file-name name version))
6198 (sha256
6199 (base32
6200 "0jz38pbq1p9h85i6qcsh3sfzkd103y6mw3rg5zd14dxigp8ir3xz"))))
6201 (build-system emacs-build-system)
6202 (propagated-inputs
6203 `(("emacs-diminish" ,emacs-diminish)))
6204 (arguments
6205 `(#:tests? #t
6206 #:test-command '("emacs" "--batch"
6207 "-l" "use-package-tests.el"
6208 "-f" "ert-run-tests-batch-and-exit")))
6209 (home-page "https://github.com/jwiegley/use-package")
6210 (synopsis "Declaration for simplifying your .emacs")
6211 (description "The use-package macro allows you to isolate package
6212configuration in your @file{.emacs} file in a way that is both
6213performance-oriented and tidy.")
6214 (license license:gpl2+))))
6215
6216(define-public emacs-strace-mode
6217 (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
6218 (revision "1"))
6219 (package
6220 (name "emacs-strace-mode")
6221 (version (string-append "0.0.2-" revision "." (string-take commit 7)))
6222 (source (origin
6223 (method git-fetch)
6224 (uri (git-reference
6225 (url "https://github.com/pkmoore/strace-mode")
6226 (commit commit)))
6227 (file-name (string-append name "-" version "-checkout"))
6228 (sha256
6229 (base32
6230 "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f"))))
6231 (build-system emacs-build-system)
6232 (home-page "https://github.com/pkmoore/strace-mode")
6233 (synopsis "Emacs major mode to highlight strace outputs")
6234 (description "@code{emacs-strace-mode} provides an Emacs major mode
6235 highlighting strace outputs.")
6236 (license license:gpl3+))))
6237
6238(define-public emacs-default-encrypt
6239 (package
6240 (name "emacs-default-encrypt")
6241 (version "4.3")
6242 (source
6243 (origin
6244 (method url-fetch)
6245 (uri (string-append
6246 "https://www.informationelle-selbstbestimmung-im-internet.de"
6247 "/emacs/jl-encrypt" version "/jl-encrypt.el"))
6248 (file-name (string-append "jl-encrypt-" version ".el"))
6249 (sha256
6250 (base32
6251 "16i3rlfp3jxlqvndn8idylhmczync3gwmy8a019v29vyr48rnnr0"))))
6252 (build-system emacs-build-system)
6253 (home-page "https://www.informationelle-selbstbestimmung-im-internet.de/Emacs.html")
6254 (synopsis "Automatically encrypt or sign Gnus messages in Emacs")
6255 (description
6256 "DefaultEncrypt is designed to be used with Gnus in Emacs. It
6257automatically encrypts messages that you send (e.g., email) when public keys
6258for all recipients are available, and it protects you from accidentally
6259sending un-encrypted messages. It can also be configured to automatically
6260sign messages that you send. For details and instructions on how to use
6261DefaultEncrypt, please refer to the home page or read the comments in the
6262source file, @file{jl-encrypt.el}.")
6263 (license license:gpl3+)))
6264
6265(define-public emacs-htmlize
6266 (package
6267 (name "emacs-htmlize")
6268 (version "1.53")
6269 (source
6270 (origin
6271 (method url-fetch)
6272 (uri (string-append
6273 "https://github.com/hniksic/emacs-htmlize/archive/release/"
6274 version ".tar.gz"))
6275 (file-name (string-append name "-" version ".tar.gz"))
6276 (sha256
6277 (base32
6278 "1lzaf9m1qr9dhw4nn53g6wszk2vqw95gpsbrc3y85bams4cn24ga"))))
6279 (build-system emacs-build-system)
6280 (home-page "https://github.com/hniksic/emacs-htmlize")
6281 (synopsis "Convert buffer text and decorations to HTML")
6282 (description "@code{emacs-htmlize} converts the buffer text and
6283the associated decorations to HTML. Output to CSS, inline CSS and
6284fonts is supported.")
6285 (license license:gpl2+)))
6286
6287(define-public emacs-xmlgen
6288 (package
6289 (name "emacs-xmlgen")
6290 (version "0.5")
6291 (source
6292 (origin
6293 (method url-fetch)
6294 (uri (string-append
6295 "https://github.com/philjackson/xmlgen/archive/"
6296 version ".tar.gz"))
6297 (file-name (string-append name "-" version ".tar.gz"))
6298 (sha256
6299 (base32
6300 "0zay490vjby3f7455r0vydmjg7q1gwc78hilpfb0rg4gwz224z8r"))))
6301 (build-system emacs-build-system)
6302 (arguments
6303 `(#:tests? #t
6304 #:test-command '("emacs" "--batch"
6305 "-l" "xmlgen-test.el"
6306 "-f" "ert-run-tests-batch-and-exit")))
6307 (home-page "https://github.com/philjackson/xmlgen")
6308 (synopsis "S-expression to XML domain specific language (DSL) in
6309Emacs Lisp")
6310 (description "@code{emacs-xmlgen} provides S-expression to XML
6311conversion for Emacs Lisp.")
6312 (license license:gpl2+)))
6313
6314(define-public emacs-cdlatex
6315 (package
6316 (name "emacs-cdlatex")
6317 (version "4.7")
6318 (source
6319 (origin
6320 (method url-fetch)
6321 (uri (string-append
6322 "https://github.com/cdominik/cdlatex/archive/"
6323 version ".tar.gz"))
6324 (file-name (string-append name "-" version ".tar.gz"))
6325 (sha256
6326 (base32
6327 "0pivapphmykc6vhvpx7hdyl55ls37vc4jcrxpvs4yk7jzcmwa9xp"))))
6328 (build-system emacs-build-system)
6329 (propagated-inputs
6330 `(("emacs-auctex" ,emacs-auctex)))
6331 (home-page "https://github.com/cdominik/cdlatex")
6332 (synopsis "Fast Emacs input methods for LaTeX environments and
6333math")
6334 (description "CDLaTeX is an Emacs minor mode supporting fast
6335insertion of environment templates and math in LaTeX. Similar
6336commands are also offered as part of the AUCTeX package, but it is not
6337the same - CDLaTeX focuses on speediness for inserting LaTeX
6338constructs.")
6339 (license license:gpl3+)))
6340
6341(define-public emacs-cnfonts
6342 (package
6343 (name "emacs-cnfonts")
6344 (version "0.9.1")
6345 (source (origin
6346 (method url-fetch)
6347 (uri (string-append
6348 "https://github.com/tumashu/cnfonts/archive/v"
6349 version ".tar.gz"))
6350 (file-name (string-append name "-" version ".tar.gz"))
6351 (sha256
6352 (base32
6353 "1l6cgcvc6md1zq97ccczankpyi0k4vjx6apflny6kjq3p33lyhf4"))))
6354 (build-system emacs-build-system)
6355 (home-page "https://github.com/tumashu/cnfonts")
6356 (synopsis "Emacs Chinese fonts setup tool")
6357 (description "cnfonts is a Chinese fonts setup tool, allowing for easy
6358configuration of Chinese fonts.")
6359 (license license:gpl2+)))
6360
6361(define-public emacs-php-mode
6362 (package
6363 (name "emacs-php-mode")
6364 (version "20171225.342")
6365 (source (origin
6366 (method url-fetch)
6367 (uri (string-append
6368 "https://melpa.org/packages/php-mode-"
6369 version ".tar"))
6370 (sha256
6371 (base32
6372 "1zz682f34v4wsm2dyj1gnrnvsrqdq1cy7j8p6cvc398w2fziyg3q"))))
6373 (build-system emacs-build-system)
6374 (home-page "https://github.com/ejmr/php-mode")
6375 (synopsis "Major mode for editing PHP code")
6376 (description "@code{php-mode} is a major mode for editing PHP source
6377code. It's an extension of C mode; thus it inherits all C mode's navigation
6378functionality. But it colors according to the PHP grammar and indents
6379according to the PEAR coding guidelines. It also includes a couple handy
6380IDE-type features such as documentation search and a source and class
6381browser.")
6382 (license license:gpl3+)))
6383
6384(define-public emacs-pos-tip
6385 (package
6386 (name "emacs-pos-tip")
6387 (version "0.4.6")
6388 (source (origin
6389 (method url-fetch)
6390 (uri (string-append
6391 "https://github.com/pitkali/pos-tip/archive/"
6392 version ".tar.gz"))
6393 (file-name (string-append name "-" version ".tar.gz"))
6394 (sha256
6395 (base32
6396 "12jqfy26vjk7lq0aa8yn8zqj8c85fkvx7y9prj0pcn4wqiz2ad2r"))))
6397 (build-system emacs-build-system)
6398 ;; The following functions and variables needed by emacs-pos-tip are
6399 ;; not included in emacs-minimal:
6400 ;; x-display-pixel-width, x-display-pixel-height, x-show-tip
6401 (arguments `(#:emacs ,emacs))
6402 (home-page "https://github.com/pitkali/pos-tip")
6403 (synopsis "Show tooltip at point")
6404 (description "The standard library tooltip.el provides a function for
6405displaying a tooltip at the mouse position. However, locating a tooltip at an
6406arbitrary buffer position in a window is not easy. Pos-tip provides such a
6407function to be used by other frontend programs.")
6408 (license license:gpl2+)))
6409
6410(define-public emacs-pyim-basedict
6411 (package
6412 (name "emacs-pyim-basedict")
6413 (version "0.3.1")
6414 (source (origin
6415 (method url-fetch)
6416 (uri (string-append
6417 "https://github.com/tumashu/pyim-basedict/archive/v"
6418 version ".tar.gz"))
6419 (file-name (string-append name "-" version ".tar.gz"))
6420 (sha256
6421 (base32
6422 "0nfgxviavkgrpyfsw60xsws4fk51fcmgl8fp6zf4ibqjjbp53n3n"))))
6423 (build-system emacs-build-system)
6424 (home-page "https://github.com/tumashu/pyim-basedict")
6425 (synopsis "Input method dictionary of pyim")
6426 (description "Pyim-basedict is the default pinyin input method dictionary,
6427containing words from the rime project.")
6428 (license license:gpl2+)))
6429
6430(define-public emacs-pyim
6431 (package
6432 (name "emacs-pyim")
6433 (version "1.8")
6434 (source
6435 (origin
6436 (method git-fetch)
6437 (uri (git-reference
6438 (url "https://github.com/tumashu/pyim")
6439 (commit (string-append "v" version))))
6440 (file-name (git-file-name name version))
6441 (sha256
6442 (base32
6443 "16rma4cv7xgky0g3x4an27v30jdi6i1sqw43cl99zhkqvp43l3f9"))))
6444 (build-system emacs-build-system)
6445 (propagated-inputs
6446 `(("emacs-async" ,emacs-async)
6447 ("emacs-pyim-basedict" ,emacs-pyim-basedict)
6448 ("emacs-popup" ,emacs-popup)
6449 ("emacs-posframe" ,emacs-posframe)))
6450 (home-page "https://github.com/tumashu/pyim")
6451 (synopsis "Chinese input method")
6452 (description "Chinese input method which supports quanpin, shuangpin, wubi
6453and cangjie.")
6454 (license license:gpl2+)))
6455
6456(define-public emacs-posframe
6457 (package
6458 (name "emacs-posframe")
6459 (version "0.4.2")
6460 (source
6461 (origin
6462 (method url-fetch)
6463 (uri (string-append
6464 "https://elpa.gnu.org/packages/posframe-" version ".el"))
6465 (sha256
6466 (base32
6467 "1h8vvxvsg41vc1nnglqjs2q0k1yzfsn72skga9s76qa3zxmx6kds"))))
6468 (build-system emacs-build-system)
6469 ;; emacs-minimal does not include the function font-info
6470 (arguments `(#:emacs ,emacs))
6471 (home-page "https://github.com/tumashu/posframe")
6472 (synopsis "Pop a posframe (a child frame) at point")
6473 (description "@code{emacs-posframe} can pop a posframe at point. A
6474posframe is a child frame displayed within its root window's buffer.
6475@code{emacs-posframe} is fast and works well with CJK languages.")
6476 (license license:gpl3+)))
6477
6478(define-public emacs-el2org
6479 (package
6480 (name "emacs-el2org")
6481 (version "0.6.0")
6482 (source (origin
6483 (method url-fetch)
6484 (uri (string-append
6485 "https://github.com/tumashu/el2org/archive/v"
6486 version ".tar.gz"))
6487 (file-name (string-append name "-" version ".tar.gz"))
6488 (sha256
6489 (base32
6490 "0gd3km1swwvg2w0kdi7370f54wgrflxn63gjgssfjc1iyc9sbqwq"))))
6491 (build-system emacs-build-system)
6492 (home-page "https://github.com/tumashu/el2org")
6493 (synopsis "Convert Emacs-lisp file to org file")
6494 (description "El2org is a simple tool, which can convert Emacs-lisp file
6495to org file, you can use this tool to write orgify commentary.")
6496 (license license:gpl2+)))
6497
6498(define-public emacs-mustache
6499 (package
6500 (name "emacs-mustache")
6501 (version "0.23")
6502 (source (origin
6503 (method url-fetch)
6504 (uri (string-append
6505 "https://github.com/Wilfred/mustache.el/archive/"
6506 version ".tar.gz"))
6507 (file-name (string-append name "-" version ".tar.gz"))
6508 (sha256
6509 (base32
6510 "0k9lcgil7kykkv1ylrgwy1g13ldjjmgi2cwmysgyb2vlj3jbwpdj"))))
6511 (build-system emacs-build-system)
6512 (propagated-inputs
6513 `(("emacs-dash" ,emacs-dash)
6514 ("emacs-ht" ,emacs-ht)
6515 ("emacs-s" ,emacs-s)))
6516 (home-page "https://github.com/Wilfred/mustache.el")
6517 (synopsis "Mustache templating library for Emacs")
6518 (description "Mustache templating library for Emacs, mustache is
6519a simple web template system, which is described as a logic-less system
6520because it lacks any explicit control flow statements, both looping and
6521conditional evaluation can be achieved using section tags processing lists
6522and lambdas.")
6523 (license license:gpl3+)))
6524
6525(define-public emacs-org2web
6526 (package
6527 (name "emacs-org2web")
6528 (version "0.9.1")
6529 (source (origin
6530 (method url-fetch)
6531 (uri (string-append
6532 "https://github.com/tumashu/org2web/archive/v"
6533 version ".tar.gz"))
6534 (file-name (string-append name "-" version ".tar.gz"))
6535 (sha256
6536 (base32
6537 "1c0ixcphlhp4c4qdiwq40bc3yp1gp1llp8pxrk4s7ny9n68s52zp"))))
6538 (build-system emacs-build-system)
6539 (propagated-inputs
6540 `(("emacs-dash" ,emacs-dash)
6541 ("emacs-el2org" ,emacs-el2org)
6542 ("emacs-ht" ,emacs-ht)
6543 ("emacs-mustache" ,emacs-mustache)
6544 ("emacs-simple-httpd" ,emacs-simple-httpd)))
6545 (home-page "https://github.com/tumashu/org2web")
6546 (synopsis "Static site generator based on org-mode ")
6547 (description "Org2web is a static site generator based on org-mode,
6548which code derived from Kelvin H's org-page.")
6549 (license license:gpl2+)))
6550
6551(define-public emacs-xelb
6552 (package
6553 (name "emacs-xelb")
e3da630b 6554 (version "0.17")
eeb883cb
RW
6555 (source (origin
6556 (method url-fetch)
6557 (uri (string-append "https://elpa.gnu.org/packages/xelb-"
6558 version ".tar"))
6559 (sha256
6560 (base32
e3da630b 6561 "0k98580vq253fjdgklgqlwl450saninfw39fbq8lv3xsnp3dcgml"))))
eeb883cb
RW
6562 (build-system emacs-build-system)
6563 ;; The following functions and variables needed by emacs-xelb are
6564 ;; not included in emacs-minimal:
6565 ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym
6566 ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region
6567 ;; x-display-pixel-width, x-display-pixel-height
6568 (arguments
6569 `(#:emacs ,emacs
6570 #:phases
6571 (modify-phases %standard-phases
6572 (add-after 'unpack 'regenerate-el-files
6573 (lambda* (#:key inputs #:allow-other-keys)
6574 (invoke "make"
6575 (string-append "PROTO_PATH="
6576 (assoc-ref inputs "xcb-proto")
6577 "/share/xcb")
6578 (string-append "EMACS_BIN="
6579 (assoc-ref inputs "emacs")
6580 "/bin/emacs -Q")))))))
6581 (native-inputs `(("xcb-proto" ,xcb-proto)))
6582 (home-page "https://github.com/ch11ng/xelb")
6583 (synopsis "X protocol Emacs Lisp binding")
6584 (description "@code{emacs-xelb} is a pure Emacs Lisp implementation of the
6585X11 protocol based on the XML description files from the XCB project. It
6586features an object-oriented API and permits a certain degree of concurrency.
6587It should enable you to implement low-level X11 applications.")
6588 (license license:gpl3+)))
6589
6590(define-public emacs-exwm
6591 (package
6592 (name "emacs-exwm")
451a5ae9 6593 (version "0.22")
eeb883cb
RW
6594 (synopsis "Emacs X window manager")
6595 (source (origin
6596 (method url-fetch)
6597 (uri (string-append "https://elpa.gnu.org/packages/exwm-"
6598 version ".tar"))
6599 (sha256
6600 (base32
451a5ae9 6601 "0lppm8ng37i5s4x7xdrxhjbdcnpl6pyvn4g7w52zbckjsn8qnqh0"))))
eeb883cb
RW
6602 (build-system emacs-build-system)
6603 (propagated-inputs
6604 `(("emacs-xelb" ,emacs-xelb)))
6605 (inputs
6606 `(("xhost" ,xhost)
6607 ("dbus" ,dbus)))
6608 ;; The following functions and variables needed by emacs-exwm are
6609 ;; not included in emacs-minimal:
6610 ;; scroll-bar-mode, fringe-mode
6611 ;; x-display-pixel-width, x-display-pixel-height
6612 (arguments
6613 `(#:emacs ,emacs
6614 #:phases
6615 (modify-phases %standard-phases
6616 (add-after 'build 'install-xsession
6617 (lambda* (#:key inputs outputs #:allow-other-keys)
6618 (let* ((out (assoc-ref outputs "out"))
6619 (xsessions (string-append out "/share/xsessions"))
6620 (bin (string-append out "/bin"))
6621 (exwm-executable (string-append bin "/exwm")))
6622 ;; Add a .desktop file to xsessions
6623 (mkdir-p xsessions)
6624 (mkdir-p bin)
6625 (with-output-to-file
6626 (string-append xsessions "/exwm.desktop")
6627 (lambda _
6628 (format #t "[Desktop Entry]~@
6629 Name=~a~@
6630 Comment=~a~@
6631 Exec=~a~@
6632 TryExec=~@*~a~@
6633 Type=Application~%" ,name ,synopsis exwm-executable)))
6634 ;; Add a shell wrapper to bin
6635 (with-output-to-file exwm-executable
6636 (lambda _
6637 (format #t "#!~a ~@
6638 ~a +SI:localuser:$USER ~@
6639 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
6640 (string-append (assoc-ref inputs "bash") "/bin/sh")
6641 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
6642 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
6643 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
6644 '(cond
6645 ((file-exists-p "~/.exwm")
6646 (load-file "~/.exwm"))
6647 ((not (featurep 'exwm))
6648 (require 'exwm)
6649 (require 'exwm-config)
6650 (exwm-config-default)
6651 (message (concat "exwm configuration not found. "
6652 "Falling back to default configuration...")))))))
6653 (chmod exwm-executable #o555)
6654 #t))))))
6655 (home-page "https://github.com/ch11ng/exwm")
6656 (description "EXWM is a full-featured tiling X window manager for Emacs
6657built on top of XELB.")
6658 (license license:gpl3+)))
6659
6660(define-public emacs-switch-window
6661 (package
6662 (name "emacs-switch-window")
6663 (version "1.6.2")
6664 (source
6665 (origin
6666 (method git-fetch)
6667 (uri (git-reference
6668 (url "https://github.com/dimitri/switch-window")
6669 (commit (string-append "v" version))))
6670 (file-name (git-file-name name version))
6671 (sha256
6672 (base32
6673 "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"))))
6674 (build-system emacs-build-system)
6675 (home-page "https://github.com/dimitri/switch-window")
6676 (synopsis "Emacs window switch tool")
6677 (description "Switch-window is an emacs window switch tool, which
6678offer a visual way to choose a window to switch to, delete, split or
6679other operations.")
6680 (license license:wtfpl2)))
6681
6682(define-public emacs-exwm-x
6683 (package
6684 (name "emacs-exwm-x")
6685 (version "1.9.0")
6686 (synopsis "Derivative window manager based on EXWM")
6687 (source
6688 (origin
6689 (method git-fetch)
6690 (uri (git-reference
6691 (url "https://github.com/tumashu/exwm-x")
6692 (commit (string-append "v" version))))
6693 (file-name (git-file-name name version))
6694 (sha256
6695 (base32
6696 "03l3dl7s1qys1kkh40rm1sfx7axy1b8sf5f6nyksj9ps6d30p5i4"))))
6697 (build-system emacs-build-system)
6698 (propagated-inputs
6699 `(("emacs-exwm" ,emacs-exwm)
6700 ("emacs-switch-window" ,emacs-switch-window)
6701 ("emacs-ivy" ,emacs-ivy)
6702 ("emacs-use-package" ,emacs-use-package)))
6703 (inputs
6704 `(("xhost" ,xhost)
6705 ("dbus" ,dbus)))
6706 ;; Need emacs instead of emacs-minimal,
6707 ;; for emacs's bin path will be inserted into bin/exwm-x file.
6708 (arguments
6709 `(#:emacs ,emacs
6710 #:phases
6711 (modify-phases %standard-phases
6712 (add-after 'build 'install-xsession
6713 (lambda* (#:key inputs outputs #:allow-other-keys)
6714 (let* ((out (assoc-ref outputs "out"))
6715 (xsessions (string-append out "/share/xsessions"))
6716 (bin (string-append out "/bin"))
6717 (exwm-executable (string-append bin "/exwm-x")))
6718 ;; Add a .desktop file to xsessions
6719 (mkdir-p xsessions)
6720 (mkdir-p bin)
6721 (with-output-to-file
6722 (string-append xsessions "/exwm-x.desktop")
6723 (lambda _
6724 (format #t "[Desktop Entry]~@
6725 Name=~a~@
6726 Comment=~a~@
6727 Exec=~a~@
6728 TryExec=~@*~a~@
6729 Type=Application~%" ,name ,synopsis exwm-executable)))
6730 ;; Add a shell wrapper to bin
6731 (with-output-to-file exwm-executable
6732 (lambda _
6733 (format #t "#!~a ~@
6734 ~a +SI:localuser:$USER ~@
6735 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
6736 (string-append (assoc-ref inputs "bash") "/bin/sh")
6737 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
6738 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
6739 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
6740 '(require 'exwmx-loader))))
6741 (chmod exwm-executable #o555)
6742 #t))))))
6743 (home-page "https://github.com/tumashu/exwm-x")
6744 (description "EXWM-X is a derivative window manager based on EXWM, with focus
6745on mouse-control.")
6746 (license license:gpl3+)))
6747
6748(define-public emacs-gnuplot
6749 (package
6750 (name "emacs-gnuplot")
6751 (version "0.7.0")
6752 (source
6753 (origin
6754 (method url-fetch)
6755 (uri (string-append
6756 "https://github.com/bruceravel/gnuplot-mode/archive/"
6757 version ".tar.gz"))
6758 (file-name (string-append name "-" version ".tar.gz"))
6759 (sha256
6760 (base32
6761 "0glzymrn138lwig7p4cj17x4if5jisr6l4g6wcbxisqkqgc1h01i"))))
6762 (build-system gnu-build-system)
6763 (native-inputs `(("emacs" ,emacs-minimal)))
6764 (arguments
6765 (let ((elisp-dir (string-append "/share/emacs/site-lisp/guix.d"
6766 "/gnuplot-" version)))
6767 `(#:modules ((guix build gnu-build-system)
6768 (guix build utils)
6769 (guix build emacs-utils))
6770 #:imported-modules (,@%gnu-build-system-modules
6771 (guix build emacs-utils))
6772 #:configure-flags
6773 (list (string-append "EMACS=" (assoc-ref %build-inputs "emacs")
6774 "/bin/emacs")
6775 (string-append "--with-lispdir=" %output ,elisp-dir))
6776 #:phases
6777 (modify-phases %standard-phases
6778 (add-after 'install 'generate-autoloads
6779 (lambda* (#:key outputs #:allow-other-keys)
6780 (emacs-generate-autoloads
6781 "gnuplot"
6782 (string-append (assoc-ref outputs "out") ,elisp-dir))
6783 #t))))))
6784 (home-page "https://github.com/bruceravel/gnuplot-mode")
6785 (synopsis "Emacs major mode for interacting with gnuplot")
6786 (description "@code{emacs-gnuplot} is an emacs major mode for interacting
6787with gnuplot.")
6788 (license license:gpl2+)))
6789
6790(define-public emacs-transpose-frame
6791 (package
6792 (name "emacs-transpose-frame")
6793 (version "0.1.0")
6794 (source
6795 (origin
6796 (method url-fetch)
6797 (uri "http://www.emacswiki.org/emacs/download/transpose-frame.el")
6798 (file-name (string-append "transpose-frame-" version ".el"))
6799 (sha256
6800 (base32
6801 "1f67yksgw9s6j0033hmqzaxx2a93jm11sd5ys7cc3li5gfh680m4"))))
6802 (build-system emacs-build-system)
6803 (home-page "https://www.emacswiki.org/emacs/TransposeFrame")
6804 (synopsis "Transpose window arrangement in current frame")
6805 (description "@code{emacs-transpose-frame} provides some interactive
6806functions which allows users to transpose windows arrangement in currently
6807selected frame.")
6808 (license license:bsd-2)))
6809
6810(define-public emacs-key-chord
6811 (package
6812 (name "emacs-key-chord")
6813 (version "0.6")
6814 (source
6815 (origin
6816 (method url-fetch)
6817 (uri "https://www.emacswiki.org/emacs/download/key-chord.el")
6818 (file-name (string-append "key-chord-" version ".el"))
6819 (sha256
6820 (base32
6821 "03m44pqggfrd53nh9dvpdjgm0rvca34qxmd30hr33hzprzjambxg"))))
6822 (build-system emacs-build-system)
6823 (home-page "https://www.emacswiki.org/emacs/key-chord.el")
6824 (synopsis "Map pairs of simultaneously pressed keys to Emacs commands")
6825 (description "@code{emacs-key-chord} provides @code{key-chord-mode}, a
6826mode for binding key chords to commands. A key chord is defined as two keys
6827pressed simultaneously or a single key quickly pressed twice.")
6828 (license license:gpl2+)))
6829
6830(define-public emacs-evil-surround
6831 (package
6832 (name "emacs-evil-surround")
6833 (version "1.0.0")
6834 (source
6835 (origin
6836 (method url-fetch)
6837 (uri (string-append
6838 "https://github.com/timcharper/evil-surround/archive/v"
6839 version ".tar.gz"))
6840 (file-name (string-append name "-" version ".tar.gz"))
6841 (sha256
6842 (base32
6843 "0p572jgic3q1ia1nz37kclir729ay6i2f4sa7wnaapyxly2lwb3r"))))
6844 (build-system emacs-build-system)
6845 (propagated-inputs
6846 `(("emacs-evil" ,emacs-evil)))
6847 (home-page "https://github.com/timcharper/evil-surround")
6848 (synopsis "Easily modify surrounding parantheses and quotes")
6849 (description "@code{emacs-evil-surround} allows easy deletion, change and
6850addition of surrounding pairs, such as parantheses and quotes, in evil mode.")
6851 (license license:gpl3+)))
6852
6853(define-public emacs-evil-commentary
6854 (package
6855 (name "emacs-evil-commentary")
6856 (version "2.1.1")
6857 (source
6858 (origin
6859 (method url-fetch)
6860 (uri (string-append
6861 "https://github.com/linktohack/evil-commentary/archive/v"
6862 version ".tar.gz"))
6863 (file-name (string-append name "-" version ".tar.gz"))
6864 (sha256
6865 (base32
6866 "1jdya0i921nwskwrzdsj0vrr3m7gm49dy6f6pk9p5nxaarfxk230"))))
6867 (build-system emacs-build-system)
6868 (propagated-inputs
6869 `(("emacs-evil" ,emacs-evil)))
6870 (home-page "https://github.com/linktohack/evil-commentary")
6871 (synopsis "Comment out code in evil mode")
6872 (description "@code{emacs-evil-commentary} adds keybindings to easily
6873comment out lines of code in evil mode. It provides @code{gcc} to comment out
6874lines, and @code{gc} to comment out the target of a motion.")
6875 (license license:gpl3+)))
6876
6877;; Tests for emacs-ansi have a circular dependency with ert-runner, and
6878;; therefore cannot be run
6879(define-public emacs-ansi
6880 (package
6881 (name "emacs-ansi")
6882 (version "0.4.1")
6883 (source
6884 (origin
6885 (method url-fetch)
6886 (uri (string-append "https://github.com/rejeep/ansi.el/archive/v"
6887 version ".tar.gz"))
6888 (file-name (string-append name "-" version ".tar.gz"))
6889 (sha256
6890 (base32
6891 "13jj4vbi98j3p17hs99bmy7g21jd5h4v3wpxk4pkvhylm3bfwjw8"))))
6892 (build-system emacs-build-system)
6893 (propagated-inputs
6894 `(("emacs-dash" ,emacs-dash)
6895 ("emacs-s" ,emacs-s)))
6896 (home-page "https://github.com/rejeep/ansi.el")
6897 (synopsis "Convert strings to ANSI")
6898 (description "@code{emacs-ansi} defines functions that turns simple
6899strings to ANSI strings. Turning a string into an ANSI string can be to add
6900color to a text, add color in the background of a text or adding a style, such
6901as bold, underscore or italic.")
6902 (license license:gpl3+)))
6903
6904;; Tests for emacs-commander have a circular dependency with ert-runner, and
6905;; therefore cannot be run
6906(define-public emacs-commander
6907 (package
6908 (name "emacs-commander")
6909 (version "0.7.0")
6910 (source
6911 (origin
6912 (method url-fetch)
6913 (uri (string-append "https://github.com/rejeep/commander.el/archive/v"
6914 version ".tar.gz"))
6915 (file-name (string-append name "-" version ".tar.gz"))
6916 (sha256
6917 (base32
6918 "196s2i15z7gwxa97l1wkxvjnfmj5n38wwm6d3g4zz15l2vqggc2y"))))
6919 (build-system emacs-build-system)
6920 (propagated-inputs
6921 `(("emacs-dash" ,emacs-dash)
6922 ("emacs-f" ,emacs-f)
6923 ("emacs-s" ,emacs-s)))
6924 (home-page "https://github.com/rejeep/commander.el")
6925 (synopsis "Emacs command line parser")
6926 (description "@code{emacs-commander} provides command line parsing for
6927Emacs.")
6928 (license license:gpl3+)))
6929
6930;; Tests for ert-runner have a circular dependency with ecukes, and therefore
6931;; cannot be run
6932(define-public emacs-ert-runner
82328c01
MC
6933 (let ((version "0.7.0")
6934 (revision "1")
6935 (commit "90b8fdd5970ef76a4649be60003b37f82cdc1a65"))
6936 (package
6937 (name "emacs-ert-runner")
6938 (version (git-version "0.7.0" revision commit))
6939 (source
6940 (origin
6941 (method git-fetch)
6942 (uri (git-reference
6943 (url "https://github.com/rejeep/ert-runner.el.git")
6944 (commit commit)))
6945 (file-name (git-file-name name version))
6946 (sha256
6947 (base32
6948 "04nxmyzncacj2wmzd84vv9wkkr2dk9lcb10dvygqmg3p1gadnwzz"))))
6949 (build-system emacs-build-system)
6950 (inputs
6951 `(("emacs-ansi" ,emacs-ansi)
6952 ("emacs-commander" ,emacs-commander)
6953 ("emacs-dash" ,emacs-dash)
6954 ("emacs-f" ,emacs-f)
6955 ("emacs-s" ,emacs-s)
6956 ("emacs-shut-up" ,emacs-shut-up)))
6957 (arguments
6958 `(#:phases
6959 (modify-phases %standard-phases
6960 (add-after 'install 'install-executable
6961 (lambda* (#:key inputs outputs #:allow-other-keys)
f9dff4f7
MC
6962 (let ((out (assoc-ref outputs "out"))
6963 (source-directory (string-append
6964 (getenv "TMPDIR") "/source")))
82328c01
MC
6965 (substitute* "bin/ert-runner"
6966 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
6967 (string-append "ERT_RUNNER=\"" out
6968 "/share/emacs/site-lisp/guix.d/ert-runner-"
6969 ,version)))
6970 (install-file "bin/ert-runner" (string-append out "/bin"))
6971 (wrap-program (string-append out "/bin/ert-runner")
6972 (list "EMACSLOADPATH" ":" 'prefix
f9dff4f7
MC
6973 ;; Do not capture the transient source directory in
6974 ;; the wrapper.
6975 (delete source-directory
6976 (string-split (getenv "EMACSLOADPATH") #\:))))
82328c01
MC
6977 #t))))
6978 #:include (cons* "^reporters/.*\\.el$" %default-include)))
6979 (home-page "https://github.com/rejeep/ert-runner.el")
6980 (synopsis "Opinionated Ert testing workflow")
6981 (description "@code{ert-runner} is a tool for Emacs projects tested
eeb883cb
RW
6982using ERT. It assumes a certain test structure setup and can therefore make
6983running tests easier.")
82328c01 6984 (license license:gpl3+))))
eeb883cb
RW
6985
6986(define-public ert-runner
6987 (deprecated-package "ert-runner" emacs-ert-runner))
6988
6989(define-public emacs-disable-mouse
6990 (package
6991 (name "emacs-disable-mouse")
6992 (version "0.2")
6993 (source
6994 (origin
6995 (method url-fetch)
6996 (uri (string-append
6997 "https://github.com/purcell/disable-mouse/archive/"
6998 version ".tar.gz"))
6999 (file-name (string-append name "-" version ".tar.gz"))
7000 (sha256
7001 (base32
7002 "0haqpq23r1wx04lsqrrg3p5visg9hx5i36dg55ab003wfsrlrzbc"))))
7003 (build-system emacs-build-system)
7004 (home-page "https://github.com/purcell/disable-mouse")
7005 (synopsis "Disable mouse commands globally")
7006 (description
7007 "Provides @code{disable-mouse-mode} and @code{global-disable-mouse-mode},
7008pair of minor modes which suppress all mouse events by intercepting them and
7009running a customisable handler command (@code{ignore} by default). ")
7010 (license license:gpl3+)))
7011
7012(define-public emacs-json-reformat
7013 (package
7014 (name "emacs-json-reformat")
7015 (version "0.0.6")
7016 (source
7017 (origin
7018 (method url-fetch)
7019 (uri (string-append "https://github.com/gongo/json-reformat/archive/"
7020 version ".tar.gz"))
7021 (file-name (string-append name "-" version ".tar.gz"))
7022 (sha256
7023 (base32
7024 "11fbq4scrgr7m0iwnzcrn2g7xvqwm2gf82sa7zy1l0nil7265p28"))
7025 (patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
7026 (build-system emacs-build-system)
7027 (propagated-inputs
7028 `(("emacs-undercover" ,emacs-undercover)))
7029 (native-inputs
7030 `(("emacs-dash" ,emacs-dash)
7031 ("emacs-shut-up" ,emacs-shut-up)
7032 ("ert-runner" ,emacs-ert-runner)))
7033 (arguments
7034 `(#:tests? #t
7035 #:test-command '("ert-runner")))
7036 (home-page "https://github.com/gongo/json-reformat")
7037 (synopsis "Reformatting tool for JSON")
7038 (description "@code{json-reformat} provides a reformatting tool for
7039@url{http://json.org/, JSON}.")
7040 (license license:gpl3+)))
7041
7042(define-public emacs-json-snatcher
7043 (package
7044 (name "emacs-json-snatcher")
7045 (version "1.0.0")
7046 (source
7047 (origin
7048 (method url-fetch)
7049 (uri (string-append "https://github.com/Sterlingg/json-snatcher/archive/"
7050 version ".tar.gz"))
7051 (file-name (string-append name "-" version ".tar.gz"))
7052 (sha256
7053 (base32
7054 "1nfiwsifpdiz0lbrqa77nl0crnfrv5h85ans9b0g5rggnmyshcfb"))))
7055 (build-system emacs-build-system)
7056 (home-page "https://github.com/sterlingg/json-snatcher")
7057 (synopsis "Grabs the path to JSON values in a JSON file")
7058 (description "@code{emacs-json-snatcher} grabs the path to JSON values in
7059a @url{http://json.org/, JSON} file.")
7060 (license license:gpl3+)))
7061
7062(define-public emacs-json-mode
7063 (package
7064 (name "emacs-json-mode")
7065 (version "1.7.0")
7066 (source
7067 (origin
7068 (method url-fetch)
7069 (uri (string-append "https://github.com/joshwnj/json-mode/archive/"
7070 "v" version ".tar.gz"))
7071 (file-name (string-append name "-" version ".tar.gz"))
7072 (sha256
7073 (base32
7074 "06h45p4cn767pk9sqi2zb1c65wy5gyyijqxzpglp80zwxhvajdz5"))))
7075 (build-system emacs-build-system)
7076 (propagated-inputs
7077 `(("emacs-json-reformat" ,emacs-json-reformat)
7078 ("emacs-json-snatcher" ,emacs-json-snatcher)))
7079 (home-page "https://github.com/joshwnj/json-mode")
7080 (synopsis "Major mode for editing JSON files")
7081 (description "@code{json-mode} extends the builtin js-mode syntax
7082highlighting.")
7083 (license license:gpl3+)))
7084
7085(define-public emacs-restclient
7086 (let ((commit "07a3888bb36d0e29608142ebe743b4362b800f40")
7087 (revision "1")) ;Guix package revision,
7088 ;upstream doesn't have official releases
7089 (package
7090 (name "emacs-restclient")
7091 (version (string-append revision "."
7092 (string-take commit 7)))
7093 (source (origin
7094 (method git-fetch)
7095 (uri (git-reference
7096 (url "https://github.com/pashky/restclient.el.git")
7097 (commit commit)))
7098 (sha256
7099 (base32
7100 "00lmjhb5im1kgrp54yipf1h9pshxzgjlg71yf2rq5n973gvb0w0q"))
7101 (file-name (git-file-name name version))))
7102 (build-system emacs-build-system)
7103 (propagated-inputs
7104 `(("emacs-helm" ,emacs-helm)))
7105 (home-page "https://github.com/pashky/restclient.el")
7106 (synopsis "Explore and test HTTP REST webservices")
7107 (description
7108 "This tool allows for testing and exploration of HTTP REST Web services
7109from within Emacs. Restclient runs queries from a plan-text query sheet,
7110displays results pretty-printed in XML or JSON with @code{restclient-mode}")
7111 (license license:public-domain))))
7112
7113(define-public emacs-eimp
7114 (let ((version "1.4.0")
7115 (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
7116 (revision "1"))
7117 (package
7118 (name "emacs-eimp")
7119 (version (git-version version revision commit))
7120 (source
7121 (origin
7122 (method git-fetch)
7123 (uri (git-reference
7124 (url "https://github.com/nicferrier/eimp.git")
7125 (commit commit)))
7126 (file-name (git-file-name name version))
7127 (sha256
7128 (base32
7129 "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra"))))
7130 (build-system emacs-build-system)
7131 (arguments
7132 `(#:phases
7133 (modify-phases %standard-phases
7134 (add-after 'unpack 'configure
7135 (lambda* (#:key inputs #:allow-other-keys)
7136 (let ((imagemagick (assoc-ref inputs "imagemagick")))
7137 ;; eimp.el is read-only in git.
7138 (chmod "eimp.el" #o644)
7139 (emacs-substitute-variables "eimp.el"
7140 ("eimp-mogrify-program"
7141 (string-append imagemagick "/bin/mogrify"))))
7142 #t)))))
7143 (inputs
7144 `(("imagemagick" ,imagemagick)))
7145 (home-page "https://github.com/nicferrier/eimp")
7146 (synopsis "Interactive image manipulation utility for Emacs")
7147 (description "@code{emacs-eimp} allows interactive image manipulation
7148from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do
7149the actual transformations.")
7150 (license license:gpl2+))))
7151
7152(define-public emacs-dired-hacks
7153 (let ((commit "eda68006ce73bbf6b9b995bfd70d08bec8cade36")
7154 (revision "1"))
7155 (package
7156 (name "emacs-dired-hacks")
7157 (version (string-append "0.0.1-" revision "."
7158 (string-take commit 7)))
7159 (source (origin
7160 (method git-fetch)
7161 (uri (git-reference
7162 (url "https://github.com/Fuco1/dired-hacks.git")
7163 (commit commit)))
7164 (file-name (string-append name "-" version "-checkout"))
7165 (sha256
7166 (base32
7167 "1w7ssl9zssn5rcha6apf4h8drkd02k4xgvs203bdbqyqp9wz9brx"))))
7168 (build-system emacs-build-system)
7169 (propagated-inputs
7170 `(("emacs-dash" ,emacs-dash)
7171 ("emacs-eimp" ,emacs-eimp)
7172 ("emacs-f" ,emacs-f)
7173 ("emacs-s" ,emacs-s)))
7174 (home-page "https://github.com/Fuco1/dired-hacks")
7175 (synopsis
7176 "Collection of useful dired additions")
7177 (description
7178 "Collection of Emacs dired mode additions:
7179@itemize
7180@item dired-avfs
7181@item dired-columns
7182@item dired-filter
7183@item dired-hacks-utils
7184@item dired-images
7185@item dired-list
7186@item dired-narrow
7187@item dired-open
7188@item dired-rainbow
7189@item dired-ranger
7190@item dired-subtree
7191@item dired-tagsistant
7192@end itemize\n")
7193 (license license:gpl3+))))
7194
7195(define-public emacs-dired-sidebar
7196 (let ((commit "06bd0d40bab812c61a668129daf29ba359424454")
7197 (revision "0"))
7198 (package
7199 (name "emacs-dired-sidebar")
7200 (home-page "https://github.com/jojojames/dired-sidebar")
7201 (version (git-version "0.0.1" revision commit))
7202 (source (origin
7203 (method git-fetch)
7204 (uri (git-reference (url home-page) (commit commit)))
7205 (sha256
7206 (base32
7207 "0lvwvq6sl80sha9fq5m4568sg534dhmifyjqw75bqddcbf3by84x"))))
7208 (build-system emacs-build-system)
7209 (propagated-inputs
7210 `(("emacs-dired-subtree" ,emacs-dired-hacks)))
7211 (synopsis "Sidebar for Emacs using Dired")
7212 (description
7213 "This package provides a sidebar for Emacs similar to @code{NeoTree}
7214or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
7215 (license license:gpl3+))))
7216
7217(define-public emacs-which-key
7218 (package
7219 (name "emacs-which-key")
498eb769 7220 (version "3.3.1")
eeb883cb
RW
7221 (source
7222 (origin
7223 (method url-fetch)
7224 (uri (string-append
7225 "https://github.com/justbur/emacs-which-key/archive/v"
7226 version ".tar.gz"))
7227 (sha256
7228 (base32
498eb769 7229 "1g8k0js21bc8mlw6hvmg93zgfjhil77c30cv1hf85y4qb9ldvika"))
eeb883cb
RW
7230 (file-name (string-append name "-" version ".tar.gz"))))
7231 (build-system emacs-build-system)
7232 (arguments
7233 `(#:tests? #t
7234 #:test-command '("emacs" "--batch"
7235 "-l" "which-key-tests.el"
7236 "-f" "ert-run-tests-batch-and-exit")))
7237 (home-page "https://github.com/justbur/emacs-which-key")
7238 (synopsis "Display available key bindings in popup")
7239 (description
7240 "@code{emacs-which-key} is a minor mode for Emacs that displays the key
7241bindings following your currently entered incomplete command (a prefix) in a
7242popup. For example, after enabling the minor mode if you enter C-x and wait
7243for the default of 1 second, the minibuffer will expand with all of the
7244available key bindings that follow C-x (or as many as space allows given your
7245settings).")
7246 (license license:gpl3+)))
7247
7248(define-public emacs-ws-butler
7249 (package
7250 (name "emacs-ws-butler")
7251 (version "0.6")
7252 (source (origin
7253 (method git-fetch)
7254 (uri (git-reference
7255 (url "https://github.com/lewang/ws-butler.git")
7256 (commit "323b651dd70ee40a25accc940b8f80c3a3185205")))
7257 (file-name (string-append name "-" version "-checkout"))
7258 (sha256
7259 (base32
7260 "1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb"))))
7261 (build-system emacs-build-system)
7262 (native-inputs
7263 `(("ert-runner" ,emacs-ert-runner)))
7264 (arguments
7265 `(#:tests? #t
7266 #:test-command '("ert-runner" "tests")))
7267 (home-page "https://github.com/lewang/ws-butler")
7268 (synopsis "Trim spaces from end of lines")
7269 (description
7270 "This Emacs package automatically and unobtrusively trims whitespace
7271characters from end of lines.")
7272 (license license:gpl3+)))
7273
7274(define-public emacs-org-edit-latex
7275 (package
7276 (name "emacs-org-edit-latex")
7277 (version "0.8.0")
7278 (source
7279 (origin
7280 (method url-fetch)
7281 (uri (string-append
7282 "https://github.com/et2010/org-edit-latex/archive/v"
7283 version ".tar.gz"))
7284 (file-name (string-append name "-" version ".tar.gz"))
7285 (sha256
7286 (base32
7287 "1y4h6wrs8286h9pbsv4d8fr67a885vz8b2k80qgv5qddipi2i78p"))))
7288 (build-system emacs-build-system)
7289 (propagated-inputs
7290 `(("emacs-auctex" ,emacs-auctex)
7291 ;; The version of org in Emacs 25.2 is not sufficient, because the
7292 ;; `org-latex-make-preamble' function is required.
7293 ("emacs-org" ,emacs-org)))
7294 (home-page "https://github.com/et2010/org-edit-latex")
7295 (synopsis "Edit a latex fragment just like editing a src block")
7296 (description "@code{emacs-org-edit-latex} is an extension for org-mode.
7297It lets you edit a latex fragment in a dedicated buffer just like editing a
7298src block.")
7299 (license license:gpl3+)))
7300
7301(define-public emacs-emamux
7302 (package
7303 (name "emacs-emamux")
7304 (version "0.14")
7305 (source (origin
7306 (method url-fetch)
7307 (uri (string-append
7308 "https://github.com/syohex/emacs-emamux/archive/"
7309 version ".tar.gz"))
7310 (file-name (string-append name "-" version ".tar.gz"))
7311 (sha256
7312 (base32
7313 "0wlqg4icy037bj70b0qmhvwvmiwhagpnx6pnxhq6gzy1hvwlilkx"))))
7314 (build-system emacs-build-system)
7315 (home-page "https://github.com/syohex/emacs-emamux")
7316 (synopsis "Manipulate Tmux from Emacs")
7317 (description
7318 "@code{emacs-emamux} lets Emacs interact with the @code{tmux} terminal
7319multiplexer.")
7320 (license license:gpl3+)))
7321
7322(define-public emacs-rpm-spec-mode
7323 (package
7324 (name "emacs-rpm-spec-mode")
7325 (version "0.16")
7326 (source
7327 (origin
7328 (method url-fetch)
7329 ;; URI has the Fedora release number instead of the version
7330 ;; number. This will have to updated manually every new release.
7331 (uri (string-append
7332 "https://src.fedoraproject.org/cgit/rpms"
7333 "/emacs-rpm-spec-mode.git/snapshot"
7334 "/emacs-rpm-spec-mode-f26.tar.gz"))
7335 (sha256
7336 (base32
7337 "17dz80lhjrc89fj17pysl8slahzrqdkxgcjdk55zls6jizkr6kz3"))))
7338 (build-system emacs-build-system)
7339 (home-page "http://pkgs.fedoraproject.org/cgit/rpms/emacs-rpm-spec-mode.git")
7340 (synopsis "Emacs major mode for editing RPM spec files")
7341 (description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
7342editing RPM spec files.")
7343 (license license:gpl2+)))
7344
7345(define-public emacs-git-messenger
7346 (package
7347 (name "emacs-git-messenger")
7348 (version "0.18")
7349 (source
7350 (origin
7351 (method url-fetch)
7352 (uri (string-append
7353 "https://github.com/syohex/emacs-git-messenger/archive/"
7354 version ".tar.gz"))
7355 (file-name (string-append name "-" version ".tar.gz"))
7356 (sha256
7357 (base32
7358 "17mqki6g0wx46fn7dcbcc2pjxik7vvrcb1j9jzxim8b9psbsbnp9"))))
7359 (build-system emacs-build-system)
7360 (propagated-inputs
7361 `(("emacs-popup" ,emacs-popup)))
7362 (arguments
7363 `(#:tests? #t
7364 #:test-command '("emacs" "--batch" "-l" "test/test.el"
7365 "-f" "ert-run-tests-batch-and-exit")))
7366 (home-page "https://github.com/syohex/emacs-git-messenger")
7367 (synopsis "Popup commit message at current line")
7368 (description "@code{emacs-git-messenger} provides
7369@code{git-messenger:popup-message}, a function that when called, will popup
7370the last git commit message for the current line. This uses git-blame
7371internally.")
7372 (license license:gpl3+)))
7373
7374(define-public emacs-gitpatch
7375 (package
7376 (name "emacs-gitpatch")
7377 (version "0.5.0")
7378 (source
7379 (origin
7380 (method url-fetch)
7381 (uri (string-append "https://github.com/tumashu/gitpatch/archive/"
7382 "v" version ".tar.gz"))
7383 (file-name (string-append name "-" version ".tar.gz"))
7384 (sha256
7385 (base32
7386 "1yj6pmic541lcnscjin300k380qp9xdfprs55xg1q57jrkq6f6k7"))))
7387 (build-system emacs-build-system)
7388 (home-page "https://github.com/tumashu/gitpatch")
7389 (synopsis "Mail git patch from Emacs")
7390 (description "@code{emacs-gitpatch} lets users easily send git patches,
7391created by @code{git format-patch}, from @code{magit}, @code{dired} and
7392@code{ibuffer} buffers.")
7393 (license license:gpl3+)))
7394
7395(define-public emacs-erc-hl-nicks
7396 (package
7397 (name "emacs-erc-hl-nicks")
7398 (version "1.3.3")
7399 (source
7400 (origin
7401 (method url-fetch)
7402 (uri (string-append "https://github.com/leathekd/erc-hl-nicks"
7403 "/archive/" version ".tar.gz"))
7404 (file-name (string-append name "-" version ".tar.gz"))
7405 (sha256
7406 (base32
7407 "1a1r2kc3688g8c2ybkpwh88kgmnqhg3h3032g2yn4zr9m0n3vpkr"))))
7408 (build-system emacs-build-system)
7409 (synopsis "Nickname highlighting for Emacs ERC")
7410 (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
7411client for Emacs. The main features are:
7412@itemize
7413@item Auto-colorizes nicknames without having to specify colors
7414@item Ignores certain characters that IRC clients add to nicknames to avoid
7415duplicates (nickname, nickname’, nickname\", etc.)
7416@item Attempts to produce colors with a sufficient amount of contrast between
7417the nick color and the background color
7418@end itemize\n")
7419 (home-page "https://github.com/leathekd/erc-hl-nicks")
7420 (license license:gpl3+)))
7421
7422(define-public emacs-engine-mode
7423 (package
7424 (name "emacs-engine-mode")
7425 (version "2.0.0")
7426 (source
7427 (origin
7428 (method url-fetch)
7429 (uri (string-append "https://github.com/hrs/engine-mode/archive/"
7430 "v" version ".tar.gz"))
7431 (file-name (string-append name "-" version ".tar.gz"))
7432 (sha256
7433 (base32
7434 "1vm4p7pcp1vnwwxvps1bhm7i7hkabqqxl898knxf2hqvxys76684"))))
7435 (build-system emacs-build-system)
7436 (synopsis "Minor mode for defining and querying search engines")
7437 (description "@code{engine-mode} is a global minor mode for Emacs. It
7438enables you to easily define search engines, bind them to keybindings, and
7439query them from the comfort of your editor.")
7440 (home-page "https://github.com/hrs/engine-mode")
7441 (license license:gpl3+)))
7442
7443(define-public emacs-prop-menu
7444 (package
7445 (name "emacs-prop-menu")
7446 (version "0.1.2")
7447 (source
7448 (origin
7449 (method url-fetch)
7450 (uri (string-append
7451 "http://stable.melpa.org/packages/prop-menu-"
7452 version ".el"))
7453 (sha256
7454 (base32
7455 "01bk4sjafzz7gqrkv9jg0pa85qr34vbk3q8ga2b0m61bndywzgpr"))))
7456 (build-system emacs-build-system)
7457 (home-page
7458 "https://github.com/david-christiansen/prop-menu-el")
7459 (synopsis
7460 "Create and display a context menu based on text and overlay properties")
7461 (description
7462 "This is a library for computing context menus based on text
7463properties and overlays. The intended use is to have tools that
7464annotate source code and others that use these annotations, without
7465requiring a direct coupling between them, but maintaining
7466discoverability.
7467
7468Major modes that wish to use this library should first define an
7469appropriate value for @code{prop-menu-item-functions}. Then, they should
7470bind @code{prop-menu-by-completing-read} to an appropriate
7471key. Optionally, a mouse pop-up can be added by binding
7472@code{prop-menu-show-menu} to a mouse event.")
7473 (license license:gpl3+)))
7474
7475(define-public emacs-idris-mode
7476 (package
7477 (name "emacs-idris-mode")
7478 (version "0.9.19")
7479 (source
7480 (origin
7481 (method url-fetch)
7482 (uri (string-append
7483 "http://stable.melpa.org/packages/idris-mode-"
7484 version ".tar"))
7485 (sha256
7486 (base32
7487 "02r1qqsxi6qk7q4cj6a6pygbj856dcw9vcmhfh0ib92j41v77q6y"))))
7488 (build-system emacs-build-system)
7489 (propagated-inputs
7490 `(("emacs-prop-menu" ,emacs-prop-menu)))
7491 (home-page
7492 "https://github.com/idris-hackers/idris-mode")
7493 (synopsis "Major mode for editing Idris code")
7494 (description
7495 "This is an Emacs mode for editing Idris code. It requires the latest
7496version of Idris, and some features may rely on the latest Git version of
7497Idris.")
7498 (license license:gpl3+)))
7499
7500(define-public emacs-browse-at-remote
7501 (package
7502 (name "emacs-browse-at-remote")
7503 (version "0.10.0")
7504 (source
7505 (origin
7506 (method url-fetch)
7507 (uri (string-append
7508 "https://github.com/rmuslimov/browse-at-remote/archive/"
7509 version ".tar.gz"))
7510 (file-name (string-append name "-" version ".tar.gz"))
7511 (sha256
7512 (base32
7513 "0ymslsp6i1naw25zckv25bf4aaq6qwkbkn95qyzlwg869l802686"))))
7514 (build-system emacs-build-system)
7515 (propagated-inputs
7516 `(("emacs-f" ,emacs-f)
7517 ("emacs-s" ,emacs-s)))
7518 (native-inputs
7519 `(("ert-runner" ,emacs-ert-runner)))
7520 (arguments
7521 `(#:tests? #t
7522 #:test-command '("ert-runner")))
7523 (home-page "https://github.com/rmuslimov/browse-at-remote")
7524 (synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
7525 (description
7526 "This Emacs package allows you to open a target page on
7527github/gitlab (or bitbucket) by calling @code{browse-at-remote} command.
7528It supports dired buffers and opens them in tree mode at destination.")
7529 (license license:gpl3+)))
7530
7531(define-public emacs-tiny
7532 (package
7533 (name "emacs-tiny")
7534 (version "0.2.1")
7535 (source
7536 (origin
7537 (method url-fetch)
7538 (uri (string-append "http://elpa.gnu.org/packages/tiny-" version ".tar"))
7539 (sha256
7540 (base32
7541 "1cr73a8gba549ja55x0c2s554f3zywf69zbnd7v82jz5q1k9wd2v"))))
7542 (build-system emacs-build-system)
7543 (home-page "https://github.com/abo-abo/tiny")
7544 (synopsis "Quickly generate linear ranges in Emacs")
7545 (description
7546 "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}.
7547It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp
7548proficiency is an advantage, since you can transform your numeric range with
7549an elisp expression.")
7550 (license license:gpl3+)))
7551
7552(define-public emacs-emojify
7553 (package
7554 (name "emacs-emojify")
7555 (version "0.4")
7556 (source
7557 (origin
7558 (method url-fetch)
7559 (uri (string-append "https://github.com/iqbalansari/emacs-emojify/"
7560 "releases/download/v" version "/emojify-"
7561 version ".tar"))
7562 (sha256
7563 (base32
7564 "0k84v2d2bkiwcky9fi1yyprgkj46g7wh6pyl9gzmcd7sqv051d5n"))))
7565 (build-system emacs-build-system)
7566 (arguments
7567 `(#:phases
7568 (modify-phases %standard-phases
7569 (add-after 'install 'install-data
7570 (lambda* (#:key outputs #:allow-other-keys)
7571 (copy-recursively "data"
7572 (string-append (assoc-ref outputs "out")
7573 "/share/emacs/site-lisp/guix.d/"
7574 "emojify-" ,version "/data"))
7575 #t)))))
7576 (propagated-inputs
7577 `(("emacs-ht" ,emacs-ht)))
7578 (home-page "https://github.com/iqbalansari/emacs-emojify")
7579 (synopsis "Display emojis in Emacs")
7580 (description "This package displays emojis in Emacs similar to how Github,
7581Slack, and other websites do. It can display plain ASCII like @code{:)} as
7582well as Github-style emojis like @code{:smile:}. It provides a minor mode
7583@code{emojify-mode} to enable the display of emojis in a buffer.")
7584 (license license:gpl3+)))
7585
7586(define-public emacs-websocket
7587 (package
7588 (name "emacs-websocket")
7589 (version "1.10")
7590 (source
7591 (origin
7592 (method git-fetch)
7593 (uri (git-reference
7594 (url "https://github.com/ahyatt/emacs-websocket.git")
7595 (commit version)))
7596 (file-name (string-append name "-" version "-checkout"))
7597 (sha256
7598 (base32
7599 "1dgrf7na6r6mmkknphzshlbd5fnzisg0qn0j7vfpa38wgsymaq52"))))
7600 (build-system emacs-build-system)
7601 (home-page "http://elpa.gnu.org/packages/websocket.html")
7602 (synopsis "Emacs WebSocket client and server")
7603 (description "This is an Elisp library for WebSocket clients to talk to
7604WebSocket servers, and for WebSocket servers to accept connections from
7605WebSocket clients. This library is designed to be used by other library
7606writers, to write applications that use WebSockets, and is not useful by
7607itself.")
7608 (license license:gpl3+)))
7609
7610(define-public emacs-oauth2
7611 (package
7612 (name "emacs-oauth2")
7613 (version "0.11")
7614 (source
7615 (origin
7616 (method url-fetch)
7617 (uri (string-append "https://elpa.gnu.org/packages/oauth2-"
7618 version ".el"))
7619 (sha256
7620 (base32
7621 "0ydkc9jazsnbbvfhd47mql52y7k06n3z7r0naqxkwb99j9blqsmp"))))
7622 (build-system emacs-build-system)
7623 (home-page "http://elpa.gnu.org/packages/oauth2.html")
7624 (synopsis "OAuth 2.0 authorization protocol implementation")
7625 (description
7626 "This package provides an Elisp implementation of the OAuth 2.0 draft.
7627The main entry point is @code{oauth2-auth-and-store} which will return a token
7628structure. This token structure can be then used with
7629@code{oauth2-url-retrieve-synchronously} or @code{oauth2-url-retrieve} to
7630retrieve any data that need OAuth authentication to be accessed. If the token
7631needs to be refreshed, the code handles it automatically and stores the new
7632value of the access token.")
7633 (license license:gpl3+)))
7634
7635(define-public emacs-circe
7636 (package
7637 (name "emacs-circe")
7638 (version "2.10")
7639 (source
7640 (origin
7641 (method git-fetch)
7642 (uri (git-reference
7643 (url "https://github.com/jorgenschaefer/circe.git")
7644 (commit (string-append "v" version))))
7645 (file-name (git-file-name name version))
7646 (sha256
7647 (base32
7648 "10gi14kwxd81blddpvqh95lgmpbfgp0m955naxix3bs3r6a75n4s"))))
7649 (build-system emacs-build-system)
7650 (arguments
7651 `(#:tests? #t
7652 #:test-command '("buttercup" "-L" ".")
7653 #:phases
7654 (modify-phases %standard-phases
7655 ;; The HOME environment variable should be set to an existing
7656 ;; directory for the tests to succeed.
7657 (add-before 'check 'set-home
7658 (lambda _
7659 (setenv "HOME" "/tmp")
7660 #t)))))
7661 (native-inputs
7662 `(("emacs-buttercup" ,emacs-buttercup)))
7663 ;; In order to securely connect to an IRC server using TLS, Circe requires
7664 ;; the GnuTLS binary.
7665 (propagated-inputs
7666 `(("gnutls" ,gnutls)))
7667 (home-page "https://github.com/jorgenschaefer/circe")
7668 (synopsis "Client for IRC in Emacs")
7669 (description "Circe is a Client for IRC in Emacs. It integrates well with
7670the rest of the editor, using standard Emacs key bindings and indicating
7671activity in channels in the status bar so it stays out of your way unless you
7672want to use it.")
7673 (license license:gpl3+)))
7674
7675(define-public emacs-tracking
7676 (package
7677 (inherit emacs-circe)
7678 (name "emacs-tracking")
7679 (arguments
7680 ;; "tracking.el" is a library extracted from Circe package. It requires
7681 ;; "shorten.el".
7682 `(#:include '("^shorten.el$" "^tracking.el$")
7683 ,@(package-arguments emacs-circe)))
7684 (home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
7685 (synopsis "Buffer tracking library")
7686 (description "@code{tracking.el} provides a way for different modes to
7687notify the user that a buffer needs attention. The user then can cycle
7688through them using @key{C-c C-SPC}.")
7689 (license license:gpl3+)))
7690
7691(define-public emacs-slack
7692 (let ((commit "99a57501629a0329a9ca090c1ea1296462eda02d")
7693 (revision "5"))
7694 (package
7695 (name "emacs-slack")
7696 (version (git-version "0.0.2" revision commit))
7697 (source (origin
7698 (method git-fetch)
7699 (uri (git-reference
7700 (url "https://github.com/yuya373/emacs-slack.git")
7701 (commit commit)))
7702 (file-name (git-file-name name commit))
7703 (sha256
7704 (base32
7705 "0jw1diypfw8pmzkq0napgxmfc0gqka7zcccgnw359604lr30k2z2"))))
7706 (build-system emacs-build-system)
7707 (propagated-inputs
7708 `(("emacs-alert" ,emacs-alert)
7709 ("emacs-emojify" ,emacs-emojify)
7710 ("emacs-helm" ,emacs-helm)
7711 ("emacs-request" ,emacs-request)
7712 ("emacs-websocket" ,emacs-websocket)
7713 ("emacs-oauth2" ,emacs-oauth2)
7714 ("emacs-circe" ,emacs-circe)))
7715 (home-page "https://github.com/yuya373/emacs-slack")
7716 (synopsis "Slack client for Emacs")
7717 (description "This package provides an Emacs client for the Slack
7718messaging service.")
7719 (license license:gpl3+))))
7720
7721(define-public emacs-bash-completion
7722 (package
7723 (name "emacs-bash-completion")
7724 (version "2.1.0")
7725 (source
7726 (origin
7727 (method url-fetch)
7728 (uri (string-append
7729 "https://github.com/szermatt/emacs-bash-completion/archive/v"
7730 version ".tar.gz"))
7731 (file-name (string-append name "-" version ".tar.gz"))
7732 (sha256
7733 (base32
7734 "1z0qck3v3ra6ivacn8n04w1v33a4xn01xx860761q31qzsv3sksq"))))
7735 (inputs `(("bash" ,bash)))
7736 (build-system emacs-build-system)
7737 (arguments
7738 `(#:phases
7739 (modify-phases %standard-phases
7740 (add-before 'install 'configure
7741 (lambda* (#:key inputs #:allow-other-keys)
7742 (let ((bash (assoc-ref inputs "bash")))
7743 (emacs-substitute-variables "bash-completion.el"
7744 ("bash-completion-prog" (string-append bash "/bin/bash"))))
7745 #t)))))
7746 (home-page "https://github.com/szermatt/emacs-bash-completion")
7747 (synopsis "Bash completion for the shell buffer")
7748 (description
7749 "@code{bash-completion} defines dynamic completion hooks for shell-mode
7750and shell-command prompts that are based on Bash completion.")
7751 (license license:gpl2+)))
7752
7753(define-public emacs-easy-kill
7754 (package
7755 (name "emacs-easy-kill")
7756 (version "0.9.3")
7757 (source (origin
7758 (method url-fetch)
7759 (uri (string-append "https://elpa.gnu.org/packages/easy-kill-"
7760 version ".tar"))
7761 (sha256
7762 (base32
7763 "17nw0mglmg877axwg1d0gs03yc0p04lzmd3pl0nsnqbh3303fnqb"))))
7764 (build-system emacs-build-system)
7765 (home-page "https://github.com/leoliu/easy-kill")
7766 (synopsis "Kill and mark things easily in Emacs")
7767 (description
7768 "This package provides commands @code{easy-kill} and @code{easy-mark} to
7769let users kill or mark things easily.")
7770 (license license:gpl3+)))
7771
7772(define-public emacs-csv-mode
7773 (package
7774 (name "emacs-csv-mode")
7775 (version "1.7")
7776 (source
7777 (origin
7778 (method url-fetch)
7779 (uri (string-append "http://elpa.gnu.org/packages/csv-mode-"
7780 version ".el"))
7781 (sha256
7782 (base32
7783 "0r4bip0w3h55i8h6sxh06czf294mrhavybz0zypzrjw91m1bi7z6"))))
7784 (build-system emacs-build-system)
7785 (home-page
7786 "http://elpa.gnu.org/packages/csv-mode.html")
7787 (synopsis
7788 "Major mode for editing comma/char separated values")
7789 (description
7790 "This Emacs package implements CSV mode, a major mode for editing records
7791in a generalized CSV (character-separated values) format.")
7792 (license license:gpl3+)))
7793
7794(define-public emacs-transmission
7795 (package
7796 (name "emacs-transmission")
7797 (version "0.12.1")
7798 (source (origin
7799 (method url-fetch)
7800 (uri (string-append
7801 "https://github.com/holomorph/transmission/archive/"
7802 version ".tar.gz"))
7803 (file-name (string-append name "-" version ".tar.gz"))
7804 (sha256
7805 (base32
7806 "1rrlgn96gi1ljfwbwvlyyxbq75xzamlbdhq1bpyadxxmxcvlmk3n"))))
7807 (build-system emacs-build-system)
7808 (home-page "https://github.com/holomorph/transmission")
7809 (synopsis "Emacs interface to a Transmission session")
7810 (description "This package provides an Emacs interface to interact with a
7811running session of the Transmission Bittorrent client.
7812
7813Features:
7814
7815@itemize
7816@item List, add, start/stop, verify, remove torrents.
7817@item Set speed limits, ratio limits, bandwidth priorities, trackers.
7818@item Navigate to the corresponding file list, torrent info, peer info
7819contexts.
7820@item Toggle downloading and set priorities for individual files.
7821@end itemize\n")
7822 (license license:gpl3+)))
7823
7824(define-public emacs-polymode
7825 (package
7826 (name "emacs-polymode")
7827 (version "0.1.5")
7828 (source (origin
7829 (method git-fetch)
7830 (uri (git-reference
7831 (url "https://github.com/vspinu/polymode.git")
7832 (commit (string-append "v" version))))
7833 (file-name (git-file-name name version))
7834 (sha256
7835 (base32
7836 "0wwphs54jx48a3ca6x1qaz56j3j9bg4mv8g2akkffrzbdcb8sbc7"))))
7837 (build-system emacs-build-system)
7838 (arguments
7839 `(#:include (cons* "^modes/.*\\.el$" %default-include)
7840 #:phases
7841 (modify-phases %standard-phases
7842 (add-after 'set-emacs-load-path 'add-modes-subdir-to-load-path
7843 (lambda _
7844 (setenv "EMACSLOADPATH"
7845 (string-append (getenv "EMACSLOADPATH")
7846 ":" (getcwd) "/modes" ":")))))))
7847 (home-page "https://github.com/vspinu/polymode")
7848 (synopsis "Framework for multiple Emacs modes based on indirect buffers")
7849 (description "Polymode is an Emacs package that offers generic support
7850for multiple major modes inside a single Emacs buffer. It is lightweight,
7851object oriented and highly extensible. Creating a new polymode typically
7852takes only a few lines of code. Polymode also provides extensible facilities
7853for external literate programming tools for exporting, weaving and tangling.")
7854 (license license:gpl3+)))
7855
7856(define-public emacs-polymode-ansible
7857 (let ((commit "b26094d029e25dc797b94254f797e7807a57e4c8"))
7858 (package
7859 (name "emacs-polymode-ansible")
7860 ;; No upstream version release yet.
7861 (version (git-version "0.1" "1" commit))
7862 (source
7863 (origin
7864 (method git-fetch)
7865 (uri (git-reference
7866 (url "https://gitlab.com/mavit/poly-ansible")
7867 (commit commit)))
7868 (file-name (git-file-name name version))
7869 (sha256
7870 (base32
7871 "055shddqibib3hx2ykwdz910nrqws40cd407mq946l2bf6v87gj6"))))
7872 (build-system emacs-build-system)
7873 (propagated-inputs
7874 `(("emacs-ansible-doc" ,emacs-ansible-doc)
7875 ("emacs-jinja2-mode" ,emacs-jinja2-mode)
7876 ("emacs-polymode" ,emacs-polymode)
7877 ("emacs-yaml-mode" ,emacs-yaml-mode)))
7878 (properties '((upstream-name . "poly-ansible")))
7879 (home-page "https://gitlab.com/mavit/poly-ansible/")
7880 (synopsis "Polymode for Ansible - Jinja2 in YAML")
7881 (description
7882 "Edit YAML files for Ansible containing embedded Jinja2 templating.")
7883 (license license:gpl3+))))
7884
7885(define-public eless
7886 (package
7887 (name "eless")
7888 (version "0.3")
7889 (source (origin
7890 (method url-fetch)
7891 (uri (string-append
7892 "https://github.com/kaushalmodi/eless/archive/"
7893 "v" version ".tar.gz"))
7894 (file-name (string-append name "-" version ".tar.gz"))
7895 (sha256
7896 (base32
7897 "0gjnnhgw5xs1w3qfnkvwa2nv44gnxr8pkhx3c7qig45p8nh1461h"))))
7898 (build-system trivial-build-system)
7899 (inputs
7900 `(("bash" ,bash)))
7901 (native-inputs
7902 `(("tar" ,tar)
7903 ("gzip" ,gzip)))
7904 (arguments
7905 `(#:modules ((guix build utils))
7906 #:builder
7907 (begin
7908 (use-modules (guix build utils))
7909 (setenv "PATH" (string-append
7910 (assoc-ref %build-inputs "tar") "/bin" ":"
7911 (assoc-ref %build-inputs "gzip") "/bin"))
7912 (invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
7913 (chdir (string-append "eless" "-" ,version))
7914 (substitute* "eless" (("/usr/bin/env bash")
7915 (string-append (assoc-ref %build-inputs "bash")
7916 "/bin/bash")))
7917 (install-file "eless" (string-append %output "/bin"))
7918 (install-file "doc/eless.info" (string-append %output "/share/info"))
7919 #t)))
7920 (home-page "https://github.com/kaushalmodi/eless")
7921 (synopsis "Use Emacs as a paginator")
7922 (description "@code{eless} provides a combination of Bash script
7923and a minimal Emacs view-mode.
7924
7925Feautures:
7926
7927@itemize
7928@item Independent of a user’s Emacs config.
7929@item Customizable via the @code{(locate-user-emacs-file \"elesscfg\")} config.
7930@item Not require an Emacs server to be already running.
7931@item Syntax highlighting.
7932@item Org-mode file rendering.
7933@item @code{man} page viewer.
7934@item Info viewer.
7935@item Dired, wdired, (batch edit symbolic links).
7936@item Colored diffs, git diff, git log, ls with auto ANSI detection.
7937@item Filter log files lines matching a regexp.
7938@item Auto-revert log files similar to @code{tail -f}.
7939@item Quickly change frame and font sizes.
7940@end itemize\n")
7941 (license license:expat)))
7942
7943(define-public emacs-evil-matchit
7944 (package
7945 (name "emacs-evil-matchit")
7946 (version "2.2.6")
7947 (source
7948 (origin
7949 (method url-fetch)
7950 (uri (string-append
7951 "https://github.com/redguardtoo/evil-matchit/archive/"
7952 version ".tar.gz"))
7953 (file-name (string-append name "-" version ".tar.gz"))
7954 (sha256
7955 (base32
7956 "1yp9sl6542317mn1060ri90zyf6bs6qylagndhqy02p368q31rhi"))))
7957 (build-system emacs-build-system)
7958 (propagated-inputs
7959 `(("emacs-evil" ,emacs-evil)))
7960 (home-page "https://github.com/redguardtoo/evil-matchit")
7961 (synopsis "Vim matchit ported into Emacs")
7962 (description
7963 "@code{evil-matchit} is a minor mode for jumping between matching tags in
7964evil mode using @kbd{%}. It is a port of @code{matchit} for Vim.")
7965 (license license:gpl3+)))
7966
7967(define-public emacs-evil-smartparens
7968 (package
7969 (name "emacs-evil-smartparens")
7970 (version "0.4.0")
7971 (source
7972 (origin
7973 (method url-fetch)
7974 (uri (string-append
7975 "https://github.com/expez/evil-smartparens/archive/"
7976 version ".tar.gz"))
7977 (file-name (string-append name "-" version ".tar.gz"))
7978 (sha256
7979 (base32
7980 "1bwzdd3054d407d5j4m3njsbvmc9r8zzp33m32pj3b3irxrl68q0"))))
7981 (build-system emacs-build-system)
7982 (propagated-inputs
7983 `(("emacs-evil" ,emacs-evil)
7984 ("emacs-smartparens" ,emacs-smartparens)))
7985 (home-page "https://github.com/expez/evil-smartparens")
7986 (synopsis "Emacs Evil integration for Smartparens")
7987 (description "@code{emacs-evil-smartparens} is an Emacs minor mode which
7988makes Evil play nice with Smartparens. Evil is an Emacs minor mode that
7989emulates Vim features and provides Vim-like key bindings.")
7990 (license license:gpl3+)))
7991
7992(define-public emacs-evil-quickscope
7993 (package
7994 (name "emacs-evil-quickscope")
7995 (version "0.1.4")
7996 (source
7997 (origin
7998 (method url-fetch)
7999 (uri (string-append "https://github.com/blorbx/evil-quickscope/archive/v"
8000 version ".tar.gz"))
8001 (file-name (string-append name "-" version ".tar.gz"))
8002 (sha256
8003 (base32
8004 "1r26a412mmar7vbf89zcifswiwpdg30mjzj32xdyqss57aqi83ma"))))
8005 (build-system emacs-build-system)
8006 (propagated-inputs
8007 `(("emacs-evil" ,emacs-evil)))
8008 (arguments
8009 `(#:tests? #t
8010 #:test-command '("emacs" "--batch"
8011 "-l" "evil-quickscope-tests.el"
8012 "-f" "ert-run-tests-batch-and-exit")))
8013 (home-page "https://github.com/blorbx/evil-quickscope")
8014 (synopsis "Target highlighting for emacs evil-mode f,F,t and T commands")
8015 (description "@code{emacs-evil-quickscope} highlights targets for Evil
8016mode’s f,F,t,T keys, allowing for quick navigation within a line. It is a
8017port of quick-scope for Vim. Evil is an Emacs minor mode that emulates Vim
8018features and provides Vim-like key bindings.")
8019 (license license:gpl3+)))
8020
8021(define-public emacs-bongo
8022 (package
8023 (name "emacs-bongo")
8024 (version "1.0")
8025 (source
8026 (origin
8027 (method url-fetch)
8028 (uri (string-append
8029 "https://github.com/dbrock/bongo/archive/"
8030 version ".tar.gz"))
8031 (file-name (string-append name "-" version ".tar.gz"))
8032 (sha256
8033 (base32
8034 "1pcsyyrvj7djjjwpaswd1i782hvqvlvs39cy9ns0k795si6xd64d"))))
8035 (build-system emacs-build-system)
8036 (home-page "https://github.com/dbrock/bongo")
8037 (synopsis "Media player for Emacs")
8038 (description
8039 "This package provides a flexible media player for Emacs. @code{Bongo}
8040supports multiple backends such as @code{vlc}, @code{mpg123},
8041@code{ogg123}, @code{speexdec}, @code{timidity}, @code{mikmod} and
8042@code{afplay}.")
8043 (license license:gpl2+)))
8044
8045(define-public emacs-groovy-modes
8046 (package
8047 (name "emacs-groovy-modes")
8048 (version "2.0")
8049 (source (origin
8050 (method url-fetch)
8051 (uri (string-append
8052 "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes"
8053 "/archive/" version ".tar.gz"))
8054 (file-name (string-append name "-" version ".tar.gz"))
8055 (sha256
8056 (base32
8057 "15j0hnkx9nppjzda5cqsxxz5f3bq9hc4xfyjcdypzqiypcvmpa39"))))
8058 (build-system emacs-build-system)
8059 (propagated-inputs
8060 `(("emacs-s" ,emacs-s)))
8061 (home-page "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
8062 (synopsis "Groovy related modes for Emacs")
8063 (description
8064 "This package provides @code{groovy-mode} for syntax highlighing in
8065Groovy source files, REPL integration with run-groovy and Grails project
8066navigation with the grails mode.")
8067 (license license:gpl3+)))
8068
8069(define-public groovy-emacs-modes
8070 (deprecated-package "groovy-emacs-modes" emacs-groovy-modes))
8071
8072(define-public emacs-org-tree-slide
8073 (let ((commit "dff8f1a4a64c8dd0a1fde0b0131e2fe186747134")
8074 (revision "0"))
8075 (package
8076 (name "emacs-org-tree-slide")
8077 (version (git-version "0.1" revision commit))
8078 (home-page "https://github.com/takaxp/org-tree-slide")
8079 (source (origin
8080 (method git-fetch)
8081 (uri (git-reference (url home-page) (commit commit)))
8082 (sha256
8083 (base32
8084 "153bg0x7ypla11pq51jmsgzfjklwwnrq56xgpbfhk1j16xwz9hyf"))
8085 (file-name (git-file-name name version))))
8086 (build-system emacs-build-system)
8087 (synopsis "Presentation tool for org-mode")
8088 (description
8089 "Org-tree-slide provides a slideshow mode to view org-mode files. Use
8090@code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
8091@kbd{C-<} to jump to the next and previous slide.")
8092 (license license:gpl3+))))
8093
8094(define-public emacs-scratch-el
8095 (let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897")
8096 (revision "1"))
8097 (package
8098 (name "emacs-scratch-el")
8099 (version (git-version "1.2" revision commit))
8100 (source (origin
8101 (method git-fetch)
8102 (uri (git-reference
8103 (url "https://github.com/ieure/scratch-el.git")
8104 (commit commit)))
8105 (file-name (git-file-name name version))
8106 (sha256
8107 (base32
8108 "0wscsndynjmnliajqaz28r1ww81j8wh84zwaaswx51abhwgl0idf"))))
8109 (build-system emacs-build-system)
8110 (native-inputs
8111 `(("texinfo" ,texinfo)))
8112 (arguments
8113 '(#:phases
8114 (modify-phases %standard-phases
8115 (add-after 'install 'install-doc
8116 (lambda* (#:key outputs #:allow-other-keys)
8117 (unless (invoke "makeinfo" "scratch.texi")
8118 (error "makeinfo failed"))
8119 (install-file "scratch.info"
8120 (string-append (assoc-ref outputs "out")
8121 "/share/info"))
8122 #t)))))
8123 (home-page "https://github.com/ieure/scratch-el/")
8124 (synopsis "Create scratch buffers with the same mode as current buffer")
8125 (description "Scratch is an extension to Emacs that enables one to create
8126scratch buffers that are in the same mode as the current buffer. This is
8127notably useful when working on code in some language; you may grab code into a
8128scratch buffer, and, by virtue of this extension, do so using the Emacs
8129formatting rules for that language.")
8130 (license license:bsd-2))))
8131
8132(define-public emacs-kv
8133 (package
8134 (name "emacs-kv")
8135 (version "0.0.19")
8136 (source
8137 (origin
8138 (method git-fetch)
8139 (uri (git-reference
8140 (url "https://github.com/nicferrier/emacs-kv.git")
8141 (commit "721148475bce38a70e0b678ba8aa923652e8900e")))
8142 (file-name (string-append name "-" version "-checkout"))
8143 (sha256
8144 (base32
8145 "0r0lz2s6gvy04fwnafai668jsf4546h4k6zd6isx5wpk0n33pj5m"))))
8146 (build-system emacs-build-system)
8147 (arguments
8148 `(#:tests? #t
8149 #:test-command '("emacs" "--batch" "-l" "kv-tests.el"
8150 "-f" "ert-run-tests-batch-and-exit")))
8151 (home-page "https://github.com/nicferrier/emacs-kv")
8152 (synopsis "Key/Value data structures library for Emacs Lisp")
8153 (description "@code{emacs-kv} is a collection of tools for dealing with
8154key/value data structures such as plists, alists and hash-tables in Emacs
8155Lisp.")
8156 (license license:gpl3+)))
8157
8158(define-public emacs-esxml
8159 (package
8160 (name "emacs-esxml")
8161 (version "0.3.4")
8162 (source (origin
8163 (method git-fetch)
8164 (uri (git-reference
8165 (url "https://github.com/tali713/esxml.git")
8166 (commit version)))
8167 (file-name (git-file-name name version))
8168 (sha256
8169 (base32
8170 "00vv8a75wdklygdyr4km9mc2ismxak69c45jmcny41xl44rp9x8m"))))
8171 (build-system emacs-build-system)
8172 (arguments
8173 `(#:phases
8174 (modify-phases %standard-phases
8175 (add-after 'unpack 'fix-sources
8176 (lambda _
8177 ;; See: https://github.com/tali713/esxml/pull/28.
8178 (substitute* "css-lite.el"
8179 ((";;; main interface")
8180 (string-append ";;; main interface\n"
8181 "(require 'cl-lib)"))
8182 (("mapcan")
8183 "cl-mapcan")
8184 (("',\\(cl-mapcan #'process-css-rule rules\\)")
8185 "(cl-mapcan #'process-css-rule ',rules)"))
8186 (substitute* "esxml-form.el"
8187 ((",esxml-form-field-defn")
8188 "#'esxml-form-field-defn"))
8189 ;; See: https://github.com/tali713/esxml/issues/25
8190 (delete-file "esxpath.el")
8191 #t)))))
8192 (propagated-inputs
8193 `(("emacs-kv" ,emacs-kv)))
8194 (home-page "https://github.com/tali713/esxml/")
8195 (synopsis "SXML for EmacsLisp")
8196 (description "This is XML/XHTML done with S-Expressions in EmacsLisp.
8197Simply, this is the easiest way to write HTML or XML in Lisp. This library
8198uses the native form of XML representation as used by many libraries already
8199included within Emacs. See @code{esxml-to-xml} for a concise description of
8200the format.")
8201 (license license:gpl3+)))
8202
8203(define-public emacs-nov-el
8204 (package
8205 (name "emacs-nov-el")
8206 (version "0.2.6")
8207 (source (origin
8208 (method git-fetch)
8209 (uri (git-reference
8210 (url "https://github.com/wasamasa/nov.el.git")
8211 (commit version)))
8212 (file-name (git-file-name name version))
8213 (sha256
8214 (base32
8215 "188h5gzn1zf443g0b7q5bpmvvpr6ds5h8aci8vxc92py56rhyrvc"))))
8216 (build-system emacs-build-system)
8217 (arguments
8218 `(#:phases
8219 (modify-phases %standard-phases
8220 (add-after 'unpack 'embed-path-to-unzip
8221 (lambda _
8222 (substitute* "nov.el"
8223 (("\\(executable-find \"unzip\"\\)")
8224 (string-append "\"" (which "unzip") "\"")))
8225 #t)))))
8226 (propagated-inputs
8227 `(("emacs-dash" ,emacs-dash)
8228 ("emacs-esxml" ,emacs-esxml)))
8229 (inputs
8230 `(("unzip" ,unzip)))
8231 (home-page "https://github.com/wasamasa/nov.el/")
8232 (synopsis "Major mode for reading EPUBs in Emacs")
8233 (description "@code{nov.el} provides a major mode for reading EPUB
8234documents.
8235
8236Features:
8237
8238@itemize
8239@item Basic navigation (jump to TOC, previous/next chapter)
8240@item Remembering and restoring the last read position
8241@item Jump to next chapter when scrolling beyond end
8242@item Renders EPUB2 (@code{.ncx}) and EPUB3 (@code{<nav>}) TOCs
8243@item Hyperlinks to internal and external targets
8244@item Supports textual and image documents
8245@item View source of document files
8246@item Metadata display
8247@item Image rescaling
8248@end itemize
8249")
8250 (license license:gpl3+)))
8251
8252(define-public epipe
8253 (package
8254 (name "epipe")
8255 (version "0.1.0")
8256 (source
8257 (origin
8258 (method url-fetch)
8259 (uri (string-append "https://github.com/cute-jumper/epipe/archive/"
8260 version ".tar.gz"))
8261 (file-name (string-append name "-" version ".tar.gz"))
8262 (sha256
8263 (base32
8264 "05a036852g4j63k1mhvyfrcsgkl9lczayi7x61570ysw3cli5wp5"))))
8265 (build-system trivial-build-system)
8266 (inputs
8267 `(("bash" ,bash)
8268 ("perl" ,perl)))
8269 (native-inputs
8270 `(("tar" ,tar)
8271 ("gzip" ,gzip)))
8272 (arguments
8273 `(#:modules
8274 ((guix build utils))
8275 #:builder
8276 (begin
8277 (use-modules (guix build utils))
8278 ;; Extract source
8279 (setenv "PATH" (string-append
8280 (assoc-ref %build-inputs "tar") "/bin" ":"
8281 (assoc-ref %build-inputs "gzip") "/bin"))
8282 (invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
8283 (chdir (string-append ,name "-" ,version))
8284 ;; Patch shebangs
8285 (substitute* "epipe"
8286 (("/usr/bin/env bash")
8287 (string-append (assoc-ref %build-inputs "bash") "/bin/bash")))
8288 (patch-shebang "epipe.pl"
8289 (list (string-append (assoc-ref %build-inputs "perl")
8290 "/bin")))
8291 ;; Installation
8292 (for-each (lambda (file)
8293 (install-file file (string-append %output "/bin")))
8294 '("epipe" "epipe.pl"))
8295 #t)))
8296 (home-page "https://github.com/cute-jumper/epipe")
8297 (synopsis "Pipe to the @code{emacsclient}")
8298 (description "@code{epipe} provides an utility to use your editor in
8299the pipeline, featuring the support for running @code{emacsclient}.")
8300 (license license:gpl3+)))
8301
8302(define-public emacs-hcl-mode
8303 (package
8304 (name "emacs-hcl-mode")
8305 (version "0.03")
8306 (source
8307 (origin
8308 (method url-fetch)
8309 (uri (string-append
8310 "https://github.com/syohex/emacs-hcl-mode/archive/"
8311 version ".tar.gz"))
8312 (file-name (string-append name "-" version ".tar.gz"))
8313 (sha256
8314 (base32
8315 "0pvw74qpwh0znqzp6syp4wxjqs7dp1hbn5h7xfk97mff9l5d8k6x"))))
8316 (build-system emacs-build-system)
8317 (home-page "https://github.com/syohex/emacs-hcl-mode")
8318 (synopsis "Major mode for the Hashicorp Configuration Language")
8319 (description
8320 "@code{emacs-hcl-mode} provides an Emacs major mode for working with
8321@acronym{HCL, Hashicorp Configuration Language}. It provides syntax
8322highlighting and indentation support.")
8323 (license license:gpl3+)))
8324
8325(define-public emacs-terraform-mode
8326 (package
8327 (name "emacs-terraform-mode")
8328 (version "0.06")
8329 (source
8330 (origin
8331 (method url-fetch)
8332 (uri (string-append
8333 "https://github.com/syohex/emacs-terraform-mode/archive/"
8334 version ".tar.gz"))
8335 (file-name (string-append name "-" version ".tar.gz"))
8336 (sha256
8337 (base32
8338 "0h9267ifdjmcin4sj8slxydbacx4bqicbvg8pa1qq2l72h9m5381"))))
8339 (build-system emacs-build-system)
8340 (propagated-inputs
8341 `(("emacs-hcl-mode" ,emacs-hcl-mode)))
8342 (home-page "https://github.com/syohex/emacs-terraform-mode")
8343 (synopsis "Major mode for Terraform")
8344 (description
8345 "@code{emacs-terraform-mode} provides a major mode for working with
8346@uref{https://www.terraform.io/, Terraform} configuration files. Most of the
8347functionality is inherited from @code{hcl-mode}.")
8348 (license license:gpl3+)))
8349
8350(define-public emacs-exec-path-from-shell
8351 (package
8352 (name "emacs-exec-path-from-shell")
8353 (version "1.11")
8354 (source
8355 (origin
8356 (method url-fetch)
8357 (uri (string-append
8358 "https://stable.melpa.org/packages/exec-path-from-shell-"
8359 version ".el"))
8360 (sha256
8361 (base32
8362 "03qjgb81cq1l3j54lvlf98r75vmmgd06mj6qh5wa6mz4xzp4w26r"))))
8363 (build-system emacs-build-system)
8364 (home-page "https://github.com/purcell/exec-path-from-shell")
8365 (synopsis "Get environment variables such as @var{PATH} from the shell")
8366 (description
8367 "This library allows the user to set Emacs @var{exec-path} and @var{PATH}
8368from the shell @var{PATH}, so that @code{shell-command}, @code{compile} and
8369the like work as expected on systems on which Emacs is not guaranteed to
8370inherit a login shell's environment variables. It also allows other
8371environment variables to be retrieved from the shell, so that Emacs will see
8372the same values you get in a terminal.")
8373 (license license:gpl3+)))
8374
8375(define-public emacs-deft
8376 (package
8377 (name "emacs-deft")
8378 (version "0.8")
8379 (source
8380 (origin
8381 (method url-fetch)
8382 (uri (string-append "https://stable.melpa.org/packages/deft-"
8383 version ".el"))
8384 (sha256
8385 (base32
8386 "1vb9cjxskc7c0yyf9pvxy1fzypg1vrcgwnjz0m3hslinsgdyig58"))))
8387 (build-system emacs-build-system)
8388 (home-page "https://jblevins.org/projects/deft/")
8389 (synopsis "Quickly browse, filter, and edit plain text notes")
8390 (description
8391 "Deft is an Emacs mode for quickly browsing, filtering, and editing
8392directories of plain text notes, inspired by Notational Velocity.")
8393 (license license:bsd-3)))
8394
8395(define-public emacs-anzu
8396 (package
8397 (name "emacs-anzu")
8398 (version "0.62")
8399 (source
8400 (origin
8401 (method url-fetch)
8402 (uri (string-append "https://github.com/syohex/emacs-anzu/archive/"
8403 version ".tar.gz"))
8404 (file-name (string-append name "-" version ".tar.gz"))
8405 (sha256
8406 (base32
8407 "16cg3897x5znbmgk7sdy0qyd0fbic9dmmz0dchq2vz5z29yhg4cz"))))
8408 (build-system emacs-build-system)
8409 (home-page "https://github.com/syohex/emacs-anzu")
8410 (synopsis "Show number of matches in mode-line while searching")
8411 (description
8412 "Anzu provides a minor mode which displays \"current match/total
8413matches\" in the mode line in various search modes. This is an Emacs port of
8414Anzu.zim.")
8415 (license license:gpl3+)))
8416
8417(define-public emacs-emmet-mode
8418 (package
8419 (name "emacs-emmet-mode")
8420 (version "1.0.8")
8421 (source (origin
8422 (method url-fetch)
8423 (uri (string-append "https://github.com/smihica/emmet-mode"
8424 "/archive/" version ".tar.gz"))
8425 (file-name (string-append name "-" version ".tar.gz"))
8426 (sha256
8427 (base32
8428 "0g3p22yabfcp98cfv9dgl9il2m2pd53isq2q11vb3s7qyn31f7zj"))))
8429 (build-system emacs-build-system)
8430 (home-page "https://github.com/smihica/emmet-mode")
8431 (synopsis "Unofficial Emmet's support for Emacs")
8432 (description
8433 "Unfold CSS-selector-like expressions to markup. It is intended to be
8434used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
8435 (license license:gpl3+)))
8436
8437(define-public emacs-ergoemacs-mode
8438 (let ((commit "3ce23bba3cb50562693860f87f3528c471d603ba")
8439 (revision "1"))
8440 (package
8441 (name "emacs-ergoemacs-mode")
8442 (version (git-version "5.16.10.12" revision commit))
8443 (source
8444 (origin
8445 (method git-fetch)
8446 (uri (git-reference
8447 (url "https://github.com/ergoemacs/ergoemacs-mode.git")
8448 (commit commit)))
8449 (sha256
8450 (base32
8451 "1s3b9bridl78hh1mxmdk9nqlmqhibbaxk0a1cixmsf23s06w8w6l"))))
8452 (build-system emacs-build-system)
8453 (propagated-inputs
8454 `(("emacs-undo-tree" ,emacs-undo-tree)))
8455 (home-page "https://ergoemacs.github.io/")
8456 (synopsis "Emacs mode based on common modern interface and ergonomics")
8457 (description
8458 "This package provides an efficient Emacs keybinding set based on
8459statistics of command frequency, and supports common shortcuts for open,
8460close, copy, cut, paste, undo, redo.")
8461 (license license:gpl3+))))
8462
8463(define-public emacs-password-store
8464 (package
8465 (name "emacs-password-store")
8466 (version "1.7.3")
8467 (source (origin
8468 (method url-fetch)
8469 (uri
8470 (string-append "https://git.zx2c4.com/password-store/snapshot/"
8471 "password-store-" version ".tar.xz"))
8472 (sha256
8473 (base32
8474 "1x53k5dn3cdmvy8m4fqdld4hji5n676ksl0ql4armkmsds26av1b"))))
8475 (build-system emacs-build-system)
8476 (arguments
8477 `(#:phases
8478 (modify-phases %standard-phases
8479 (add-after 'unpack 'extract-el-file
8480 (lambda _
8481 (copy-file "contrib/emacs/password-store.el" "password-store.el")
8482 (delete-file-recursively "contrib")
8483 (delete-file-recursively "man")
8484 (delete-file-recursively "src")
8485 (delete-file-recursively "tests"))))))
8486 (propagated-inputs
8487 `(("emacs-f" ,emacs-f)
8488 ("emacs-s" ,emacs-s)
8489 ("emacs-with-editor" ,emacs-with-editor)
8490 ("password-store" ,password-store)))
8491 (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
8492 (synopsis "Password store (pass) support for Emacs")
8493 (description
8494 "This package provides functions for working with pass (\"the
8495standard Unix password manager\").")
8496 (license license:gpl2+)))
8497
8498(define-public emacs-pass
8499 (package
8500 (name "emacs-pass")
8501 (version "1.8")
8502 (source (origin
8503 (method url-fetch)
8504 (uri (string-append
8505 "https://github.com/NicolasPetton/pass/archive/"
8506 version ".tar.gz"))
8507 (sha256
8508 (base32
8509 "0aiz90gklk0cb8n4v1s3l0mx6pp2b7f4k2c0fjpihwmga13yklwn"))
8510 (file-name (string-append name "-" version ".tar.gz"))))
8511 (build-system emacs-build-system)
8512 (propagated-inputs
8513 `(("emacs-password-store" ,emacs-password-store)
8514 ("emacs-f" ,emacs-f)))
8515 (home-page "https://github.com/NicolasPetton/pass")
8516 (synopsis "Major mode for @file{password-store.el}")
8517 (description "This is a major mode for managing password-store (pass)
8518keychains. The keychain entries are displayed in a directory-like structure
8519and can be consulted and modified.")
8520 (license license:gpl3+)))
8521
8522(define-public emacs-evil-anzu
8523 (package
8524 (name "emacs-evil-anzu")
8525 (version "0.03")
8526 (source
8527 (origin
8528 (method url-fetch)
8529 (uri (string-append "https://github.com/syohex/emacs-evil-anzu"
8530 "/archive/" version ".tar.gz"))
8531 (file-name (string-append name "-" version ".tar.gz"))
8532 (sha256
8533 (base32 "032hh2946z529cizqsg8pm6cpn5qdj8lfk3qskmx6xv3g2ra56ns"))))
8534 (build-system emacs-build-system)
8535 (propagated-inputs
8536 `(("emacs-evil" ,emacs-evil)
8537 ("emacs-anzu" ,emacs-anzu)))
8538 (home-page "https://github.com/syohex/emacs-evil-anzu")
8539 (synopsis "Anzu for evil-mode")
8540 (description "@code{anzu} provides a minor mode that displays the current
8541match and total match information in the mode-line in various search modes.")
8542 (license license:gpl3+)))
8543
8544(define-public emacs-pg
8545 (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d"))
8546 (package
8547 (name "emacs-pg")
8548 (version (git-version "0.1" "1" commit))
8549 (source (origin
8550 (method git-fetch)
8551 (uri (git-reference (url "https://github.com/cbbrowne/pg.el")
8552 (commit commit)))
8553 (file-name (git-file-name name version))
8554 (sha256
8555 (base32
8556 "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0"))))
8557 (build-system emacs-build-system)
8558 (home-page "https://github.com/cbbrowne/pg.el")
8559 (synopsis "Emacs Lisp interface for PostgreSQL")
8560 (description
8561 "This package provides an Emacs Lisp interface for PostgreSQL.")
8562 (license license:gpl3+))))
8563
8564(define-public emacs-cl-generic
8565 (package
8566 (name "emacs-cl-generic")
8567 (version "0.3")
8568 (source
8569 (origin
8570 (method url-fetch)
8571 (uri (string-append "https://elpa.gnu.org/packages/cl-generic-"
8572 version ".el"))
8573 (sha256
8574 (base32
8575 "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq"))))
8576 (build-system emacs-build-system)
8577 (home-page "https://elpa.gnu.org/packages/seq.html")
8578 (synopsis
8579 "Forward @code{cl-generic} compatibility for Emacs before version 25")
8580 (description "This package provides a subset of the features of the
8581@code{cl-generic} package introduced in Emacs-25, for use on previous
8582@code{emacsen}.")
8583 (license license:gpl3+)))
8584
8585(define-public emacs-finalize
8586 (package
8587 (name "emacs-finalize")
8588 (version "2.0.0")
8589 (source
8590 (origin
8591 (method url-fetch)
8592 (uri (string-append "https://github.com/skeeto/elisp-finalize/archive/"
8593 version ".tar.gz"))
8594 (file-name (string-append name "-" version ".tar.gz"))
8595 (sha256
8596 (base32
8597 "077fycy3i5f0kjw5z3rhf4kld5lbk2idz690nkwhkz04vppk4q4x"))))
8598 (build-system emacs-build-system)
8599 (propagated-inputs
8600 `(("emacs-cl-generic" ,emacs-cl-generic)))
8601 (home-page "https://github.com/skeeto/elisp-finalize")
8602 (synopsis "Finalizers for Emacs Lisp")
8603 (description
8604 "This package will allows to immediately run a callback (a finalizer)
8605after its registered lisp object has been garbage collected. This allows for
8606extra resources, such as buffers and processes, to be cleaned up after the
8607object has been freed.")
8608 (license license:unlicense)))
8609
8610(define-public emacs-emacsql
8611 (package
8612 (name "emacs-emacsql")
8613 (version "3.0.0")
8614 (source (origin
8615 (method git-fetch)
8616 (uri (git-reference
8617 (url "https://github.com/skeeto/emacsql.git")
8618 (commit (string-append version))))
8619 (file-name (git-file-name name version))
8620 (sha256
8621 (base32
8622 "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"))))
8623 (build-system emacs-build-system)
8624 (arguments
8625 `(#:modules ((guix build emacs-build-system)
8626 (guix build utils)
8627 (guix build emacs-utils)
8628 (srfi srfi-26))
8629 #:phases
8630 (modify-phases %standard-phases
8631 (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files.
8632 (add-before 'install 'patch-elisp-shell-shebangs
8633 (lambda _
8634 (substitute* (find-files "." "\\.el")
8635 (("/bin/sh") (which "sh")))
8636 #t))
8637 (add-after 'patch-elisp-shell-shebangs 'setenv-shell
8638 (lambda _
8639 (setenv "SHELL" "sh")))
8640 (add-after 'setenv-shell 'build-emacsql-sqlite
8641 (lambda _
8642 (invoke "make" "binary" "CC=gcc")))
8643 (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
8644 ;; This build phase installs emacs-emacsql binary.
8645 (lambda* (#:key outputs #:allow-other-keys)
8646 (install-file "sqlite/emacsql-sqlite"
8647 (string-append (assoc-ref outputs "out")
8648 "/bin"))
8649 #t))
8650 (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
8651 ;; This build phase removes interactive prompts
8652 ;; and makes sure Emacs look for binaries in the right places.
8653 (lambda* (#:key outputs #:allow-other-keys)
8654 (let ((file "emacsql-sqlite.el"))
8655 (chmod file #o644)
8656 (emacs-substitute-sexps file
8657 ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
8658 ("(executable-find" (which "gcc"))
8659 ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary
8660 ;; in the right place.
8661 ("(defvar emacsql-sqlite-executable"
8662 (string-append (assoc-ref outputs "out")
8663 "/bin/emacsql-sqlite"))))))
8664 (replace 'install
8665 (lambda* (#:key outputs #:allow-other-keys)
8666 (let* ((out (assoc-ref outputs "out")))
8667 (install-file "sqlite/emacsql-sqlite"
8668 (string-append out "/bin"))
8669 (for-each (cut install-file <>
8670 (string-append out "/share/emacs/site-lisp/guix.d/"
8671 "emacsql" "-" ,version))
8672 (find-files "." "\\.elc*$")))
8673 #t)))))
8674 (inputs
8675 `(("emacs-minimal" ,emacs-minimal)
8676 ("mariadb" ,mariadb)
8677 ("postgresql" ,postgresql)))
8678 (propagated-inputs
8679 `(("emacs-finalize" ,emacs-finalize)
8680 ("emacs-pg" ,emacs-pg)))
8681 (home-page "https://github.com/skeeto/emacsql")
8682 (synopsis "Emacs high-level SQL database front-end")
8683 (description "Any readable Lisp value can be stored as a value in EmacSQL,
8684including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
8685has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
8686object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
8687 (license license:gpl3+)))
8688
8689(define-public emacs-closql
8690 (package
8691 (name "emacs-closql")
8692 (version "1.0.0")
8693 (source
8694 (origin
8695 (method git-fetch)
8696 (uri (git-reference
8697 (url "https://github.com/emacscollective/closql.git")
8698 (commit (string-append "v" version))))
8699 (file-name (git-file-name name version))
8700 (sha256
8701 (base32
8702 "1xhpfjjkjqfc1k2rj77cscclz5r7gpvv3hi202x178vdcpipjwar"))))
8703 (build-system emacs-build-system)
8704 (propagated-inputs
8705 `(("emacs-emacsql" ,emacs-emacsql)))
8706 (home-page "https://github.com/emacscollective/closql")
8707 (synopsis "Store EIEIO objects using EmacSQL")
8708 (description
8709 "This package allows to store uniform EIEIO objects in an EmacSQL
8710database. SQLite is used as backend. This library imposes some restrictions
8711on what kind of objects can be stored; it isn't intended to store arbitrary
8712objects. All objects have to share a common superclass and subclasses cannot
8713add any additional instance slots.")
8714 (license license:gpl3)))
8715
8716(define-public emacs-epkg
8717 ;; The release version is to old for the current database scheme.
8718 (let ((commit "432312b9583ed7b88ad9644fd1bf2183765a892e"))
8719 (package
8720 (name "emacs-epkg")
8721 (version (git-version "3.0.0" "1" commit))
8722 (source
8723 (origin
8724 (method git-fetch)
8725 (uri (git-reference
8726 (url "https://github.com/emacscollective/epkg.git")
8727 (commit commit)))
8728 (file-name (git-file-name name version))
8729 (sha256
8730 (base32
8731 "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k"))))
8732 (build-system emacs-build-system)
8733 (propagated-inputs
8734 `(("emacs-closql" ,emacs-closql)
8735 ("emacs-dash" ,emacs-dash)))
8736 (home-page "https://emacsmirror.net")
8737 (synopsis "Browse the Emacsmirror package database")
8738 (description "This package provides access to a local copy of the
8739Emacsmirror package database. It provides low-level functions for querying
8740the database and a @file{package.el} user interface for browsing the database.
8741Epkg itself is not a package manager.
8742
8743Getting a local copy:
8744
8745@example
8746git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs
8747cd ~/.emacs.d/epkgs
8748git submodule init
8749git config --global url.https://github.com/.insteadOf git@@github.com:
8750git submodule update
8751@end example
8752
8753Some submodule may be missing. In this case Git will prompt for a GitHub user
8754name and password. To skip it press a @key{Return} key.
8755
8756You could get a Epkg package list by invoking @code{epkg-list-packages} in
8757Emacs.")
8758 (license license:gpl3+))))
8759
8760(define-public emacs-elisp-slime-nav
8761 (package
8762 (name "emacs-elisp-slime-nav")
8763 (version "0.9")
8764 (source
8765 (origin
8766 (method url-fetch)
8767 (uri (string-append "https://github.com/purcell/elisp-slime-nav/archive/"
8768 version ".tar.gz"))
8769 (file-name (string-append name "-" version ".tar.gz"))
8770 (sha256
8771 (base32
8772 "1vq7ym1q47p97gxrv45c9gm96d23xbp237vkmakikj6grngxjfb2"))))
8773 (build-system emacs-build-system)
8774 (home-page "https://github.com/purcell/elisp-slime-nav")
8775 (synopsis "Make @code{M-.} and @code{M-,} work for elisp like they do in SLIME")
8776 (description
8777 "This package provides SLIME's convenient @code{M-.}and @code{M-,} navigation
8778in @code{emacs-lisp-mode}, together with an elisp equivalent of
8779@code{slime-describe-symbol}.")
8780 (license license:gpl3+)))
8781
8782(define-public emacs-dedicated
8783 (package
8784 (name "emacs-dedicated")
8785 (version "1.0.0")
8786 (source (origin
8787 (method url-fetch)
8788 (uri (string-append
8789 "https://github.com/emacsorphanage/dedicated/archive/"
8790 version
8791 ".tar.gz"))
8792 (sha256
8793 (base32
8794 "0nhbkp278cvcznb5rp3jp9ii3mjgb79zx8iwfrw7zfk3yg8688ni"))
8795 (file-name (string-append name "-" version ".tar.gz"))))
8796 (build-system emacs-build-system)
8797 (home-page "https://github.com/emacsorphanage/dedicated")
8798 (synopsis "Emacs minor mode for toggling a windows's \"dedicated\" flag")
8799 (description
8800 "This simple Emacs minor mode allows you to toggle a window's
8801\"dedicated\" flag. When a window is \"dedicated\", Emacs will not select
8802files into that window. This can be quite handy since many commands will use
8803another window to show results (compilation mode, starting info, and so on).
8804A dedicated window won't be used for such a purpose. For details, please read
8805the source file.")
8806 (license license:gpl2+)))
8807
8808(define-public emacs-nnreddit
8809 (let ((commit "9843f99d01fd8f1eea2fc685965a7c7f4eeb187a")
8810 (revision "1"))
8811 (package
8812 (name "emacs-nnreddit")
8813 (version (string-append "0.0.1-" revision "."
8814 (string-take commit 7)))
8815 (source (origin
8816 (method git-fetch)
8817 (uri (git-reference
8818 (url "https://github.com/paul-issartel/nnreddit.git")
8819 (commit commit)))
8820 (file-name (string-append name "-" version "-checkout"))
8821 (sha256
8822 (base32
8823 "0j4h3bnga640250jdq8bwyja49r41ssrsjd6lba4gzzllqk02nbn"))))
8824 (build-system emacs-build-system)
8825 (home-page "https://github.com/paul-issartel/nnreddit")
8826 (synopsis "Reddit backend for the Gnus newsreader")
8827 (description "@url{https://www.reddit.com} backend for the Gnus
8828newsreader.")
8829 (license license:gpl3+))))
8830
8831(define-public emacs-makey
8832 (package
8833 (name "emacs-makey")
8834 (version "0.3")
8835 (source
8836 (origin
8837 (method url-fetch)
8838 (uri (string-append "https://github.com/mickeynp/makey/archive/"
8839 version ".tar.gz"))
8840 (file-name (string-append name "-" version ".tar.gz"))
8841 (sha256
8842 (base32
8843 "0kzl4q1wf2zhkx9nrymxa67n99iq0bj7zqhpaz4byksna1hsxfmv"))))
8844 (build-system emacs-build-system)
8845 (home-page "https://github.com/mickeynp/makey")
8846 (synopsis "Emacs interactive command-line mode")
8847 (description
8848 "This package provides an Emacs interactive command-line mode.")
8849 (license license:gpl3+)))
8850
8851(define-public emacs-outorg
8852 (let ((commit "78b0695121fb974bc4e971eb4ef7f8afd6d89d64"))
8853 (package
8854 (name "emacs-outorg")
8855 (version (git-version "2.0" "1" commit))
8856 (source
8857 (origin
8858 (method git-fetch)
8859 (uri (git-reference
8860 (url "https://github.com/alphapapa/outorg")
8861 (commit commit)))
8862 (file-name (git-file-name name version))
8863 (sha256
8864 (base32
8865 "03aclh4m3f7rb821gr9pwvnqkkl91px3qxdcarpf3ypa1x4fxvlj"))))
8866 (build-system emacs-build-system)
8867 (home-page "https://github.com/alphapapa/outorg")
8868 (synopsis "Org-style comment editing")
8869 (description "Outorg is for editing comment-sections of source-code
8870files in temporary Org-mode buffers. It turns conventional
8871literate-programming upside-down in that the default mode is the
8872programming-mode, and special action has to be taken to switch to the
8873text-mode (i.e. Org-mode).")
8874 (license license:gpl3+))))
8875
8876(define-public emacs-outshine
8877 (let ((commit "5f1a6b70231d2811c522e4e5e8c89ff461b311d6"))
8878 (package
8879 (name "emacs-outshine")
8880 (version (git-version "2.0" "1" commit))
8881 (source (origin
8882 (method git-fetch)
8883 (uri (git-reference
8884 (url "https://github.com/alphapapa/outshine.git")
8885 (commit commit)))
8886 (file-name (git-file-name name version))
8887 (sha256
8888 (base32
8889 "1l9v1dfhgg7il11ifbhvcvrg3acfjk9sdxlc3lja1k54d7dp60jv"))))
8890 (build-system emacs-build-system)
8891 (propagated-inputs
8892 `(("emacs-outorg" ,emacs-outorg)))
8893 (home-page "https://github.com/alphapapa/outshine")
8894 (synopsis "Emacs outline with outshine")
8895 (description "Outshine attempts to bring the look and feel of
8896@code{org-mode} to an Emacs outside of the Org major-mode. It is an extension
8897of @code{outline-minor-mode} (@code{org-mode} itself derives from
8898outline-mode), so there is no such thing like an outshine mode, only
8899@code{outline-minor-mode} with outshine extensions loaded.")
8900 (license license:gpl3+))))
8901
8902(define-public emacs-parsebib
8903 (package
8904 (name "emacs-parsebib")
8905 (version "2.3.1")
8906 (source
8907 (origin
8908 (method url-fetch)
8909 (uri (string-append "https://github.com/joostkremers/parsebib/archive/"
8910 version ".tar.gz"))
8911 (file-name (string-append name "-" version ".tar.gz"))
8912 (sha256
8913 (base32
8914 "0cxagnmc5ab6idmb26axpizhr4sqglkncc59768yavn3p04jyq63"))))
8915 (build-system emacs-build-system)
8916 (home-page "https://github.com/joostkremers/parsebib")
8917 (synopsis "Library for parsing bib files")
8918 (description
8919 "This package provides an Emacs library for parsing bib files.")
8920 (license license:gpl3+)))
8921
8922(define-public emacs-biblio
8923 (package
8924 (name "emacs-biblio")
c7cf43dd 8925 (version "0.2")
eeb883cb
RW
8926 (source
8927 (origin
8928 (method url-fetch)
8929 (uri (string-append "https://github.com/cpitclaudel/biblio.el/archive/"
8930 version ".tar.gz"))
8931 (file-name (string-append name "-" version ".tar.gz"))
8932 (sha256
8933 (base32
c7cf43dd 8934 "0vwrljmab8m1z83048gxx5mryml9f5pb3h0jpwkvqcl0ra152lzx"))))
eeb883cb
RW
8935 (build-system emacs-build-system)
8936 (propagated-inputs
8937 `(("emacs-seq" ,emacs-seq)
8938 ("emacs-dash" ,emacs-dash)
8939 ("emacs-let-alist" ,emacs-let-alist)))
8940 (home-page "https://github.com/cpitclaudel/biblio.el")
8941 (synopsis "Browse and import bibliographic references")
8942 (description "This package provides an extensible Emacs package for
8943browsing and fetching references.
8944
8945@file{biblio.el} makes it easy to browse and gather bibliographic references
8946and publications from various sources, by keywords or by DOI. References are
8947automatically fetched from well-curated sources, and formatted as BibTeX.")
8948 (license license:gpl3+)))
8949
8950(define-public emacs-helm-bibtex
8951 (let ((commit "8ed898fb5a68f18e9bb9973832a5c1f8abcfc463")
8952 (revision "1"))
8953 (package
8954 (name "emacs-helm-bibtex")
8955 (version (string-append "2.0.0" "-" revision "."
8956 (string-take commit 7)))
8957 (source
8958 (origin
8959 (method git-fetch)
8960 (uri (git-reference
8961 (url "https://github.com/tmalsburg/helm-bibtex.git")
8962 (commit commit)))
8963 (file-name (string-append name "-" version "-checkout"))
8964 (sha256
8965 (base32
8966 "14lyx0vbqr97p3anzrsp7m3q0kqclyjcdwplpraim403fcklzbnz"))))
8967 (build-system emacs-build-system)
8968 (propagated-inputs
8969 `(("emacs-helm" ,emacs-helm)
8970 ("emacs-parsebib" ,emacs-parsebib)
8971 ("emacs-s" ,emacs-s)
8972 ("emacs-dash" ,emacs-dash)
8973 ("emacs-f" ,emacs-f)
8974 ("emacs-biblio" ,emacs-biblio)
8975 ("emacs-ivy" ,emacs-ivy)))
8976 (home-page "https://github.com/tmalsburg/helm-bibtex")
8977 (synopsis "Bibliography manager based on Helm")
8978 (description "This package provides bibliography manager for Emacs,
8979based on Helm and the bibtex-completion backend.
8980
8981Key features:
8982
8983@itemize
8984@item Quick access to your bibliography from within Emacs
8985@item Powerful search capabilities
8986@item Provides instant search results as you type
8987@item Tightly integrated with LaTeX authoring, emails, Org mode, etc.
8988@item Open the PDFs, URLs, or DOIs associated with an entry
8989@item Insert LaTeX cite commands, Ebib links, or Pandoc citations,
8990BibTeX entries, or plain text references at point, attach PDFs to emails
8991@item Support for note taking
8992@item Quick access to online bibliographic databases such as Pubmed,
8993arXiv, Google Scholar, Library of Congress, etc.
8994@item Imports BibTeX entries from CrossRef and other sources.
8995@end itemize\n")
8996 (license license:gpl3+))))
8997
8998(define-public emacs-ewmctrl
8999 (let ((commit "3d0217c4d6cdb5c308b6cb4293574f470d4faacf"))
9000 (package
9001 (name "emacs-ewmctrl")
9002 (version (git-version "0.0.1" "1" commit))
9003 (source
9004 (origin
9005 (method git-fetch)
9006 (uri (git-reference
9007 (url "https://github.com/flexibeast/ewmctrl.git")
9008 (commit commit)))
9009 (file-name (git-file-name name version))
9010 (sha256
9011 (base32
9012 "0ilwvx0qryv3v6xf0gxqwnfm6pf96gxap8h9g3f6z6lk9ff4n1wi"))))
9013 (build-system emacs-build-system)
9014 (arguments
9015 '(#:phases
9016 (modify-phases %standard-phases
9017 (add-after 'unpack 'patch-ewmctrl
9018 ;; This build phase makes sure ‘ewmctrl’ looks
9019 ;; for ‘wmctrl’ in the right place.
9020 (lambda _
9021 (let ((file "ewmctrl.el"))
9022 (chmod file #o644)
9023 (emacs-substitute-sexps file
9024 ("(defcustom ewmctrl-wmctrl-path" (which "wmctrl")))))))))
9025 (inputs
9026 `(("wmctrl" ,wmctrl)))
9027 (home-page "https://github.com/flexibeast/ewmctrl")
9028 (synopsis "Emacs interface to @code{wmctrl}")
9029 (description "@code{ewmctrl} provides an Emacs interface to
9030@code{wmctrl} command-line window-management program.")
9031 (license license:gpl3+))))
9032
9033(define-public emacs-helm-gtags
9034 (package
9035 (name "emacs-helm-gtags")
9036 (version "1.5.6")
9037 (source (origin
9038 (method url-fetch)
9039 (uri (string-append
9040 "https://github.com/syohex/emacs-helm-gtags/archive/"
9041 version ".tar.gz"))
9042 (file-name (string-append name "-" version ".tar.gz"))
9043 (sha256
9044 (base32
9045 "1a10snhg6nnnan6w9a7mcziy26vxbsr3c35i0gcarnkdp2yqng36"))))
9046 (build-system emacs-build-system)
9047 (propagated-inputs
9048 `(("emacs-helm" ,emacs-helm)))
9049 (home-page "https://github.com/syohex/emacs-helm-gtags")
9050 (synopsis "Emacs Helm interface to GNU Global")
9051 (description
9052 "@code{emacs-helm-gtags} provides a Emacs Helm interface to GNU Global.")
9053 (license license:gpl3+)))
9054
9055(define-public emacs-list-utils
9056 (package
9057 (name "emacs-list-utils")
9058 (version "0.4.4")
9059 (source
9060 (origin
9061 (method url-fetch)
9062 (uri (string-append "https://github.com/rolandwalker/list-utils/archive/"
9063 "v" version ".tar.gz"))
9064 (file-name (string-append name "-" version ".tar.gz"))
9065 (sha256
9066 (base32
9067 "1xc1xh8c82h5gdjbgpdsdclgwxkxbb7h3x3a2bscpm41g8pnan4p"))))
9068 (build-system emacs-build-system)
9069 (home-page "https://github.com/rolandwalker/list-utils")
9070 (synopsis "List-manipulation utility functions")
9071 (description "This package provides a list manipulation library for Emacs.")
9072 (license license:gpl3+)))
9073
9074(define-public emacs-move-text
9075 (package
9076 (name "emacs-move-text")
9077 (version "2.0.8")
9078 (source
9079 (origin
9080 (method url-fetch)
9081 (uri (string-append "https://github.com/emacsfodder/move-text/archive/"
9082 version ".tar.gz"))
9083 (file-name (string-append name "-" version ".tar.gz"))
9084 (sha256
9085 (base32
9086 "1sjfja9r25692pgcldgnjzkapzy970m14jh9l4pajysiqcdk72g0"))))
9087 (build-system emacs-build-system)
9088 (home-page "https://github.com/emacsfodder/move-text")
9089 (synopsis "Move current line or region with M-up or M-down")
9090 (description "This package provide functions to move the current line
9091using @kbd{M-up} or @kbd{M-down} if a region is marked, it will move the
9092region instead.")
9093 (license license:gpl3+)))
9094
9095(define-public emacs-validate
9096 (package
9097 (name "emacs-validate")
9098 (version "1.0.5")
9099 (source (origin
9100 (method url-fetch)
9101 (uri (string-append "https://github.com/Malabarba/validate.el"
9102 "/archive/" version ".tar.gz"))
9103 (file-name (string-append name "-" version ".tar.gz"))
9104 (sha256
9105 (base32
9106 "125mbd111f1h1baw0z3fzm48y1bvaigljyzvvnqgrn0shxbj0khg"))))
9107 (build-system emacs-build-system)
9108 (home-page "https://github.com/Malabarba/validate.el")
9109 (synopsis "Emacs library for scheme validation")
9110 (description "This Emacs library provides two functions that perform
9111schema validation.")
9112 (license license:gpl3+)))
9113
9114(define-public emacs-rainbow-blocks
9115 (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842"))
9116 (package
9117 (name "emacs-rainbow-blocks")
9118 (version (git-version "1.0.0" "1" commit))
9119 (source (origin
9120 (method git-fetch)
9121 (uri (git-reference
9122 (url "https://github.com/istib/rainbow-blocks.git")
9123 (commit commit)))
9124 (file-name (git-file-name name version))
9125 (sha256
9126 (base32
9127 "06yfb3i7wzvqrhkb61zib9xvpb5i00s4frizkzff66im05k0n795"))))
9128 (build-system emacs-build-system)
9129 (home-page "https://github.com/istib/rainbow-blocks")
9130 (synopsis "Highlight sexp blocks")
9131 (description "Rainbow-blocks is an Emacs mode that highlights blocks
9132made of parentheses, brackets, and braces according to their depth. Each
9133successive level is highlighted in a different color. This makes it easy to
9134orient yourself in the code, and tell which statements are at a given level.")
9135 (license license:gpl3+))))
9136
9137(define-public emacs-hierarchy
9138 (package
9139 (name "emacs-hierarchy")
9140 (version "0.7.0")
9141 (source
9142 (origin
9143 (method url-fetch)
9144 (uri (string-append
9145 "https://github.com/DamienCassou/hierarchy/archive/"
9146 "v" version ".tar.gz"))
9147 (file-name (string-append name "-" version ".tar.gz"))
9148 (sha256
9149 (base32
9150 "1a463v5zk6zis2p8cs4mads3iyxh266yahi6j6y0paggfl2yhkc8"))))
9151 (build-system emacs-build-system)
9152 (home-page "https://github.com/DamienCassou/hierarchy")
9153 (synopsis "Library to create and display hierarchy structures")
9154 (description "This package provides an Emacs library to create, query,
9155navigate and display hierarchy structures.")
9156 (license license:gpl3+)))
9157
9158(define-public emacs-tree-mode
9159 (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534")
9160 (revision "1"))
9161 (package
9162 (name "emacs-tree-mode")
9163 (version (string-append "0.0.1" "-" revision "."
9164 (string-take commit 7)))
9165 (source
9166 (origin
9167 (method git-fetch)
9168 (uri (git-reference
9169 (url "https://github.com/emacsorphanage/tree-mode.git")
9170 (commit commit)))
9171 (file-name (string-append name "-" version "-checkout"))
9172 (sha256
9173 (base32
9174 "13bbdhdmqg4x9yghanhr8fsbsxbnypzxdxgicz31sjjm675kpnix"))))
9175 (build-system emacs-build-system)
9176 (home-page "https://github.com/emacsorphanage/tree-mode")
9177 (synopsis "Emacs mode to manage tree widgets")
9178 (description
9179 "This package provides an Emacs library to manage tree widgets.")
9180 (license license:gpl3+))))
9181
9182(define-public emacs-md4rd
9183 (let ((commit "c55512c2f7680db2a1e73db6bdf93adecaf40fec")
9184 (revision "1"))
9185 (package
9186 (name "emacs-md4rd")
9187 (version (string-append "0.0.2" "-" revision "."
9188 (string-take commit 7)))
9189 (source (origin
9190 (method git-fetch)
9191 (uri (git-reference
9192 (url "https://github.com/ahungry/md4rd.git")
9193 (commit commit)))
9194 (file-name (string-append name "-" version "-checkout"))
9195 (sha256
9196 (base32
9197 "0mvv1mvsrpkrmikcpfqf2zbawnzgq33j6zjdrlv48mcw57xb2ak9"))))
9198 (propagated-inputs
9199 `(("emacs-hierarchy" ,emacs-hierarchy)
9200 ("emacs-request" ,emacs-request)
9201 ("emacs-dash" ,emacs-dash)
9202 ("emacs-s" ,emacs-s)
9203 ("emacs-tree-mode" ,emacs-tree-mode)))
9204 (build-system emacs-build-system)
9205 (home-page "https://github.com/ahungry/md4rd")
9206 (synopsis "Emacs Mode for Reddit")
9207 (description
9208 "This package allows to read Reddit from within Emacs interactively.")
9209 (license license:gpl3+))))
9210
9211(define-public emacs-pulseaudio-control
e83d46f0
PN
9212 (let ((commit "7e1a87068379075a5e9ce36c64c686c03d20d379")
9213 (revision "3"))
eeb883cb
RW
9214 (package
9215 (name "emacs-pulseaudio-control")
9216 (version (git-version "0.0.1" revision commit))
9217 (source
9218 (origin
9219 (method git-fetch)
9220 (uri (git-reference
9221 (url "https://github.com/flexibeast/pulseaudio-control.git")
9222 (commit commit)))
9223 (file-name (git-file-name name version))
9224 (sha256
9225 (base32
e83d46f0 9226 "0wcaqyh15x56255rrj350089z15pnwixa2vf0ly6dv0hjmzmh3mr"))))
eeb883cb
RW
9227 (build-system emacs-build-system)
9228 (arguments
9229 '(#:phases (modify-phases %standard-phases
9230 (add-after 'unpack 'patch-file-name
9231 (lambda* (#:key inputs #:allow-other-keys)
9232 (let ((pulseaudio (assoc-ref inputs "pulseaudio")))
9233 (chmod "pulseaudio-control.el" #o600)
9234 (emacs-substitute-variables "pulseaudio-control.el"
9235 ("pulseaudio-control-pactl-path"
9236 (string-append pulseaudio "/bin/pactl")))
9237 #t))))))
9238 (inputs `(("pulseaudio" ,pulseaudio)))
9239 (home-page "https://github.com/flexibeast/pulseaudio-control")
9240 (synopsis "Control @code{pulseaudio} from Emacs")
9241 (description
9242 "This package allows to control @code{pulseaudio} from Emacs.")
9243 (license license:gpl3+))))
9244
9245(define-public emacs-datetime
9246 (package
9247 (name "emacs-datetime")
9248 (version "0.3")
9249 (source (origin
9250 (method url-fetch)
9251 (uri (string-append
9252 "https://github.com/doublep/datetime/archive/"
9253 version ".tar.gz"))
9254 (file-name (string-append name "-" version ".tar.gz"))
9255 (sha256
9256 (base32
9257 "12wqpj67rjij2ki7nmw38rz3k2bsq68pk6zswknlcn9qhp1zd9w9"))))
9258 (build-system emacs-build-system)
9259 (home-page "https://github.com/doublep/datetime/")
9260 (synopsis "Library to work with dates in Emacs")
9261 (description "Parsing, formatting, matching and recoding
9262timestamps and date-time format strings library for Emacs.")
9263 (license license:gpl3+)))
9264
9265(define-public emacs-org-mind-map
9266 (let ((commit "9d6e262bedd94daf9de269f4d56de277275677cb")
9267 (revision "1"))
9268 (package
9269 (name "emacs-org-mind-map")
9270 (version (string-append "0.0.1" "-" revision "."
9271 (string-take commit 7)))
9272 (source
9273 (origin
9274 (method git-fetch)
9275 (uri (git-reference
9276 (url "https://github.com/theodorewiles/org-mind-map.git")
9277 (commit commit)))
9278 (file-name (string-append name "-" version "-checkout"))
9279 (sha256
9280 (base32
9281 "0jgkkgq7g64zckrmjib0hvz0qy3ynz5vz13qbmlpf096l3bb65wn"))))
9282 (propagated-inputs
9283 `(("emacs-dash" ,emacs-dash)))
9284 (build-system emacs-build-system)
9285 (home-page "https://github.com/theodorewiles/org-mind-map")
9286 (synopsis "Create Graphviz directed graphs from Org files")
9287 (description
9288 "This package creates Graphviz directed graphs from Org files.")
9289 (license license:gpl3+))))
9290
9291(define-public emacs-npm-mode
9292 (package
9293 (name "emacs-npm-mode")
9294 (version "0.6.0")
9295 (source
9296 (origin
9297 (method url-fetch)
9298 (uri (string-append "https://github.com/mojochao/npm-mode/archive/"
9299 version ".tar.gz"))
9300 (file-name (string-append name "-" version ".tar.gz"))
9301 (sha256
9302 (base32
9303 "1kq1ww22dwf8c2i2b4z2ldbbmnihj65kb7n5vzvwkch9h4hxpqh5"))))
9304 (build-system emacs-build-system)
9305 (home-page "https://github.com/mojochao/npm-mode")
9306 (synopsis "Minor mode for working with @code{npm} projects")
9307 (description
9308 "@code{npm-mode} provides a minor mode to work with @code{npm} projects.")
9309 (license license:gpl3+)))
9310
9311(define-public emacs-seq
9312 (package
9313 (name "emacs-seq")
9314 (version "2.20")
9315 (source
9316 (origin
9317 (method url-fetch)
9318 (uri (string-append "http://elpa.gnu.org/packages/seq-" version ".tar"))
9319 (sha256
9320 (base32
9321 "0vrpx6nnyjb0gsypknzagimlhvcvi5y1rcdkpxyqr42415zr8d0n"))))
9322 (build-system emacs-build-system)
9323 (home-page "http://elpa.gnu.org/packages/seq.html")
9324 (synopsis "Sequence manipulation functions")
9325 (description "Sequence-manipulation functions that complement basic
9326functions provided by @file{subr.el}.")
9327 (license license:gpl3+)))
9328
9329(define-public emacs-itail
9330 (let ((commit "6e43c20da03be3b9c6ece93b7dc3495975ec1888")
9331 (revision "1"))
9332 (package
9333 (name "emacs-itail")
9334 (version (string-append "0.0.1" "-" revision "."
9335 (string-take commit 7)))
9336 (source
9337 (origin
9338 (method git-fetch)
9339 (uri (git-reference
9340 (url "https://github.com/re5et/itail.git")
9341 (commit commit)))
9342 (file-name (string-append name "-" version "-checkout"))
9343 (sha256
9344 (base32
9345 "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv"))))
9346 (build-system emacs-build-system)
9347 (home-page "https://github.com/re5et/itail")
9348 (synopsis "Interactive @code{tail} Emacs mode")
9349 (description "@code{itail} provides interactive @code{tail} mode
9350that allows you to filter the tail with unix pipes and highlight the
9351contents of the tailed file. Works locally or on remote files using
9352tramp.")
9353 (license license:gpl3+))))
9354
9355(define-public emacs-loop
9356 (package
9357 (name "emacs-loop")
9358 (version "1.3")
9359 (source
9360 (origin
9361 (method url-fetch)
9362 (uri (string-append "https://github.com/Wilfred/loop.el/archive/"
9363 version ".tar.gz"))
9364 (file-name (string-append name "-" version ".tar.gz"))
9365 (sha256
9366 (base32
9367 "1z3rhh3zyjabz36410yz0lp4a0qwwj0387as662wvx3z9y54jia9"))))
9368 (build-system emacs-build-system)
9369 (home-page "https://github.com/Wilfred/loop.el")
9370 (synopsis "Imperative loop structures for Emacs")
9371 (description "Loop structures familiar to users of other languages. This
9372library adds a selection of popular loop structures as well as break and
9373continue.")
9374 (license license:gpl3+)))
9375
9376(define-public emacs-elisp-refs
9377 (package
9378 (name "emacs-elisp-refs")
9379 (version "1.3")
9380 (source
9381 (origin
9382 (method url-fetch)
9383 (uri (string-append "https://github.com/Wilfred/elisp-refs/archive/"
9384 version ".tar.gz"))
9385 (file-name (string-append name "-" version ".tar.gz"))
9386 (sha256
9387 (base32
9388 "02nzcn3v14n7mp7q32j5r4wdlpsw3zixzh6cf0cdyarfir6dly3p"))))
9389 (build-system emacs-build-system)
9390 (propagated-inputs
9391 `(("emacs-dash" ,emacs-dash)
9392 ("emacs-f" ,emacs-f)
9393 ("emacs-list-utils" ,emacs-list-utils)
9394 ("emacs-loop" ,emacs-loop)
9395 ("emacs-s" ,emacs-s)
9396 ("emacs-shut-up" ,emacs-shut-up)))
9397 (home-page "https://github.com/Wilfred/elisp-refs")
9398 (synopsis "Find callers of elisp functions or macros")
9399 (description "Find references to functions, macros or variables. Unlike a
9400dumb text search, @code{elisp-refs} actually parses the code, so it's never
9401confused by comments or @code{foo-bar} matching @code{foo}.")
9402 (license license:gpl3+)))
9403
9404(define-public emacs-crux
9405 (let ((commit "4f5c8fefd5a6aa52e128c4a0401cc86410d6ac8f")
9406 (revision "1"))
9407 (package
9408 (name "emacs-crux")
9409 (version (string-append "0.3.0" "-" revision "."
9410 (string-take commit 7)))
9411 (source
9412 (origin
9413 (method git-fetch)
9414 (uri (git-reference
9415 (url "https://github.com/bbatsov/crux.git")
9416 (commit commit)))
9417 (file-name (string-append name "-" version "-checkout"))
9418 (sha256
9419 (base32
9420 "1fdxvv25cs01sg6fmvmzxpzvs50i6v8n2jya60lbavxqqhi0sbxd"))))
9421 (build-system emacs-build-system)
9422 (home-page "https://github.com/bbatsov/crux")
9423 (synopsis "Collection of useful functions for Emacs")
9424 (description
9425 "@code{crux} provides a collection of useful functions for Emacs.")
9426 (license license:gpl3+))))
9427
9428(define-public emacs-edit-server
9429 (package
9430 (name "emacs-edit-server")
9431 (version "1.13")
9432 (source
9433 (origin
9434 (method url-fetch)
9435 (uri (string-append "https://github.com/stsquad/emacs_chrome/archive/"
9436 "v" version ".tar.gz"))
9437 (file-name (string-append name "-" version ".tar.gz"))
9438 (sha256
9439 (base32
9440 "1r92kqggslqasza718z4ka883mqfbnibdm43f0j9gaipk0msm2wf"))))
9441 (build-system emacs-build-system)
9442 (arguments
9443 `(#:phases
9444 (modify-phases %standard-phases
9445 (add-after 'unpack 'chdir-elisp
9446 ;; Elisp directory is not in root of the source.
9447 (lambda _
9448 (chdir "servers"))))))
9449 (home-page "https://github.com/stsquad/emacs_chrome")
9450 (synopsis "Server that responds to edit requests from Chromium")
9451 (description
9452 "This package provides an edit server to respond to requests from Emacs.")
9453 (license license:gpl3+)))
9454
9455(define-public emacs-m-buffer-el
9456 (package
9457 (name "emacs-m-buffer-el")
9458 (version "0.15")
9459 (source
9460 (origin
9461 (method url-fetch)
9462 (uri (string-append "https://github.com/phillord/m-buffer-el"
9463 "/archive/" "v" version ".tar.gz"))
9464 (file-name (string-append name "-" version ".tar.gz"))
9465 (sha256
9466 (base32
9467 "17vdcc8q37q9db98jyww1c0ivinmwfcw4l04zccfacalra63a214"))))
9468 (arguments
9469 `(#:phases
9470 (modify-phases %standard-phases
9471 (add-before 'install 'check
9472 (lambda* (#:key inputs #:allow-other-keys)
9473 (invoke "emacs" "--batch" "-L" "."
9474 "-l" "test/m-buffer-test.el"
9475 "-l" "test/m-buffer-at-test.el"
9476 "-f" "ert-run-tests-batch-and-exit"))))))
9477 (build-system emacs-build-system)
9478 (home-page "https://github.com/phillord/m-buffer-el")
9479 (synopsis "List oriented buffer operations for Emacs")
9480 (description "@code{m-buffer} provides a set of list-orientated functions
9481for operating over the contents of Emacs buffers.")
9482 (license license:gpl3+)))
9483
9484(define-public emacs-let-alist
9485 (package
9486 (name "emacs-let-alist")
9487 (version "1.0.5")
9488 (source
9489 (origin
9490 (method url-fetch)
9491 (uri (string-append
9492 "https://elpa.gnu.org/packages/let-alist-" version ".el"))
9493 (sha256
9494 (base32
9495 "0r7b9jni50la1m79kklml11syg8d2fmdlr83pv005sv1wh02jszw"))))
9496 (build-system emacs-build-system)
9497 (home-page "https://elpa.gnu.org/packages/let-alist.html")
9498 (synopsis "Easily let-bind values of an assoc-list by their names")
9499 (description "This package offers a single macro, @code{let-alist}. This
9500macro takes a first argument (whose value must be an alist) and a body.")
9501 (license license:gpl3+)))
9502
9503(define-public emacs-esup
9504 (let ((commit "a589005a9a888537deef94d6fe38a9b8790c97c7")
9505 (revision "1"))
9506 (package
9507 (name "emacs-esup")
9508 (version (string-append "0.6" "-" revision "."
9509 (string-take commit 7)))
9510 (source
9511 (origin
9512 (method git-fetch)
9513 (uri (git-reference
9514 (url "https://github.com/jschaf/esup.git")
9515 (commit commit)))
9516 (file-name (string-append name "-" version "-checkout"))
9517 (sha256
9518 (base32
9519 "04lxmd0h7mfjjl0qghrycgff0vcv950j1wqv0dbkr61jxp64n5fv"))))
9520 ;; TODO: Add tests
9521 (build-system emacs-build-system)
9522 (home-page "https://github.com/jschaf/esup")
9523 (synopsis "Emacs start up profiler")
9524 (description "Benchmark Emacs Startup time without ever leaving
9525your Emacs.")
9526 (license license:gpl2+))))
9527
9528(define-public emacs-sourcemap
9529 (package
9530 (name "emacs-sourcemap")
9531 (version "0.03")
9532 (source
9533 (origin
9534 (method url-fetch)
9535 (uri (string-append "https://github.com/syohex/emacs-sourcemap/archive/"
9536 version ".tar.gz"))
9537 (file-name (string-append name "-" version ".tar.gz"))
9538 (sha256
9539 (base32
9540 "0bmd5l3cx2iyl7vxn84xdhs80b07kpdpfwki28lh5d0kmm5qs6m6"))))
9541 (build-system emacs-build-system)
9542 (home-page "https://github.com/syohex/emacs-sourcemap")
9543 (synopsis "Sourcemap parser")
9544 (description "Sourcemap parser")
9545 (license license:gpl3+)))
9546
9547(define-public emacs-macrostep
9548 (let ((commit "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267"))
9549 (package
9550 (name "emacs-macrostep")
9551 (version (git-version "0.9" "1" commit))
9552 (source (origin
9553 (method git-fetch)
9554 (uri (git-reference
9555 (url "https://github.com/joddie/macrostep.git")
9556 (commit commit)))
9557 (file-name (string-append name "-" version "-checkout"))
9558 (sha256
9559 (base32
9560 "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"))))
9561 (build-system emacs-build-system)
9562 (arguments
9563 '(#:phases
9564 (modify-phases %standard-phases
9565 (add-before 'check 'remove-test
9566 ;; Fails because of requirement ‘/bin/sh’.
9567 (lambda _
9568 (let ((file "macrostep-test.el"))
9569 (chmod file #o644)
9570 (emacs-batch-edit-file file
9571 `(progn (progn (goto-char (point-min))
9572 (re-search-forward
9573 "(ert-deftest macrostep-expand-c-macros")
9574 (beginning-of-line)
9575 (kill-sexp))
9576 (basic-save-buffer))))))
9577 (add-before 'install 'check
9578 (lambda _
9579 (invoke "emacs" "--batch" "-L" "."
9580 "-l" "macrostep-test.el"
9581 "-f" "ert-run-tests-batch-and-exit"))))))
9582 (home-page "https://github.com/joddie/macrostep")
9583 (synopsis "Interactive macro-expander for Emacs")
9584 (description "@code{macrostep} is an Emacs minor mode for interactively
9585stepping through the expansion of macros in Emacs Lisp source code. It lets
9586you see exactly what happens at each step of the expansion process by
9587pretty-printing the expanded forms inline in the source buffer, which is
9588temporarily read-only while macro expansions are visible. You can expand and
9589collapse macro forms one step at a time, and evaluate or instrument the
9590expansions for debugging with Edebug as normal (but see “Bugs and known
9591limitations”, below). Single-stepping through the expansion is particularly
9592useful for debugging macros that expand into another macro form. These can be
9593difficult to debug with Emacs’ built-in macroexpand, which continues expansion
9594until the top-level form is no longer a macro call.")
9595 (license license:gpl3+))))
9596
9597(define-public emacs-parent-mode
9598 (package
9599 (name "emacs-parent-mode")
9600 (version "2.3")
9601 (source
9602 (origin
9603 (method url-fetch)
9604 (uri (string-append "https://github.com/Fanael/parent-mode/archive/"
9605 version ".tar.gz"))
9606 (file-name (string-append name "-" version ".tar.gz"))
9607 (sha256
9608 (base32
9609 "0gxbl5s1w96v6v55b7aaansgw4sxhzfx9nrsvpk3pfhsibs6yqjd"))))
9610 (build-system emacs-build-system)
9611 (home-page "https://github.com/Fanael/parent-mode")
9612 (synopsis "Get major mode's parent modes")
9613 (description "Get major mode's parent modes")
9614 (license license:gpl3+)))
9615
9616(define-public emacs-lacarte
9617 (package
9618 (name "emacs-lacarte")
9619 (version "0.1")
9620 (source (origin
9621 (method url-fetch)
9622 (uri "https://www.emacswiki.org/emacs/download/lacarte.el")
9623 (sha256
9624 (base32
9625 "1sbmk37ljq5j7dsw5c37sbxvlfgdqswh7bi4dknyjzfxlq50f4am"))))
9626 (build-system emacs-build-system)
9627 (home-page "https://www.emacswiki.org/emacs/lacarte.el")
9628 (synopsis "Execute menu items as commands, with completion")
9629 (description "Execute menu items as commands, with completion.")
9630 (license license:gpl3)))
9631
48211de6 9632(define-public emacs-isearch-prop
9633 (let ((commit "5e9dc44cf582d998aaa73ccd4d07cbda01248156")
9634 (revision "1"))
9635 (package
9636 (name "emacs-isearch-prop")
9637 (version (git-version "0" revision commit))
9638 (source
9639 (origin
9640 (method git-fetch)
9641 (uri (git-reference
9642 (url "https://github.com/emacsmirror/isearch-prop.git")
9643 (commit commit)))
9644 (file-name (git-file-name name version))
9645 (sha256
9646 (base32
9647 "1xawppy705ybsgx566zvj8zk2aajq0sqvhvfs7nijqq32lx0a2zl"))))
9648 (build-system emacs-build-system)
9649 (home-page "https://www.emacswiki.org/emacs/isearch-prop.el")
9650 (synopsis "Extensions to @code{isearch.el}")
9651 (description "The Emacs library @code{isearch-prop.el} lets you search within
9652 contexts. You can limit incremental search to a set of zones of
9653 buffer text, search contexts that in effect constitute a multi-region.
9654 These zones can be defined in various ways, including some ways
9655 provided specially by this library.")
9656 (license license:gpl3+))))
9657
eeb883cb
RW
9658(define-public emacs-company-lua
9659 (let ((commit "0be8122f3adf57ad27953bf4b03545d6298d3da4"))
9660 (package
9661 (name "emacs-company-lua")
9662 (version (git-version "0.1" "1" commit))
9663 (source
9664 (origin
9665 (method git-fetch)
9666 (uri (git-reference
9667 (url "https://github.com/ptrv/company-lua.git")
9668 (commit commit)))
9669 (file-name (git-file-name name version))
9670 (sha256
9671 (base32
9672 "1d9i165apgmwns7b2fd5wcpjpkah3dyj20v5sb8ynvz6qhhr5r9c"))))
9673 (build-system emacs-build-system)
9674 (propagated-inputs
9675 `(("emacs-company" ,emacs-company)
9676 ("emacs-s" ,emacs-s)
9677 ("emacs-f" ,emacs-f)
9678 ("emacs-lua-mode" ,emacs-lua-mode)))
9679 (home-page "https://github.com/ptrv/company-lua")
9680 (synopsis "Company backend for Lua")
9681 (description
9682 "This package provides Company backend for Lua programming language.")
9683 (license license:gpl3+))))
9684
9685(define-public emacs-beginend
9686 (package
9687 (name "emacs-beginend")
9688 (version "2.0.0")
9689 (source
9690 (origin
9691 (method url-fetch)
9692 (uri (string-append "https://github.com/DamienCassou/beginend/archive/"
9693 "v" version ".tar.gz"))
9694 (file-name (string-append name "-" version ".tar.gz"))
9695 (sha256
9696 (base32
9697 "0z4rbwffh9vxfvcrlvym4p73z7gf72q0b5iv33llbpcpbijknnrq"))))
9698 ;; TODO: Run tests.
9699 (build-system emacs-build-system)
9700 (inputs
9701 `(("emacs-undercover" ,emacs-undercover))) ; For tests.
9702 (home-page "https://github.com/DamienCassou/beginend")
9703 (synopsis "Redefine @code{M-<} and @code{M->} for Emacs modes")
9704 (description "@code{beginend} redefines @code{M-<} and @code{M->}
9705keybindings for Emacs modes so that point moves to meaningful
9706locations. Redefined keys are still accessible by pressing the same
9707key again.")
9708 (license license:gpl3+)))
9709
9710(define-public emacs-mbsync
9711 (let ((commit "42077e83ae2db778ce0f8e22f8357b40355526b3")
9712 (revision "1"))
9713 (package
9714 (name "emacs-mbsync")
9715 (version (string-append "0.0.1" "-" revision "."
9716 (string-take commit 7)))
9717 (source
9718 (origin
9719 (method git-fetch)
9720 (uri (git-reference
9721 (url "https://github.com/dimitri/mbsync-el.git")
9722 (commit commit)))
9723 (file-name (string-append name "-" version "-checkout"))
9724 (sha256
9725 (base32
9726 "0yj93y2mpxlir8x73znlg1slxlv4blm1vjv5h2w3j8lxg8bxvmn6"))))
9727 (build-system emacs-build-system)
9728 (home-page "https://github.com/dimitri/mbsync-el")
9729 (synopsis "Interface to mbsync for Emacs")
9730 (description "This package allows to call the @code{mbsync} from
9731within Emacs.")
9732 (license license:gpl3+))))
9733
9734(define-public emacs-ibuffer-projectile
9735 (let ((commit "c18ac540ee46cb759fc5df18747f6e8d23563011")
9736 (revision "1"))
9737 (package
9738 (name "emacs-ibuffer-projectile")
9739 (version (string-append "0.2" "-" revision "."
9740 (string-take commit 7)))
9741 (source
9742 (origin
9743 (method git-fetch)
9744 (uri (git-reference
9745 (url "https://github.com/purcell/ibuffer-projectile.git")
9746 (commit commit)))
9747 (file-name (string-append name "-" version "-checkout"))
9748 (sha256
9749 (base32
9750 "1nd26cwwdpnwj0g4w393rd59klpyr6wqrnyr6scmwb5d06bsm44n"))))
9751 (build-system emacs-build-system)
9752 (propagated-inputs
9753 `(("emacs-projectile" ,emacs-projectile)))
9754 (home-page "https://github.com/purcell/ibuffer-projectile")
9755 (synopsis "Group ibuffer's list by projectile root")
9756 (description "Adds functionality to Emacs @code{ibuffer} for
9757grouping buffers by their projectile root directory.")
9758 (license license:gpl3+))))
9759
9760(define-public emacs-helm-mode-manager
9761 (package
9762 (name "emacs-helm-mode-manager")
9763 (version "1.0.0")
9764 (source
9765 (origin
9766 (method url-fetch)
9767 (uri (string-append "https://github.com/istib/helm-mode-manager/"
9768 "archive/" version ".tar.gz"))
9769 (file-name (string-append name "-" version ".tar.gz"))
9770 (sha256
9771 (base32
9772 "0wllj321z16hgrx0ddwzk5wz4mnnx5am7w5nclqclfc5dfdn92wm"))))
9773 (build-system emacs-build-system)
9774 (propagated-inputs
9775 `(("emacs-helm" ,emacs-helm)))
9776 (home-page "https://github.com/istib/helm-mode-manager/")
9777 (synopsis "Switch and toggle Emacs major and minor modes using Helm")
9778 (description "This package provides a Helm interface for toggling Emacs
9779major or minor mode.
9780
9781@itemize
9782@item @code{helm-switch-major-mode} list of all major modes
9783@item @code{helm-enable-minor-mode} list of all inactive minor modes
9784@item @code{helm-disable-minor-mode} list of all ACTIVE minor modes
9785@end itemize\n
9786
9787Hitting @code{RET} enables the mode, @code{C-z} shows the mode
9788documentation.")
9789 (license license:gpl3+)))
9790
9791(define-public emacs-hy-mode
9792 (package
9793 (name "emacs-hy-mode")
9794 (version "1.0.3")
9795 (source
9796 (origin
9797 (method url-fetch)
9798 (uri (string-append "https://github.com/hylang/hy-mode/archive/"
9799 "v" version ".tar.gz"))
9800 (file-name (string-append name "-" version ".tar.gz"))
9801 (sha256
9802 (base32
9803 "0b4pvbr2hf77bq2vsyfsv653q0dab7qzq85wc7kdziw7687jdf2z"))))
9804 (build-system emacs-build-system)
9805 (propagated-inputs
9806 `(("emacs-dash" ,emacs-dash)
9807 ("emacs-s" ,emacs-s)))
9808 (home-page "https://github.com/hylang/hy-mode")
9809 (synopsis "Major mode for Hylang")
9810 (description "This package provides a major mode for Hylang.")
9811 (license license:gpl3+)))
9812
9813(define-public emacs-web-beautify
9814 (package
9815 (name "emacs-web-beautify")
9816 (version "0.3.2")
9817 (source
9818 (origin
9819 (method url-fetch)
9820 (uri (string-append "https://github.com/yasuyk/web-beautify/archive/"
9821 version ".tar.gz"))
9822 (file-name (string-append name "-" version ".tar.gz"))
9823 (sha256
9824 (base32
9825 "1j57hwid74id4swkx2g0iljfawx0k9c7qjrwqc0mv657x9p78hcs"))))
9826 (build-system emacs-build-system)
9827 (home-page "https://github.com/yasuyk/web-beautify")
9828 (synopsis "Format HTML, CSS and JavaScript, JSON")
9829 (description "This package provides an Emacs functions to format HTML,
9830CSS, JavaScript, JSON.")
9831 (license license:gpl3+)))
9832
9833(define-public emacs-helm-shell-history
9834 (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1"))
9835 (package
9836 (name "emacs-helm-shell-history")
9837 (version (git-version "0.1" "1" commit))
9838 (source
9839 (origin
9840 (method git-fetch)
9841 (uri (git-reference
9842 (url "https://github.com/yuutayamada/helm-shell-history.git")
9843 (commit commit)))
9844 (file-name (git-file-name name version))
9845 (sha256
9846 (base32
9847 "18fkjcz69g4dyaxhf9j8svr5x6dhsdnglddwisis8hdn504scpfj"))))
9848 (build-system emacs-build-system)
9849 (arguments
9850 '(#:phases
9851 (modify-phases %standard-phases
9852 (add-before 'check 'patch-helm-shell-history-file
9853 (lambda _
9854 (let ((file "helm-shell-history.el"))
9855 (chmod file #o644)
9856 (emacs-substitute-sexps file
9857 ("(defvar helm-shell-history-file"
9858 `(expand-file-name "~/.bash_history"))))
9859 #t)))))
9860 (propagated-inputs
9861 `(("emacs-helm" ,emacs-helm)))
9862 (home-page "https://github.com/yuutayamada/helm-shell-history")
9863 (synopsis "Find shell history with Emacs Helm")
9864 (description "This package provides an Emacs Helm interface to search
9865throw a shell history.")
9866 (license license:gpl3+))))
9867
9868(define-public emacs-discover-my-major
9869 (package
9870 (name "emacs-discover-my-major")
9871 (version "1.0")
9872 (source
9873 (origin
9874 (method url-fetch)
9875 (uri
9876 (string-append "https://github.com/steckerhalter/discover-my-major"
9877 "/archive/" version ".tar.gz"))
9878 (file-name (string-append name "-" version ".tar.gz"))
9879 (sha256
9880 (base32
9881 "0nah41f92rrl2l405kpqr6iaks11jyclgl4z7ilfymbr4ifmsiyl"))))
9882 (build-system emacs-build-system)
9883 (propagated-inputs
9884 `(("emacs-makey" ,emacs-makey)))
9885 (home-page "https://github.com/steckerhalter/discover-my-major")
9886 (synopsis "Discover key bindings for the current Emacs major mode")
9887 (description "This package provides allows to discover key bindings and
9888their meaning for the current Emacs major-mode.")
9889 (license license:gpl3+)))
9890
9891(define-public emacs-org-ref
9892 (let ((commit "8c9b5d7efb9f0c1ad5186b8203bdd017f4249129")
9893 (revision "1"))
9894 (package
9895 (name "emacs-org-ref")
9896 (version (string-append "1.1.1" "-" revision "."
9897 (string-take commit 7)))
9898 (source
9899 (origin
9900 (method git-fetch)
9901 (uri (git-reference
9902 (url "https://github.com/jkitchin/org-ref.git")
9903 (commit commit)))
9904 (file-name (string-append name "-" version "-checkout"))
9905 (sha256
9906 (base32
9907 "1rxz0bjdsayk0slv23i07d9xhj2m7s4hsc81wc2d1cs52dkr5zmz"))))
9908 (build-system emacs-build-system)
9909 (propagated-inputs
9910 `(("emacs-dash" ,emacs-dash)
9911 ("emacs-helm" ,emacs-helm)
9912 ("emacs-helm-bibtex" ,emacs-helm-bibtex)
9913 ("emacs-ivy" ,emacs-ivy)
9914 ("emacs-hydra" ,emacs-hydra)
9915 ("emacs-key-chord" ,emacs-key-chord)
9916 ("emacs-s" ,emacs-s)
9917 ("emacs-f" ,emacs-f)
9918 ("emacs-pdf-tools" ,emacs-pdf-tools)))
9919 (home-page "https://github.com/jkitchin/org-ref")
9920 (synopsis "Citations, cross-references and bibliographies in org-mode")
9921 (description
9922 "Lisp code to setup bibliography, cite, ref and label org-mode links.
9923Also sets up reftex and helm for org-mode citations. The links are
9924clickable and do things that are useful.
9925
9926The default setup uses helm-bibtex.
9927
9928You should really read org-ref.org in this package for details.")
9929 (license license:gpl3+))))
9930
9931(define-public emacs-org-reveal
9932 (package
9933 (name "emacs-org-reveal")
9934 ;; There are no proper tag, so we use the latest commit of the stable
9935 ;; branch, as does MELPA.
9936 (version "20161027.926")
9937 (source (origin
9938 (method git-fetch)
9939 (uri (git-reference
9940 (url "https://github.com/yjwen/org-reveal.git")
9941 (commit "001567cc12d50ba07612edd1718b86a12e8c2547")))
9942 (file-name (string-append name "-" version "-checkout"))
9943 (sha256
9944 (base32
9945 "18rma8smjrskbjyna076zhvx79zs5r5vinb537h8mw13pfxd6cm8"))))
9946 (build-system emacs-build-system)
9947 (home-page "https://github.com/yjwen/org-reveal")
9948 (synopsis "Org and Reveal.js powered HTML presentation tool")
9949 (description "Org-Reveal is a command@{org-mode} extension that allows to
9950create beautiful presentations (slides) with 3D effects from simple but
9951powerful Org contents.")
9952 (license license:gpl3+)))
9953
9954(define-public emacs-add-hooks
9955 (package
9956 (name "emacs-add-hooks")
9957 (version "3.1.1")
9958 (source (origin
9959 (method url-fetch)
9960 (uri (string-append
9961 "https://github.com/nickmccurdy/add-hooks/archive/"
9962 version ".tar.gz"))
9963 (file-name (string-append name "-" version ".tar.gz"))
9964 (sha256
9965 (base32
9966 "03a28gb3298g7pc2qji9hi44p4d99ljp5mpi9cmg42ldv8fl6549"))))
9967 (build-system emacs-build-system)
9968 (home-page "https://github.com/nickmccurdy/add-hooks/")
9969 (synopsis "Emacs function for setting multiple hooks")
9970 (description "This package provides a @code{add-hooks} function tidies up
9971duplicate hook and function names further into a single declarative call.")
9972 (license license:gpl3+)))
9973
9974(define-public emacs-fancy-narrow
9975 (package
9976 (name "emacs-fancy-narrow")
9977 (version "0.9.5")
9978 (source
9979 (origin
9980 (method url-fetch)
9981 (uri (string-append "https://github.com/Malabarba/fancy-narrow/archive/"
9982 version ".tar.gz"))
9983 (file-name (string-append name "-" version ".tar.gz"))
9984 (sha256
9985 (base32
9986 "0rf2rnzg82pdqch041yyx3f9ddixffkk9s2ydzg8hwy66sg3385n"))))
9987 (build-system emacs-build-system)
9988 (home-page "https://github.com/Malabarba/fancy-narrow/releases")
9989 (synopsis "Imitate @code{narrow-to-region} with more eye candy")
9990 (description
9991 "Unlike @code{narrow-to-region}, which completely hides text outside
9992the narrowed region, this package simply de-emphasizes the text, makes it
9993read-only, and makes it unreachable. This leads to a much more natural
9994feeling where the region stays static (instead of being brutally moved to a
9995blank slate) and is clearly highlighted with respect to the rest of the
9996buffer.")
9997 (license license:gpl2+)))
9998
9999(define-public emacs-know-your-http-well
10000 (package
10001 (name "emacs-know-your-http-well")
10002 (version "0.5.0")
10003 (source
10004 (origin
10005 (method url-fetch)
10006 (uri (string-append
10007 "https://github.com/for-GET/know-your-http-well/archive/"
10008 "v" version ".tar.gz"))
10009 (file-name (string-append name "-" version ".tar.gz"))
10010 (sha256
10011 (base32
10012 "1y3kwz88awcgwaivlswq0q4g2i02762r23lpwg61bfqy5lrjjqnj"))))
10013 (arguments
10014 `(#:phases
10015 (modify-phases %standard-phases
10016 (add-after 'unpack 'install-json-files
10017 (lambda* (#:key outputs #:allow-other-keys)
10018 (for-each (lambda (directory)
10019 (copy-recursively directory
10020 (string-append
10021 (assoc-ref outputs "out")
10022 directory)))
10023 '("js" "json"))))
10024 (add-after 'unpack 'chdir-elisp
10025 ;; Elisp directory is not in root of the source.
10026 (lambda _
10027 (chdir "emacs"))))))
10028 (build-system emacs-build-system)
10029 (home-page "https://github.com/for-GET/know-your-http-well")
10030 (synopsis "Meaning of HTTP headers codes")
10031 (description "Meaning of HTTP headers codes.")
10032 (license license:gpl3+)))
10033
10034(define-public emacs-navi-mode
10035 (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674"))
10036 (package
10037 (name "emacs-navi-mode")
10038 (version (git-version "2.0" "1" commit))
10039 (source
10040 (origin
10041 (method git-fetch)
10042 (uri (git-reference
10043 (url "https://github.com/alphapapa/navi.git")
10044 (commit commit)))
10045 (file-name (git-file-name name version))
10046 (sha256
10047 (base32
10048 "0jj5spk14hgb7zb1cd2n8whcw4k1kd5zb6llwj96v178yaws7l8k"))))
10049 (build-system emacs-build-system)
10050 (propagated-inputs
10051 `(("emacs-outshine" ,emacs-outshine)
10052 ("emacs-outorg" ,emacs-outorg)))
10053 (home-page "https://github.com/alphapapa/navi")
10054 (synopsis "Emacs major-mode for easy buffer-navigation")
10055 (description
10056 "This package provides an Emacs major-mode for easy buffer-navigation")
10057 (license license:gpl3+))))
10058
10059(define-public emacs-download-region
10060 (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa")
10061 (revision "1"))
10062 (package
10063 (name "emacs-download-region")
10064 (version (string-append "0.0.1" "-" revision "."
10065 (string-take commit 7)))
10066 (source
10067 (origin
10068 (method git-fetch)
10069 (uri (git-reference
10070 (url "https://github.com/zk-phi/download-region.git")
10071 (commit commit)))
10072 (file-name (string-append name "-" version "-checkout"))
10073 (sha256
10074 (base32
10075 "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc"))))
10076 (build-system emacs-build-system)
10077 (home-page "https://github.com/zk-phi/download-region")
10078 (synopsis "In buffer download manager for Emacs")
10079 (description "@code{download-region} provides in buffer
10080downloading manager for Emacs.")
10081 (license license:gpl3+))))
10082
10083(define-public emacs-helpful
10084 (package
10085 (name "emacs-helpful")
10086 (version "0.15")
10087 (source (origin
10088 (method url-fetch)
10089 (uri (string-append
10090 "https://github.com/Wilfred/helpful/archive/"
10091 version ".tar.gz"))
10092 (file-name (string-append name "-" version ".tar.gz"))
10093 (sha256
10094 (base32
10095 "1xmvhphzb4hbg647dz4lafy6hd19b7bk3lxni6irqrzdsrclhzn6"))))
10096 (build-system emacs-build-system)
10097 (propagated-inputs
10098 `(("emacs-elisp-refs" ,emacs-elisp-refs)))
10099 (home-page "https://github.com/Wilfred/helpful")
10100 (synopsis "More contextual information in Emacs help")
10101 (description "@code{helpful} is an alternative to the built-in Emacs help
10102that provides much more contextual information.
10103
10104@itemize
10105@item Show the source code for interactively defined functions (unlike the
10106built-in Help).
10107@item Fall back to the raw sexp if no source is available.
10108@item Show where a function is being called.
10109@item Docstrings will Highlight the summary (the first sentence), include
10110cross-references, hide superfluous puncuation.
10111@item Show you the properties that have been applied to the current
10112symbol. This provides visibility of features like edebug or byte-code
10113optimisation.
10114@item Provide a separate @code{helpful-command} function to view interactive
10115functions.
10116@item Display any keybindings that apply to interactive functions.
10117@item Trace, disassemble functions from inside Helpful. This is discoverable
10118and doesn't require memorisation of commands.
10119@end itemize\n")
10120 (license license:gpl3+)))
10121
10122(define-public emacs-logview
10123 (package
10124 (name "emacs-logview")
10125 (version "0.9")
10126 (source (origin
10127 (method url-fetch)
10128 (uri (string-append
10129 "https://github.com/doublep/logview/archive/"
10130 version ".tar.gz"))
10131 (file-name (string-append name "-" version ".tar.gz"))
10132 (sha256
10133 (base32
10134 "1vd11ppm46ldqsiwhqgw91p34gbjh1y82r9mxcn9r2gj65nvhxcp"))))
10135 (propagated-inputs
10136 `(("emacs-datetime" ,emacs-datetime)))
10137 (build-system emacs-build-system)
10138 (home-page "https://github.com/doublep/logview/")
10139 (synopsis "Emacs mode for viewing log files")
10140 (description "@code{logview} provides an Emacs mode to view log files.")
10141 (license license:gpl3+)))
10142
10143(define-public emacs-suggest
10144 (package
10145 (name "emacs-suggest")
10146 (version "0.4")
10147 (source
10148 (origin
10149 (method url-fetch)
10150 (uri (string-append "https://github.com/Wilfred/suggest.el/archive/"
10151 version ".tar.gz"))
10152 (file-name (string-append name "-" version ".tar.gz"))
10153 (sha256
10154 (base32
10155 "1760fm3j19w8xxcawq6s859h86q1rdg69pg9yz48n76kwfk3vlgp"))))
10156 (build-system emacs-build-system)
10157 (propagated-inputs
10158 `(("emacs-loop" ,emacs-loop)
10159 ("emacs-dash" ,emacs-dash)
10160 ("emacs-s" ,emacs-s)
10161 ("emacs-f" ,emacs-f)))
10162 (home-page "https://github.com/Wilfred/suggest.el")
10163 (synopsis "Suggest Elisp functions that give the output requested")
10164 (description "Suggest.el will find functions that give the output
10165requested. It's a great way of exploring list, string and arithmetic
10166functions.")
10167 (license license:gpl3+)))
10168
10169(define-public emacs-benchmark-init
10170 (package
10171 (name "emacs-benchmark-init")
10172 (version "1.0")
10173 (source (origin
10174 (method url-fetch)
10175 (uri (string-append
10176 "https://github.com/dholm/benchmark-init-el/archive/"
10177 version ".tar.gz"))
10178 (file-name (string-append name "-" version ".tar.gz"))
10179 (sha256
10180 (base32
10181 "0szyqr4nncwz4vd5gww1vz31kf9r2lx25p4d0d09pm35974x53kz"))))
10182 (build-system emacs-build-system)
10183 (home-page "https://github.com/dholm/benchmark-init-el")
10184 (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
10185 (description "@code{benchmark-init} provides a way to keep track of where
10186time is being spent during Emacs startup in order to optimize startup time.")
10187 (license license:gpl3+)))
10188
10189(define-public emacs-emms-player-simple-mpv
10190 ;; A new mpv backend is included in Emms from 5.0.
10191 (deprecated-package "emacs-emms-player-simple-mpv" emacs-emms))
10192
f0caf760
MC
10193(define-public emacs-magit-gerrit
10194 (let ((version "0.3")
10195 (revision "1")
10196 (commit "ece6f369694aca17f3ac166ed2801b432acfe20d"))
10197 (package
10198 (name "emacs-magit-gerrit")
10199 (version (git-version version revision commit))
10200 (source (origin
10201 (method git-fetch)
10202 (uri (git-reference
10203 (url "https://github.com/terranpro/magit-gerrit.git")
10204 (commit commit)))
10205 (file-name (git-file-name name version))
10206 (sha256
10207 (base32
10208 "0mms0gxv9a3ns8lk5k2wjibm3088y1cmpr3axjdh6ppv7r5wdvii"))))
10209 (build-system emacs-build-system)
10210 (propagated-inputs
10211 `(("emacs-magit" ,emacs-magit)))
10212 (home-page "https://github.com/terranpro/magit-gerrit")
10213 (synopsis "Magit extension for Gerrit")
10214 (description "This Magit extension provides integration with Gerrit,
10215which makes it possible to conduct Gerrit code reviews directly from within
10216Emacs.")
10217 (license license:gpl3+))))
10218
eeb883cb
RW
10219(define-public emacs-magit-org-todos-el
10220 (let ((commit "df206287737b9671f2e36ae7b1474ebbe9940d2a"))
10221 (package
10222 (name "emacs-magit-org-todos-el")
10223 (version (git-version "0.1.1" "1" commit))
10224 (source
10225 (origin
10226 (method git-fetch)
10227 (uri (git-reference
10228 (url "https://github.com/danielma/magit-org-todos.el.git")
10229 (commit commit)))
10230 (file-name (git-file-name name version))
10231 (sha256
10232 (base32
10233 "0kdp7k7jnnrkhsg0xh1c3h7iz0vgi120gf5xwl1hxy61avivnxrn"))))
10234 (propagated-inputs
10235 `(("magit" ,emacs-magit)))
10236 (build-system emacs-build-system)
10237 (home-page "https://github.com/danielma/magit-org-todos.el")
10238 (synopsis "Get todo.org into Emacs Magit status")
10239 (description "This package allows you to get @file{todo.org} into your
10240magit status.
10241
10242If you have a @file{todo.org} file with @code{TODO} items in the root of your
10243repository, @code{magit-org-todos} will create a section in your Magit status
10244buffer with each of your todos.")
10245 (license license:gpl3+))))
10246
10247(define-public emacs-f3
10248 (package
10249 (name "emacs-f3")
10250 (version "0.1")
10251 (source
10252 (origin
10253 (method url-fetch)
10254 (uri (string-append "https://github.com/cosmicexplorer/f3/archive/"
10255 version ".tar.gz"))
10256 (file-name (string-append name "-" version ".tar.gz"))
10257 (sha256
10258 (base32
10259 "06b8i1jvklm5k3k90n65f197l1miq1xlxqkqpbppw4h3rhl4y98h"))))
10260 (build-system emacs-build-system)
10261 (propagated-inputs
10262 `(("emacs-helm" ,emacs-helm)))
10263 (home-page "https://github.com/cosmicexplorer/f3")
10264 (synopsis "Fantastic File Finder for Emacs")
10265 (description
10266 "The Fantastic File Finder for Emacs. Find files fast, using helm.")
10267 (license license:gpl3+)))
10268
10269(define-public emacs-lice-el
10270 (let ((commit "4339929927c62bd636f89bb39ea999d18d269250"))
10271 (package
10272 (name "emacs-lice-el")
10273 (version (git-version "0.2" "1" commit))
10274 (source (origin
10275 (method git-fetch)
10276 (uri (git-reference
10277 (url "https://github.com/buzztaiki/lice-el.git")
10278 (commit commit)))
10279 (file-name (git-file-name name version))
10280 (sha256
10281 (base32
10282 "0879z761b7gajkhq176ps745xpdrivch349crransv8fnsc759yb"))))
10283 (build-system emacs-build-system)
10284 (home-page "https://github.com/buzztaiki/lice-el")
10285 (synopsis "License and header template for Emacs")
10286 (description "@code{lice.el} provides following features:
10287
10288@itemize
10289@item License template management.
10290@item File header insertion.
10291@end itemize\n")
10292 (license license:gpl3+))))
10293
10294(define-public emacs-academic-phrases
10295 (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656"))
10296 (package
10297 (name "emacs-academic-phrases")
10298 (version (git-version "0.1" "1" commit))
10299 (source
10300 (origin
10301 (method git-fetch)
10302 (uri (git-reference
10303 (url "https://github.com/nashamri/academic-phrases.git")
10304 (commit commit)))
10305 (file-name (string-append name "-" version "-checkout"))
10306 (sha256
10307 (base32
10308 "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r"))))
10309 (build-system emacs-build-system)
10310 (propagated-inputs
10311 `(("emacs-dash" ,emacs-dash)
10312 ("emacs-s" ,emacs-s)
10313 ("emacs-ht" ,emacs-ht)))
10314 (home-page "https://github.com/nashamri/academic-phrases")
10315 (synopsis "Bypass that mental block when writing your papers")
10316 (description
10317 "When writing your academic paper, you might get stuck trying to find
10318the right phrase that captures your intention. This package tries to
10319alleviate that problem by presenting you with a list of phrases organized by
10320the topic or by the paper section that you are writing. This package has
10321around 600 phrases so far.
10322
10323Using this package is easy, just call @code{academic-phrases} to get a list of
10324phrases organized by topic, or call @code{academic-phrases-by-section} to
10325browse the phrases by the paper section and fill-in the blanks if required.")
10326 (license license:gpl3+))))
10327
10328(define-public emacs-auto-yasnippet
10329 (let ((commit "d1ccfea87312c6dd8cf8501ab5b71b1d3d44d95b"))
10330 (package
10331 (name "emacs-auto-yasnippet")
10332 (version (git-version "0.3.0" "1" commit))
10333 (source (origin
10334 (method git-fetch)
10335 (uri (git-reference
10336 (url "https://github.com/abo-abo/auto-yasnippet.git")
10337 (commit commit)))
10338 (file-name (string-append name "-" version "-checkout"))
10339 (sha256
10340 (base32
10341 "1i8k2qiyzd5rq0zplk4xb5nfa5mp0ibxbzwqj6c7877waq7244xk"))))
10342 (build-system emacs-build-system)
10343 (arguments
10344 '(#:phases
10345 (modify-phases %standard-phases
10346 (add-before 'install 'check
10347 (lambda _
10348 (invoke "emacs" "--batch"
10349 "-l" "auto-yasnippet.el"
10350 "-l" "auto-yasnippet-test.el"
10351 "-f" "ert-run-tests-batch-and-exit"))))))
10352 (propagated-inputs
10353 `(("emacs-yasnippet" ,emacs-yasnippet)))
10354 (home-page "https://github.com/abo-abo/auto-yasnippet/")
10355 (synopsis "Quickly create disposable yasnippets")
10356 (description "This package provides a hybrid of keyboard macros and
10357yasnippet. You create the snippet on the go, usually to be used just in the
10358one place. It's fast, because you're not leaving the current buffer, and all
10359you do is enter the code you'd enter anyway, just placing ~ where you'd like
10360yasnippet fields and mirrors to be.")
10361 (license license:gpl3+))))
10362
10363(define-public emacs-highlight-numbers
10364 (package
10365 (name "emacs-highlight-numbers")
10366 (version "0.2.3")
10367 (source
10368 (origin
10369 (method url-fetch)
10370 (uri (string-append
10371 "https://github.com/Fanael/highlight-numbers/archive/"
10372 version ".tar.gz"))
10373 (file-name (string-append name "-" version ".tar.gz"))
10374 (sha256
10375 (base32
10376 "030v5p11d4n0581ncv499l1fqrmfziy756q6378x2bv22ixghqqp"))))
10377 (build-system emacs-build-system)
10378 (propagated-inputs
10379 `(("emacs-parent-mode" ,emacs-parent-mode)))
10380 (home-page "https://github.com/Fanael/highlight-numbers")
10381 (synopsis "Highlight numbers in source code")
10382 (description "@code{highlight-numbers-mode} provides a minor mode for
10383syntax highlighting of numeric literals in source code.
10384
10385It s customizable: it's easy to add or redefine what exactly consitutes a
10386\"number\" in given major mode. See @code{highlight-numbers-modelist}.")
10387 (license license:gpl3+)))
10388
10389(define-public emacs-darkroom
10390 (package
10391 (name "emacs-darkroom")
10392 (version "0.1")
10393 (source (origin
10394 (method url-fetch)
10395 (uri (string-append "https://elpa.gnu.org/packages/darkroom-"
10396 version ".el"))
10397 (sha256
10398 (base32
10399 "0fif8fm1h7x7g16949shfnaik5f5488clsvkf8bi5izpqp3vi6ak"))))
10400 (build-system emacs-build-system)
10401 (home-page "https://elpa.gnu.org/packages/darkroom.html")
10402 (synopsis "Remove visual distractions and focus on writing")
10403 (description "@code{darkroom-mode} makes visual distractions disappear.
10404The mode-line is temporarily elided, text is enlarged and margins are adjusted
10405so that it's centered on the window.
10406
10407@code{darkroom-tentative-mode} is similar, but it doesn't immediately turn-on
10408@code{darkroom-mode}, unless the current buffer lives in the sole window of
10409the Emacs frame (i.e. all other windows are deleted). Whenever the frame is
10410split to display more windows and more buffers, the buffer exits
10411@code{darkroom-mode}. Whenever they are deleted, the buffer re-enters
10412@code{darkroom-mode}.")
10413 (license license:gpl3+)))
10414
10415(define-public emacs-rsw-elisp
10416 (package
10417 (name "emacs-rsw-elisp")
10418 (version "1.0.5")
10419 (source (origin
10420 (method url-fetch)
10421 (uri (string-append "https://github.com/rswgnu/rsw-elisp"
10422 "/archive/" version ".tar.gz"))
10423 (file-name (string-append name "-" version ".tar.gz"))
10424 (sha256
10425 (base32
10426 "1jnn7xfwl3wxc87v44ccsf1wwp80par3xgcvfb1icd6zchjmlcps"))))
10427 (build-system emacs-build-system)
10428 (home-page "https://github.com/rswgnu/rsw-elisp")
10429 (synopsis "Improved expressions that interactively evaluate Emacs Lisp")
10430 (description "This package improves and replaces the GNU Emacs commands
10431that interactively evaluate Emacs Lisp expressions. The new commands replace
10432standard key bindings and are all prefixed with @code{rsw-elisp-}. They work
10433the same way as the old commands when called non-interactively; only the
10434interactive behavior should be different.")
10435 (license license:gpl3+)))
10436
10437(define-public emacs-default-text-scale
10438 (let ((commit "968e985e219235f3e744d6d967e592acbaf6e0a8")
10439 (revision "1"))
10440 (package
10441 (name "emacs-default-text-scale")
10442 (version (string-append "0.1" "-" revision "."
10443 (string-take commit 7)))
10444 (source (origin
10445 (method git-fetch)
10446 (uri (git-reference
10447 (url "https://github.com/purcell/default-text-scale")
10448 (commit commit)))
10449 (file-name (string-append name "-" version "-checkout"))
10450 (sha256
10451 (base32
10452 "0zds01c3q5yny6ab1fxfkzzgn1kgl3q23lxxap905f4qd70v922h"))))
10453 (build-system emacs-build-system)
10454 (home-page "https://github.com/purcell/default-text-scale")
10455 (synopsis "Adjust the font size in all Emacs frames")
10456 (description "This package provides commands for increasing or
10457decreasing the default font size in all GUI Emacs frames.")
10458 (license license:gpl3+))))
10459
10460(define-public emacs-visual-regexp
10461 (package
10462 (name "emacs-visual-regexp")
10463 (version "1.1.1")
10464 (source
10465 (origin
10466 (method url-fetch)
10467 (uri (string-append "https://github.com/benma/visual-regexp.el/archive/"
10468 "v" version ".tar.gz"))
10469 (file-name (string-append name "-" version ".tar.gz"))
10470 (sha256
10471 (base32
10472 "1czmhvcivlcdyz7rfm0vd4a3xsgmy4qbvbl6yjxc217wrxqflr92"))))
10473 (build-system emacs-build-system)
10474 (home-page "https://github.com/benma/visual-regexp.el/")
10475 (synopsis "Regexp command with interactive visual feedback")
10476 (description "This package provides an Emacs regexp command with
10477interactive visual feedback.")
10478 (license license:gpl3+)))
10479
10480(define-public emacs-faceup
10481 (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154")
10482 (revision "1"))
10483 (package
10484 (name "emacs-faceup")
10485 (version (string-append "0.0.1" "-" revision "."
10486 (string-take commit 7)))
10487 (source
10488 (origin
10489 (method git-fetch)
10490 (uri (git-reference
10491 (url "https://github.com/Lindydancer/faceup.git")
10492 (commit commit)))
10493 (file-name (string-append name "-" version "-checkout"))
10494 (sha256
10495 (base32
10496 "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx"))))
10497 (build-system emacs-build-system)
10498 (home-page "https://github.com/Lindydancer/faceup")
10499 (synopsis "Markup language for faces and font-lock regression testing")
10500 (description "Emacs is capable of highlighting buffers based on
10501language-specific @code{font-lock} rules. This package makes it possible to
10502perform regression test for packages that provide font-lock rules.")
10503 (license license:gpl3+))))
10504
10505(define-public emacs-racket-mode
10506 (let ((commit "b977873e6128f8399432dcd60cc39f6a6f803d9c")
10507 (revision "2"))
10508 (package
10509 (name "emacs-racket-mode")
10510 (version (string-append "0.0.2" "-" revision "."
10511 (string-take commit 7)))
10512 (source
10513 (origin
10514 (method git-fetch)
10515 (uri (git-reference
10516 (url "https://github.com/greghendershott/racket-mode")
10517 (commit commit)))
10518 (file-name (string-append name "-" version "-checkout"))
10519 (sha256
10520 (base32
10521 "0vp4bbbplqvmnhjpl6ajrlydmrhqzil56cfbs18m5c5fddx0zlh7"))))
10522 (build-system emacs-build-system)
10523 (arguments
10524 `(#:include '("\\.el$" "\\.rkt$")))
10525 (propagated-inputs
10526 `(("emacs-faceup" ,emacs-faceup)
10527 ("emacs-s" ,emacs-s)))
10528 (home-page "https://github.com/greghendershott/racket-mode")
10529 (synopsis "Major mode for Racket language")
10530 (description "@code{racket-mode} provides:
10531
10532@itemize
10533@item Focus on Racket (not various Schemes).
10534@item Follow DrRacket concepts where applicable.
10535@item Thorough font-lock and indent.
10536@end itemize\n")
10537 (license license:gpl3+))))
10538
10539(define-public emacs-grep-context
10540 (let ((commit "a17c57e66687a54e195e08afe776bdd60cb6c0a7"))
10541 (package
10542 (name "emacs-grep-context")
10543 (version (git-version "0.1" "1" commit))
10544 (source
10545 (origin
10546 (method git-fetch)
10547 (uri (git-reference
10548 (url "https://github.com/mkcms/grep-context.git")
10549 (commit commit)))
10550 (file-name (string-append name "-" version "-checkout"))
10551 (sha256
10552 (base32
10553 "1nqfa6kjzjshww4hnwg1c0vcr90bdjihy3kmixq3c3jkvxg99b62"))))
10554 (build-system emacs-build-system)
10555 (propagated-inputs
10556 `(("emacs-dash" ,emacs-dash)))
10557 (home-page "https://github.com/nashamri/academic-phrases")
10558 (synopsis "Increase context in compilation and grep buffers")
10559 (description
10560 "This package provides an Emacs package for more context in
10561compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag},
10562@code{ivy}.")
10563 (license license:gpl3+))))
10564
10565(define-public emacs-helm-firefox
10566 (let ((commit "0ad34b7b5abc485a86cae6920c14de861cbeb085")
10567 (revision "1"))
10568 (package
10569 (name "emacs-helm-firefox")
10570 (version (string-append "0.0.1" "-" revision "."
10571 (string-take commit 7)))
10572 (source
10573 (origin
10574 (method git-fetch)
10575 (uri (git-reference
10576 (url "https://github.com/emacs-helm/helm-firefox.git")
10577 (commit commit)))
10578 (file-name (string-append name "-" version "-checkout"))
10579 (sha256
10580 (base32
10581 "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs"))))
10582 (propagated-inputs
10583 `(("emacs-helm" ,emacs-helm)))
10584 (build-system emacs-build-system)
10585 (home-page "https://github.com/emacs-helm/helm-firefox")
10586 (synopsis "Display firefox bookmarks with Emacs Helm interface")
10587 (description "Display firefox bookmarks with Emacs Helm interface")
10588 (license license:gpl3+))))
10589
10590(define-public emacs-interactive-align
10591 (package
10592 (name "emacs-interactive-align")
10593 (version "0.1.0")
10594 (source
10595 (origin
10596 (method url-fetch)
10597 (uri (string-append "https://github.com/mkcms/interactive-align/"
10598 "archive/" "v" version ".tar.gz"))
10599 (file-name (string-append name "-" version ".tar.gz"))
10600 (sha256
10601 (base32
10602 "0sibpgb4lp6yy3pziak8f3hz4b28yj0dqy2nzh51z3d0b63h528m"))))
10603 (build-system emacs-build-system)
10604 (home-page "https://github.com/mkcms/interactive-align/")
10605 (synopsis "Interactive align-regexp command in Emacs")
10606 (description "Interactive align-regexp command in Emacs")
10607 (license license:gpl3+)))
10608
10609(define-public emacs-shift-number
10610 (package
10611 (name "emacs-shift-number")
10612 (version "0.1")
10613 (source
10614 (origin
10615 (method url-fetch)
10616 (uri (string-append "https://github.com/alezost/shift-number.el"
10617 "/archive/" "v" version ".tar.gz"))
10618 (file-name (string-append name "-" version ".tar.gz"))
10619 (sha256
10620 (base32
10621 "1g79m0hqn9jgpm565vvh8pdfzndc4vw7xisnh5qysj55qfg8cb1x"))))
10622 (build-system emacs-build-system)
10623 (home-page "https://github.com/alezost/shift-number.el")
10624 (synopsis "Increase or decrease the number at point")
10625 (description "@code{emacs-shift-number} provides commands
10626@code{shift-number-up} to increase and @code{shift-number-down} to
10627decrease the number at point.")
10628 (license license:gpl3+)))
10629
10630(define-public emacs-highlight-defined
10631 (package
10632 (name "emacs-highlight-defined")
10633 (version "0.1.5")
10634 (source
10635 (origin
10636 (method url-fetch)
10637 (uri (string-append
10638 "https://github.com/Fanael/highlight-defined/archive/"
10639 version ".tar.gz"))
10640 (file-name (string-append name "-" version ".tar.gz"))
10641 (sha256
10642 (base32
10643 "1ryd66989b5byqdw8jmjrjf0c78iiz72wibld750skcnj5h5h506"))))
10644 (build-system emacs-build-system)
10645 (home-page "https://github.com/Fanael/highlight-defined")
10646 (synopsis "Syntax highlighting of known Elisp symbols")
10647 (description "Minor mode providing syntax highlighting of known Emacs Lisp
10648symbols. Currently the code distinguishes Lisp functions, built-in functions,
10649macros, faces and variables. To enable call @code{highlight-defined-mode}. ")
10650 (license license:gpl3+)))
10651
10652(define-public emacs-parinfer-mode
10653 (package
10654 (name "emacs-parinfer-mode")
10655 (version "0.4.10")
10656 (source
10657 (origin
10658 (method url-fetch)
10659 (uri (string-append "https://github.com/DogLooksGood/parinfer-mode/archive/"
10660 "v" version ".tar.gz"))
10661 (file-name (string-append name "-" version ".tar.gz"))
10662 (sha256
10663 (base32
10664 "06ba9qi59sm9ih9m38fbr8kj4qkvrm58n0c0ngfjz60gnr9x9pcv"))))
10665 (propagated-inputs
10666 `(("emacs-dash" ,emacs-dash)
10667 ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters)
10668 ("emacs-company" ,emacs-company)))
10669 (build-system emacs-build-system)
10670 (home-page "https://github.com/DogLooksGood/parinfer-mode/")
10671 (synopsis "Lisp structure editing mode")
10672 (description "@code{parinfer-mode} is a proof-of-concept editor
10673mode for Lisp programming languages. It will infer some changes to
10674keep Parens and Indentation inline with one another.")
10675 (license license:gpl3+)))
10676
10677(define-public emacs-helm-eww
266c97cb
PN
10678 (package
10679 (name "emacs-helm-eww")
10680 (version "1.1")
10681 (source (origin
10682 (method git-fetch)
10683 (uri (git-reference
10684 (url "https://github.com/emacs-helm/helm-eww.git")
10685 (commit version)))
10686 (file-name (string-append name "-" version "-checkout"))
10687 (sha256
10688 (base32
10689 "0dvlp7y6kqc4azg5b7jx5lz2rwd0ia7y0y3hcj9y23zd88r73lg7"))))
10690 (propagated-inputs
10691 `(("emacs-helm" ,emacs-helm)))
10692 (build-system emacs-build-system)
10693 (home-page "https://github.com/emacs-helm/helm-eww/")
10694 (synopsis "Helm interface to EWW")
10695 (description "This package provides a Helm interface for EWW buffers,
eeb883cb 10696bookmarks and history.")
266c97cb 10697 (license license:gpl3+)))
eeb883cb
RW
10698
10699(define-public emacs-stumpwm-mode
10700 (let ((commit "8fbe071d2c6c040794060a354eb377218dc10b35")
10701 (revision "1"))
10702 (package
10703 (name "emacs-stumpwm-mode")
10704 (version (string-append "0.0.1-" revision "."
10705 (string-take commit 7)))
10706 (source (origin
10707 (method git-fetch)
10708 (uri (git-reference
10709 (url "https://github.com/stumpwm/stumpwm-contrib.git")
10710 (commit commit)))
10711 (file-name (string-append name "-" version "-checkout"))
10712 (sha256
10713 (base32
10714 "1dfwsvz1c8w6j4jp0kzaz78ml3f5dp0a5pvf090kwpbpg176r7iq"))))
10715 (build-system emacs-build-system)
10716 (arguments
10717 `(#:phases
10718 (modify-phases %standard-phases
10719 (add-after 'unpack 'chdir-elisp
10720 ;; Elisp directory is not in root of the source.
10721 (lambda _
10722 (chdir "util/swm-emacs"))))))
10723 (home-page "https://github.com/stumpwm/stumpwm-contrib")
10724 (synopsis "Emacs minor-mode for Stumpwm")
10725 (description "Emacs minor-mode for Stumpwm")
10726 (license license:gpl3+))))
10727
10728(define-public emacs-irfc
10729 (package
10730 (name "emacs-irfc")
10731 (version "20130824.507")
10732 (source
10733 (origin
10734 (method url-fetch)
10735 (uri "https://www.emacswiki.org/emacs/download/irfc.el")
10736 (file-name (string-append "irfc-" version ".el"))
10737 (sha256
10738 (base32
10739 "197ybqwbj8qjh2p9pkf5mvqnrkpcgmv8c5s2gvl6msyrabk0mnca"))))
10740 (build-system emacs-build-system)
10741 (home-page "https://www.emacswiki.org/emacs/download/irfc.el")
10742 (synopsis "Interface for IETF RFC document")
10743 (description
10744 "This package provides an Emacs interface for IETF RFC document.")
10745 (license license:gpl3+)))
10746
10747(define-public emacs-ido-vertical-mode
10748 (package
10749 (name "emacs-ido-vertical-mode")
10750 (version "0.1.6")
10751 (source
10752 (origin
10753 (method url-fetch)
10754 (uri (string-append
10755 "https://github.com/creichert/ido-vertical-mode.el/archive/"
10756 "v" version ".tar.gz"))
10757 (file-name (string-append name "-" version ".tar.gz"))
10758 (sha256
10759 (base32
10760 "0dprdxq8wvqd45dinwj92k0kixr07c8xvspa6i613mjcpxgwjg53"))))
10761 (build-system emacs-build-system)
10762 (home-page "https://github.com/creichert/ido-vertical-mode.el")
10763 (synopsis "Makes ido-mode display vertically")
10764 (description "Makes ido-mode display prospects vertically.")
10765 (license license:gpl3+)))
10766
10767(define-public emacs-wordgen
10768 (package
10769 (name "emacs-wordgen")
10770 (version "0.1.4")
10771 (source
10772 (origin
10773 (method url-fetch)
10774 (uri (string-append "https://github.com/Fanael/wordgen.el/archive/"
10775 version ".tar.gz"))
10776 (file-name (string-append name "-" version ".tar.gz"))
10777 (sha256
10778 (base32
10779 "1h2iyixdm49h53pwj9ics9gb9h3g6wa4hainpnjg6mfarf49jkmg"))))
10780 (build-system emacs-build-system)
10781 (home-page "https://github.com/Fanael/wordgen.el")
10782 (synopsis "Random word generator")
10783 (description "This package provides functions to generate random words
10784using user-provided rules.")
10785 (license license:gpl3+)))
10786
10787(define-public emacs-on-screen
10788 (package
10789 (name "emacs-on-screen")
10790 (version "1.3.2")
10791 (source
10792 (origin
10793 (method url-fetch)
10794 (uri (string-append
10795 "http://elpa.gnu.org/packages/on-screen-" version ".el"))
10796 (file-name (string-append name "-" version ".el"))
10797 (sha256
10798 (base32
10799 "15d18mjgv1pnwl6kf3pr5w64q1322p1l1qlfvnckglwmzy5sl2qv"))))
10800 (build-system emacs-build-system)
10801 (home-page
10802 "https://github.com/michael-heerdegen/on-screen.el")
10803 (synopsis "Guide your eyes while scrolling")
10804 (description
10805 "Scrolling can be distracting because your eyes may lose
10806orientation. This library implements a minor mode that highlights
10807the previously visible buffer part after each scroll.")
10808 (license license:gpl3+)))
10809
10810(define-public emacs-highlight-escape-sequences
10811 (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41")
10812 (revision "1"))
10813 (package
10814 (name "emacs-highlight-escape-sequences")
10815 (version (string-append "0.0.1" "-" revision "."
10816 (string-take commit 7)))
10817 (source
10818 (origin
10819 (method git-fetch)
10820 (uri (git-reference
10821 (url "https://github.com/dgutov/highlight-escape-sequences.git")
10822 (commit commit)))
10823 (file-name (string-append name "-" version "-checkout"))
10824 (sha256
10825 (base32
10826 "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is"))))
10827 (build-system emacs-build-system)
10828 (home-page "https://github.com/dgutov/highlight-escape-sequences")
10829 (synopsis "Highlight escape sequences in Emacs")
10830 (description "@code{highlight-escape-sequences} provides an
10831Emacs minor mode to escape sequences in code.")
10832 (license license:gpl3+))))
10833
10834(define-public emacs-dashboard
10835 (package
10836 (name "emacs-dashboard")
10837 (version "1.2.4")
10838 (source
10839 (origin
10840 (method url-fetch)
10841 (uri (string-append
10842 "https://github.com/rakanalh/emacs-dashboard/archive/"
10843 version ".tar.gz"))
10844 (file-name (string-append name "-" version ".tar.gz"))
10845 (sha256
10846 (base32
10847 "1738lmbgq6gk24hcwic0qjyajr21l5xzhya4pv58dw1bhd6vxv9g"))))
10848 (build-system emacs-build-system)
10849 (propagated-inputs
10850 `(("emacs-page-break-lines" ,emacs-page-break-lines)))
10851 (arguments '(#:include '("\\.el$" "\\.txt$" "\\.png$")))
10852 (home-page "https://github.com/rakanalh/emacs-dashboard")
10853 (synopsis "Startup screen extracted from Spacemacs")
10854 (description "This package provides an extensible Emacs dashboard, with
10855sections for bookmarks, projectil projects, org-agenda and more. ")
10856 (license license:gpl3+)))
10857
10858(define-public emacs-slime-company
10859 (package
10860 (name "emacs-slime-company")
10861 (version "1.1")
10862 (source
10863 (origin
10864 (method url-fetch)
10865 (uri (string-append "https://github.com/anwyn/slime-company/archive/"
10866 "v" version ".tar.gz"))
10867 (sha256
10868 (base32
10869 "1myl79pxj501xfr5qc5a24qddsn2l5iaamg7rf7fpny7mr9v70ar"))
10870 (file-name (string-append name "-" version ".tar.gz"))))
10871 (build-system emacs-build-system)
10872 (propagated-inputs
10873 `(("emacs-slime" ,emacs-slime)
10874 ("emacs-company" ,emacs-company)))
10875 (home-page "https://company-mode.github.io")
10876 (synopsis "SLIME completion backend for @code{company-mode}")
10877 (description
10878 "This is a backend implementation for the completion package
10879@code{company-mode} which supports the normal and the fuzzy completion
10880modes of SLIME.")
10881 (license license:gpl3+)))
10882
10883(define-public emacs-sml-mode
10884 (package
10885 (name "emacs-sml-mode")
10886 (version "6.8")
10887 (source
10888 (origin
10889 (method url-fetch)
10890 (uri (string-append "http://elpa.gnu.org/packages/sml-mode-"
10891 version ".el"))
10892 (sha256
10893 (base32
10894 "105fcrz5qp95f2n3fdm3awr6z58sbrjihjss6qnrg4lz2ggbc328"))))
10895 (build-system emacs-build-system)
10896 (home-page "http://elpa.gnu.org/packages/sml-mode.html")
10897 (synopsis "Major mode for editing (Standard) ML")
10898 (description "SML-MODE is a major Emacs mode for editing Standard ML.
10899It provides syntax highlighting and automatic indentation and
10900comes with sml-proc which allows interaction with an inferior SML
10901interactive loop.")
10902 (license license:gpl3+)))
10903
10904(define-public emacs-eros
10905 (let ((commit "a42e45c9b2397156c684330b0fc90ee0eba773f5")
10906 (revision "1"))
10907 (package
10908 (name "emacs-eros")
10909 (version (string-append "0.0.1" "-" revision "."
10910 (string-take commit 7)))
10911 (source
10912 (origin
10913 (method git-fetch)
10914 (uri (git-reference
10915 (url "https://github.com/xiongtx/eros.git")
10916 (commit commit)))
10917 (file-name (string-append name "-" version "-checkout"))
10918 (sha256
10919 (base32
10920 "0whlsq90v13fz69k3wjrwcwb9gkpfxqjd75mg3nrp85j9nwhb5i4"))))
10921 (build-system emacs-build-system)
10922 (home-page "https://github.com/xiongtx/eros")
10923 (synopsis "Evaluation result overlays")
10924 (description "@code{eros} provides evaluation result overlays.")
10925 (license license:gpl3+))))
10926
10927(define-public emacs-stickyfunc-enhance
10928 (let ((commit "13bdba51fcd83ccbc3267959d23afc94d458dcb0")
10929 (revision "1"))
10930 (package
10931 (name "emacs-stickyfunc-enhance")
10932 (version "0.1")
10933 (source
10934 (origin
10935 (method git-fetch)
10936 (uri (git-reference
10937 (url "https://github.com/tuhdo/semantic-stickyfunc-enhance.git")
10938 (commit commit)))
10939 (file-name (string-append name "-" version "-checkout"))
10940 (sha256
10941 (base32
10942 "16dxjsr5nj20blww4xpd4jzgjprzzh1nwvb810ggdmp9paf4iy0g"))))
10943 (build-system emacs-build-system)
10944 (home-page "https://github.com/tuhdo/semantic-stickyfunc-enhance")
10945 (synopsis "Enhancement to stock @code{semantic-stickyfunc-mode}")
10946 (description
10947 "@code{semantic-stickyfunc-mode} shows the function point is currently
10948in at the first line of the current buffer. This is useful when you have a
10949very long function that spreads more than a screen, and you don't have to
10950scroll up to read the function name and then scroll down to original position.")
10951 (license license:gpl3+))))
10952
10953(define-public emacs-git-auto-commit-mode
10954 (package
10955 (name "emacs-git-auto-commit-mode")
10956 (version "4.4.0")
10957 (source
10958 (origin
10959 (method url-fetch)
10960 (uri (string-append
10961 "https://github.com/ryuslash/git-auto-commit-mode/archive/"
10962 version ".tar.gz"))
10963 (file-name (string-append name "-" version ".tar.gz"))
10964 (sha256
10965 (base32
10966 "04avxmalsl3b7zi2vipfw9rb4wrwysnipsbch96skviql9axk870"))))
10967 (build-system emacs-build-system)
10968 (home-page "https://github.com/ryuslash/git-auto-commit-mode")
10969 (synopsis "Emacs Minor mode to automatically commit and push")
10970 (description "@code{git-auto-commit-mode} is an Emacs minor mode that
10971tries to commit changes to a file after every save.
10972
10973When @code{gac-automatically-push-p} is non-nil, it also tries to push to
10974the current upstream.")
10975 (license license:gpl3+)))
10976
10977(define-public emacs-company-restclient
10978 (package
10979 (name "emacs-company-restclient")
10980 (version "0.1.0")
10981 (source
10982 (origin
10983 (method url-fetch)
10984 (uri (string-append
10985 "https://github.com/iquiw/company-restclient/archive/"
10986 "v" version ".tar.gz"))
10987 (file-name (string-append name "-" version ".tar.gz"))
10988 (sha256
10989 (base32
10990 "1kr3f0wgqlk7r171bvb2kinv7fanwj2md01wdpx04qkgwcr1as00"))))
10991 (build-system emacs-build-system)
10992 (propagated-inputs
10993 `(("emacs-company" ,emacs-company)
10994 ("emacs-know-your-http-well" ,emacs-know-your-http-well)
10995 ("emacs-restclient" ,emacs-restclient)))
10996 (home-page "https://github.com/iquiw/company-restclient")
10997 (synopsis "Company-mode completion back-end for restclient-mode")
10998 (description "@code{company-mode} back-end for
10999@code{restclient-mode}.
11000
11001It provides auto-completion for HTTP methods and headers in
11002@code{restclient-mode}. Completion source is given by
11003@code{know-your-http-well}.")
11004 (license license:gpl3+)))
11005
11006(define-public emacs-noflet
11007 (let ((version "20170629")
11008 (revision "1")
11009 (commit "7ae84dc3257637af7334101456dafe1759c6b68a"))
11010 (package
11011 (name "emacs-noflet")
11012 (version (git-version version revision commit))
11013 (source
11014 (origin
11015 (method git-fetch)
11016 (uri (git-reference
11017 (url "https://github.com/nicferrier/emacs-noflet")
11018 (commit commit)))
11019 (file-name (string-append name "-" version "-checkout"))
11020 (sha256
11021 (base32
11022 "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf"))))
11023 (build-system emacs-build-system)
11024 (arguments
11025 `(#:phases
11026 (modify-phases %standard-phases
11027 (add-after 'unpack 'require-dash
11028 ;; noflet.el uses -map from dash, but (require 'dash) is
11029 ;; missing. So, add it.
11030 (lambda _
11031 (substitute* "noflet.el"
11032 ((";;; Code:") ";;; Code:\n(require 'dash)"))
11033 #t)))))
11034 (propagated-inputs
11035 `(("emacs-dash" ,emacs-dash)))
11036 (home-page "https://github.com/nicferrier/emacs-noflet")
11037 (synopsis "Locally override functions")
11038 (description "@code{emacs-noflet} let's you locally override functions,
11039in the manner of @command{flet}, but with access to the original function
11040through the symbol: @command{this-fn}.")
11041 (license license:gpl3+))))
11042
11043(define-public emacs-dumb-jump
11044 (package
11045 (name "emacs-dumb-jump")
11046 (version "0.5.2")
11047 (source
11048 (origin
11049 (method url-fetch)
11050 (uri (string-append
11051 "https://github.com/jacktasia/dumb-jump/archive/v"
11052 version ".tar.gz"))
11053 (file-name (string-append name "-" version ".tar.gz"))
11054 (sha256
11055 (base32
11056 "07n0xjgpxjpf3vp9gxchkjpydyj0zm166930as0kwiwkhjlsirsf"))))
11057 (build-system emacs-build-system)
11058 (arguments
11059 `(#:tests? #f ; FIXME: Tests freeze when run.
11060 #:test-command '("ert-runner")
11061 #:phases
11062 (modify-phases %standard-phases
11063 (add-after 'unpack 'set-shell
11064 (lambda _
11065 ;; Setting the SHELL environment variable is required for the
11066 ;; tests to find sh.
11067 (setenv "SHELL" (which "sh"))
11068 #t)))))
11069 (native-inputs
11070 `(("emacs-el-mock" ,emacs-el-mock)
11071 ("emacs-noflet" ,emacs-noflet)
11072 ("emacs-undercover" ,emacs-undercover)
11073 ("ert-runner" ,emacs-ert-runner)))
11074 (propagated-inputs
11075 `(("emacs-f" ,emacs-f)
11076 ("emacs-popup" ,emacs-popup)))
11077 (home-page "https://github.com/jacktasia/dumb-jump")
11078 (synopsis "Jump to definition for multiple languages without configuration")
11079 (description "Dumb Jump is an Emacs \"jump to definition\" package with
11080support for multiple programming languages that favors \"just working\" over
11081speed or accuracy. This means minimal --- and ideally zero --- configuration
11082with absolutely no stored indexes (tags) or persistent background processes.
11083Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep
11084@command{rg} installed.")
11085 (license license:gpl3+)))
11086
11087(define-public emacs-dts-mode
11088 (let ((commit "9ee0854446dcc6c53d2b8d2941051768dba50344")
11089 (revision "1"))
11090 (package
11091 (name "emacs-dts-mode")
11092 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
11093 (source
11094 (origin
11095 (method git-fetch)
11096 (uri (git-reference
11097 (url "https://github.com/bgamari/dts-mode.git")
11098 (commit commit)))
11099 (file-name (string-append name "-" version "-checkout"))
11100 (sha256
11101 (base32
11102 "1k8lljdbc90nd29xrhdrsscxavzdq532wq2mg7ljc94krj7538b1"))))
11103 (build-system emacs-build-system)
11104 (home-page "https://github.com/bgamari/dts-mode.git")
11105 (synopsis "Emacs minor mode for editing device tree files")
11106 (description
11107 "This package provides an Emacs minor mode for highlighting
11108device tree files.")
11109 (license license:gpl3+))))
11110
11111(define-public emacs-daemons
11112 (package
11113 (name "emacs-daemons")
11114 (version "2.0.0")
11115 (source
11116 (origin
11117 (method git-fetch)
11118 (uri (git-reference
11119 (url "https://github.com/cbowdon/daemons.el")
11120 (commit version)))
11121 (file-name (string-append name "-" version "-checkout"))
11122 (sha256
11123 (base32
11124 "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"))))
11125 (build-system emacs-build-system)
11126 (home-page "https://github.com/cbowdon/daemons.el")
11127 (synopsis "Emacs UI for managing init system services")
11128 (description
11129 "This is an Emacs mode to give you a UI for managing init system
11130daemons (services) for those getting tired of typing out @code{sudo service
11131my_thing reload} all the time. It offers a consistent UI over different init
11132systems.")
11133 (license license:gpl3+)))
11134
d2f555f5
BL
11135(define-public emacs-isearch+
11136 (let ((commit "95e49af9dbf0254e095a11f115e101b52659520a")
11137 (revision "1"))
11138 (package
11139 (name "emacs-isearch+")
11140 (version (git-version "0" revision commit))
11141 (source
11142 (origin
11143 (method git-fetch)
11144 (uri (git-reference
11145 (url "https://github.com/emacsmirror/isearch-plus.git")
11146 (commit commit)))
11147 (file-name (git-file-name name version))
11148 (sha256
11149 (base32
11150 "0xhd9zgknf4lvzyf4apirpd7spb1hbpzkvys00a7pkmd0vvahk0v"))))
11151 (build-system emacs-build-system)
11152 (home-page "https://www.emacswiki.org/emacs/isearch+.el")
11153 (synopsis "Extensions to @code{isearch.el}")
11154 (description "This package extends @code{isearch} with advice, dynamic
11155filters, highlighting of regexp group levels, and more.")
11156 (license license:gpl2+))))
11157
eeb883cb
RW
11158(define-public emacs-esh-autosuggest
11159 (package
11160 (name "emacs-esh-autosuggest")
11161 (version "2.0.0")
11162 (source
11163 (origin
11164 (method git-fetch)
11165 (uri (git-reference
11166 (url "https://github.com/dieggsy/esh-autosuggest")
11167 (commit version)))
11168 (file-name (string-append name "-" version "-checkout"))
11169 (sha256
11170 (base32
11171 "116pdjgpjy9b0psm5kzwkwy7dq8vn0p6dy75dl1zsy2xrjf1iqdw"))))
11172 (build-system emacs-build-system)
11173 (propagated-inputs `(("emacs-company" ,emacs-company)))
11174 (home-page "https://github.com/dieggsy/esh-autosuggest")
11175 (synopsis "Fish-like autosuggestions in Eshell")
11176 (description
11177 "This package assumes you use something other than company for eshell
11178completion (e.g. @code{eshell-pcomplete}, @code{completion-at-point},
11179@code{helm-esh-pcomplete}). @code{company-mode} is used solely as a mechanism
11180for history autosuggestions.
11181
11182Unless you're using @code{use-package}'s hook keyword, you can enable the
11183autosuggestions with:
11184@code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}")
11185 (license license:gpl3+)))
11186
11187(define-public emacs-desktop-environment
b8f92427
PN
11188 (let ((commit "a9eba14f2b5b8070f78dca839ca8259736e346a6"))
11189 (package
11190 (name "emacs-desktop-environment")
11191 (version (git-version "0.2.0" "1" commit))
11192 (source
11193 (origin
11194 (method git-fetch)
11195 (uri (git-reference
11196 (url "https://gitlab.petton.fr/DamienCassou/desktop-environment")
11197 (commit commit)))
11198 (file-name (string-append name "-" version "-checkout"))
11199 (sha256
11200 (base32
11201 "0x73x5hy7w55jrzy3xvqhk90rrsznmxjqvsvwhh21qznv5w269xz"))))
11202 (build-system emacs-build-system)
11203 (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
11204 (synopsis "Control your GNU/Linux desktop environment from Emacs")
11205 (description
11206 "This package helps you control your GNU/Linux desktop from Emacs.
eeb883cb
RW
11207With @code{desktop-environment}, you can control the brightness and volume as
11208well as take screenshots and lock your screen. The package depends on the
11209availability of shell commands to do the hard work for us. These commands can
11210be changed by customizing the appropriate variables.")
b8f92427 11211 (license license:gpl3+))))
eeb883cb
RW
11212
11213(define-public emacs-org-caldav
11214 (package
11215 (name "emacs-org-caldav")
11216 (version "20180403")
11217 (source
11218 (origin
11219 (method url-fetch)
11220 (uri (string-append
11221 "https://github.com/dengste/org-caldav/raw/"
11222 "8d3492c27a09f437d2d94f2736c56d7652e87aa0"
11223 "/org-caldav.el"))
11224 (sha256
11225 (base32
11226 "1fh4gh68ddj0is99z2ccyh97v6psnyda61n2dsadzqhcxn51amlc"))))
11227 (build-system emacs-build-system)
11228 (propagated-inputs `(("emacs-org" ,emacs-org)))
11229 (home-page "https://github.com/dengste/org-caldav")
11230 (synopsis
11231 "Sync Org files with external calendars via the CalDAV protocol")
11232 (description
11233 "Synchronize between events in Org-mode files and a CalDAV calendar.
11234This code is still alpha.")
11235 (license license:gpl3+)))
11236
11237(define-public emacs-zotxt
11238 (package
11239 (name "emacs-zotxt")
11240 (version "20180518")
11241 (source
11242 (origin
11243 (method url-fetch)
11244 (uri (string-append
11245 "https://github.com/egh/zotxt-emacs/archive/"
11246 "23a4a9f74a658222027d53a9a83cd4bcc583ca8b"
11247 ".tar.gz"))
11248 (sha256
11249 (base32
11250 "1qlibaciqgsva6fc7vv9krssjq00bi880396jk7llbi3c52q9n1y"))))
11251 (build-system emacs-build-system)
11252 (propagated-inputs
11253 `(("emacs-deferred" ,emacs-deferred)
11254 ("emacs-request" ,emacs-request)))
11255 (home-page "https://github.com/egh/zotxt-emacs")
11256 (synopsis "Integrate Emacs with Zotero")
11257 (description "This package provides two integration features between Emacs
11258and the Zotero research assistant: Insertion of links to Zotero items into an
11259Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
11260 (license license:gpl3+)))
11261
11262(define-public emacs-evil-ediff
11263 ;; Evil-Ediff is included in Evil Collection from 20180617.
11264 (deprecated-package "emacs-evil-ediff" emacs-evil-collection))
11265
11266(define-public emacs-evil-magit
3499638e 11267 (let ((commit "e2fec5877994c0c19f0c25fa01f3d22cb0ab38ba"))
eeb883cb
RW
11268 (package
11269 (name "emacs-evil-magit")
3499638e 11270 (version (git-version "0.4.2" "2" commit))
eeb883cb
RW
11271 (source
11272 (origin
11273 (method git-fetch)
11274 (uri (git-reference
11275 (url "https://github.com/emacs-evil/evil-magit")
11276 (commit commit)))
11277 (file-name (string-append name "-" version "-checkout"))
11278 (sha256
11279 (base32
3499638e 11280 "134v7s03jvbhm70mavwab85r09i68g2a5bvriirh0chz1av2y16v"))))
eeb883cb
RW
11281 (build-system emacs-build-system)
11282 (propagated-inputs
11283 `(("emacs-evil" ,emacs-evil)
11284 ("magit" ,emacs-magit)))
11285 (home-page
11286 "https://github.com/emacs-evil/evil-magit")
11287 (synopsis "Evil-based key bindings for Magit")
11288 (description
11289 "This Emacs library configures Magit and Evil to play well with each other.
11290For some background see @url{https://github.com/magit/evil-magit/issues/1}.
11291See the README at @url{https://github.com/justbur/evil-magit} for a table
11292describing the key binding changes.")
11293 (license license:gpl3+))))
11294
11295(define-public emacs-evil-mu4e
11296 ;; Evil-mu4e is included in Evil Collection from 20180617.
11297 (deprecated-package "emacs-evil-mu4e" emacs-evil-collection))
11298
11299(define-public emacs-evil-multiedit
11300 (package
11301 (name "emacs-evil-multiedit")
11302 (version "1.3.9")
11303 (source
11304 (origin
11305 (method git-fetch)
11306 (uri (git-reference
11307 (url "https://github.com/hlissner/evil-multiedit")
11308 (commit (string-append "v" version))))
11309 (file-name (string-append name "-" version "-checkout"))
11310 (sha256
11311 (base32
11312 "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"))))
11313 (build-system emacs-build-system)
11314 (propagated-inputs
11315 `(("emacs-evil" ,emacs-evil)
11316 ("emacs-iedit" ,emacs-iedit)))
11317 (home-page
11318 "https://github.com/hlissner/evil-multiedit")
11319 (synopsis "Multiple cursors for Evil mode")
11320 (description
11321 "This plugin was an answer to the lack of proper multiple cursor support
11322in Emacs+Evil. It allows you to select and edit matches interactively,
11323integrating @code{iedit-mode} into Evil mode with an attempt at sensible
11324defaults.")
11325 (license license:gpl3+)))
11326
11327(define-public emacs-evil-org
11328 (let ((commit "b6d652a9163d3430a9e0933a554bdbee5244bbf6"))
11329 (package
11330 (name "emacs-evil-org")
11331 (version (git-version "0.1.1" "1" commit))
11332 (source
11333 (origin
11334 (method git-fetch)
11335 (uri (git-reference
11336 (url "https://github.com/Somelauw/evil-org-mode")
11337 (commit commit)))
11338 (file-name (string-append name "-" version "-checkout"))
11339 (sha256
11340 (base32
11341 "176hrw7y7nczffbyhsa167b8rvfacsmcafm2gpkrdjqlrikbmrhl"))))
11342 (build-system emacs-build-system)
11343 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
11344 (home-page
11345 "https://github.com/Somelauw/evil-org-mode")
11346 (synopsis "Evil keybindings for Org mode")
11347 (description
11348 "This package adds supplemental Evil mode key-bindings to Emacs
11349Org-mode. It features:
11350@itemize
11351@item normal, visual and insert mode bindings;
11352@item key bindings organised in key themes;
11353@item operators like > and < to work on headings;
11354@item text objects;
11355@item table support;
11356@item calendar (date selection) support;
11357@item agenda support.
11358@end itemize\n")
11359 (license license:gpl3+))))
11360
11361(define-public emacs-fish-completion
674d180c
PN
11362 (package
11363 (name "emacs-fish-completion")
11364 (version "1.0")
11365 (source
11366 (origin
11367 (method url-fetch)
11368 (uri (string-append
11369 "https://gitlab.com/Ambrevar/emacs-fish-completion/repository/"
11370 "archive.tar.gz?ref="
11371 version))
11372 (sha256
11373 (base32
11374 "1hpma1c5j50ja03ibr7h1xmyv7k8j3rbvqivad47kwqhlsgw0jk0"))))
11375 (build-system emacs-build-system)
11376 (inputs `(("fish" ,fish)))
11377 (arguments
11378 `(#:phases
11379 (modify-phases %standard-phases
11380 (add-after 'unpack 'configure
11381 (lambda* (#:key inputs outputs #:allow-other-keys)
11382 (let ((fish (assoc-ref inputs "fish")))
11383 ;; Specify the absolute file names of the various
11384 ;; programs so that everything works out-of-the-box.
11385 (emacs-substitute-variables
11386 "fish-completion.el"
11387 ("fish-completion-command"
11388 (string-append fish "/bin/fish")))))))))
11389 (home-page
11390 "https://gitlab.com/Ambrevar/emacs-fish-completion")
11391 (synopsis "Fish completion for Emacs pcomplete")
11392 (description
11393 "This package provides completion for the Fish shell to pcomplete (used
eeb883cb
RW
11394by shell and Eshell). You can set it up globally with:
11395
11396@example
11397(when (and (executable-find \"fish\")
11398 (require 'fish-completion nil t))
11399 (global-fish-completion-mode))
11400@end example
11401
11402Alternatively, you can call the @code{fish-completion-mode} manually or in
11403shell/Eshell mode hook.
11404
11405The package @code{emacs-bash-completion} is an optional dependency: if available,
11406@code{fish-completion-complete} can be configured to fall back on bash to further
11407try completing. See @code{fish-completion-fallback-on-bash-p}.")
674d180c 11408 (license license:gpl3+)))
eeb883cb
RW
11409
11410(define-public emacs-gif-screencast
11411 (let ((commit "12b25442b97b84abae74ecb5190a9d14ff7cfe5a"))
11412 (package
11413 (name "emacs-gif-screencast")
11414 (version (git-version "20180616" "1" commit))
11415 (source
11416 (origin
11417 (method url-fetch)
11418 (uri (string-append
11419 "https://gitlab.com/Ambrevar/emacs-gif-screencast/"
11420 "repository/archive.tar.gz?ref="
11421 commit))
11422 (sha256
11423 (base32
11424 "0lc457i78xjkn5idr2aaiadkh76zcsksj84z0qh80a9y775syrgh"))))
11425 (build-system emacs-build-system)
11426 (inputs
11427 `(("scrot" ,scrot)
11428 ("imagemagick" ,imagemagick)
11429 ("gifsicle" ,gifsicle)))
11430 (arguments
11431 `(#:phases
11432 (modify-phases %standard-phases
11433 (add-after 'unpack 'configure
11434 (lambda* (#:key inputs outputs #:allow-other-keys)
11435 (let ((scrot (assoc-ref inputs "scrot"))
11436 (imagemagick (assoc-ref inputs "imagemagick"))
11437 (gifsicle (assoc-ref inputs "gifsicle")))
11438 ;; Specify the absolute file names of the various
11439 ;; programs so that everything works out-of-the-box.
11440 (emacs-substitute-variables
11441 "gif-screencast.el"
11442 ("gif-screencast-program"
11443 (string-append scrot "/bin/scrot"))
11444 ("gif-screencast-convert-program"
11445 (string-append imagemagick "/bin/convert"))
11446 ("gif-screencast-cropping-program"
11447 (string-append imagemagick "/bin/mogrify"))
11448 ("gif-screencast-optimize-program"
11449 (string-append imagemagick "/bin/gifsicle")))))))))
11450 (home-page
11451 "https://gitlab.com/Ambrevar/emacs-gif-screencast")
11452 (synopsis "One-frame-per-action GIF recording")
11453 (description
11454 "Call @code{gif-screencast} to start a recording.
11455A screenshot is taken for every user action. Call
11456@code{gif-screencast-stop} (<f9> by default) to finish recording and create
11457the GIF result.")
11458 (license license:gpl3+))))
11459
11460(define-public emacs-google-translate
11461 (package
11462 (name "emacs-google-translate")
11463 (version "0.11.16")
11464 (source
11465 (origin
11466 (method url-fetch)
11467 (uri (string-append "https://github.com/atykhonov/google-translate/"
11468 "archive/v" version ".tar.gz"))
11469 (file-name (string-append name "-" version ".tar.gz"))
11470 (sha256
11471 (base32
11472 "01n9spj1d0gjfj39x526rl3m9c28wnx9afipmf5s8y77cx3mfwhl"))))
11473 (build-system emacs-build-system)
11474 (home-page "https://github.com/atykhonov/google-translate")
11475 (synopsis "Emacs interface to Google Translate")
11476 (description
11477 "This packages provides an Emacs interface to the Google Translate
11478on-line service.")
11479 (license license:gpl3+)))
11480
11481(define-public emacs-helm-company
11482 (let ((commit "d3fc093a0e833b4dee6561c00d6df3d62aa50f3f"))
11483 (package
11484 (name "emacs-helm-company")
11485 (version (git-version "0.2.3" "1" commit))
11486 (source
11487 (origin
11488 (method git-fetch)
11489 (uri (git-reference
11490 (url "https://github.com/Sodel-the-Vociferous/helm-company")
11491 (commit commit)))
11492 (file-name (string-append name "-" version "-checkout"))
11493 (sha256
11494 (base32
11495 "1ciirsanhajdqm5iwl8k9ywf4jha1wdv4sc4d9kslyrfr9zn4q6k"))))
11496 (build-system emacs-build-system)
11497 (propagated-inputs
11498 `(("emacs-helm" ,emacs-helm)
11499 ("emacs-company" ,emacs-company)))
11500 (home-page "https://github.com/Sodel-the-Vociferous/helm-company")
11501 (synopsis "Helm interface for company-mode")
11502 (description
11503 "This is a Helm interface to company-mode, a text completion
11504framework.")
11505 (license license:gpl3+))))
11506
11507(define-public emacs-helm-descbinds
11508 (let ((commit "033be73f21778633813264ce1634a6e1ad873d8e"))
11509 (package
11510 (name "emacs-helm-descbinds")
11511 (version (git-version "1.13" "1" commit))
11512 (source
11513 (origin
11514 (method git-fetch)
11515 (uri (git-reference
11516 (url "https://github.com/emacs-helm/helm-descbinds")
11517 (commit commit)))
11518 (file-name (string-append name "-" version "-checkout"))
11519 (sha256
11520 (base32
11521 "1n89p56qwa243w1c85i5awnaf7piwjsvfi7nmnsrwm33hix5dknk"))))
11522 (build-system emacs-build-system)
11523 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
11524 (home-page "https://github.com/emacs-helm/helm-descbinds")
11525 (synopsis "Convenient @code{describe-bindings} with Helm")
11526 (description
11527 "This package is a replacement of @code{describe-bindings} for Helm.
11528@code{describe-bindings} is replaced with @code{helm-descbinds}. As usual,
11529type @code{C-h b}, or any incomplete key sequence plus @code{C-h}, to run
11530@code{helm-descbinds}. The bindings are presented in a similar way as
11531@code{describe-bindings} does, but you can use completion to find the command
11532you searched for and execute it, or view its documentation.")
11533 (license license:gpl3+))))
11534
11535(define-public emacs-helm-emms
b6fd7f50 11536 (let ((commit "b785cb845a98a643eba9d5d53c9c0b4e6810a3cd"))
eeb883cb
RW
11537 (package
11538 (name "emacs-helm-emms")
b6fd7f50 11539 (version (git-version "1.3" "2" commit))
eeb883cb
RW
11540 (source
11541 (origin
11542 (method git-fetch)
11543 (uri (git-reference
11544 (url "https://github.com/emacs-helm/helm-emms")
11545 (commit commit)))
11546 (file-name (string-append name "-" version "-checkout"))
11547 (sha256
11548 (base32
b6fd7f50 11549 "1595r09y3rmwd46nnhvjja3hb8j2ila295ijxv61cg52ws4wginh"))))
eeb883cb
RW
11550 (build-system emacs-build-system)
11551 (propagated-inputs
11552 `(("emacs-helm" ,emacs-helm)
11553 ("emacs-emms" ,emacs-emms)))
11554 (home-page
11555 "https://github.com/emacs-helm/helm-emms")
11556 (synopsis "Emms for Helm")
11557 (description "Helm interface for Emms to browse all tracks and all folders
11558from @code{emms-source-file-default-directory}.")
11559 (license license:gpl3+))))
11560
11561(define-public emacs-helm-exwm
11562 (let ((commit "56266f261ba3b3d2753b374b50da20eb768c06f5"))
11563 (package
11564 (name "emacs-helm-exwm")
11565 (version (git-version "20180703" "2" commit))
11566 (source
11567 (origin
11568 (method url-fetch)
11569 (uri (string-append
11570 "https://github.com/emacs-helm/helm-exwm/archive/"
11571 commit
11572 ".tar.gz"))
11573 (sha256
11574 (base32
11575 "0n7hdiajw5vxl8ha2r9r4cl4i7crza25348825wb6acwhhzijxcj"))))
11576 (build-system emacs-build-system)
11577 (propagated-inputs
11578 `(("emacs-helm" ,emacs-helm)
11579 ("emacs-exwm" ,emacs-exwm)))
11580 (home-page
11581 "https://github.com/emacs-helm/helm-exwm")
11582 (synopsis "Helm for EXWM buffers")
11583 (description
11584 "@code{helm-exwm} runs a Helm session over the list of EXWM buffers.
11585@code{helm-exwm-switch} is a convenience X application launcher using Helm to
11586switch between the various windows of one or several specific applications.
11587See @code{helm-exwm-switch-browser} for an example.")
11588 (license license:gpl3+))))
11589
11590(define-public emacs-helm-flycheck
11591 (let ((commit "3cf7d3bb194acacc6395f88360588013d92675d6"))
11592 (package
11593 (name "emacs-helm-flycheck")
11594 (version (git-version "0.4" "1" commit))
11595 (source
11596 (origin
11597 (method git-fetch)
11598 (uri (git-reference
11599 (url "https://github.com/yasuyk/helm-flycheck")
11600 (commit commit)))
11601 (file-name (string-append name "-" version "-checkout"))
11602 (sha256
11603 (base32
11604 "1a2yfxhz04klwhcandqvfzysxp6b7bxyxx1xk1x3kds5hif5fkl4"))))
11605 (build-system emacs-build-system)
11606 (propagated-inputs
11607 `(("emacs-dash" ,emacs-dash)
11608 ("emacs-flycheck" ,emacs-flycheck)
11609 ("emacs-helm" ,emacs-helm)))
11610 (home-page "https://github.com/yasuyk/helm-flycheck")
11611 (synopsis "Show Flycheck errors with Helm")
11612 (description
11613 "This integrates Flycheck with Helm.")
11614 (license license:gpl3+))))
11615
11616(define-public emacs-helm-ls-git
11617 (let ((commit "76654c776a7f6e2e5290645e748aac2a746f7daa"))
11618 (package
11619 (name "emacs-helm-ls-git")
11620 (version (git-version "1.9.1" "1" commit))
11621 (source
11622 (origin
11623 (method git-fetch)
11624 (uri (git-reference
11625 (url "https://github.com/emacs-helm/helm-ls-git")
11626 (commit commit)))
11627 (file-name (string-append name "-" version "-checkout"))
11628 (sha256
11629 (base32
11630 "0vsq1n3xl3ghy5zik2scm7jrs501n4kybdqd6yw6j0cv4jxdqbr0"))))
11631 (build-system emacs-build-system)
11632 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
11633 (home-page "https://github.com/emacs-helm/helm-ls-git")
11634 (synopsis "Helm interface for listing the files in a Git repository")
11635 (description
11636 "This package provides a Helm interface for Git files.
11637@itemize
11638@item Display the open buffers in project.
11639@item Display a status source showing state of project (modified files etc.).
11640@item Display a list of all files in project under git control.
11641@item Quickly look at diffs of modified files.
11642@item Allow switching to @code{git status} with your preferred frontend
11643(vc-dir, Magit,etc.).
11644@item Full integration of git-grep, also allow usage of @code{helm-grep} (you
11645can use ack-grep instead of grep).
11646@item Integrate usage of gid from id-utils.
11647@item Full integration with @code{helm-find-files}, allow you to browse
11648projects unrelated to current-buffer.
11649@item In addition, all actions of type files and buffers are provided.
11650@end itemize\n")
11651 (license license:gpl3+))))
11652
11653(define-public emacs-helm-mu
11654 (let ((commit "77e6fea24e01481418738421dbcfe28ef1bd63cf"))
11655 (package
11656 (name "emacs-helm-mu")
11657 (version (git-version "20180513" "1" commit))
11658 (source
11659 (origin
11660 (method url-fetch)
11661 (uri (string-append
11662 "https://github.com/emacs-helm/helm-mu/archive/"
11663 commit
11664 ".tar.gz"))
11665 (sha256
11666 (base32
11667 "0qm4xi3i957scm50nar398pv4x8y03si10l77jb9ckjaviyq2hj9"))))
11668 (build-system emacs-build-system)
11669 (propagated-inputs
11670 `(("emacs-helm" ,emacs-helm)
11671 ("mu" ,mu)))
11672 (home-page
11673 "https://github.com/emacs-helm/helm-mu")
11674 (synopsis
11675 "Helm sources for searching emails and contacts")
11676 (description
11677 "Helm sources for searching emails and contacts using @code{mu} and
11678@code{mu4e}. Mu is an indexer for maildirs and mu4e is a mutt-like MUA for
11679Emacs build on top of mu. Mu is highly efficient making it possible to get
11680instant results even for huge maildirs. It also provides search operators,
11681e.g: @code{from:Peter to:Anne flag:attach search term}.")
11682 (license license:gpl3+))))
11683
11684(define-public emacs-helm-pass
11685 (let ((commit "ebcbef1a962795a36e3491ae926e2a4b8a8b0ebb"))
11686 (package
11687 (name "emacs-helm-pass")
11688 (version (git-version "20180416" "1" commit))
11689 (source
11690 (origin
11691 (method url-fetch)
11692 (uri (string-append
11693 "https://github.com/jabranham/helm-pass/archive/"
11694 commit
11695 ".tar.gz"))
11696 (sha256
11697 (base32
11698 "1pgq4hj9wvz7z2fyxwsvbh6rmc1akya84v382nx26rr76iavz6wi"))))
11699 (build-system emacs-build-system)
11700 (propagated-inputs
11701 `(("emacs-helm" ,emacs-helm)
11702 ("emacs-password-store" ,emacs-password-store)))
11703 (home-page
11704 "https://github.com/jabranham/helm-pass")
11705 (synopsis "Helm interface to pass, the standard Unix password manager")
11706 (description
11707 "Users of @code{helm-pass} may also be interested in functionality
11708provided by other Emacs packages dealing with pass:
11709@itemize
11710@item @code{emacs-password-store}, which @code{helm-pass} relies on.
11711@item @code{emacs-pass}, a major mode for @code{pass}.
11712@item @code{auth-source-pass.el}: integration of Emacs' auth-source with
11713@code{pass}, included in Emacs 26+).
11714@end itemize\n")
11715 (license license:gpl3+))))
11716
11717(define-public emacs-image+
11718 (let ((commit "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc"))
11719 (package
11720 (name "emacs-image+")
11721 (version (git-version "0.6.2" "1" commit))
11722 (source
11723 (origin
11724 (method git-fetch)
11725 (uri (git-reference
11726 (url "https://github.com/mhayashi1120/Emacs-imagex")
11727 (commit commit)))
11728 (file-name (string-append name "-" version "-checkout"))
11729 (sha256
11730 (base32
11731 "0v66wk9nh0raih4jhrzmmyi5lbysjnmbv791vm2230ffi2hmwxnd"))))
11732 (build-system emacs-build-system)
11733 (inputs `(("imagemagick" ,imagemagick)))
11734 (arguments
11735 `(#:phases
11736 (modify-phases %standard-phases
11737 (add-after 'unpack 'configure
11738 (lambda* (#:key inputs outputs #:allow-other-keys)
11739 (let ((imagemagick (assoc-ref inputs "imagemagick")))
11740 ;; Specify the absolute file names of the various
11741 ;; programs so that everything works out-of-the-box.
11742 (chmod "image+.el" #o666)
11743 (emacs-substitute-variables
11744 "image+.el"
11745 ("imagex-convert-command"
11746 (string-append imagemagick "/bin/convert"))
11747 ("imagex-identify-command"
11748 (string-append imagemagick "/bin/identify")))))))))
11749 (home-page "https://github.com/mhayashi1120/Emacs-imagex")
11750 (synopsis "Image manipulation extensions for Emacs")
11751 (description
11752 "Image+ provides keybindings allowing you to zoom in or zoom out of an
11753image, rotate it, save modified images, and more.")
11754 (license license:gpl3+))))
11755
11756(define-public emacs-package-lint
11757 (let ((commit "69bb89d00ba212b734c676ad056aa793c450b288"))
11758 (package
11759 (name "emacs-package-lint")
11760 (version (git-version "0.5" "1" commit))
11761 (source
11762 (origin
11763 (method git-fetch)
11764 (uri (git-reference
11765 (url "https://github.com/purcell/package-lint")
11766 (commit commit)))
11767 (file-name (string-append name "-" version "-checkout"))
11768 (sha256
11769 (base32
11770 "1hfricsgmy3x9snnd2p4xq6vnnv94qdsxxnxp07b3hqc9bhw31rq"))))
11771 (build-system emacs-build-system)
11772 (home-page "https://github.com/purcell/package-lint")
11773 (synopsis "Linting library for elisp package authors")
11774 (description
11775 "This provides a list of issues with the Emacs package metadata of a file,
11776e.g. the package dependencies it requires. See function
11777@code{package-lint-buffer}. Checks will currently be enabled only if a
11778\"Package-Requires:\" or \"Package-Version:\" header is present in the
11779file.")
11780 (license license:gpl3+))))
11781
11782(define-public emacs-picpocket
11783 (let ((version "40")
11784 (commit "6fd88b8711c4370662c0f9c462170187d092a046"))
11785 (package
11786 (name "emacs-picpocket")
11787 (version version)
11788 (source
11789 (origin
11790 (method git-fetch)
11791 (uri (git-reference
11792 (url "https://github.com/johanclaesson/picpocket")
11793 (commit commit)))
11794 (file-name (git-file-name name version))
11795 (sha256
11796 (base32 "1mdzzxf7xm7zwrpnqqxa27d1cr31pd72d7ilbwljv13qp177a3yw"))))
11797 (build-system emacs-build-system)
11798 (arguments ; needed for running tests
11799 `(#:tests? #t
11800 #:emacs ,emacs
11801 #:test-command '("emacs" "--batch"
11802 "-l" "picpocket-test.el"
11803 "-f" "ert-run-tests-batch-and-exit")))
11804 (home-page "https://github.com/johanclaesson/picpocket")
11805 (synopsis "Image viewer for Emacs")
11806 (description
11807 "Picpocket is an image viewer for GNU Emacs. It has commands for:
11808
11809@itemize
11810@item File operations on the picture files (delete, move, copy, hardlink).
11811@item Scale and rotate the picture.
11812@item Associate pictures with tags which are saved to disk.
11813@item Filter pictures according to tags.
11814@item Customizing keystrokes for quick tagging and file operations.
11815@item Undo and browse history of undoable commands.
11816@end itemize")
11817 (license license:gpl3+))))
11818
11819(define-public emacs-wgrep-helm
11820 ;; `emacs-wgrep-helm' was mistakenly added.
11821 (deprecated-package "emacs-wgrep-helm" emacs-wgrep))
11822
11823(define-public emacs-mu4e-conversation
11824 (let ((commit "e7d4bfcb0d392b0aed1f705ccac2419a168d1f5e"))
11825 (package
11826 (name "emacs-mu4e-conversation")
11827 (version (git-version "20181126" "4" commit))
11828 (source
11829 (origin
11830 (method url-fetch)
11831 (uri (string-append
11832 "https://gitlab.com/Ambrevar/mu4e-conversation/"
11833 "repository/archive.tar.gz?ref="
11834 commit))
11835 (file-name (string-append name "-" version "-checkout"))
11836 (sha256
11837 (base32
11838 "0b52hf9rm2afba9pvgink9bwqm705sk0y5qikp0ff5sk53wqvy29"))))
11839 (build-system emacs-build-system)
11840 (propagated-inputs
11841 `(("mu" ,mu)))
11842 (home-page
11843 "https://gitlab.com/Ambrevar/mu4e-conversation")
11844 (synopsis
11845 "Show a complete thread in a single buffer")
11846 (description
11847 "This package offers an alternate view to mu4e's e-mail display. It
11848shows all e-mails of a thread in a single view, where each correspondent has
11849their own face. Threads can be displayed linearly (in which case e-mails are
11850displayed in chronological order) or as an Org document where the node tree
11851maps the thread tree.")
11852 (license license:gpl3+))))
11853
11854(define-public emacs-pinentry
11855 (let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
11856 (revision "1"))
11857 (package
11858 (name "emacs-pinentry")
11859 (version (git-version "0.1" revision commit))
11860 (source
11861 (origin
11862 (method url-fetch)
11863 (uri (string-append
11864 "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain"
11865 "/packages/pinentry/pinentry.el?id=" commit))
11866 (file-name (string-append "pinentry.el"))
11867 (sha256
11868 (base32
11869 "1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
11870 (build-system emacs-build-system)
11871 (propagated-inputs
11872 `(("gnupg" ,gnupg)))
11873 (home-page "https://elpa.gnu.org/packages/pinentry.html")
11874 (synopsis "GnuPG Pinentry server implementation")
11875 (description
11876 "This package allows GnuPG passphrase to be prompted through the
11877minibuffer instead of graphical dialog.
11878
11879To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
11880reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
11881server with @code{M-x pinentry-start}.")
11882 (license license:gpl3+))))
11883
11884(define-public emacs-org-brain
11885 (package
11886 (name "emacs-org-brain")
11887 (version "0.5")
11888 (source
11889 (origin
11890 (method git-fetch)
11891 (uri (git-reference
11892 (url "https://github.com/Kungsgeten/org-brain.git")
11893 (commit "3faf9303af3f2356e3444e69c22dc6c5774047d1")))
11894 (file-name (git-file-name name version))
11895 (sha256
11896 (base32
11897 "1ad681zk6kckw2zbk0r4iaj4bw8cfqrbd1s3gdwgdjlzq81q9mmj"))))
11898 (build-system emacs-build-system)
11899 (home-page "https://github.com/Kungsgeten/org-brain")
11900 (synopsis "Org-mode wiki and concept-mapping for Emacs")
11901 (description "@code{emacs-org-brain} implements a variant of concept
11902mapping in Emacs, using @code{org-mode}. An org-brain is a network of
11903org-mode entries, where each entry is a file or a headline, and you can get a
11904visual overview of the relationships between the entries: parents, children,
11905siblings and friends. This visual overview can also be used to browse your
11906entries. You can think of entries as nodes in a mind map, or pages in a
11907wiki.")
11908 (license license:expat)))
11909
11910(define-public emacs-recent-addresses
11911 (let ((commit "afbbfdc43b81e620acf827ca20d297e0c517b6eb")
11912 (revision "1"))
11913 (package
11914 (name "emacs-recent-addresses")
11915 (home-page "http://nschum.de/src/emacs/recent-addresses/")
11916 (version (git-version "0.1" revision commit))
11917 (source (origin
11918 (method git-fetch)
11919 (uri (git-reference
11920 ;; Note: Use a branch that works with Helm. Submitted
11921 ;; at <https://github.com/nschum/recent-addresses.el/pull/1>.
11922 (url "https://github.com/civodul/recent-addresses.el")
11923 (commit commit)))
11924 (sha256
11925 (base32
11926 "0ajrq0galjmdyjdjyxazykjyax3gh6hvfk4s7l657pi11g0q5zax"))
11927 (file-name (git-file-name name version))))
11928 (build-system emacs-build-system)
11929 (synopsis "Record recently-used email addressed and auto-complete them")
11930 (description
11931 "@code{recent-addresses} is an Emacs package that allows you to quickly
11932look up previously used email addresses. It can be used alongside the Gnus
11933email client.")
11934 (license license:gpl2+))))
11935
11936(define-public emacs-fold-dwim
11937 (let ((commit "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b")
11938 (revision "0"))
11939 (package
11940 (name "emacs-fold-dwim")
11941 (version (git-version "1.2" revision commit))
11942 (home-page "https://github.com/emacsattic/fold-dwim")
11943 (source (origin
11944 (method git-fetch)
11945 (uri (git-reference (url home-page) (commit commit)))
11946 (sha256
11947 (base32
11948 "1yz1wis31asw6xa5maliyd1ck2q02xnnh7dc6swgj9cb4wi7k6i1"))
11949 (file-name (git-file-name name version))))
11950 (build-system emacs-build-system)
11951 (synopsis "Unified user interface for Emacs folding modes")
11952 (description
11953 "DWIM stands for \"do what I mean\", as in the idea that one keystroke
11954can do different things depending on the context. In this package, it means
11955that, if the cursor is in a currently hidden folded construction, we want to
11956show it; if it's not, we want to hide whatever fold the cursor is in.")
11957 (license license:gpl2+))))
11958
11959(define-public emacs-markup-faces
11960 (package
11961 (name "emacs-markup-faces")
11962 (version "1.0.0")
11963 (source
11964 (origin
11965 (method url-fetch)
11966 (uri (string-append "https://stable.melpa.org/packages/markup-faces-"
11967 version ".el"))
11968 (sha256
11969 (base32
11970 "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32"))))
11971 (build-system emacs-build-system)
11972 (home-page "https://github.com/sensorflo/markup-faces")
11973 (synopsis "Collection of Emacs faces for markup language modes")
11974 (description "emacs-markup-faces is like font-lock-faces, but tailored for
11975markup languages instead programming languages. The sub group markup-faces-text
11976is also intended for 'text viewing modes' such as info or (wo)man. This gives a
11977common look and feel, or let's say theme, across different markup language modes
11978and 'text viewing modes' respectively.")
11979 (license license:gpl3+)))
11980
11981(define-public emacs-adoc-mode
11982 (package
11983 (name "emacs-adoc-mode")
11984 (version "0.6.6")
11985 (source
11986 (origin
11987 (method url-fetch)
11988 (uri (string-append "https://stable.melpa.org/packages/adoc-mode-"
11989 version ".el"))
11990 (sha256
11991 (base32
11992 "1c6hrgxxsnl2c19rgjykpm7r4xg9lp6bmk5z6bi7g8pqlrgwffcy"))))
11993 (build-system emacs-build-system)
11994 (propagated-inputs
11995 `(("emacs-markup-faces" ,emacs-markup-faces)))
11996 (home-page "https://github.com/sensorflo/adoc-mode/wiki")
11997 (synopsis "AsciiDoc mode for Emacs")
11998 (description "This package provides an Emacs major mode for editing AsciiDoc
11999files. It focuses on highlighting the document to improve readability.")
12000 (license license:gpl2+)))
12001
12002(define-public emacs-rust-mode
12003 (let ((commit
12004 ;; Last release is old (2016), use more recent commit to get bug
12005 ;; fixes.
12006 "64b4a2450e4d4c47f6307851c9b2598cd2254d68")
12007 (revision "0"))
12008 (package
12009 (name "emacs-rust-mode")
12010 (version (git-version "0.3.0" revision commit))
12011 (source (origin
12012 (method git-fetch)
12013 (uri
12014 (git-reference
12015 (url "https://github.com/rust-lang/rust-mode")
12016 (commit commit)))
12017 (file-name (git-file-name name version))
12018 (sha256
12019 (base32
12020 "0pbz36lljgb7bdgx3h3g0pq1nss1kvn8mhk1l3mknsmynd6w4nd8"))))
12021 (build-system emacs-build-system)
12022 (arguments
12023 `(#:phases
12024 (modify-phases %standard-phases
12025 (replace 'check
12026 (lambda _
12027 (invoke "sh" "run_rust_emacs_tests.sh"))))))
12028 (home-page "https://github.com/rust-lang/rust-mode")
12029 (synopsis "Major Emacs mode for editing Rust source code")
12030 (description "This package provides a major Emacs mode for editing Rust
12031source code.")
12032 (license (list license:expat
12033 license:asl2.0)))))
12034
12035(define-public emacs-ztree
12036 (let ((commit "c54425a094353ec40a8179f9eab3596f76c6cf94"))
12037 (package
12038 (name "emacs-ztree")
12039 (version (git-version "1.0.5" "1" commit))
12040 (source
12041 (origin
12042 (method git-fetch)
12043 (uri (git-reference
12044 (url "https://github.com/fourier/ztree")
12045 (commit commit)))
12046 (file-name (git-file-name name version))
12047 (sha256
12048 (base32
12049 "0j8fpxds8m1zi04nrs8vv21091abvh4n8ab76f1sgdxnp4l5cfb0"))))
12050 (build-system emacs-build-system)
12051 (home-page "https://github.com/fourier/ztree")
12052 (synopsis "Directory tree comparison mode for Emacs")
12053 (description "Ztree is a project dedicated to implementation of several
12054text-tree applications inside GNU Emacs. It consists of 2 subprojects:
12055@command{ztree-diff} and @command{ztree-dir} (the basis of
12056@command{ztree-diff}).")
12057 (license license:gpl3))))
12058
12059(define-public emacs-helm-org-contacts
12060 (let ((commit "0af703bd9a43032b89fdf5559673151d1ac2fffc"))
12061 (package
12062 (name "emacs-helm-org-contacts")
12063 (version (git-version "20180707" "1" commit))
12064 (source
12065 (origin
12066 (method git-fetch)
12067 (uri (git-reference
12068 (url "https://github.com/tmalsburg/helm-org-contacts")
12069 (commit commit)))
12070 (file-name (git-file-name name version))
12071 (sha256
12072 (base32
12073 "1cl7cm2ic9pg4vc9cdh84vzjj1x2lpd5ymimiva8h4l17kiphk4s"))))
12074 (build-system emacs-build-system)
12075 (propagated-inputs
12076 `(("emacs-dash" ,emacs-dash)
12077 ("emacs-helm" ,emacs-helm)
12078 ("emacs-s" ,emacs-s)))
12079 (home-page "https://github.com/tmalsburg/helm-org-contacts")
12080 (synopsis "Helm source for org-contacts")
12081 (description "This Helm source can be used to search contacts stored in
12082org-contacts format. There are actions for inserting postal addresses, email
12083addresses, and phone numbers in the buffer where @command{helm-org-contacts}
12084was called.")
12085 (license license:gpl3))))
12086
12087(define-public emacs-dired-du
12088 (package
12089 (name "emacs-dired-du")
12090 (version "0.5.1")
12091 (source
12092 (origin
12093 (method url-fetch)
12094 (uri (string-append
12095 "https://elpa.gnu.org/packages/dired-du-"
12096 version ".tar"))
12097 (sha256
12098 (base32
12099 "1091scnrjh0a4gja4z6jxic6ghy1yryv46qk9c76pmh50cpw6766"))))
12100 (build-system emacs-build-system)
12101 (home-page "http://elpa.gnu.org/packages/dired-du.html")
12102 (synopsis "Dired with recursive directory sizes")
12103 (description
12104 "Display the recursive size of directories in Dired.
12105This file defines a minor mode @command{dired-du-mode} to show the recursive
12106size of directories in Dired buffers. If @command{du} program is available,
12107then the directory sizes are obtained with it. Otherwise, the directory sizes
12108are obtained with Lisp. The former is faster and provide a more precise
12109value. For directories where the user doesn't have read permission, the
12110recursive size is not obtained. Once this mode is enabled, every new Dired
12111buffer displays recursive dir sizes.")
12112 (license license:gpl3+)))
12113
12114(define-public emacs-pcre2el
12115 ;; Last release is very old so we get the latest commit.
12116 (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
12117 (package
12118 (name "emacs-pcre2el")
12119 (version (git-version "1.8" "1" commit))
12120 (source
12121 (origin
12122 (method git-fetch)
12123 (uri (git-reference
12124 (url "https://github.com/joddie/pcre2el")
12125 (commit commit)))
12126 (file-name (git-file-name name version))
12127 (sha256
12128 (base32
12129 "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"))))
12130 (build-system emacs-build-system)
12131 (home-page "https://github.com/joddie/pcre2el")
12132 (synopsis "Convert between PCRE, Emacs and rx regexp syntax")
12133 (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp
12134Tools) is a utility for working with regular expressions in Emacs, based on a
12135recursive-descent parser for regexp syntax. In addition to converting (a
12136subset of) PCRE syntax into its Emacs equivalent, it can do the following:
12137
12138@itemize
12139@item convert Emacs syntax to PCRE
12140@item convert either syntax to @code{rx}, an S-expression based regexp syntax
12141@item untangle complex regexps by showing the parse tree in @code{rx} form and
12142highlighting the corresponding chunks of code
12143@item show the complete list of strings (productions) matching a regexp,
12144provided the list is finite
12145@item provide live font-locking of regexp syntax (so far only for Elisp
12146buffers – other modes on the TODO list).
12147@end itemize\n")
12148 (license license:gpl3))))
12149
12150(define-public emacs-magit-todos
12151 (package
12152 (name "emacs-magit-todos")
3a56c518 12153 (version "1.1.7")
eeb883cb
RW
12154 (source
12155 (origin
12156 (method git-fetch)
12157 (uri (git-reference
12158 (url "https://github.com/alphapapa/magit-todos")
12159 (commit version)))
12160 (file-name (git-file-name name version))
12161 (sha256
12162 (base32
3a56c518 12163 "0qagdxpik64n4rw9scy451ws5sw00v64ri9g2dcw7b66bx2c6c6w"))))
eeb883cb
RW
12164 (build-system emacs-build-system)
12165 (propagated-inputs
12166 `(("emacs-async" ,emacs-async)
12167 ("emacs-dash" ,emacs-dash)
12168 ("emacs-f" ,emacs-f)
12169 ("emacs-hl-todo" ,emacs-hl-todo)
12170 ("magit" ,emacs-magit)
12171 ("emacs-pcre2el" ,emacs-pcre2el)
12172 ("emacs-s" ,emacs-s)))
12173 (home-page "https://github.com/alphapapa/magit-todos")
12174 (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer")
12175 (description "This package displays keyword entries from source code
12176comments and Org files in the Magit status buffer. Activating an item jumps
12177to it in its file. By default, it uses keywords from @code{hl-todo}, minus a
12178few (like NOTE).")
12179 (license license:gpl3)))
12180
12181(define-public emacs-git-annex
12182 ;; Unreleased version has a fontification fix.
12183 (let ((commit "ebdb44aef1883f1b2b8058e05d30fb9315b03707")
12184 (revision "1"))
12185 (package
12186 (name "emacs-git-annex")
12187 (version (string-append "1.1-" revision "." (string-take commit 8)))
12188 (source
12189 (origin
12190 (method git-fetch)
12191 (uri (git-reference
12192 (url "https://github.com/jwiegley/git-annex-el")
12193 (commit commit)))
12194 (file-name (string-append name "-" version "-checkout"))
12195 (sha256
12196 (base32
12197 "1mzv40gj7k10h7h5s43my8msgzjpj680qprqa9pp8nbyhl49v3wh"))))
12198 (build-system emacs-build-system)
12199 (home-page "https://github.com/jwiegley/git-annex-el")
12200 (synopsis "Emacs integration for git-annex")
12201 (description "Enhances Dired and buffers visiting annex files with
12202git-annex functionality. In Dired, the names of annex files are shortened by
12203hiding the symbolic links and fontified based on whether content is present.
12204Commands for performing some common operations (e.g., unlocking and adding
12205files) are provided.")
12206 (license license:gpl2+))))
12207
12208(define-public emacs-hackernews
12209 (let ((commit "d8c450bbc76d6bb65ec5cdb6c3b888a23f3769e9"))
12210 (package
12211 (name "emacs-hackernews")
12212 (version (git-version "0.4.0" "1" commit))
12213 (source
12214 (origin
12215 (method git-fetch)
12216 (uri (git-reference
12217 (url "https://github.com/clarete/hackernews.el")
12218 (commit commit)))
12219 (file-name (git-file-name name version))
12220 (sha256
12221 (base32
12222 "06mp4n6c300jv5lhwf50ircfjckzr2p1zd38s4mqnxxjlf1maim7"))))
12223 (build-system emacs-build-system)
12224 (home-page "https://github.com/clarete/hackernews.el")
12225 (synopsis "Hacker News client for Emacs")
12226 (description "The @command{hackernews} package is able to fetch stories
12227from six different Hacker News feeds, namely top, new, best, ask, show and job
12228stories. The default feed is top stories, which corresponds to the Hacker
12229News homepage.")
12230 (license license:gpl3))))
12231
12232(define-public emacs-youtube-dl
12233 (let ((commit "7c9d7a7d05b72a7d1b1257a36c5e2b2567b185dd"))
12234 (package
12235 (name "emacs-youtube-dl")
12236 (version (git-version "1.0" "1" commit))
12237 (source
12238 (origin
12239 (method git-fetch)
12240 (uri (git-reference
12241 (url "https://github.com/skeeto/youtube-dl-emacs/")
12242 (commit commit)))
12243 (file-name (git-file-name name version))
12244 (sha256
12245 (base32
12246 "0mh4s089a4x8s380agzb2306kdp1hl204px1n5rrrrdcls7imnh6"))))
12247 (build-system emacs-build-system)
12248 (inputs
12249 `(("youtube-dl" ,youtube-dl)))
12250 (arguments
12251 `(#:phases
12252 (modify-phases %standard-phases
12253 (add-after 'unpack 'configure
12254 (lambda* (#:key inputs #:allow-other-keys)
12255 (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
12256 ;; .el is read-only in git.
12257 (chmod "youtube-dl.el" #o644)
12258 ;; Specify the absolute file names of the various
12259 ;; programs so that everything works out-of-the-box.
12260 (emacs-substitute-variables
12261 "youtube-dl.el"
12262 ("youtube-dl-program"
12263 (string-append youtube-dl "/bin/youtube-dl")))))))))
12264 (home-page "https://github.com/skeeto/youtube-dl-emacs/")
12265 (synopsis "Emacs youtube-dl download manager")
12266 (description "This package manages a video download queue for
12267@command{youtube-dl}, which serves as the back end. It manages a single
12268@command{youtube-dl} subprocess, downloading one video at a time. New videos
12269can be queued at any time.")
12270 (license license:unlicense))))
12271
12272(define-public emacs-org-web-tools
12273 (package
12274 (name "emacs-org-web-tools")
12275 (version "1.0")
12276 (source
12277 (origin
12278 (method git-fetch)
12279 (uri (git-reference
12280 (url "https://github.com/alphapapa/org-web-tools")
12281 (commit version)))
12282 (file-name (git-file-name name version))
12283 (sha256
12284 (base32
12285 "0kak9h5ny00d39gnwspv53nadnag01brw2fq9zk5wpfc91h9bjng"))))
12286 (build-system emacs-build-system)
12287 (propagated-inputs
12288 `(("emacs-dash" ,emacs-dash)
12289 ("emacs-esxml" ,emacs-esxml)
12290 ("emacs-s" ,emacs-s)))
12291 (inputs
12292 `(("pandoc" ,ghc-pandoc)))
12293 (arguments
12294 `(#:phases
12295 (modify-phases %standard-phases
12296 (add-after 'unpack 'patch-exec-paths
12297 (lambda* (#:key inputs #:allow-other-keys)
12298 (let ((pandoc (assoc-ref inputs "pandoc")))
12299 (substitute* "org-web-tools.el"
12300 (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))
12301 #t))))))
12302 (home-page "https://github.com/alphapapa/org-web-tools")
12303 (synopsis "Display/Process web page as Org-mode content")
12304 (description "This package contains library functions and commands useful
12305for retrieving web page content and processing it into Org-mode content.
12306
12307For example, you can copy a URL to the clipboard or kill-ring, then run a
12308command that downloads the page, isolates the “readable” content with
12309@command{eww-readable}, converts it to Org-mode content with Pandoc, and
12310displays it in an Org-mode buffer. Another command does all of that but
12311inserts it as an Org entry instead of displaying it in a new buffer.")
12312 (license license:gpl3+)))
12313
12314(define-public emacs-blimp
12315 (let ((commit "e420763d6d18b5d1be552cdbc47f91418343db03"))
12316 (package
12317 (name "emacs-blimp")
12318 (version (git-version "0.0.0" "1" commit))
12319 (source
12320 (origin
12321 (method git-fetch)
12322 (uri (git-reference
12323 (url "https://github.com/walseb/blimp")
12324 (commit commit)))
12325 (file-name (git-file-name name version))
12326 (sha256
12327 (base32
12328 "09wmhpym516b81dfq8smdmysh1fn610dzlyvyl2rkx8600f0fizd"))))
12329 (build-system emacs-build-system)
12330 (propagated-inputs
12331 `(("emacs-eimp" ,emacs-eimp)))
12332 (home-page "https://github.com/walseb/blimp")
12333 (synopsis "Emacs wrapper around all Imagemagick commands")
12334 (description "Blimp (Bustling Image Manipulation Package) is a complete
12335wrapper around all Imagemagick commands with descriptions, autocompletion (for
12336some commands) and hints displayed in prompt using @command{eimp.el} to
12337execute its commands and resize images.")
12338 (license license:gpl3+))))
12339
12340(define-public emacs-synosaurus
12341 (let ((commit "8bf95b935976ec0a1964cf175ed57cc5f6f93bdb"))
12342 (package
12343 (name "emacs-synosaurus")
12344 (version (git-version "0.1.0" "1" commit))
12345 (source
12346 (origin
12347 (method git-fetch)
12348 (uri (git-reference
12349 (url "https://github.com/hpdeifel/synosaurus")
12350 (commit commit)))
12351 (file-name (git-file-name name version))
12352 (sha256
12353 (base32
12354 "15by9jccab6kyplxa6k0glzaivxkqdigl33gl2qi2cvy6f2q7gva"))))
12355 (build-system emacs-build-system)
12356 (propagated-inputs
12357 `(("wordnet" ,wordnet)))
12358 (arguments
12359 `(#:phases
12360 (modify-phases %standard-phases
12361 (add-after 'unpack 'configure
12362 (lambda* (#:key inputs outputs #:allow-other-keys)
12363 (let ((wn (assoc-ref inputs "wordnet")))
12364 ;; .el is read-only in git.
12365 (chmod "synosaurus-wordnet.el" #o644)
12366 ;; Specify the absolute file names of the various
12367 ;; programs so that everything works out-of-the-box.
12368 (emacs-substitute-variables
12369 "synosaurus-wordnet.el"
12370 ("wordnet-command"
12371 (string-append wn "/bin/wn")))))))))
12372 (home-page "https://github.com/hpdeifel/synosaurus")
12373 (synopsis "Extensible thesaurus mode for Emacs")
12374 (description "Synosaurus is a thesaurus fontend for Emacs with pluggable
12375backends, including the @command{wordnet} offline backend.")
12376 (license license:gpl3+))))
12377
12378(define-public emacs-all-the-icons
12379 (package
12380 (name "emacs-all-the-icons")
12381 (version "3.2.0")
12382 (source
12383 (origin
12384 (method git-fetch)
12385 (uri (git-reference
12386 (url "https://github.com/domtronn/all-the-icons.el.git")
12387 (commit version)))
12388 (file-name (git-file-name name version))
12389 (sha256
12390 (base32
12391 "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn"))))
12392 (build-system emacs-build-system)
12393 (arguments
12394 `(#:include '("\\.el$" "^data/" "^fonts/")
12395 ;; Compiling "test/" fails with "Symbol’s value as variable is void:
12396 ;; all-the-icons--root-code". Ignoring tests.
12397 #:exclude '("^test/")
12398 #:tests? #f))
12399 (propagated-inputs
12400 `(("f" ,emacs-f)
12401 ("memoize" ,emacs-memoize)))
12402 (home-page "https://github.com/domtronn/all-the-icons.el")
12403 (synopsis "Collect icon fonts and propertize them within Emacs")
12404 (description "All-the-icons is a utility package to collect various icon
12405fonts and propertize them within Emacs. Icon fonts allow you to propertize
12406and format icons the same way you would normal text. This enables things such
12407as better scaling of and anti aliasing of the icons.")
12408 ;; Package is released under Expat license. Elisp files are licensed
12409 ;; under GPL3+. Fonts come with various licenses: Expat for
12410 ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
12411 ;; "material-design-icons.ttf", and SIL OFL 1.1 for "fontawesome.ttf",
12412 ;; "ocitcons.ttf" and "weathericons.ttf".
12413 (license
12414 (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
12415
12416(define-public emacs-powerline
12417 (package
12418 (name "emacs-powerline")
12419 (version "2.4")
12420 (source
12421 (origin
12422 (method git-fetch)
12423 (uri (git-reference
12424 (url "https://github.com/milkypostman/powerline.git")
12425 (commit version)))
12426 (file-name (git-file-name name version))
12427 (sha256
12428 (base32
12429 "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"))))
12430 (build-system emacs-build-system)
12431 (home-page "https://github.com/milkypostman/powerline/")
12432 (synopsis "Mode-line plugin for Emacs")
12433 (description "Powerline is a utility plugin which allows you to create
12434a better-looking, more functional Emacs mode-line. A collection of predefined
12435themes comes with the package.")
12436 (license license:gpl3+)))
12437
12438(define-public emacs-spaceline
12439 (package
12440 (name "emacs-spaceline")
12441 (version "2.0.1")
12442 (source
12443 (origin
12444 (method git-fetch)
12445 (uri (git-reference
12446 (url "https://github.com/TheBB/spaceline.git")
12447 (commit (string-append "v" version))))
12448 (file-name (git-file-name name version))
12449 (sha256
12450 (base32
12451 "1q8r95zfrh0vxna5ml2pq9b9f66clfqcl4d2qy2aizkvzyxg6skl"))))
12452 (build-system emacs-build-system)
12453 (propagated-inputs
12454 `(("dash" ,emacs-dash)
12455 ("powerline" ,emacs-powerline)
12456 ("s" ,emacs-s)))
12457 (home-page "https://github.com/TheBB/spaceline")
12458 (synopsis "Powerline theme from Spacemacs")
12459 (description "Spaceline provides Spacemacs' mode-line theme.
12460This package provides features for three kinds of users.
12461
12462@itemize
12463@item You just want to use the Spacemacs mode-line theme and forget about it.
12464@item You want to use something similar to the Spacemacs mode-line theme, but
12465with a handful of easy tweaks.
12466@item You want an easy-to-use library for building your own mode-line from
12467scratch, and you think the Spacemacs theme looks good.
12468@end itemize")
12469 (license license:gpl3+)))
12470
12471(define-public emacs-column-marker
12472 (package
12473 (name "emacs-column-marker")
12474 (version "9")
12475 (source
12476 (origin
12477 (method url-fetch)
12478 (uri "https://www.emacswiki.org/emacs/download/column-marker.el")
12479 (sha256 (base32 "05bv198zhqw5hqq6cr11mhz02dpca74hhp1ycwq369m0yb2naxy9"))))
12480 (build-system emacs-build-system)
12481 (home-page "https://www.emacswiki.org/emacs/ColumnMarker")
12482 (synopsis "Emacs mode for highlighting columns")
12483 (description
12484 "With @code{column-marker.el} you can highlight any number of text columns.
12485Three such highlight column markers are provided by default. This is
12486especially useful for languages like COBOL or Fortran where certain columns
12487have special meaning. It is also handy for aligning text across long vertical
12488distances. Multi-column characters, such as @kbd{TAB} are treated
12489correctly.")
12490 (license license:gpl2+)))
12491
12492(define-public emacs-slime-repl-ansi-color
12493 (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
12494 (package
12495 (name "emacs-slime-repl-ansi-color")
12496 (version (git-version "0.0.0" "1" commit))
12497 (source (origin
12498 (method git-fetch)
12499 (uri (git-reference
12500 (url "https://github.com/deadtrickster/slime-repl-ansi-color")
12501 (commit commit)))
12502 (file-name (git-file-name name version))
12503 (sha256
12504 (base32
12505 "0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
12506 (build-system emacs-build-system)
12507 (home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
12508 (synopsis "Color ANSI codes in the REPL of SLIME")
12509 (description "Color ANSI codes in the REPL of SLIME")
12510 (license license:gpl2+))))
12511
12512(define-public emacs-helm-slime
f81efdcb
PN
12513 (package
12514 (name "emacs-helm-slime")
12515 (version "0.2.0")
12516 (source (origin
12517 (method git-fetch)
12518 (uri (git-reference
12519 (url "https://github.com/emacs-helm/helm-slime")
12520 (commit version)))
12521 (file-name (git-file-name name version))
12522 (sha256
12523 (base32
12524 "0vn93vv2wclnwq6f480z14jn9wfp0ylhp5dd48ycc9jicfsnxqfj"))))
12525 (build-system emacs-build-system)
12526 (propagated-inputs
12527 `(("emacs-helm" ,emacs-helm)
12528 ("emacs-slime" ,emacs-slime)))
12529 (home-page "https://github.com/emacs-helm/helm-slime")
12530 (synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs")
12531 (description "Helm-SLIME defines a few new commands:
eeb883cb
RW
12532
12533@itemize
12534@item helm-slime-complete: Select a symbol from the SLIME completion systems.
12535@item helm-slime-list-connections: Yet another slime-list-connections with Helm.
12536@item: helm-slime-apropos: Yet another slime-apropos with Helm.
12537@item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it.
12538@end itemize\n")
f81efdcb 12539 (license license:gpl3+)))
eeb883cb
RW
12540
12541(define-public emacs-gtk-look
12542 (package
12543 (name "emacs-gtk-look")
12544 (version "29")
12545 (source (origin
12546 (method url-fetch)
12547 (uri "https://download.tuxfamily.org/user42/gtk-look.el")
12548 (sha256
12549 (base32
12550 "14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp"))))
12551 (build-system emacs-build-system)
12552 (arguments
12553 `(#:phases
12554 (modify-phases %standard-phases
12555 (add-after 'unpack 'configure
12556 (lambda _
12557 ;; File is read-only.
12558 (chmod "gtk-look.el" #o644)
12559 (emacs-substitute-variables "gtk-look.el"
12560 ("gtk-lookup-devhelp-indices"
12561 '(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*"))))
12562 #t)))))
12563 (home-page "http://user42.tuxfamily.org/gtk-look/index.html")
12564 (synopsis "Find and display HTML documentation for GTK, GNOME and Glib")
12565 (description "@command{gtk-look} finds and displays HTML documentation for
12566GTK, GNOME and Glib functions and variables in Emacs, similar to what
12567info-lookup-symbol does for info files (C-h S). The documentation is expected
12568to be devhelp indexes with HTML files. The location of the indexes can be
12569customized. In addition to C code development @command{gtk-look} is good for
12570
12571@itemize
12572@item @command{perl-gtk2}, recognising class funcs like
12573@command{Gtk2::Label->new} and bare method names like @command{set_text}.
12574@item @command{guile-gnome}, recognising methods like @command{set-text} and
12575classes like @command{<gtk-window>}.
12576@end itemize\n")
12577 (license license:gpl3+)))
12578
12579(define-public emacs-ov
12580 (package
12581 (name "emacs-ov")
12582 (version "1.0.6")
12583 (source (origin
12584 (method git-fetch)
12585 (uri (git-reference
12586 (url "https://github.com/ShingoFukuyama/ov.el.git")
12587 (commit version)))
12588 (file-name (git-file-name name version))
12589 (sha256
12590 (base32
12591 "0qxk2rf84j86syxi8xknsq252irwg7sz396v3bb4wqz4prpj0kzc"))))
12592 (build-system emacs-build-system)
12593 (home-page "https://github.com/ShingoFukuyama/ov.el")
12594 (synopsis "Overlay library for Emacs Lisp")
12595 (description "@code{ov.el} provides a simple way to manipulate overlays in
12596Emacs.")
12597 (license license:gpl3+)))
12598
12599(define-public emacs-matrix-client
85a3d63f 12600 (let ((commit "a0623667b07a4bf60980c97b078e9faed97ace79"))
eeb883cb
RW
12601 (package
12602 (name "emacs-matrix-client")
85a3d63f 12603 (version (git-version "0.0.0" "3" commit))
eeb883cb
RW
12604 (source (origin
12605 (method git-fetch)
12606 (uri (git-reference
12607 (url "https://github.com/jgkamat/matrix-client-el.git")
12608 (commit commit)))
12609 (file-name (git-file-name name version))
12610 (sha256
12611 (base32
85a3d63f 12612 "1zya8id3y9wzjaj7nplq7br6nhm3lsskv0fkn1xr1y77fzcfgcdb"))))
eeb883cb
RW
12613 (build-system emacs-build-system)
12614 (propagated-inputs
12615 `(("a" ,emacs-a)
e6ab20f7 12616 ("anaphora" ,emacs-anaphora)
eeb883cb
RW
12617 ("dash" ,emacs-dash)
12618 ("esxml" ,emacs-esxml)
12619 ("f" ,emacs-f)
12620 ("frame-purpose" ,emacs-frame-purpose)
12621 ("ht" ,emacs-ht)
12622 ("ov" ,emacs-ov)
12623 ("rainbow-identifiers" ,emacs-rainbow-identifiers)
12624 ("request" ,emacs-request)
12625 ("s" ,emacs-s)
12626 ("tracking" ,emacs-tracking)))
12627 (home-page "https://github.com/jgkamat/matrix-client-el")
12628 (synopsis "Matrix client for Emacs")
12629 (description "@code{matrix-client} is a simple chat UI to Matrix.org
12630rooms. It also provides an API which allows Emacs to seamlessly create
12631RPC channels with users and other software.")
12632 (license license:gpl3+))))
12633
12634(define-public emacs-sesman
12635 (package
12636 (name "emacs-sesman")
12637 (version "0.3.3")
12638 (source
12639 (origin
12640 (method git-fetch)
12641 (uri (git-reference
12642 (url "https://github.com/vspinu/sesman.git")
12643 (commit (string-append "v" version))))
12644 (file-name (git-file-name name version))
12645 (sha256
12646 (base32
12647 "0r32f8ma9ddczxrrdz0nadp14j3zmk10q1ch02gb82synkx3xdra"))))
12648 (build-system emacs-build-system)
12649 (arguments
12650 `(#:tests? #t
12651 #:test-command '("make" "test")))
12652 (home-page "https://github.com/vspinu/sesman")
12653 (synopsis "Session manager for Emacs based IDEs")
12654 (description "Sesman provides facilities for session management and
12655interactive session association with the current contexts (project, directory,
12656buffers). While sesman can be used to manage arbitrary sessions, it primary
12657targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
12658 (license license:gpl3+)))
12659
12660(define-public emacs-buttercup
12661 (package
12662 (name "emacs-buttercup")
12663 (version "1.16")
12664 (source
12665 (origin
12666 (method git-fetch)
12667 (uri (git-reference
12668 (url "https://github.com/jorgenschaefer/emacs-buttercup.git")
12669 (commit (string-append "v" version))))
12670 (file-name (git-file-name name version))
12671 (sha256
12672 (base32
12673 "0dckgcyzsav6ld78bcyrrygy1cz1jvqgav6vy8f6klpmk3r8xrl1"))))
12674 (build-system emacs-build-system)
12675 (arguments
12676 `(#:tests? #t
12677 #:test-command '("make" "test")
12678 #:phases
12679 (modify-phases %standard-phases
12680 (add-after 'install 'install-bin
12681 (lambda* (#:key outputs #:allow-other-keys)
12682 (install-file "bin/buttercup"
12683 (string-append (assoc-ref outputs "out") "/bin"))
12684 #t)))))
12685 (home-page "https://github.com/jorgenschaefer/emacs-buttercup")
12686 (synopsis "Behavior driven emacs lisp testing framework")
12687 (description "Buttercup is a behavior-driven development framework for
12688testing Emacs Lisp code. It allows to group related tests so they can share
12689common set-up and tear-down code, and allows the programmer to \"spy\" on
12690functions to ensure they are called with the right arguments during testing.")
12691 (license license:gpl3+)))
12692
12693(define-public emacs-wordnut
12694 (let ((commit "feac531404041855312c1a046bde7ea18c674915")
12695 (revision "0"))
12696 (package
12697 (name "emacs-wordnut")
12698 (version (git-version "0.1" revision commit))
12699 (home-page "https://github.com/gromnitsky/wordnut")
12700 (source (origin
12701 (method git-fetch)
12702 (uri (git-reference (url home-page) (commit commit)))
12703 (sha256
12704 (base32
12705 "1jl0b6g64a9w0q7bfvwha67vgws5xd15b7mkfyb5gkz3pymqhfxn"))
12706 (patches
12707 (search-patches "emacs-wordnut-require-adaptive-wrap.patch"))
12708 (file-name (git-file-name name version))))
12709 (build-system emacs-build-system)
12710 (propagated-inputs
12711 `(("wordnet" ,wordnet)
12712 ("emacs-adaptive-wrap" ,emacs-adaptive-wrap)))
12713 (synopsis "Major mode for WordNet")
12714 (description "This Emacs package provides an interface for
12715@code{wordnet}. Features include completion, if the query is not found
12716too ambiguous and navigation in the result buffer.")
12717 (license license:gpl3+))))
12718
12719(define-public emacs-frame-purpose
12720 (package
12721 (name "emacs-frame-purpose")
12722 (version "1.0")
12723 (source (origin
12724 (method git-fetch)
12725 (uri (git-reference
12726 (url "https://github.com/alphapapa/frame-purpose.el.git")
12727 (commit version)))
12728 (sha256
12729 (base32
12730 "0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"))
12731 (file-name (git-file-name name version))))
12732 (build-system emacs-build-system)
12733 (inputs
12734 `(("dash" ,emacs-dash)))
12735 (synopsis "Purpose-specific frames for Emacs")
12736 (description "@code{frame-purpose} makes it easy to open purpose-specific
12737frames that only show certain buffers, e.g. by buffers’ major mode, their
12738filename or directory, etc, with custom frame/X-window titles, icons, and
12739other frame parameters.")
12740 (home-page "https://github.com/alphapapa/frame-purpose.el")
12741 (license license:gpl3+)))
12742
12743(define-public emacs-arduino-mode
12744 (let ((commit "3e2bad4569ad26e929e6db2cbcff0d6d36812698")) ;no release yet
12745 (package
12746 (name "emacs-arduino-mode")
12747 (version (git-version "0" "0" commit))
12748 (source (origin
12749 (method git-fetch)
12750 (uri (git-reference
12751 (url "https://github.com/bookest/arduino-mode.git")
12752 (commit commit)))
12753 (sha256
12754 (base32
12755 "1yvaqjc9hadbnnay5fprnh890xsp53kidad1zpb4a5z4a5z61n3c"))
12756 (file-name (git-file-name name version))))
12757 (build-system emacs-build-system)
12758 (synopsis "Emacs major mode for editing Arduino sketches")
12759 (description "Emacs major mode for editing Arduino sketches.")
12760 (home-page "https://github.com/bookest/arduino-mode")
12761 (license license:gpl3+))))
12762
12763(define-public emacs-general
12764 (let ((commit "675050199b5a30d54a24b58a367db32c0bdc47f5"))
12765 (package
12766 (name "emacs-general")
12767 (version (git-version "0" "0" commit))
12768 (home-page "https://github.com/noctuid/general.el")
12769 (source (origin
12770 (method git-fetch)
12771 (uri (git-reference
12772 (url (string-append home-page ".git"))
12773 (commit commit)))
12774 (sha256
12775 (base32
12776 "175yyhzk57yk1sskxh3d2jzhrh2waiibbcfsll167qxr117yji5h"))
12777 (file-name (git-file-name name version))))
12778 (build-system emacs-build-system)
12779 (synopsis "More convenient key definitions in emacs")
12780 (description "@code{general.el} provides a more convenient method for
12781binding keys in emacs (for both evil and non-evil users). Like
12782@code{use-package}, which provides a convenient, unified interface for
12783managing packages, @code{general.el} is intended to provide a convenient,
12784unified interface for key definitions. While this package does implement some
12785completely new functionality (such as the ability to make vim-style
12786keybindings under non-prefix keys with an optional timeout), its primary
12787purpose is to build on existing functionality to make key definition more
12788clear and concise. @code{general-define-key} is user-extensible and supports
12789defining multiple keys in multiple keymaps at once, implicitly wrapping key
12790strings with (@code{kbd ...}), using named prefix key sequences (like the
12791leader key in vim), and much more.")
12792 (license license:gpl3+))))
12793
12794(define-public emacs-tldr
12795 (let ((commit "398b197c8d2238628b07e1b32d0f373876279f4c"))
12796 (package
12797 (name "emacs-tldr")
12798 (version (git-version "0" "0" commit))
12799 (home-page "https://github.com/kuanyui/tldr.el")
12800 (source (origin
12801 (method git-fetch)
12802 (uri (git-reference
12803 (url (string-append home-page ".git"))
12804 (commit commit)))
12805 (sha256
12806 (base32
12807 "0iq7qlis6c6r2qkdpncrhh5vsihkhvy5x4y1y8cjb7zxkh62w33f"))
12808 (file-name (git-file-name name version))))
12809 (build-system emacs-build-system)
12810 (synopsis "Simplified and community-driven man pages for Emacs")
12811 (description "@code{emacs-tldr} allows the user to access tldr pages
12812from within emacs. The @code{tldr} pages are a community effort to simplify
12813the man pages with practical examples.")
12814 (license license:wtfpl2))))
9830f1a2
PN
12815
12816(define-public emacs-window-layout
12817 (package
12818 (name "emacs-window-layout")
12819 (version "1.4")
12820 (home-page "https://github.com/kiwanami/emacs-window-layout")
12821 (source (origin
12822 (method git-fetch)
12823 (uri (git-reference
12824 (url home-page)
12825 (commit (string-append "v" version))))
12826 (sha256
12827 (base32
12828 "0wgqi8r844lbx52fn6az8c1n8m681rp6dkfzd54wmdk1ka7zmvv6"))
12829 (file-name (git-file-name name version))))
12830 (build-system emacs-build-system)
12831 (synopsis "Simple window layout management framework for emacs")
12832 (description "A window-layout management library that can split a frame
12833or a window into some windows according to a layout recipe.")
12834 (license license:gpl3+)))
5544a07f
PN
12835
12836(define-public emacs-e2wm
12837 (package
12838 (name "emacs-e2wm")
12839 (version "1.4")
12840 (home-page "https://github.com/kiwanami/emacs-window-manager")
12841 (source (origin
12842 (method git-fetch)
12843 (uri (git-reference
12844 (url home-page)
12845 (commit (string-append "v" version))))
12846 (sha256
12847 (base32
12848 "12midsrx07pdrsr1qbl2rpi7xyhxqx08bkz7n7gf8vsmqkpfp56s"))
12849 (file-name (git-file-name name version))))
12850 (build-system emacs-build-system)
12851 (propagated-inputs
12852 `(("emacs-window-layout" ,emacs-window-layout)))
12853 (synopsis "Equilibrium Emacs Window Manager")
12854 (description "E2WM is a window manager for Emacs. It enables to
12855customize the place of pop-up window, how the windows are split, how the
12856buffers are located in the windows, keybinds to manipulate windows and
12857buffers, etc. It also has plug-ins to help your Emacs life.")
12858 (license license:gpl3+)))
3e1fcc5e
PN
12859
12860(define-public emacs-ctable
12861 (let ((commit "b8830d1ca95abb100a81bc32011bd17d5ecba000"))
12862 (package
12863 (name "emacs-ctable")
12864 (version (git-version "0.1.2" "1" commit))
12865 (home-page "https://github.com/kiwanami/emacs-ctable")
12866 (source (origin
12867 (method git-fetch)
12868 (uri (git-reference
12869 (url home-page)
12870 (commit commit)))
12871 (sha256
12872 (base32
12873 "0pg303pnqscrsbx9579hc815angszsgf9vpd2z2f8p4f4ka6a00h"))
12874 (file-name (git-file-name name version))))
12875 (build-system emacs-build-system)
12876 (synopsis "Table component for Emacs Lisp")
12877 (description "This program is a table component for Emacs Lisp. Other
12878programs can use this table component for the application UI.")
12879 (license license:gpl3+))))
8c98ce92
PN
12880
12881(define-public emacs-epc
12882 (let ((commit "e1bfa5ca163273859336e3cc89b4b6460f7f8cda"))
12883 (package
12884 (name "emacs-epc")
12885 (version (git-version "0.1.1" "1" commit))
12886 (home-page "https://github.com/kiwanami/emacs-epc")
12887 (source (origin
12888 (method git-fetch)
12889 (uri (git-reference
12890 (url home-page)
12891 (commit commit)))
12892 (sha256
12893 (base32
12894 "15nkrjgi64f829isfd6xrhl4zw8jirr8pkas7nisrbk1av868hx0"))
12895 (file-name (git-file-name name version))))
12896 (build-system emacs-build-system)
12897 (propagated-inputs
12898 `(("emacs-deferred" ,emacs-deferred)
12899 ("emacs-ctable" ,emacs-ctable)))
12900 (synopsis "RPC stack for Emacs Lisp")
12901 (description "This program is an asynchronous RPC stack for Emacs.
12902Using this RPC stack, Emacs can communicate with the peer process
12903smoothly. Because the protocol employs S-expression encoding and consists of
12904asynchronous communications, the RPC response is fairly good.")
12905 (license license:gpl3+))))
c010ec65
PN
12906
12907(define-public emacs-edbi
12908 (let ((commit "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))
12909 (package
12910 (name "emacs-edbi")
12911 (version (git-version "0.1.3" "1" commit))
12912 (home-page "https://github.com/kiwanami/emacs-edbi")
12913 (source (origin
12914 (method git-fetch)
12915 (uri (git-reference
12916 (url home-page)
12917 (commit commit)))
12918 (sha256
12919 (base32
12920 "0x0igyvdcm4863n7zndvcv6wgzwgn7324cbfjja6xd7r0k936zdy"))
12921 (file-name (git-file-name name version))))
12922 (build-system emacs-build-system)
12923 (inputs
12924 `(("perl" ,perl)
12925 ("perl-rpc-epc-service" ,perl-rpc-epc-service)
12926 ("perl-dbi" ,perl-dbi)
12927 ;; TODO: Adding support for perl-dbd-mysql and others would
12928 ;; dramatically increase the closure size. Make several packages?
12929 ("perl-dbd-sqlite" ,perl-dbd-sqlite)))
12930 (propagated-inputs
12931 `(("emacs-e2wm" ,emacs-e2wm)
12932 ("emacs-epc" ,emacs-epc)))
12933 (arguments
12934 `(#:include '("\\.el$" "\\.pl$")
12935 #:phases
12936 (modify-phases %standard-phases
12937 (add-after 'install 'patch-path
12938 (lambda* (#:key inputs outputs #:allow-other-keys)
12939 (let ((perl (assoc-ref inputs "perl"))
12940 (dir (string-append (assoc-ref outputs "out")
12941 "/share/emacs/site-lisp/guix.d/edbi-"
12942 ,version)))
12943 (substitute* (string-append dir "/edbi.el")
12944 (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
12945 (chmod (string-append dir "/edbi-bridge.pl") #o555)
12946 (wrap-program (string-append dir "/edbi-bridge.pl")
12947 `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))
12948 #t))))))
12949 (synopsis "Database Interface for Emacs Lisp")
12950 (description "This program connects the database server through Perl's
12951DBI, and provides DB-accessing API and the simple management UI.")
12952 (license license:gpl3+))))
3d540c48
PN
12953
12954(define-public emacs-edbi-sqlite
12955 (let ((commit "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f"))
12956 (package
12957 (name "emacs-edbi-sqlite")
12958 (version (git-version "0.1.1" "1" commit))
12959 (home-page "https://github.com/proofit404/edbi-sqlite")
12960 (source (origin
12961 (method git-fetch)
12962 (uri (git-reference
12963 (url home-page)
12964 (commit commit)))
12965 (sha256
12966 (base32
12967 "1vll81386fx90lq5sy4rlxcik6mvw7zx5cc51f0yaca9bkcckp51"))
12968 (file-name (git-file-name name version))))
12969 (build-system emacs-build-system)
12970 (propagated-inputs
12971 `(("emacs-edbi" ,emacs-edbi)))
12972 (synopsis "Open SQLite files in Emacs")
12973 (description "This package is a convenience wrapper for @command{edbi}
12974to open SQLite databases.")
12975 (license license:gpl3+))))
f896abc7
LC
12976
12977(define-public emacs-nix-mode
12978 (package
12979 (name "emacs-nix-mode")
12980 (version "1.2.2")
12981 (source
12982 (origin
12983 (method url-fetch)
12984 (uri (string-append "https://github.com/NixOS/nix-mode/archive/v"
12985 version ".tar.gz"))
12986 (file-name (string-append name "-" version ".tar.gz"))
12987 (sha256
12988 (base32
12989 "06aqz0czznsj8835jqnk794sy2p6pa8kxfqwh0nl5d5vxivria6z"))))
12990 (build-system emacs-build-system)
12991 (inputs
12992 `(("emacs-company" ,emacs-company)
12993 ("emacs-mmm-mode" ,emacs-mmm-mode)))
12994 (home-page "https://github.com/NixOS/nix-mode")
12995 (synopsis "Emacs major mode for editing Nix expressions")
12996 (description "@code{nixos-mode} provides an Emacs major mode for editing
12997Nix expressions. It supports syntax highlighting, indenting and refilling of
12998comments.")
12999 (license license:lgpl2.1+)))
67248962
RW
13000
13001(define-public emacs-simple-mpc
13002 ;; There have been no releases.
13003 (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
13004 (revision "1"))
13005 (package
13006 (name "emacs-simple-mpc")
13007 (version (git-version "0" revision commit))
13008 (source
13009 (origin
13010 (method git-fetch)
13011 (uri (git-reference
13012 (url "https://github.com/jorenvo/simple-mpc.git")
13013 (commit commit)))
13014 (file-name (git-file-name name version))
13015 (sha256
13016 (base32
13017 "1ja06pv007cmzjjgka95jlg31k7d29jrih1yxyblsxv85s9sg21q"))))
13018 (build-system emacs-build-system)
13019 (propagated-inputs `(("emacs-s" ,emacs-s)))
13020 (home-page "https://github.com/jorenvo/simple-mpc")
13021 (synopsis "Simple Emacs frontend to mpc")
13022 (description "This package provides an Emacs major mode which acts as a
13023front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).")
13024 (license license:gpl3+))))
43af5f9d
AI
13025
13026(define-public emacs-mkmcc-gnuplot-mode
13027 (package
13028 (name "emacs-mkmcc-gnuplot-mode")
13029 (version "1.2.0")
13030 (source
13031 (origin
13032 (method git-fetch)
13033 (uri (git-reference
13034 (url "https://github.com/mkmcc/gnuplot-mode")
13035 (commit "601f6392986f0cba332c87678d31ae0d0a496ce7")))
13036 (file-name (string-append name "-" version "-checkout"))
13037 (sha256
13038 (base32
13039 "14f0yh1rjqc3337j4sbqzfb7pjim2c8a7wk1a73xkrdkmjn82vgb"))))
13040 (build-system emacs-build-system)
13041 (home-page "https://mkmcc.github.io/software/gnuplot-mode.html")
13042 (synopsis "Minimal emacs major mode for editing gnuplot scripts")
13043 (description "@code{emacs-mkmcc-gnuplot-mode} is a minimal emacs major
13044mode for editing gnuplot scripts. It provides syntax highlighting,
13045indentation and a command to plot the file.")
13046 (license license:gpl3+)))
ba25ba90
CL
13047
13048(define-public emacs-dtrt-indent
13049 (package
13050 (name "emacs-dtrt-indent")
13051 (version "0.8")
13052 (source (origin
13053 (method git-fetch)
13054 (uri (git-reference
13055 (url "https://github.com/jscheid/dtrt-indent")
13056 (commit version)))
13057 (file-name (git-file-name name version))
13058 (sha256
13059 (base32
13060 "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z"))))
13061 (build-system emacs-build-system)
13062 (home-page "https://github.com/jscheid/dtrt-indent")
13063 (synopsis "Minor mode that guesses the indentation offset")
13064 (description "This package provides a minor mode that guesses the
13065indentation offset originally used for creating source code files and
13066transparently adjusts the corresponding settings in Emacs, making it more
13067convenient to edit foreign files.")
13068 (license license:gpl2+)))
57b663fa
CL
13069
13070(define-public emacs-repo
13071 (package
13072 (name "emacs-repo")
13073 (version "0.1.3")
13074 (source (origin
13075 (method git-fetch)
13076 (uri (git-reference
13077 (url "https://github.com/canatella/repo-el")
13078 (commit version)))
13079 (file-name (git-file-name name version))
13080 (sha256
13081 (base32
13082 "0rbvcvm7bfr6ncji7cllfxyyr6x7n9fx863byp243phsj3n93adz"))))
13083 (build-system emacs-build-system)
13084 (native-inputs
13085 `(("emacs-el-mock" ,emacs-el-mock)
13086 ("ert-runner" ,emacs-ert-runner)))
13087 (propagated-inputs
13088 `(("emacs-f" ,emacs-f)
13089 ("magit" ,emacs-magit)))
13090 (home-page "https://github.com/canatella/repo-el")
13091 (synopsis "Emacs interface for the Google Repo tool")
13092 (description "This package provides integration of the Google Repo tool
13093with emacs. It displays the output of the @code{repo status} command in a
13094buffer and launches Magit from the status buffer for the project at point.")
b2cb1613 13095 (license license:gpl3+)))
bdccd7e1
MO
13096
13097(define-public emacs-alect-themes
13098 (package
13099 (name "emacs-alect-themes")
13100 (version "0.9")
13101 (source (origin
13102 (method git-fetch)
13103 (uri (git-reference
13104 (url "https://github.com/alezost/alect-themes")
13105 (commit (string-append "v" version))))
13106 (file-name (git-file-name name version))
13107 (sha256
13108 (base32
13109 "0nffxpdm0sa7bynwi0rmlwpc4qmvbda5ankhzz7fmk4ap9fkjxv9"))))
13110 (build-system emacs-build-system)
13111 (home-page "https://github.com/alezost/alect-themes")
13112 (synopsis "Low contrast, light, dark and black color theme for Emacs")
13113 (description "@code{emacs-alect-themes} provides configurable light, dark
13114and black color themes for Emacs. The themes are intended to be used with
13115GUI.")
57b663fa 13116 (license license:gpl3+)))
71066710
MO
13117
13118(define-public emacs-google-c-style
13119 (let ((commit "6271f3f473ceb3a7fef99388a3040903b1a145f1")
13120 (revision "0"))
13121 (package
13122 (name "emacs-google-c-style")
13123 (version (git-version "0.1" revision commit))
13124 (source (origin
13125 (method git-fetch)
13126 (uri (git-reference
13127 (url "https://github.com/google/styleguide")
13128 (commit commit)))
13129 (file-name (git-file-name name version))
13130 (sha256
13131 (base32
13132 "1jghyyasdl15c4gaqaxmdn43am63k6bykn5ab83f1ahv9zi1krxk"))))
13133 (build-system emacs-build-system)
13134 (home-page "https://github.com/google/styleguide")
13135 (synopsis "Emacs settings file for Google C/C++ style")
13136 (description "@code{emacs-google-c-style} provides an Emacs settings
13137file for Google C and C++ style.")
13138 (license license:gpl1+))))
285bf324
PN
13139
13140(define-public emacs-redshank
13141 (let ((commit "f98e68f532e622bcd464292ca4a9cf5fbea14ebb")
13142 (revision "1"))
13143 (package
13144 (name "emacs-redshank")
13145 (version (git-version "0.1" revision commit))
13146 (source (origin
13147 (method git-fetch)
13148 (uri (git-reference
13149 (url "http://www.foldr.org/~michaelw/projects/redshank.git")
13150 (commit commit)))
13151 (file-name (git-file-name name version))
13152 (sha256
13153 (base32
13154 "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p"))))
13155 (build-system emacs-build-system)
13156 (propagated-inputs
13157 `(("emacs-paredit" ,emacs-paredit)))
13158 (home-page "http://www.foldr.org/~michaelw/emacs/redshank/")
13159 (synopsis "Common Lisp Editing Extensions (for Emacs)")
13160 (description "Redshank is a collection of code-wrangling Emacs macros
13161mostly geared towards Common Lisp, but some are useful for other Lisp
13162dialects, too. Redshank's code transformations aim to be expression-based (as
13163opposed to character-based).")
13164 (license license:gpl1+))))
33756922
PN
13165
13166(define-public emacs-disk-usage
13167 (package
13168 (name "emacs-disk-usage")
933d810e
PN
13169 (version "1.2.0")
13170 (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
13171 (source
13172 (origin
13173 (method url-fetch)
13174 (uri (string-append
13175 "https://elpa.gnu.org/packages/disk-usage-"
13176 version
13177 ".el"))
13178 (sha256
13179 (base32
13180 "13n6bsrz8q07fl6sd7wi5zvf01m5xw11hmrpdz7wcn49v6vs3whl"))))
33756922
PN
13181 (build-system emacs-build-system)
13182 (synopsis "Sort and browse disk usage listings with Emacs")
13183 (description "Disk Usage is a file system analyzer: it offers a tabulated
13184view of file listings sorted by size. Directory sizes are computed
13185recursively. The results are cached for speed.")
13186 (license license:gpl3+)))
e77c7210
PN
13187
13188(define-public emacs-orgit
13189 (let ((commit "ddb830c38cb71e5cf86db7fa62d6ee88ab3962d5"))
13190 (package
13191 (name "emacs-orgit")
13192 (version (git-version "1.5.1" "1" commit))
13193 (home-page "https://github.com/magit/orgit")
13194 (source (origin
13195 (method git-fetch)
13196 (uri (git-reference
13197 (url home-page)
13198 (commit commit)))
13199 (file-name (git-file-name name version))
13200 (sha256
13201 (base32
13202 "0fy4n71yskfkjl6w9mzrw3pfd5lp8f48g2c9bxiwg7mwzsmsb9nb"))))
13203 (build-system emacs-build-system)
13204 (propagated-inputs
13205 `(("emacs-dash" ,emacs-dash)
13206 ("emacs-magit" ,emacs-magit)))
13207 (synopsis "Support for Org links to Magit buffers")
13208 (description "This package defines several Org link types, which can be
13209used to link to certain Magit buffers. Use the command
13210@command{org-store-link} while such a buffer is current to store a link.
13211Later you can insert it into an Org buffer using the command
13212@code{org-insert-link}.")
13213 (license license:gpl3+))))
089a2c51
CL
13214
13215(define-public emacs-amx
13216 (package
13217 (name "emacs-amx")
13218 (version "3.2")
13219 (source (origin
13220 (method git-fetch)
13221 (uri (git-reference
13222 (url "https://github.com/DarwinAwardWinner/amx")
13223 (commit (string-append "v" version))))
13224 (file-name (git-file-name name version))
13225 (sha256
13226 (base32
13227 "0bb8y1dmzyqkrb4mg6zndcsxppby3glridv2aap2pv05gv8kx7mj"))))
13228 (build-system emacs-build-system)
13229 (propagated-inputs `(("emacs-s" ,emacs-s)))
13230 (home-page "https://github.com/DarwinAwardWinner/amx")
13231 (synopsis "Alternative interface for M-x")
13232 (description "Amx is an alternative interface for M-x in Emacs. It
13233provides several enhancements over the ordinary
13234@code{execute-extended-command}, such as prioritizing your most-used commands
13235in the completion list and showing keyboard shortcuts, and it supports several
13236completion systems for selecting commands, such as ido and ivy.")
13237 (license license:gpl3+)))