gnu: emacs-fill-column-indicator: Don't use unstable tarball.
[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>
47956fa0 15;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
eeb883cb
RW
16;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
17;;; Copyright © 2016, 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
18;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
43af5f9d 19;;; Copyright © 2016, 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
eeb883cb 20;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
71066710 21;;; Copyright © 2017, 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
eeb883cb
RW
22;;; Copyright © 2017, 2018, 2019 Clément Lassieur <clement@lassieur.org>
23;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
24;;; Copyright © 2017, 2018 Kyle Meyer <kyle@kyleam.com>
25;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
26;;; Copyright © 2017 George Clemmer <myglc2@gmail.com>
27;;; Copyright © 2017, 2018 Feng Shu <tumashu@163.com>
28;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
34e3d028 29;;; Copyright © 2017, 2018, 2019 Oleg Pykhalov <go.wigust@gmail.com>
eeb883cb
RW
30;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
31;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
766bfda1 32;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
eeb883cb 33;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
82328c01 34;;; Copyright © 2017, 2018, 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
eeb883cb
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 38;;; Copyright © 2018, 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
ea4a1e5d 39;;; Copyright © 2018, 2019 Jack Hill <jackhill@jackhill.us>
eeb883cb
RW
40;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
41;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com>
42;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
43;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
e3da630b 44;;; Copyright © 2018, 2019 Brett Gilio <brettg@posteo.net>
d97283c3 45;;; Copyright © 2019 Dimakakos Dimos <bendersteed@teknik.io>
d2f555f5 46;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
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)
b7489004 100 #:use-module (gnu packages music)
eeb883cb
RW
101 #:use-module (gnu packages version-control)
102 #:use-module (gnu packages imagemagick)
103 #:use-module (gnu packages w3m)
104 #:use-module (gnu packages wget)
105 #:use-module (gnu packages autotools)
106 #:use-module (gnu packages base)
107 #:use-module (gnu packages compression)
108 #:use-module (gnu packages xml)
109 #:use-module (gnu packages glib)
110 #:use-module (gnu packages acl)
111 #:use-module (gnu packages mail)
112 #:use-module (gnu packages package-management)
113 #:use-module (gnu packages perl)
114 #:use-module (gnu packages pdf)
115 #:use-module (gnu packages scheme)
b8098cc6 116 #:use-module (gnu packages speech)
eeb883cb
RW
117 #:use-module (gnu packages xiph)
118 #:use-module (gnu packages mp3)
119 #:use-module (gnu packages gettext)
120 #:use-module (gnu packages fribidi)
121 #:use-module (gnu packages gd)
122 #:use-module (gnu packages fontutils)
123 #:use-module (gnu packages password-utils)
124 #:use-module (gnu packages pulseaudio)
125 #:use-module (gnu packages xdisorg)
126 #:use-module (gnu packages shells)
127 #:use-module (gnu packages sqlite)
128 #:use-module (gnu packages gnupg)
129 #:use-module (gnu packages video)
130 #:use-module (gnu packages haskell)
131 #:use-module (gnu packages wordnet)
132 #:use-module (guix utils)
133 #:use-module (srfi srfi-1)
134 #:use-module (ice-9 match))
135
136;;;
137;;; Emacs hacking.
138;;;
139
140(define-public emacs-geiser
141 (package
142 (name "emacs-geiser")
143 (version "0.10")
144 (source (origin
145 (method url-fetch)
146 (uri (string-append "mirror://savannah/geiser/" version
147 "/geiser-" version ".tar.gz"))
148 (sha256
149 (base32
150 "0pj3l7p8d60c9b4vfprnv6g5l61d74pls4b5dvd84cn4ky9mzwjv"))))
151 (build-system gnu-build-system)
152 (arguments
153 '(#:phases
154 (modify-phases %standard-phases
155 (add-after 'install 'post-install
156 (lambda* (#:key outputs #:allow-other-keys)
157 (symlink "geiser-install.el"
158 (string-append (assoc-ref outputs "out")
159 "/share/emacs/site-lisp/"
160 "geiser-autoloads.el"))
161 #t)))))
162 (inputs `(("guile" ,guile-2.2)))
163 (native-inputs `(("emacs" ,emacs-minimal)))
164 (home-page "https://nongnu.org/geiser/")
165 (synopsis "Collection of Emacs modes for Guile and Racket hacking")
166 (description
167 "Geiser is a collection of Emacs major and minor modes that conspire with
168one or more Scheme implementations to keep the Lisp Machine Spirit alive. The
169continuously running Scheme interpreter takes the center of the stage in
170Geiser. A bundle of Elisp shims orchestrates the dialog between the Scheme
171implementation, Emacs and, ultimately, the schemer, giving them access to live
172metadata.")
173 (license license:bsd-3)))
174
175(define-public geiser
176 (deprecated-package "geiser" emacs-geiser))
177
178(define-public emacs-paredit
179 (package
180 (name "emacs-paredit")
181 (version "24")
182 (source (origin
183 (method url-fetch)
184 (uri (string-append "http://mumble.net/~campbell/emacs/paredit-"
185 version ".el"))
186 (sha256
187 (base32
188 "0pp3n8q6kc70blqsaw0zlzp6bc327dpgdrjr0cnh7hqg1lras7ka"))))
189 (build-system emacs-build-system)
190 (home-page "http://mumble.net/~campbell/emacs/paredit/")
191 (synopsis "Emacs minor mode for editing parentheses")
192 (description
193 "ParEdit (paredit.el) is a minor mode for performing structured editing
194of S-expression data. The typical example of this would be Lisp or Scheme
195source code.
196
197ParEdit helps **keep parentheses balanced** and adds many keys for moving
198S-expressions and moving around in S-expressions. Its behavior can be jarring
199for those who may want transient periods of unbalanced parentheses, such as
200when typing parentheses directly or commenting out code line by line.")
201 (license license:gpl3+)))
202
203(define-public paredit
204 (deprecated-package "paredit" emacs-paredit))
205
206(define-public git-modes
207 (package
208 (name "emacs-git-modes")
209 (version "1.2.8")
210 (source (origin
8b9fab8f
EF
211 (method git-fetch)
212 (uri (git-reference
213 (url "https://github.com/magit/git-modes")
214 (commit version)))
215 (file-name (git-file-name name version))
eeb883cb
RW
216 (sha256
217 (base32
8b9fab8f 218 "08hy7rbfazs6grkpk54i82bz0i0c74zcjk96cip8970h6jn3mj72"))))
eeb883cb
RW
219 (build-system emacs-build-system)
220 (home-page "https://github.com/magit/git-modes")
221 (synopsis "Emacs major modes for Git configuration files")
222 (description
223 "This package provides Emacs major modes for editing various Git
224configuration files, such as .gitattributes, .gitignore, and .git/config.")
225 (license license:gpl3+)))
226
227(define-public git-modes/old-name
228 (deprecated-package "git-modes" git-modes))
229
230(define-public emacs-with-editor
231 (package
232 (name "emacs-with-editor")
233 (version "2.8.0")
234 (source (origin
235 (method git-fetch)
236 (uri (git-reference
237 (url "https://github.com/magit/with-editor.git")
238 (commit (string-append "v" version))))
239 (file-name (git-file-name name version))
240 (sha256
241 (base32
242 "1bbzvxnjpxqyvi808isld025b3pcidn4r2xf8hnk9bmzcfdvdr6q"))))
243 (build-system emacs-build-system)
244 (propagated-inputs
245 `(("emacs-dash" ,emacs-dash)))
246 (home-page "https://github.com/magit/with-editor")
247 (synopsis "Emacs library for using Emacsclient as EDITOR")
248 (description
249 "This package provides an Emacs library to use the Emacsclient as
250@code{$EDITOR} of child processes, making sure they know how to call home.
251For remote processes a substitute is provided, which communicates with Emacs
252on stdout instead of using a socket as the Emacsclient does.")
253 (license license:gpl3+)))
254
255(define-public emacs-magit
3a7ca60a
PN
256 ;; Version 2.90.1 has trouble loading the transient library,
257 ;; so we use a more recent commit that fixes it.
258 (let ((commit "b4aec016b5577afa8d889f258b499814d1bb1d94"))
259 (package
260 (name "emacs-magit")
261 (version (git-version "2.90.1" "1" commit))
262 (source (origin
263 (method git-fetch)
264 (uri (git-reference
265 (url "https://github.com/magit/magit")
266 (commit commit)))
267 (file-name (git-file-name name version))
268 (sha256
269 (base32
270 "0zl7v6z0y50pcgqsf2r8c1k3r5nwjad9ba7r6sgrnf4rc62br7jv"))))
271 (build-system gnu-build-system)
272 (native-inputs `(("texinfo" ,texinfo)
273 ("emacs" ,emacs-minimal)))
274 (inputs
275 `(("git" ,git)
276 ("perl" ,perl)))
277 (propagated-inputs
278 `(("dash" ,emacs-dash)
279 ("with-editor" ,emacs-with-editor)
280 ("transient" ,emacs-transient)))
281 (arguments
282 `(#:modules ((guix build gnu-build-system)
283 (guix build utils)
284 (guix build emacs-utils))
285 #:imported-modules (,@%gnu-build-system-modules
286 (guix build emacs-utils))
287 #:test-target "test"
288 #:tests? #f ; tests are not included in the release
eeb883cb 289
3a7ca60a
PN
290 #:make-flags
291 (list (string-append "PREFIX=" %output)
292 ;; Don't put .el files in a sub-directory.
293 (string-append "lispdir=" %output "/share/emacs/site-lisp")
294 (string-append "DASH_DIR="
295 (assoc-ref %build-inputs "dash")
296 "/share/emacs/site-lisp/guix.d/dash-"
297 ,(package-version emacs-dash))
298 (string-append "WITH_EDITOR_DIR="
299 (assoc-ref %build-inputs "with-editor")
300 "/share/emacs/site-lisp/guix.d/with-editor-"
301 ,(package-version emacs-with-editor))
302 (string-append "TRANSIENT_DIR="
303 (assoc-ref %build-inputs "transient")
304 "/share/emacs/site-lisp/guix.d/transient-"
305 ,(package-version emacs-transient)))
eeb883cb 306
3a7ca60a
PN
307 #:phases
308 (modify-phases %standard-phases
309 (delete 'configure)
310 (add-before
311 'build 'patch-exec-paths
312 (lambda* (#:key inputs #:allow-other-keys)
313 (let ((perl (assoc-ref inputs "perl")))
314 (make-file-writable "lisp/magit-sequence.el")
315 (emacs-substitute-variables "lisp/magit-sequence.el"
316 ("magit-perl-executable" (string-append perl "/bin/perl")))
317 #t))))))
318 (home-page "https://magit.vc/")
319 (synopsis "Emacs interface for the Git version control system")
320 (description
321 "With Magit, you can inspect and modify your Git repositories with Emacs.
eeb883cb
RW
322You can review and commit the changes you have made to the tracked files, for
323example, and you can browse the history of past changes. There is support for
324cherry picking, reverting, merging, rebasing, and other common Git
325operations.")
3a7ca60a 326 (license license:gpl3+))))
eeb883cb
RW
327
328(define-public magit
329 (deprecated-package "magit" emacs-magit))
330
331(define-public emacs-magit-svn
65fc1932
PN
332 (let ((commit "9e33ceee32f665db59909e1c00a667ccdd04178f"))
333 (package
334 (name "emacs-magit-svn")
335 (version (git-version "2.2.1" "1" commit))
336 (source (origin
337 (method git-fetch)
338 (uri (git-reference
339 (url "https://github.com/magit/magit-svn")
340 (commit commit)))
341 (file-name (git-file-name name version))
342 (sha256
343 (base32
344 "1mlqz8dh6jy5rv72lgkxv253dgh73fmbaidskicypapvbl3lr6xy"))))
345 (build-system trivial-build-system)
346 (native-inputs `(("emacs" ,emacs-minimal)))
347 (propagated-inputs `(("dash" ,emacs-dash)
348 ("with-editor" ,emacs-with-editor)
349 ("magit" ,emacs-magit)
350 ("transient" ,emacs-transient)))
351 (arguments
352 `(#:modules ((guix build utils)
353 (guix build emacs-utils))
eeb883cb 354
65fc1932
PN
355 #:builder
356 (begin
357 (use-modules (guix build utils)
358 (guix build emacs-utils))
eeb883cb 359
65fc1932
PN
360 (let ((emacs (string-append (assoc-ref %build-inputs "emacs")
361 "/bin/emacs"))
362 (magit (string-append (assoc-ref %build-inputs "magit")
363 "/share/emacs/site-lisp"))
364 (transient (string-append (assoc-ref %build-inputs "transient")
365 "/share/emacs/site-lisp/guix.d/transient-"
366 ,(package-version emacs-transient)))
367 (dash (string-append (assoc-ref %build-inputs "dash")
368 "/share/emacs/site-lisp/guix.d/dash-"
369 ,(package-version emacs-dash)))
370 (with-editor (string-append (assoc-ref %build-inputs "with-editor")
371 "/share/emacs/site-lisp/guix.d/with-editor-"
372 ,(package-version emacs-with-editor)))
373 (source (assoc-ref %build-inputs "source"))
374 (lisp-dir (string-append %output "/share/emacs/site-lisp")))
eeb883cb 375
65fc1932
PN
376 (install-file (string-append source "/magit-svn.el")
377 lisp-dir)
eeb883cb 378
65fc1932
PN
379 (with-directory-excursion lisp-dir
380 (parameterize ((%emacs emacs))
381 (emacs-generate-autoloads ,name lisp-dir)
382 (setenv "EMACSLOADPATH"
383 (string-append ":" magit ":" transient
384 ":" dash ":" with-editor))
385 (emacs-batch-eval '(byte-compile-file "magit-svn.el"))))
386 #t))))
387 (home-page "https://github.com/magit/magit-svn")
388 (synopsis "Git-SVN extension to Magit")
389 (description
390 "This package is an extension to Magit, the Git Emacs mode, providing
eeb883cb 391support for Git-SVN.")
65fc1932 392 (license license:gpl3+))))
eeb883cb
RW
393
394(define-public magit-svn
395 (deprecated-package "magit-svn" emacs-magit-svn))
396
397(define-public emacs-magit-popup
398 (package
399 (name "emacs-magit-popup")
400 (version "2.12.5")
401 (source (origin
402 (method git-fetch)
403 (uri (git-reference
404 (url "https://github.com/magit/magit-popup.git")
405 (commit (string-append "v" version))))
406 (file-name (git-file-name name version))
407 (sha256
408 (base32
409 "13riknyqr6vxqll80sfhvz165flvdz367rbd0pr5slb01bnfsi2i"))))
410 (build-system emacs-build-system)
411 (arguments
412 `(#:phases
413 (modify-phases %standard-phases
414 (add-before 'install 'make-info
415 (lambda _
416 (invoke "make" "info"))))))
417 (native-inputs
418 `(("texinfo" ,texinfo)))
419 (propagated-inputs
420 `(("emacs-dash" ,emacs-dash)))
421 (home-page "https://github.com/magit/magit-popup")
422 (synopsis "Define prefix-infix-suffix command combos")
423 (description
424 "This library implements a generic interface for toggling switches and
425setting options and then invoking an Emacs command which does something with
426these arguments. The prototypical use is for the command to call an external
427process, passing on the arguments as command line arguments.")
428 (license license:gpl3+)))
429
430(define-public emacs-treepy
431 (package
432 (name "emacs-treepy")
433 (version "0.1.1")
434 (source (origin
435 (method git-fetch)
436 (uri (git-reference
437 (url "https://github.com/volrath/treepy.el.git")
438 (commit version)))
439 (file-name (git-file-name name version))
440 (sha256
441 (base32
442 "04zwm6gx9pxfvgfkizx6pvb1ql8pqxjyzqp8flz0432x0gq5nlxk"))))
443 (build-system emacs-build-system)
444 (home-page
445 "https://github.com/volrath/treepy.el")
446 (synopsis "Tree traversal tools")
447 (description
448 "Generic tools for recursive and iterative tree traversal based on
449clojure.walk and clojure.zip respectively.")
450 (license license:gpl3+)))
451
452(define-public emacs-graphql
453 (package
454 (name "emacs-graphql")
455 (version "0.1.1")
456 (source (origin
457 (modules '((guix build utils)))
458 ;; Remove examples file with references to external packages as
459 ;; they do not exist at compilation time.
460 (snippet
461 '(begin (delete-file "examples.el")
462 #t))
463 (method git-fetch)
464 (uri (git-reference
465 (url "https://github.com/vermiculus/graphql.el.git")
466 (commit version)))
467 (file-name (git-file-name name version))
468 (sha256
469 (base32
470 "0sp0skc1rnhi39szfbq1i99pdgd3bhn4c15cff05iqhjy2d4hniw"))))
471 (build-system emacs-build-system)
472 (home-page
473 "https://github.com/vermiculus/graphql.el")
474 (synopsis "GraphQL utilities")
475 (description
476 "GraphQL.el provides a generally-applicable domain-specific language for
477creating and executing GraphQL queries against your favorite web services.
478GraphQL is a data query language and runtime designed and used to request and
479deliver data to mobile and web apps.")
480 (license license:gpl3+)))
481
482(define-public emacs-ghub
483 (package
484 (name "emacs-ghub")
ae848798 485 (version "3.2.0")
eeb883cb 486 (source (origin
0c662875
EF
487 (method git-fetch)
488 (uri (git-reference
489 (url "https://github.com/magit/ghub")
490 (commit (string-append "v" version))))
491 (file-name (git-file-name name version))
eeb883cb
RW
492 (sha256
493 (base32
ae848798 494 "0lp52qygyavddl1lrgsyb6mq7hcf9h89dy2pzya3mb2va49f0vvl"))))
eeb883cb
RW
495 (build-system emacs-build-system)
496 (arguments
497 `(#:phases
498 (modify-phases %standard-phases
499 (add-before 'install 'make-info
500 (lambda _
501 (invoke "make" "info"))))))
502 (native-inputs
503 `(("texinfo" ,texinfo)))
ae848798
EF
504 (propagated-inputs
505 `(("dash" ,emacs-dash)
506 ("graphql" ,emacs-graphql)
507 ("treepy" ,emacs-treepy)))
eeb883cb 508 (home-page "https://github.com/magit/ghub")
ae848798 509 (synopsis "Emacs client libraries for the APIs of various Git forges")
eeb883cb 510 (description
ae848798
EF
511 "Ghub provides basic support for using the APIs of various Git forges from
512Emacs packages. It supports the REST APIs of Github, Github GraphQL, Gitlab,
513Gitea, Gogs and Bitbucket. It abstracts access to API resources using only a
514handful of functions that are not resource-specific.")
eeb883cb
RW
515 (license license:gpl3+)))
516
517(define-public emacs-scribble-mode
518 (let ((commit "34e9e5edb921813b6483e0fefa848efb6ee4b314")
519 (version "0.0")
520 (revision 0))
521 (package
522 (name "emacs-scribble-mode")
523 (version (if (zero? revision)
524 version
525 (string-append version "-"
526 (number->string revision)
527 "." (string-take commit 7))))
528 (source (origin
529 (method git-fetch)
530 (uri (git-reference
531 (url "https://github.com/emacs-pe/scribble-mode.git")
532 (commit commit)))
533 (sha256
534 (base32
535 "0598byqpz2q6yi2q4dwd77jj9z3n99z34d3an51s9m2za0nh1qvp"))))
536 (build-system emacs-build-system)
537 (home-page "https://github.com/emacs-pe/scribble-mode")
538 (synopsis "Emacs mode for editing the Scribble documentation syntax.")
539 (description
540 "This package provides basic syntax highlighting and editing support
541for editing Racket's Scribble documentation syntax in Emacs.")
542 (license license:gpl3+))))
543
54f51df6
BL
544(define-public emacs-unpackaged-el
545 (let ((commit "f4df7f8dfea715e893b2223adda32545803f5cce")
546 (revision "1"))
547 (package
548 (name "emacs-unpackaged-el")
549 (version (git-version "0" revision commit))
550 (source
551 (origin
552 (method git-fetch)
553 (uri (git-reference
554 (url "https://github.com/alphapapa/unpackaged.el")
555 (commit commit)))
556 (file-name (git-file-name name version))
557 (sha256
558 (base32
559 "1yf3zrgqfhnr0az8gn1kqqwnhfi3nc0vbjkcagwcqwk3sp1jda86"))))
560 (build-system emacs-build-system)
561 (propagated-inputs
562 `(("emacs-dash" ,emacs-dash)
563 ("emacs-org" ,emacs-org)
564 ("emacs-s" ,emacs-s)
565 ("emacs-use-package" ,emacs-use-package)))
566 (home-page "https://github.com/alphapapa/unpackaged.el")
567 (synopsis "Useful snippets of Emacs Lisp code")
568 (description "This package provides Emacs Lisp utilities for a variety
569of tasks, including version control, task management, and regex-based
570replacement.")
571 (license license:gpl3+))))
572
eeb883cb
RW
573(define-public emacs-haskell-mode
574 (package
575 (name "emacs-haskell-mode")
576 (version "16.1")
577 (source (origin
f5350a07
EF
578 (method git-fetch)
579 (uri (git-reference
580 (url "https://github.com/haskell/haskell-mode")
581 (commit (string-append "v" version))))
582 (file-name (git-file-name name version))
eeb883cb 583 (sha256
f5350a07 584 (base32 "1qk36y0v9fzass6785il65c6wb5cfj4ihhwkvgnzmbafpa8p4dvq"))
eeb883cb
RW
585 (patches
586 (search-patches ; backport test failure fixes
587 "haskell-mode-unused-variables.patch"
588 "haskell-mode-make-check.patch"))))
589 (inputs
590 `(("emacs-el-search" ,emacs-el-search) ; for tests
591 ("emacs-stream" ,emacs-stream))) ; for tests
592 (propagated-inputs
593 `(("emacs-dash" ,emacs-dash)))
594 (native-inputs
595 `(("emacs" ,emacs-minimal)
596 ("texinfo" ,texinfo)))
597 (build-system gnu-build-system)
598 (arguments
599 `(#:make-flags (list (string-append "EMACS="
600 (assoc-ref %build-inputs "emacs")
601 "/bin/emacs"))
602 #:modules ((ice-9 match)
603 (srfi srfi-26)
604 ,@%gnu-build-system-modules)
605 #:phases
606 (modify-phases %standard-phases
607 (delete 'configure)
608 (add-before
609 'build 'pre-build
610 (lambda* (#:key inputs #:allow-other-keys)
611 (define (el-dir store-dir)
612 (match (find-files store-dir "\\.el$")
613 ((f1 f2 ...) (dirname f1))
614 (_ "")))
615
616 (let ((sh (string-append (assoc-ref inputs "bash") "/bin/sh")))
617 (define emacs-prefix? (cut string-prefix? "emacs-" <>))
618
619 (setenv "SHELL" "sh")
620 (setenv "EMACSLOADPATH"
621 (string-concatenate
622 (map (match-lambda
623 (((? emacs-prefix? name) . dir)
624 (string-append (el-dir dir) ":"))
625 (_ ""))
626 inputs)))
627 (substitute* (find-files "." "\\.el") (("/bin/sh") sh))
628 ;; embed filename to fix test failure
629 (let ((file "tests/haskell-cabal-tests.el"))
630 (substitute* file
631 (("\\(buffer-file-name\\)")
632 (format #f "(or (buffer-file-name) ~s)" file))))
633 #t)))
634 (replace
635 'install
636 (lambda* (#:key outputs #:allow-other-keys)
637 (let* ((out (assoc-ref outputs "out"))
638 (el-dir (string-append out "/share/emacs/site-lisp"))
639 (doc (string-append
640 out "/share/doc/haskell-mode-" ,version))
641 (info (string-append out "/share/info")))
642 (define (copy-to-dir dir files)
643 (for-each (lambda (f)
644 (install-file f dir))
645 files))
646
647 (with-directory-excursion "doc"
648 (invoke "makeinfo" "haskell-mode.texi")
649 (install-file "haskell-mode.info" info))
650 (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
651 (copy-to-dir el-dir (find-files "." "\\.elc?"))
652 ;; These are part of other packages.
653 (with-directory-excursion el-dir
654 (for-each delete-file '("dash.el" "ert.el")))
655 #t))))))
656 (home-page "https://github.com/haskell/haskell-mode")
657 (synopsis "Haskell mode for Emacs")
658 (description
659 "This is an Emacs mode for editing, debugging and developing Haskell
660programs.")
661 (license license:gpl3+)))
662
663(define-public haskell-mode
664 (deprecated-package "haskell-mode" emacs-haskell-mode))
665
666(define-public emacs-flycheck
667 (package
668 (name "emacs-flycheck")
669 (version "31")
670 (source (origin
671 (method url-fetch)
672 (uri (string-append
673 "https://github.com/flycheck/flycheck/releases/download/"
674 version "/flycheck-" version ".tar"))
675 (sha256
676 (base32
677 "01rnwan16m7cyyrfca3c5c60mbj2r3knkpzbhji2fczsf0wns240"))
678 (modules '((guix build utils)))
679 (snippet `(begin
680 ;; Change 'flycheck-version' so that it does not
681 ;; attempt to get its version from pkg-info.el.
682 (substitute* "flycheck.el"
683 (("\\(pkg-info-version-info 'flycheck\\)")
684 (string-append "\"" ,version "\"")))
685 #t))))
686 (build-system emacs-build-system)
687 (propagated-inputs
688 `(("emacs-dash" ,emacs-dash)))
689 (home-page "https://www.flycheck.org")
690 (synopsis "On-the-fly syntax checking")
691 (description
692 "This package provides on-the-fly syntax checking for GNU Emacs. It is a
693replacement for the older Flymake extension which is part of GNU Emacs, with
694many improvements and additional features.
695
696Flycheck provides fully-automatic, fail-safe, on-the-fly background syntax
697checking for over 30 programming and markup languages with more than 70
698different tools. It highlights errors and warnings inline in the buffer, and
699provides an optional IDE-like error list.")
700 (license license:gpl3+))) ;+GFDLv1.3+ for the manual
701
702(define-public emacs-a
703 (package
704 (name "emacs-a")
705 (version "0.1.1")
706 (source (origin
707 (method git-fetch)
708 (uri (git-reference
709 (url "https://github.com/plexus/a.el.git")
710 (commit (string-append "v" version))))
711 (file-name (git-file-name name version))
712 (sha256
713 (base32
714 "00v9w6qg3bkwdhypq0ssf0phdh0f4bcq59c20lngd6vhk0204dqi"))))
715 (build-system emacs-build-system)
716 (home-page "https://github.com/plexus/a.el/")
717 (synopsis
718 "Emacs library for dealing with association lists and hash tables")
719 (description "@code{emacs-a} provides Emacs Lisp functions for dealing
720with associative structures in a uniform and functional way. These functions
721can take association lists, hash tables, and in some cases vectors (where the
722index is considered the key).")
723 (license license:gpl3+)))
724
60ceff7e
NG
725(define-public emacs-anaphora
726 (package
727 (name "emacs-anaphora")
728 (version "1.0.4")
729 (source
730 (origin
731 (method git-fetch)
732 (uri (git-reference
733 (url "https://github.com/rolandwalker/anaphora.git")
734 (commit (string-append "v" version))))
735 (file-name (git-file-name name version))
736 (sha256
737 (base32
738 "11fgiy029sqz7nvdm7dcal95lacryz9zql0x5h05z48nrrcl4bib"))))
739 (build-system emacs-build-system)
740 (home-page "https://github.com/rolandwalker/anaphora/")
741 (synopsis "Anaphoric expressions for Emacs Lisp")
742 (description "@code{emacs-anaphora} implements anaphoric expressions for
743Emacs Lisp.
744
745Anaphoric expressions implicitly create one or more temporary variables which
746can be referred to during the expression. This technique can improve clarity
747in certain cases. It also enables recursion for anonymous functions.")
748 (license license:public-domain)))
749
5dfbf562
NG
750(define-public emacs-xr
751 (package
752 (name "emacs-xr")
7d807d8d 753 (version "1.10")
5dfbf562
NG
754 (source
755 (origin
756 (method url-fetch)
757 (uri (string-append
758 "https://elpa.gnu.org/packages/xr-" version ".tar"))
759 (sha256
760 (base32
7d807d8d 761 "16p68rj5h609pnbp7y0jiiq1zkbksh4qqi1q8yby3ldj5x9sfpwc"))))
5dfbf562
NG
762 (build-system emacs-build-system)
763 (home-page "http://elpa.gnu.org/packages/xr.html")
764 (synopsis "Convert string regexp to rx notation")
765 (description
766 "This is an inverse companion to the @code{rx} package for translating
767regexps in string form to the @code{rx} notation. Its chief uses are:
768
769@itemize
770@item Migrating existing code to @code{rx} form, for better readability and
771maintainability
772@item Understanding complex regexp strings and finding errors in them
773@end itemize
774
775In addition to Emacs regexps, this package can also parse and troubleshoot
776skip set strings, which are arguments to @code{skip-chars-forward} and
24540c31
NG
777@code{skip-chars-backward}.")
778 (license license:gpl3+)))
779
780(define-public emacs-relint
781 (package
782 (name "emacs-relint")
cdd962e8 783 (version "1.6")
24540c31
NG
784 (source
785 (origin
786 (method url-fetch)
787 (uri (string-append
788 "https://elpa.gnu.org/packages/relint-" version ".el"))
789 (sha256
790 (base32
cdd962e8 791 "17nyy3zqpqgs22lrrpdm0k56xnhj5l3y2y3lnmhcqw63xksgbsyk"))))
24540c31
NG
792 (build-system emacs-build-system)
793 (propagated-inputs `(("emacs-xr" ,emacs-xr)))
794 (home-page "https://github.com/mattiase/relint")
795 (synopsis "Elisp regexp mistake finder")
796 (description
797 "Relint (regular expression lint) scans Elisp files for mistakes in
798regexps, including deprecated syntax and bad practice. It also checks the
799regexp-like arguments to @code{skip-chars-forward} and
5dfbf562
NG
800@code{skip-chars-backward}.")
801 (license license:gpl3+)))
802
eeb883cb
RW
803\f
804;;;
805;;; Web browsing.
806;;;
807
808(define-public emacs-w3m
809 ;; Emacs-w3m follows a "rolling release" model.
810 (package
811 (name "emacs-w3m")
812 (version "2018-11-11")
813 (source (origin
814 (method cvs-fetch)
815 (uri (cvs-reference
816 (root-directory
817 ":pserver:anonymous@cvs.namazu.org:/storage/cvsroot")
818 (module "emacs-w3m")
819 (revision version)))
820 (file-name (string-append name "-" version "-checkout"))
821 (sha256
822 (base32
823 "0nvahdbjs12zg7zsk4gql02mvnv56cf1rwj2f5p42lwp3xvswiwp"))))
824 (build-system gnu-build-system)
825 (native-inputs `(("autoconf" ,autoconf)
826 ("texinfo" ,texinfo)
827 ("emacs" ,emacs-minimal)))
828 (inputs `(("w3m" ,w3m)
829 ("imagemagick" ,imagemagick)))
830 (arguments
831 `(#:modules ((guix build gnu-build-system)
832 (guix build utils)
833 (guix build emacs-utils))
834 #:imported-modules (,@%gnu-build-system-modules
835 (guix build emacs-utils))
836 #:configure-flags
837 (let ((out (assoc-ref %outputs "out")))
838 (list (string-append "--with-lispdir="
839 out "/share/emacs/site-lisp")
840 (string-append "--with-icondir="
841 out "/share/images/emacs-w3m")
842 ;; Leave .el files uncompressed, otherwise GC can't
843 ;; identify run-time dependencies. See
844 ;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
845 "--without-compress-install"))
846 #:tests? #f ; no check target
847 #:phases
848 (modify-phases %standard-phases
849 (add-after 'unpack 'autoconf
850 (lambda _
851 (invoke "autoconf")))
852 (add-before 'configure 'support-emacs!
853 (lambda _
854 ;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
855 ;; unsupported.
856 (substitute* "configure"
857 (("EMACS_FLAVOR=unsupported")
858 "EMACS_FLAVOR=emacs"))
859 #t))
860 (add-before 'build 'patch-exec-paths
861 (lambda* (#:key inputs outputs #:allow-other-keys)
862 (let ((out (assoc-ref outputs "out"))
863 (w3m (assoc-ref inputs "w3m"))
864 (imagemagick (assoc-ref inputs "imagemagick"))
865 (coreutils (assoc-ref inputs "coreutils")))
866 (make-file-writable "w3m.el")
867 (emacs-substitute-variables "w3m.el"
868 ("w3m-command" (string-append w3m "/bin/w3m"))
869 ("w3m-touch-command"
870 (string-append coreutils "/bin/touch"))
871 ("w3m-icon-directory"
872 (string-append out "/share/images/emacs-w3m")))
873 (make-file-writable "w3m-image.el")
874 (emacs-substitute-variables "w3m-image.el"
875 ("w3m-imagick-convert-program"
876 (string-append imagemagick "/bin/convert"))
877 ("w3m-imagick-identify-program"
878 (string-append imagemagick "/bin/identify")))
879 #t)))
880 (replace 'install
881 (lambda* (#:key outputs #:allow-other-keys)
882 (invoke "make" "install" "install-icons")
883 (with-directory-excursion
884 (string-append (assoc-ref outputs "out")
885 "/share/emacs/site-lisp")
886 (for-each delete-file '("ChangeLog" "ChangeLog.1"))
887 (symlink "w3m-load.el" "w3m-autoloads.el")
888 #t))))))
889 (home-page "http://emacs-w3m.namazu.org/")
890 (synopsis "Simple Web browser for Emacs based on w3m")
891 (description
892 "Emacs-w3m is an emacs interface for the w3m web browser.")
893 (license license:gpl2+)))
894
895(define-public emacs-wget
896 (package
897 (name "emacs-wget")
898 (version "0.5.0")
899 (source (origin
900 (method url-fetch)
901 (uri (string-append "mirror://debian/pool/main/w/wget-el/wget-el_"
902 version ".orig.tar.gz"))
903 (sha256
904 (base32 "10byvyv9dk0ib55gfqm7bcpxmx2qbih1jd03gmihrppr2mn52nff"))))
905 (build-system gnu-build-system)
906 (inputs `(("wget" ,wget)))
907 (native-inputs `(("emacs" ,emacs-minimal)))
908 (arguments
909 `(#:modules ((guix build gnu-build-system)
910 (guix build utils)
911 (guix build emacs-utils))
912 #:imported-modules (,@%gnu-build-system-modules
913 (guix build emacs-utils))
914 #:tests? #f ; no check target
915 #:phases
916 (modify-phases %standard-phases
917 (replace 'configure
918 (lambda* (#:key outputs #:allow-other-keys)
919 (substitute* "Makefile"
920 (("/usr/local") (assoc-ref outputs "out"))
921 (("/site-lisp/emacs-wget") "/site-lisp"))
922 #t))
923 (add-before 'build 'patch-exec-paths
924 (lambda* (#:key inputs outputs #:allow-other-keys)
925 (let ((wget (assoc-ref inputs "wget")))
926 (emacs-substitute-variables "wget.el"
927 ("wget-command" (string-append wget "/bin/wget"))))
928 #t))
929 (add-after 'install 'post-install
930 (lambda* (#:key outputs #:allow-other-keys)
931 (emacs-generate-autoloads
932 "wget" (string-append (assoc-ref outputs "out")
933 "/share/emacs/site-lisp/"))
934 #t)))))
935 (home-page "http://www.emacswiki.org/emacs/EmacsWget")
936 (synopsis "Simple file downloader for Emacs based on wget")
937 (description
938 "Emacs-wget is an emacs interface for the wget file downloader.")
939 (license license:gpl2+)))
940
941\f
942;;;
943;;; Multimedia.
944;;;
945
946(define-public emacs-emms
947 (package
948 (name "emacs-emms")
949 (version "5.1")
950 (source (origin
951 (method url-fetch)
952 (uri (string-append "mirror://gnu/emms/emms-"
953 version ".tar.gz"))
954 (sha256
955 (base32
956 "149ddczyx6x10zn4mn8g0rll1rwf4yciv8x6j0qdnlbwszblx2x6"))
957 (modules '((guix build utils)))
958 (snippet
959 '(begin
960 (substitute* "Makefile"
961 (("/usr/bin/install-info")
962 ;; No need to use 'install-info' since it would create a
963 ;; useless 'dir' file.
964 "true")
965 (("^INFODIR=.*")
966 ;; Install Info files to $out/share/info, not $out/info.
967 "INFODIR := $(PREFIX)/share/info\n")
968 (("/site-lisp/emms")
969 ;; Install directly in share/emacs/site-lisp, not in a
970 ;; sub-directory.
971 "/site-lisp")
972 (("^all: (.*)\n" _ rest)
973 ;; Build 'emms-print-metadata'.
974 (string-append "all: " rest " emms-print-metadata\n")))
975 #t))))
976 (build-system gnu-build-system)
977 (arguments
978 `(#:modules ((guix build gnu-build-system)
979 (guix build utils)
980 (guix build emacs-utils)
981 (ice-9 ftw))
982 #:imported-modules (,@%gnu-build-system-modules
983 (guix build emacs-utils))
984
985 #:phases
986 (modify-phases %standard-phases
987 (replace 'configure
988 (lambda* (#:key inputs outputs #:allow-other-keys)
989 (let ((out (assoc-ref outputs "out"))
990 (flac (assoc-ref inputs "flac"))
991 (vorbis (assoc-ref inputs "vorbis-tools"))
992 (alsa (assoc-ref inputs "alsa-utils"))
993 (mpg321 (assoc-ref inputs "mpg321"))
994 (mp3info (assoc-ref inputs "mp3info"))
b7489004 995 (mutagen (assoc-ref inputs "mutagen"))
eeb883cb
RW
996 (opus (assoc-ref inputs "opus-tools")))
997 ;; Specify the installation directory.
998 (substitute* "Makefile"
999 (("PREFIX=.*$")
1000 (string-append "PREFIX := " out "\n")))
1001
1002 (setenv "SHELL" (which "sh"))
1003 (setenv "CC" "gcc")
1004
1005 ;; Specify the absolute file names of the various
1006 ;; programs so that everything works out-of-the-box.
1007 (with-directory-excursion "lisp"
1008 (emacs-substitute-variables
1009 "emms-player-mpg321-remote.el"
1010 ("emms-player-mpg321-remote-command"
1011 (string-append mpg321 "/bin/mpg321")))
1012 (substitute* "emms-player-simple.el"
1013 (("\"ogg123\"")
1014 (string-append "\"" vorbis "/bin/ogg123\"")))
1015 (substitute* "emms-player-simple.el"
1016 (("\"mpg321\"")
1017 (string-append "\"" mpg321 "/bin/mpg321\"")))
1018 (emacs-substitute-variables "emms-info-ogginfo.el"
1019 ("emms-info-ogginfo-program-name"
1020 (string-append vorbis "/bin/ogginfo")))
1021 (emacs-substitute-variables "emms-info-opusinfo.el"
1022 ("emms-info-opusinfo-program-name"
1023 (string-append opus "/bin/opusinfo")))
1024 (emacs-substitute-variables "emms-info-libtag.el"
1025 ("emms-info-libtag-program-name"
1026 (string-append out "/bin/emms-print-metadata")))
1027 (emacs-substitute-variables "emms-info-mp3info.el"
1028 ("emms-info-mp3info-program-name"
1029 (string-append mp3info "/bin/mp3info")))
1030 (emacs-substitute-variables "emms-info-metaflac.el"
1031 ("emms-info-metaflac-program-name"
1032 (string-append flac "/bin/metaflac")))
1033 (emacs-substitute-variables "emms-source-file.el"
1034 ("emms-source-file-gnu-find" (which "find")))
1035 (substitute* "emms-volume-amixer.el"
1036 (("\"amixer\"")
1037 (string-append "\"" alsa "/bin/amixer\"")))
1038 (substitute* "emms-tag-editor.el"
b7489004
LC
1039 (("\"mid3v2\"")
1040 (string-append "\"" mutagen "/bin/mid3v2\"")))
1041 #t))))
eeb883cb
RW
1042 (add-before 'install 'pre-install
1043 (lambda* (#:key outputs #:allow-other-keys)
1044 ;; The 'install' rule expects the target directories to exist.
1045 (let* ((out (assoc-ref outputs "out"))
1046 (bin (string-append out "/bin"))
1047 (man1 (string-append out "/share/man/man1")))
1048 (mkdir-p bin)
1049 (mkdir-p man1)
1050
1051 ;; Ensure that files are not rejected by gzip
1052 (let ((early-1980 315619200)) ; 1980-01-02 UTC
1053 (ftw "." (lambda (file stat flag)
1054 (unless (<= early-1980 (stat:mtime stat))
1055 (utime file early-1980 early-1980))
1056 #t)))
1057 #t)))
1058 (add-after 'install 'post-install
1059 (lambda* (#:key outputs #:allow-other-keys)
1060 (let ((out (assoc-ref outputs "out")))
1061 (symlink "emms-auto.el"
1062 (string-append out "/share/emacs/site-lisp/"
1063 "emms-autoloads.el")))
1064 #t)))
1065 #:tests? #f))
1066 (native-inputs `(("emacs" ,emacs-minimal) ;for (guix build emacs-utils)
1067 ("texinfo" ,texinfo)))
1068 (inputs `(("alsa-utils" ,alsa-utils)
1069 ("flac" ,flac) ;for metaflac
1070 ("vorbis-tools" ,vorbis-tools)
1071 ("mpg321" ,mpg321)
1072 ("taglib" ,taglib)
1073 ("mp3info" ,mp3info)
b7489004 1074 ("mutagen" ,python-mutagen)
eeb883cb
RW
1075 ("opus-tools" ,opus-tools)))
1076 (properties '((upstream-name . "emms")))
1077 (synopsis "Emacs Multimedia System")
1078 (description
1079 "EMMS is the Emacs Multimedia System. It is a small front-end which
1080can control one of the supported external players. Thus, it supports
1081whatever formats are supported by your music player. It also
1082supports tagging and playlist management, all behind a clean and
1083light user interface.")
1084 (home-page "https://www.gnu.org/software/emms/")
1085 (license license:gpl3+)))
1086
1087(define-public emacs-emms-player-mpv
1088 ;; A new mpv backend is included in Emms from 5.0.
1089 (deprecated-package "emacs-emms-player-mpv" emacs-emms))
1090
1091(define-public emacs-emms-mode-line-cycle
1092 (package
1093 (name "emacs-emms-mode-line-cycle")
1094 (version "0.2.5")
1095 (source
1096 (origin
b2c08402
EF
1097 (method git-fetch)
1098 (uri (git-reference
1099 (url "https://github.com/momomo5717/emms-mode-line-cycle")
1100 (commit version)))
1101 (file-name (git-file-name name version))
eeb883cb
RW
1102 (sha256
1103 (base32
b2c08402 1104 "0q80f0plch6k4lhs8c9qm3mfycfbp3kn5sjrk9zxgxwnn901y9mp"))))
eeb883cb
RW
1105 (build-system emacs-build-system)
1106 (propagated-inputs
1107 `(("emms" ,emacs-emms)))
1108 (home-page "https://github.com/momomo5717/emms-mode-line-cycle")
1109 (synopsis "Display the EMMS mode line as a ticker")
1110 (description
1111 "This is a minor mode for updating the EMMS mode-line string cyclically
1112within a specified width. It is useful for displaying long track titles.")
1113 (license license:gpl3+)))
1114
1115\f
1116;;;
1117;;; Miscellaneous.
1118;;;
1119
1120(define-public emacs-bbdb
1121 (package
1122 (name "emacs-bbdb")
1123 (version "3.1.2")
1124 (source (origin
1125 (method url-fetch)
1126 (uri (string-append "mirror://savannah/bbdb/bbdb-"
1127 version ".tar.gz"))
1128 (sha256
1129 (base32
1130 "1gs16bbpiiy01w9pyg12868r57kx1v3hnw04gmqsmpc40l1hyy05"))
1131 (modules '((guix build utils)))
1132 (snippet
1133 ;; We don't want to build and install the PDF.
1134 '(begin
1135 (substitute* "doc/Makefile.in"
1136 (("^doc_DATA = .*$")
1137 "doc_DATA =\n"))
1138 #t))))
1139 (build-system gnu-build-system)
1140 (arguments
1141 '(#:phases
1142 (modify-phases %standard-phases
1143 (add-after 'install 'post-install
1144 (lambda* (#:key outputs #:allow-other-keys)
1145 ;; Add an autoloads file with the right name for guix.el.
1146 (let* ((out (assoc-ref outputs "out"))
1147 (site (string-append out "/share/emacs/site-lisp")))
1148 (with-directory-excursion site
1149 (symlink "bbdb-loaddefs.el" "bbdb-autoloads.el")))
1150 #t)))))
1151 (native-inputs `(("emacs" ,emacs-minimal)))
1152 (home-page "https://savannah.nongnu.org/projects/bbdb/")
1153 (synopsis "Contact management utility for Emacs")
1154 (description
1155 "BBDB is the Insidious Big Brother Database for GNU Emacs. It provides
1156an address book for email and snail mail addresses, phone numbers and the
1157like. It can be linked with various Emacs mail clients (Message and Mail
1158mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
1159 (license license:gpl3+)))
1160
1161(define-public bbdb
1162 (deprecated-package "bbdb" emacs-bbdb))
1163
1164(define-public emacs-aggressive-indent
1165 (package
1166 (name "emacs-aggressive-indent")
1167 (version "1.8.3")
1168 (source (origin
1169 (method url-fetch)
1170 (uri (string-append "https://elpa.gnu.org/packages/"
1171 "aggressive-indent-" version ".el"))
1172 (sha256
1173 (base32
1174 "0jnzccl50x0wapprgwxinp99pwwa6j43q6msn4gv437j7swy8wnj"))))
1175 (build-system emacs-build-system)
1176 (home-page "https://elpa.gnu.org/packages/aggressive-indent.html")
1177 (synopsis "Minor mode to aggressively keep your code always indented")
1178 (description
1179 "@code{aggressive-indent-mode} is a minor mode that keeps your code
1180always indented. It reindents after every change, making it more reliable
1181than @code{electric-indent-mode}.")
1182 (license license:gpl2+)))
1183
d2df92e4
BL
1184(define-public emacs-link-hint
1185 ;; Last release was in 2015.
1186 (let ((commit "d74a483652486260c052941fedeadddb1ea71f88")
1187 (revision "1"))
1188 (package
1189 (name "emacs-link-hint")
1190 (version (git-version "0.1" revision commit))
1191 (source
1192 (origin
1193 (method git-fetch)
1194 (uri (git-reference
1195 (url "https://github.com/noctuid/link-hint.el")
1196 (commit commit)))
1197 (file-name (git-file-name name version))
1198 (sha256
1199 (base32
1200 "0dghxd165fbds6czy9bfwpid3i4irgp3q08n9mg57sfifi0cmij0"))))
1201 (build-system emacs-build-system)
1202 (propagated-inputs
1203 `(("emacs-avy" ,emacs-avy)))
1204 (home-page "https://github.com/noctuid/link-hint.el")
1205 (synopsis "Vimperator-style link-hinting in Emacs")
1206 (description "This package provides commands for visiting and acting on
1207links.")
1208 (license license:gpl3+))))
1209
eeb883cb
RW
1210(define-public emacs-ag
1211 (package
1212 (name "emacs-ag")
1213 (version "0.47")
1214 (source (origin
3cf9a85b
EF
1215 (method git-fetch)
1216 (uri (git-reference
1217 (url "https://github.com/Wilfred/ag.el.git")
1218 (commit version)))
1219 (file-name (git-file-name name version))
eeb883cb
RW
1220 (sha256
1221 (base32
3cf9a85b 1222 "15kp99vwyi7hb1jkq3lwvqzw3v62ycixsq6y4pd1x0nn2v5p5m5r"))))
eeb883cb
RW
1223 (build-system emacs-build-system)
1224 (arguments
1225 `(#:phases
1226 (modify-phases %standard-phases
1227 (add-before 'install 'make-info
1228 (lambda _
1229 (with-directory-excursion "docs"
1230 (invoke "make" "info"))))
1231 (add-after 'install 'install-info
1232 (lambda* (#:key outputs #:allow-other-keys)
1233 (let* ((out (assoc-ref outputs "out"))
1234 (info (string-append out "/share/info")))
1235 (install-file "docs/_build/texinfo/agel.info" info)
1236 #t))))))
1237 (native-inputs
1238 `(("python-sphinx" ,python-sphinx)
1239 ("texinfo" ,texinfo)))
1240 (propagated-inputs
1241 `(("dash" ,emacs-dash)
1242 ("s" ,emacs-s)
1243 ;; We need to use 'ag' as the executable on remote systems.
1244 ("the-silver-searcher" ,the-silver-searcher)))
1245 (home-page "https://github.com/Wilfred/ag.el")
1246 (synopsis "Front-end for ag (the-silver-searcher) for Emacs")
1247 (description "This package provides the ability to use the silver
1248searcher, a code searching tool, sometimes abbreviated to @code{ag}. Features
1249include version control system awareness, use of Perl compatible regular
1250expressions, editing the search results directly and searching file names
1251rather than the contents of files.")
1252 (license license:gpl3+)))
1253
1254(define-public emacs-async
1255 (package
1256 (name "emacs-async")
1257 (home-page "https://github.com/jwiegley/emacs-async")
1258 (version "1.9.3")
1259 (source (origin
1260 (method git-fetch)
1261 (uri (git-reference
1262 (url home-page)
1263 (commit (string-append "v" version))))
1264 (file-name (git-file-name name version))
1265 (sha256
1266 (base32
1267 "1zsnb6dy8p6y68xgidv3dfxaga4biramfw8fq7wac0sc50vc98vq"))))
1268 (build-system emacs-build-system)
1269 (synopsis "Asynchronous processing in Emacs")
1270 (description
1271 "This package provides the ability to call asynchronous functions and
1272processes. For example, it can be used to run dired commands (for copying,
1273moving, etc.) asynchronously using @code{dired-async-mode}. Also it is used
1274as a library for other Emacs packages.")
1275 (license license:gpl3+)))
1276
1277(define-public emacs-auctex
1278 (package
1279 (name "emacs-auctex")
1280 (version "12.1.0")
1281 (source
1282 (origin
1283 (method url-fetch)
1284 (uri (string-append
1285 "https://elpa.gnu.org/packages/auctex-"
1286 version
1287 ".tar"))
1288 (sha256
1289 (base32
1290 "0iy5x61xqkxaph2hq64sg50l1c6yp6qhzppwadayxkdz00b46sas"))))
1291 (build-system emacs-build-system)
1292 ;; We use 'emacs' because AUCTeX requires dbus at compile time
1293 ;; ('emacs-minimal' does not provide dbus).
1294 (arguments
1295 `(#:emacs ,emacs
1296 #:include '("\\.el$" "^images/" "^latex/" "\\.info$")
1297 #:exclude '("^tests/" "^latex/README")))
1298 (native-inputs
1299 `(("perl" ,perl)))
1300 (home-page "https://www.gnu.org/software/auctex/")
1301 (synopsis "Integrated environment for TeX")
1302 (description
1303 "AUCTeX is a comprehensive customizable integrated environment for
1304writing input files for TeX, LaTeX, ConTeXt, Texinfo, and docTeX using Emacs
1305or XEmacs.")
1306 (license license:gpl3+)))
1307
1308(define-public emacs-autothemer
1309 (package
1310 (name "emacs-autothemer")
1311 (version "0.2.2")
1312 (source
1313 (origin
b4f96f3b
EF
1314 (method git-fetch)
1315 (uri (git-reference
1316 (url "https://github.com/sebastiansturm/autothemer.git")
1317 (commit version)))
1318 (file-name (git-file-name name version))
eeb883cb
RW
1319 (sha256
1320 (base32
b4f96f3b 1321 "0cd2pqh6k32sjidkcd8682y4l6mx52xw4a05f38kk8nsrk28m74k"))))
eeb883cb
RW
1322 (build-system emacs-build-system)
1323 (propagated-inputs
1324 `(("emacs-dash" ,emacs-dash)))
1325 (home-page "https://github.com/sebastiansturm/autothemer")
1326 (synopsis "Conveniently create Emacs themes")
1327 (description
1328 "Autothemer provides a thin layer on top of @code{deftheme} and
1329@code{custom-theme-set-faces} that creates a new custom color theme, based on
1330a set of simplified face specifications and a user-supplied color palette")
1331 (license license:gpl3+)))
1332
1333(define-public emacs-howm
1334 (package
1335 (name "emacs-howm")
1336 (version "1.4.4")
1337 (source
1338 (origin
1339 (method url-fetch)
1340 (uri (string-append "http://howm.sourceforge.jp/a/howm-"
1341 version ".tar.gz"))
1342 (sha256
1343 (base32
1344 "0ddm91l6z58j7x59fa966j6q1rg4cinyza4r8ibg80hprn5h31qk"))))
1345 (build-system gnu-build-system)
1346 (native-inputs
1347 `(("emacs" ,emacs-minimal)))
1348 (arguments
1349 `(#:configure-flags
1350 (list (string-append "--with-howmdir=" %output
1351 "/share/emacs/site-lisp/guix.d/howm-" ,version))
1352 #:modules ((guix build gnu-build-system)
1353 ((guix build emacs-build-system) #:prefix emacs:)
1354 (guix build utils))
1355 #:imported-modules (,@%gnu-build-system-modules
1356 (guix build emacs-build-system)
1357 (guix build emacs-utils))
1358 #:phases
1359 (modify-phases %standard-phases
1360 (add-after 'install 'make-autoloads
1361 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1362 (home-page "http://howm.osdn.jp/")
1363 (synopsis "Note-taking tool for Emacs")
1364 (description "Howm is a note-taking tool for Emacs. Like
1365code@{emacs-wiki.el}, it facilitates using hyperlinks and doing full-text
1366searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
1367 (license license:gpl1+)))
1368
1369(define-public emacs-calfw
1370 (package
1371 (name "emacs-calfw")
1372 (version "1.6")
1373 (source
1374 (origin
39a46a1f
EF
1375 (method git-fetch)
1376 (uri (git-reference
1377 (url "https://github.com/kiwanami/emacs-calfw.git")
1378 (commit (string-append "v" version))))
1379 (file-name (git-file-name name version))
eeb883cb
RW
1380 (sha256
1381 (base32
39a46a1f 1382 "0r42cagvmvvib76kd15nd9ix55ys6i549vxnls4z16s864695zpa"))))
eeb883cb
RW
1383 (build-system emacs-build-system)
1384 (propagated-inputs
1385 `(("emacs-howm" ,emacs-howm)))
1386 (home-page "https://github.com/kiwanami/emacs-calfw/")
1387 (synopsis "Calendar framework for Emacs")
1388 (description
1389 "This package displays a calendar view with various schedule data in the
1390Emacs buffer.")
1391 (license license:gpl3+)))
1392
1393(define-public emacs-direnv
1394 (package
1395 (name "emacs-direnv")
1396 (version "1.2.0")
1397 (source
1398 (origin
2c19ff18
EF
1399 (method git-fetch)
1400 (uri (git-reference
1401 (url "https://github.com/wbolster/emacs-direnv.git")
1402 (commit version)))
1403 (file-name (git-file-name name version))
eeb883cb
RW
1404 (sha256
1405 (base32
2c19ff18 1406 "172jyl8v4zy9bbha8nndq63x8svn9xqkafkj3q17z289na8iaylh"))))
eeb883cb
RW
1407 (build-system emacs-build-system)
1408 (propagated-inputs
1409 `(("dash" ,emacs-dash)
1410 ("with-editor" ,emacs-with-editor)))
1411 (home-page "https://github.com/wbolster/emacs-direnv")
1412 (synopsis "Direnv integration for Emacs")
1413 (description
1414 "This package provides support for invoking direnv to get the environment
1415for the current file and updating the environment within Emacs to match.
1416
1417Direnv can be invoked manually, and a global minor mode is included that will
1418update the environment when the active buffer changes.
1419
1420Using emacs-direnv means that programs started from Emacs will use the
1421environment set through Direnv.")
1422 (license license:gpl3+)))
1423
1424(define-public emacs-ggtags
1425 (package
1426 (name "emacs-ggtags")
1427 (version "0.8.13")
1428 (source
1429 (origin
1430 (method url-fetch)
1431 (uri (string-append "http://elpa.gnu.org/packages/ggtags-"
1432 version ".el"))
1433 (sha256
1434 (base32
1435 "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"))))
1436 (build-system emacs-build-system)
1437 (inputs
1438 `(("global" ,global)))
1439 (arguments
1440 `(#:phases
1441 (modify-phases %standard-phases
1442 (add-after 'unpack 'configure
1443 (lambda* (#:key inputs #:allow-other-keys)
1444 (chmod "ggtags.el" #o644)
1445 (emacs-substitute-variables "ggtags.el"
1446 ("ggtags-executable-directory"
1447 (string-append (assoc-ref inputs "global") "/bin")))
1448 #t)))))
1449 (home-page "https://github.com/leoliu/ggtags")
1450 (synopsis "Frontend to the GNU Global source code tagging system")
1451 (description "@code{ggtags} provides a frontend to the GNU Global source
1452code tagging system.
1453
1454Features:
1455
1456@itemize
1457@item Build on @code{compile.el} for asynchronicity and its large feature-set.
1458@item Automatically update Global's tag files when needed with tuning for
1459large source trees.
1460@item Intuitive navigation among multiple matches with mode-line display of
1461current match, total matches and exit status.
1462@item Read tag with completion.
1463@item Show definition at point.
1464@item Jump to #include files.
1465@item Support search history and saving a search to register/bookmark.
1466@item Query replace.
1467@item Manage Global's environment variables on a per-project basis.
1468@item Highlight (definition) tag at point.
1469@item Abbreviated display of file names.
1470@item Support all Global search backends: @code{grep}, @code{idutils}, etc.
1471@item Support exuberant ctags @url{http://ctags.sourceforge.net/} and
1472@code{pygments} backend.
1473@item Support all Global's output formats: @code{grep}, @code{ctags-x},
1474@code{cscope} etc.
1475@item Support projects on remote hosts (e.g. via @code{tramp}).
1476@item Support eldoc.
1477@item Search @code{GTAGSLIBPATH} for references and symbols.
1478@end itemize\n")
1479 (license license:gpl3+)))
1480
1481(define-public emacs-go-mode
1482 (package
1483 (name "emacs-go-mode")
1484 (version "1.5.0")
1485 (source (origin
1486 (method git-fetch)
1487 (uri (git-reference
1488 (url "https://github.com/dominikh/go-mode.el.git")
1489 (commit (string-append "v" version))))
1490 (file-name (git-file-name name version))
1491 (sha256
1492 (base32
1493 "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf"))))
1494 (build-system emacs-build-system)
1495 (arguments
1496 `(#:phases
1497 (modify-phases %standard-phases
1498 (add-after 'unpack 'make-writable
1499 (lambda _
1500 (for-each make-file-writable (find-files "." "\\.el$"))
1501 #t)))))
1502 (home-page "https://github.com/dominikh/go-mode.el")
1503 (synopsis "Go mode for Emacs")
1504 (description
1505 "This package provides go-mode, an Emacs mode for working with software
1506written in the Go programming language.")
1507 (license license:bsd-3)))
1508
1509(define-public emacs-google-maps
1510 (package
1511 (name "emacs-google-maps")
1512 (version "1.0.0")
1513 (source (origin
49464d2b
EF
1514 (method git-fetch)
1515 (uri (git-reference
1516 (url "https://github.com/jd/google-maps.el.git")
1517 (commit version)))
1518 (file-name (git-file-name name version))
eeb883cb
RW
1519 (sha256
1520 (base32
49464d2b 1521 "183igr5lp20zcqi7rc01fk76sfxdhksd74i11v16gdsifdkjimd0"))))
eeb883cb
RW
1522 (build-system emacs-build-system)
1523 (home-page "https://github.com/jd/google-maps.el")
1524 (synopsis "Access Google Maps from Emacs")
1525 (description "The @code{google-maps} package allows to display Google
1526Maps directly inside Emacs.")
1527 (license license:gpl3+)))
1528
1529(define-public emacs-graphviz-dot-mode
1530 (let ((commit "c456a2b65c734089e6c44e87209a5a432a741b1a")
1531 (revision "1"))
1532 (package
1533 (name "emacs-graphviz-dot-mode")
1534 (version (string-append "0.3.11-" revision "."
1535 (string-take commit 7)))
1536 (source (origin
1537 (method git-fetch)
1538 (uri (git-reference
1539 (url "https://github.com/ppareit/graphviz-dot-mode.git")
1540 (commit commit)))
1541 (file-name (string-append name "-" version "-checkout"))
1542 (sha256
1543 (base32
1544 "0j1r2rspaakw37b0mx7pwpvdsvixq9sw3xjbww5piihzpdxz58z1"))))
1545 (build-system emacs-build-system)
1546 (arguments
1547 `(#:phases
1548 (modify-phases %standard-phases
1549 (add-before 'install 'make-info
1550 (lambda* (#:key inputs #:allow-other-keys)
1551 (with-directory-excursion "texinfo"
1552 (substitute* "Makefile"
1553 (("\\/usr\\/bin\\/gzip")
1554 (string-append (assoc-ref inputs "gzip") "/bin/gzip")))
1555 (invoke "make"
1556 "clean"
1557 "info"
1558 (string-append "TEXINFODIR="
1559 (assoc-ref inputs "texinfo")
1560 "/bin")))))
1561 (add-after 'install 'install-info
1562 (lambda* (#:key outputs #:allow-other-keys)
1563 (let* ((out (assoc-ref outputs "out"))
1564 (info (string-append out "/share/info")))
1565 (install-file "texinfo/graphviz-dot-mode.info.gz" info)
1566 #t))))))
1567 (native-inputs
1568 `(("texinfo" ,texinfo)
1569 ("gzip" ,gzip)))
1570 (home-page "http://ppareit.github.com/graphviz-dot-mode")
1571 (synopsis "Major mode for editing Graphviz Dot files")
1572 (description
1573 "This Emacs packages helps you to create @file{.dot} or @file{.gv}
1574files using the dot syntax, and use Graphviz to convert these files to
1575diagrams.")
1576 (license license:gpl2+))))
1577
1578(define-public emacs-mmm-mode
1579 (package
1580 (name "emacs-mmm-mode")
b762dde9 1581 (version "0.5.7")
eeb883cb
RW
1582 (source
1583 (origin
8cd07b72
EF
1584 (method git-fetch)
1585 (uri (git-reference
1586 (url "https://github.com/purcell/mmm-mode.git")
1587 (commit version)))
1588 (file-name (git-file-name name version))
eeb883cb
RW
1589 (sha256
1590 (base32
b762dde9 1591 "0lxd55yhz0ag7v1ydff55bg4h8snq5lbk8cjwxqpyq6gh4v7md1h"))))
eeb883cb 1592 (build-system gnu-build-system)
eeb883cb
RW
1593 (native-inputs
1594 `(("autoconf" ,autoconf)
1595 ("automake" ,automake)
1596 ("emacs" ,emacs-minimal)
1597 ("texinfo" ,texinfo)))
1598 (home-page "https://github.com/purcell/mmm-mode")
1599 (synopsis "Allow multiple major modes in an Emacs buffer")
1600 (description
1601 "MMM Mode is a minor mode that allows multiple major modes to coexist in a
1602single buffer.")
1603 (license license:gpl3+)))
1604
1605(define-public emacs-tablist
1606 (package
1607 (name "emacs-tablist")
1608 (version "0.70")
1609 (source (origin
0f8ff555
EF
1610 (method git-fetch)
1611 (uri (git-reference
1612 (url "https://github.com/politza/tablist.git")
1613 (commit (string-append "v" version))))
1614 (file-name (git-file-name name version))
eeb883cb
RW
1615 (sha256
1616 (base32
0f8ff555 1617 "0gy9hxm7bca0l1hfy2pzn86avpifrz3bs8xzpicj4kxw5wi4ygns"))))
eeb883cb
RW
1618 (build-system emacs-build-system)
1619 (home-page "https://github.com/politza/tablist")
1620 (synopsis "Extension for @code{tabulated-list-mode}")
1621 (description "Tablist is the Emacs package that provides several
1622additional features to @code{tabulated-list-mode}: it adds marks,
1623filters, new key bindings and faces. It can be enabled by
1624@code{tablist-mode} or @code{tablist-minor-mode} commands.")
1625 (license license:gpl3+)))
1626
1627(define-public emacs-pdf-tools
1628 (package
1629 (name "emacs-pdf-tools")
2becddeb 1630 (version "0.90")
eeb883cb
RW
1631 (home-page "https://github.com/politza/pdf-tools")
1632 (source (origin
1633 (method git-fetch)
1634 (uri (git-reference (url home-page)
1635 (commit (string-append "v" version))))
1636 (file-name (git-file-name name version))
1637 (sha256
1638 (base32
2becddeb 1639 "0iv2g5kd14zk3r5dzdw7b7hk4b5w7qpbilcqkja46jgxbb6xnpl9"))))
eeb883cb
RW
1640 (build-system gnu-build-system)
1641 (arguments
2becddeb 1642 `(#:tests? #f ; there are no tests
eeb883cb
RW
1643 #:modules ((guix build gnu-build-system)
1644 ((guix build emacs-build-system) #:prefix emacs:)
1645 (guix build utils)
1646 (guix build emacs-utils))
1647 #:imported-modules (,@%gnu-build-system-modules
1648 (guix build emacs-build-system)
1649 (guix build emacs-utils))
1650 #:phases
1651 (modify-phases %standard-phases
1652 ;; Build server side using 'gnu-build-system'.
1653 (add-after 'unpack 'enter-server-dir
1654 (lambda _ (chdir "server") #t))
1655 (add-after 'enter-server-dir 'autogen
1656 (lambda _
1657 (invoke "bash" "autogen.sh")))
1658
1659 ;; Build emacs side using 'emacs-build-system'.
1660 (add-after 'compress-documentation 'enter-lisp-dir
1661 (lambda _ (chdir "../lisp") #t))
1662 (add-after 'enter-lisp-dir 'emacs-patch-variables
1663 (lambda* (#:key outputs #:allow-other-keys)
1664 (for-each make-file-writable (find-files "."))
1665
1666 ;; Set path to epdfinfo program.
1667 (emacs-substitute-variables "pdf-info.el"
1668 ("pdf-info-epdfinfo-program"
1669 (string-append (assoc-ref outputs "out")
1670 "/bin/epdfinfo")))
1671 ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto
1672 ;; upgrading" that pdf-tools tries to perform.
1673 (emacs-substitute-variables "pdf-tools.el"
1674 ("pdf-tools-handle-upgrades" '()))))
1675 (add-after 'emacs-patch-variables 'emacs-set-emacs-load-path
1676 (assoc-ref emacs:%standard-phases 'set-emacs-load-path))
1677 (add-after 'emacs-set-emacs-load-path 'emacs-install
1678 (assoc-ref emacs:%standard-phases 'install))
1679 (add-after 'emacs-install 'emacs-build
1680 (assoc-ref emacs:%standard-phases 'build))
1681 (add-after 'emacs-install 'emacs-make-autoloads
1682 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1683 (native-inputs `(("autoconf" ,autoconf)
1684 ("automake" ,automake)
1685 ("pkg-config" ,pkg-config)
1686 ("emacs" ,emacs-minimal)))
1687 (inputs `(("poppler" ,poppler)
1688 ("cairo" ,cairo)
1689 ("glib" ,glib)
1690 ("libpng" ,libpng)
1691 ("zlib" ,zlib)))
1692 (propagated-inputs `(("tablist" ,emacs-tablist)))
1693 (synopsis "Emacs support library for PDF files")
1694 (description
1695 "PDF Tools is, among other things, a replacement of DocView for PDF
1696files. The key difference is that pages are not pre-rendered by
1697e.g. ghostscript and stored in the file-system, but rather created on-demand
1698and stored in memory.")
1699 (license license:gpl3+)))
1700
1701(define-public emacs-dash
1702 (package
1703 (name "emacs-dash")
3490212a 1704 (version "2.15.0")
eeb883cb
RW
1705 (source (origin
1706 (method git-fetch)
1707 (uri (git-reference
1708 (url "https://github.com/magnars/dash.el.git")
1709 (commit version)))
1710 (file-name (git-file-name name version))
1711 (sha256
1712 (base32
3490212a 1713 "0dx8q3jr8fh73cfl7mqi5dq0012ambpvc74d2c71fsv9rfw85693"))))
eeb883cb
RW
1714 (build-system emacs-build-system)
1715 (arguments
1716 `(#:tests? #t
1717 #:test-command '("./run-tests.sh")))
1718 (home-page "https://github.com/magnars/dash.el")
1719 (synopsis "Modern list library for Emacs")
1720 (description "This package provides a modern list API library for Emacs.")
1721 (license license:gpl3+)))
1722
1723(define-public emacs-bui
1724 (package
1725 (name "emacs-bui")
1726 (version "1.2.1")
1727 (source (origin
1728 (method git-fetch)
1729 (uri (git-reference
1730 (url "https://notabug.org/alezost/emacs-bui.git")
1731 (commit (string-append "v" version))))
1732 (file-name (string-append name "-" version "-checkout"))
1733 (sha256
1734 (base32
1735 "0sszdl4kvqbihdh8d7mybpp0d8yw2p3gyiipjcxz9xhvvmw3ww4x"))))
1736 (build-system emacs-build-system)
1737 (propagated-inputs
1738 `(("dash" ,emacs-dash)))
1739 (home-page "https://notabug.org/alezost/emacs-bui")
1740 (synopsis "Buffer interface library for Emacs")
1741 (description
1742 "BUI (Buffer User Interface) is a library for making @code{list} and
1743@code{info} interfaces to display an arbitrary data of the same
1744type, for example: packages, buffers, files, etc.")
1745 (license license:gpl3+)))
1746
1747(define-public emacs-guix
1748 (package
1749 (name "emacs-guix")
1750 (version "0.5.1.1")
1751 (source (origin
1752 (method url-fetch)
1753 (uri (string-append "https://emacs-guix.gitlab.io/website/"
1754 "releases/emacs-guix-" version ".tar.gz"))
1755 (sha256
1756 (base32
1757 "1gxg7lan3njc2yg2d02b2zij0d2cm2pv2q08nqz86s85jk3b6m03"))))
1758 (build-system gnu-build-system)
1759 (arguments
1760 `(#:configure-flags
1761 (let ((guix (assoc-ref %build-inputs "guix"))
1762 (gcrypt (assoc-ref %build-inputs "guile-gcrypt"))
1763 (geiser (assoc-ref %build-inputs "geiser"))
1764 (dash (assoc-ref %build-inputs "dash"))
1765 (bui (assoc-ref %build-inputs "bui"))
1766 (magit-popup (assoc-ref %build-inputs "magit-popup"))
1767 (edit-indirect (assoc-ref %build-inputs "edit-indirect"))
1768 (site-lisp "/share/emacs/site-lisp")
1769 (site-scm "/share/guile/site")
1770 (site-go "/lib/guile")
1771 (guile-dir (lambda (dir)
1772 (car (find-files dir
1773 (lambda (file stat)
1774 (string-prefix?
1775 "2." (basename file)))
1776 #:directories? #t)))))
1777 (list (string-append "--with-guix-site-dir="
1778 (guile-dir (string-append guix site-scm)))
1779 (string-append "--with-guix-site-ccache-dir="
1780 (guile-dir (string-append guix site-go))
1781 "/site-ccache")
1782 (string-append "--with-guile-gcrypt-site-dir="
1783 (guile-dir (string-append gcrypt site-scm)))
1784 (string-append "--with-guile-gcrypt-site-ccache-dir="
1785 (guile-dir (string-append gcrypt site-go))
1786 "/site-ccache")
1787 (string-append "--with-geiser-lispdir=" geiser site-lisp)
1788 (string-append "--with-dash-lispdir="
1789 dash site-lisp "/guix.d/dash-"
1790 ,(package-version emacs-dash))
1791 (string-append "--with-bui-lispdir="
1792 bui site-lisp "/guix.d/bui-"
1793 ,(package-version emacs-bui))
1794 (string-append "--with-editindirect-lispdir="
1795 edit-indirect site-lisp "/guix.d/edit-indirect-"
1796 ,(package-version emacs-edit-indirect))
1797 (string-append "--with-popup-lispdir="
1798 magit-popup site-lisp "/guix.d/magit-popup-"
1799 ,(package-version emacs-magit-popup))))))
1800 (native-inputs
1801 `(("pkg-config" ,pkg-config)
1802 ("emacs" ,emacs-minimal)))
1803 (inputs
1804 `(("guile" ,guile-2.2)
1805 ("guix" ,guix)))
1806 (propagated-inputs
1807 `(("geiser" ,emacs-geiser)
1808 ("guile-gcrypt" ,guile-gcrypt)
1809 ("dash" ,emacs-dash)
1810 ("bui" ,emacs-bui)
1811 ("edit-indirect" ,emacs-edit-indirect)
1812 ("magit-popup" ,emacs-magit-popup)))
1813 (home-page "https://emacs-guix.gitlab.io/website/")
1814 (synopsis "Emacs interface for GNU Guix")
1815 (description
1816 "Emacs-Guix provides a visual interface, tools and features for the GNU
1817Guix package manager. Particularly, it allows you to do various package
1818management tasks from Emacs. To begin with, run @code{M-x guix-about} or
1819@code{M-x guix-help} command.")
1820 (license license:gpl3+)))
1821
1822(define-public emacs-build-farm
1823 (package
1824 (name "emacs-build-farm")
1825 (version "0.2.2")
1826 (source (origin
1827 (method git-fetch)
1828 (uri (git-reference
1829 (url "https://notabug.org/alezost/emacs-build-farm.git")
1830 (commit (string-append "v" version))))
1831 (file-name (string-append name "-" version "-checkout"))
1832 (sha256
1833 (base32
1834 "0i0bwbav5861j2y15j9nd5m9rdqg9q97zgcbld8pivr9nyxy63lz"))))
1835 (build-system emacs-build-system)
1836 (propagated-inputs
1837 `(("bui" ,emacs-bui)
1838 ("magit-popup" ,emacs-magit-popup)))
1839 (home-page "https://notabug.org/alezost/emacs-build-farm")
1840 (synopsis "Emacs interface for Hydra and Cuirass build farms")
1841 (description
1842 "This Emacs package provides an interface for Hydra and
1843Cuirass (build farms used by Nix and Guix). It allows you to look at
1844various data related to the build farm projects, jobsets, builds and
1845evaluations. The entry point is @code{M-x build-farm} command.")
1846 (license license:gpl3+)))
1847
1848(define-public emacs-d-mode
1849 (package
1850 (name "emacs-d-mode")
1851 (version "2.0.9")
1e2d1712
TGR
1852 (source
1853 (origin
1854 (method git-fetch)
1855 (uri (git-reference
1856 (url "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode.git")
1857 (commit version)))
1858 (file-name (git-file-name name version))
1859 (sha256
1860 (base32 "0fzplvi1sm8k2sabfdvrd7j2xypwqh0g9v1mxa75dajdmcd85zpj"))))
eeb883cb
RW
1861 (build-system emacs-build-system)
1862 (propagated-inputs
1863 `(("emacs-undercover" ,emacs-undercover)))
1864 (home-page "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode")
1865 (synopsis "Emacs major mode for editing D code")
1866 (description "This package provides an Emacs major mode for highlighting
1867code written in the D programming language. This mode is currently known to
1868work with Emacs 24 and 25.")
1869 (license license:gpl2+)))
1870
1871(define-public emacs-keyfreq
1872 (package
1873 (name "emacs-keyfreq")
1874 (version "20160516.716")
1875 (source
1876 (origin
1877 (method url-fetch)
1878 (uri (string-append "http://melpa.org/packages/keyfreq-"
1879 version ".el"))
1880 (sha256
1881 (base32
1882 "008hd7d06qskc3mx0bbdgpgy2pwxr8185fzlyqf9qjg49y74p6g8"))))
1883 (build-system emacs-build-system)
1884 (home-page "https://github.com/dacap/keyfreq")
1885 (synopsis "Track Emacs command frequencies")
1886 (description "@code{emacs-keyfeq} tracks and shows how many times you used
1887a command.")
1888 (license license:gpl3+)))
1889
1890(define-public emacs-olivetti
1891 (package
1892 (name "emacs-olivetti")
1893 (version "1.5.7")
1894 (source (origin
1895 (method url-fetch)
1896 (uri (string-append
1897 "https://stable.melpa.org/packages/olivetti-"
1898 version ".el"))
1899 (sha256
1900 (base32
1901 "1yj2ylg46q0pw1xzlv2b0fv9x8p56x25284s9v2smwjr4vf0nwcj"))))
1902 (build-system emacs-build-system)
1903 (home-page "https://github.com/rnkn/olivetti")
1904 (synopsis "Emacs minor mode for a nice writing environment")
1905 (description "This package provides an Emacs minor mode that puts writing
1906in the center.")
1907 (license license:gpl3+)))
1908
1909(define-public emacs-undo-tree
1910 (package
1911 (name "emacs-undo-tree")
1912 (version "0.6.6")
1913 (source (origin
1914 (method git-fetch)
1915 (uri (git-reference
1916 (url "http://dr-qubit.org/git/undo-tree.git")
1917 (commit (string-append "release/" version))))
1918 (file-name (string-append name "-" version "-checkout"))
1919 (sha256
1920 (base32
1921 "1hnh2mnmw179gr094r561w6cw1haid0lpvpqvkc24wpj82vphzpa"))))
1922 (build-system emacs-build-system)
1923 (home-page "http://www.dr-qubit.org/emacs.php")
1924 (synopsis "Treat undo history as a tree")
1925 (description "Tree-like interface to Emacs undo system, providing
1926graphical tree presentation of all previous states of buffer that
1927allows easily move between them.")
1928 (license license:gpl3+)))
1929
1930(define-public emacs-s
1931 (package
1932 (name "emacs-s")
1933 (version "1.12.0")
1934 (source (origin
1935 (method url-fetch)
1936 (uri (string-append
1937 "https://github.com/magnars/s.el/archive/"
1938 version ".tar.gz"))
1939 (file-name (string-append name "-" version ".tar.gz"))
1940 (sha256
1941 (base32
1942 "0xbl75863pcm806zg0x1lw7qznzjq2c8320k8js7apyag8q4srvh"))))
1943 (build-system emacs-build-system)
1944 (arguments
1945 `(#:tests? #t
1946 #:emacs ,emacs ; FIXME: tests fail with emacs-minimal
1947 #:test-command '("./run-tests.sh")))
1948 (home-page "https://github.com/magnars/s.el")
1949 (synopsis "Emacs string manipulation library")
1950 (description "This package provides an Emacs library for manipulating
1951strings.")
1952 (license license:gpl3+)))
1953
1954(define-public emacs-symon
1955 (package
1956 (name "emacs-symon")
1957 (version "20160630")
1958 (source
1959 (origin
866b23f8
TGR
1960 (method git-fetch)
1961 (uri (git-reference
1962 (url "https://github.com/zk-phi/symon.git")
1963 (commit version)))
1964 (file-name (git-file-name name version))
eeb883cb 1965 (sha256
866b23f8 1966 (base32 "1q7di9s8k710nx98wnqnbkkhdimrn0jf6z4xkm4c78l6s5idjwlz"))))
eeb883cb
RW
1967 (build-system emacs-build-system)
1968 (home-page "https://github.com/zk-phi/symon")
1969 (synopsis "Tiny graphical system monitor")
1970 (description
1971 "Tiny graphical system monitor for the Emacs minibuffer when idle.")
1972 (license license:gpl2+)))
1973
1974(define-public emacs-sx
1975 (let ((version "20180212")
1976 (revision "1")
1977 (commit "833435fbf90d1c9e927d165b155f3b1ef39271de"))
1978 (package
1979 (name "emacs-sx")
1980 (version (git-version version revision commit))
1981 (source
1982 (origin
1983 (method git-fetch)
1984 (uri (git-reference
1985 (url "https://github.com/vermiculus/sx.el")
1986 (commit commit)))
1987 (file-name (git-file-name name version))
1988 (sha256
1989 (base32
1990 "1369xaxq1vy3d9yh862ddnhddikdpg2d0wv1ly00pnvdp9v4cqgd"))))
1991 (build-system emacs-build-system)
1992 (propagated-inputs
1993 `(("emacs-markdown-mode" ,emacs-markdown-mode)))
1994 (home-page "https://github.com/vermiculus/sx.el")
1995 (synopsis "Emacs StackExchange client")
1996 (description
1997 "Emacs StackExchange client. Ask and answer questions on
1998Stack Overflow, Super User, and other StackExchange sites.")
1999 (license license:gpl3+))))
2000
2001(define-public emacs-f
2002 (package
2003 (name "emacs-f")
2004 (version "0.20.0")
2005 (source (origin
2006 (method git-fetch)
2007 (uri (git-reference
2008 (url "https://github.com/rejeep/f.el.git")
2009 (commit (string-append "v" version))))
2010 (file-name (git-file-name name version))
2011 (sha256
2012 (base32
2013 "1a47xk3yp1rp17fqg7ldl3d3fb888h0fz3sysqfdz1bfdgs8a9bk"))))
2014 (build-system emacs-build-system)
2015 (propagated-inputs
2016 `(("emacs-s" ,emacs-s)
2017 ("emacs-dash" ,emacs-dash)))
2018 (home-page "https://github.com/rejeep/f.el")
2019 (synopsis "Emacs API for working with files and directories")
2020 (description "This package provides an Emacs library for working with
2021files and directories.")
2022 (license license:gpl3+)))
2023
2024(define-public emacs-git-gutter
2025 (package
2026 (name "emacs-git-gutter")
2027 (version "0.90")
1acdb763
TGR
2028 (source
2029 (origin
2030 (method git-fetch)
2031 (uri (git-reference
2032 (url "https://github.com/syohex/emacs-git-gutter.git")
2033 (commit version)))
2034 (file-name (git-file-name name version))
2035 (sha256
2036 (base32 "1abagq0psip7cgsqbfjv72qy60ywsny0ibsfcn74ldj6a9v17mz5"))))
eeb883cb
RW
2037 (build-system emacs-build-system)
2038 (home-page "https://github.com/syohex/emacs-git-gutter")
2039 (synopsis "See and manage hunks of text in a version control system")
2040 (description
2041 "This package is an Emacs minor mode for displaying and interacting with
2042hunks of text managed in a version control system. Added modified and deleted
2043areas can be indicated with symbols on the edge of the buffer, and commands
2044can be used to move between and perform actions on these hunks.
2045
2046Git, Mercurial, Subversion and Bazaar are supported, and many parts of the
2047display and behaviour is easily customisable.")
2048 (license license:gpl3+)))
2049
2050(define-public emacs-git-timemachine
2051 (package
2052 (name "emacs-git-timemachine")
2053 (version "4.5")
2054 (source
2055 (origin
2056 (method url-fetch)
2057 (uri (string-append "https://gitlab.com/pidu/git-timemachine"
2058 "/-/archive/" version
2059 "/git-timemachine-" version ".tar.gz"))
2060 (file-name (string-append name "-" version ".tar.gz"))
2061 (sha256
2062 (base32
2063 "0ii40qcincasg7s1yrvqcxkqcqzb4sfs7gcxscn6m4x4ans165zy"))))
2064 (build-system emacs-build-system)
2065 (home-page "https://gitlab.com/pidu/git-timemachine")
2066 (synopsis "Step through historic versions of Git-controlled files")
2067 (description "This package enables you to step through historic versions
2068of files under Git version control from within Emacs.")
2069 (license license:gpl3+)))
2070
2071(define-public emacs-minitest
2072 (let ((commit "1aadb7865c1dc69c201cecee275751ecec33a182")
2073 (revision "1"))
2074 (package
2075 (name "emacs-minitest")
2076 (version (git-version "0.8.0" revision commit))
2077 (source (origin
2078 (method git-fetch)
2079 (uri (git-reference
2080 (url "https://github.com/arthurnn/minitest-emacs")
2081 (commit commit)))
2082 (file-name (git-file-name name commit))
2083 (sha256
2084 (base32
2085 "1l18zqpdzbnqj2qawq8hj7z7pl8hr8z9d8ihy8jaiqma915hmhj1"))))
2086 (build-system emacs-build-system)
2087 (arguments
2088 '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include)
2089 #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude)))
2090 (propagated-inputs
2091 `(("emacs-dash" ,emacs-dash)
2092 ("emacs-f" ,emacs-f)))
2093 (home-page "https://github.com/arthurnn/minitest-emacs")
2094 (synopsis "Emacs minitest mode")
2095 (description
2096 "The minitest mode provides commands to run the tests for the current
2097file or line, as well as rerunning the previous tests, or all the tests for a
2098project.
2099
2100This package also includes relevant snippets for yasnippet.")
2101 (license license:expat))))
2102
2103(define-public emacs-el-mock
2104 (package
2105 (name "emacs-el-mock")
2106 (version "1.25.1")
2107 (source
2108 (origin
353fea6a
TGR
2109 (method git-fetch)
2110 (uri (git-reference
2111 (url "https://github.com/rejeep/el-mock.el.git")
2112 (commit (string-append "v" version))))
2113 (file-name (git-file-name name version))
eeb883cb 2114 (sha256
353fea6a 2115 (base32 "13mv1rhgkwiww2wh5w926jz7idppp492wir1vdl245c5x50dh4f7"))))
eeb883cb
RW
2116 (build-system emacs-build-system)
2117 (home-page "https://github.com/rejeep/el-mock.el")
2118 (synopsis "Tiny mock and stub framework in Emacs Lisp")
2119 (description
2120 "Emacs Lisp Mock is a library for mocking and stubbing using readable
2121syntax. Most commonly Emacs Lisp Mock is used in conjunction with Emacs Lisp
2122Expectations, but it can be used in other contexts.")
2123 (license license:gpl3+)))
2124
2125(define-public emacs-espuds
2126 (package
2127 (name "emacs-espuds")
2128 (version "0.3.3")
2129 (source
2130 (origin
09059c11
TGR
2131 (method git-fetch)
2132 (uri (git-reference
2133 (url "https://github.com/ecukes/espuds.git")
2134 (commit (string-append "v" version))))
2135 (file-name (git-file-name name version))
eeb883cb 2136 (sha256
09059c11 2137 (base32 "16r4j27j9yfdiy841w9q5ykkc6n3wrm7hvfacagb32mydk821ijg"))))
eeb883cb
RW
2138 (build-system emacs-build-system)
2139 (propagated-inputs
2140 `(("emacs-s" ,emacs-s)
2141 ("emacs-dash" ,emacs-dash)
2142 ("emacs-f" ,emacs-f)))
2143 (home-page "https://github.com/ecukes/espuds")
2144 (synopsis "Common step definitions for Ecukes")
2145 (description "Espuds is a collection of the most commonly used step
2146definitions for testing with the Ecukes framework.")
2147 (license license:gpl3+)))
2148
2149(define-public emacs-spark
2150 (let ((version "20160503") ; no proper tag, use date of commit
2151 (commit "0bf148c3ede3b31d56fd75f347cdd0b0eae60025")
2152 (revision "1"))
2153 (package
2154 (name "emacs-spark")
2155 (version (git-version version revision commit))
2156 (source
2157 (origin
2158 (method git-fetch)
2159 (uri (git-reference
2160 (url "https://github.com/alvinfrancis/spark.git")
2161 (commit commit)))
2162 (file-name (git-file-name name version))
2163 (sha256
2164 (base32
2165 "1ykqr86j17mi95s08d9fp02d7ych1331b04dcqxzxnmpkhwngyj1"))))
2166 (build-system emacs-build-system)
2167 (home-page "https://github.com/alvinfrancis/spark")
2168 (synopsis "Sparkline generation library for Emacs Lisp")
2169 (description "@code{emacs-spark} is a sparkline generation library for
2170Emacs Lisp. It generates a sparkline string given a list of numbers. It is a
2171port of @code{cl-spark} to Emacs Lisp.")
2172 (license license:expat))))
2173
2174(define-public emacs-es-mode
2175 (package
2176 (name "emacs-es-mode")
2177 (version "4.3.0")
f233efa7
TGR
2178 (source
2179 (origin
2180 (method git-fetch)
2181 (uri (git-reference
2182 (url "https://github.com/dakrone/es-mode.git")
2183 (commit version)))
2184 (file-name (git-file-name name version))
2185 (sha256
2186 (base32 "1qhfnd5anp5qrmravv7ks5ix763xnki2f5jwcyj70qyxwr0l60cg"))))
eeb883cb
RW
2187 (build-system emacs-build-system)
2188 (propagated-inputs
2189 ;; The version of org in Emacs 24.5 is not sufficient, and causes tables
2190 ;; to be rendered incorrectly
2191 `(("emacs-dash" ,emacs-dash)
2192 ("emacs-org" ,emacs-org)
2193 ("emacs-spark" ,emacs-spark)))
2194 (home-page "https://github.com/dakrone/es-mode")
2195 (synopsis "Major mode for editing Elasticsearch queries")
2196 (description "@code{es-mode} includes highlighting, completion and
2197indentation support for Elasticsearch queries. Also supported are
2198@code{es-mode} blocks in @code{org-mode}, for which the results of queries can
2199be processed through @code{jq}, or in the case of aggregations, can be
2200rendered in to a table. In addition, there is an @code{es-command-center}
2201mode, which displays information about Elasticsearch clusters.")
2202 (license license:gpl3+)))
2203
2204(define-public emacs-expand-region
2205 (package
2206 (name "emacs-expand-region")
2207 (version "0.11.0")
2208 (source
2209 (origin
e2ad36d0
TGR
2210 (method git-fetch)
2211 (uri (git-reference
2212 (url "https://github.com/magnars/expand-region.el.git")
2213 (commit version)))
2214 (file-name (git-file-name name version))
eeb883cb 2215 (sha256
e2ad36d0 2216 (base32 "0h40dhc3kn8fq86xnwi5lz7ql8my8737y7wkqr897p15y90swr35"))))
eeb883cb
RW
2217 (build-system emacs-build-system)
2218 (home-page "https://github.com/magnars/expand-region.el")
2219 (synopsis "Increase selected region by semantic units")
2220 (description
2221 "Expand region increases the selected region by semantic units. Just
2222keep pressing the key until it selects what you want. There's also
2223@code{er/contract-region} if you expand too far.")
2224 (license license:gpl3+)))
2225
2226(define-public emacs-fill-column-indicator
2227 (package
2228 (name "emacs-fill-column-indicator")
2229 (version "1.89")
2230 (source
2231 (origin
35db8f4e
TGR
2232 (method git-fetch)
2233 (uri (git-reference
2234 (url "https://github.com/alpaker/Fill-Column-Indicator.git")
2235 (commit (string-append "v" version))))
2236 (file-name (git-file-name name version))
eeb883cb 2237 (sha256
35db8f4e 2238 (base32 "010kf8jsly74y7m6mmkn1h6y205kz23zphs50zgy2nag2p88rz9y"))))
eeb883cb
RW
2239 (build-system emacs-build-system)
2240 (home-page "https://www.emacswiki.org/emacs/FillColumnIndicator")
2241 (synopsis "Graphically indicate the fill column")
2242 (description
2243 "Fill-column-indicator graphically indicates the location of the fill
2244column by drawing a thin line down the length of the editing window.")
2245 (license license:gpl3+)))
2246
2247(define-public emacs-grep-a-lot
2248 (package
2249 (name "emacs-grep-a-lot")
2250 (version "1.0.7")
2251 (source (origin
2252 (method git-fetch)
2253 (uri (git-reference
2254 (url "https://github.com/ZungBang/emacs-grep-a-lot.git")
2255 (commit "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad")))
2256 (file-name (string-append name "-" version "-checkout"))
2257 (sha256
2258 (base32
2259 "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw"))))
2260 (build-system emacs-build-system)
2261 (home-page "https://github.com/ZungBang/emacs-grep-a-lot")
2262 (synopsis "Enables multiple grep buffers in Emacs")
2263 (description
2264 "This Emacs package allows managing multiple grep buffers.")
2265 (license license:gpl3+)))
2266
2267(define-public emacs-inf-ruby
2268 (package
2269 (name "emacs-inf-ruby")
2270 (version "2.5.1")
2271 (source
2272 (origin
2273 (method url-fetch)
2274 (uri (string-append "https://github.com/nonsequitur/inf-ruby/"
2275 "archive/" version ".tar.gz"))
2276 (file-name (string-append name "-" version ".tar.gz"))
2277 (sha256
2278 (base32
2279 "0m7323k649ckxql1grsdnf71bjhys7l4qb8wbpphb1mr1q8i4066"))))
2280 (build-system emacs-build-system)
2281 (home-page "https://github.com/nonsequitur/inf-ruby")
2282 (synopsis "Provides a REPL buffer connected to a Ruby subprocess in Emacs")
2283 (description
2284 "@code{inf-ruby} provides a Read Eval Print Loop (REPL) buffer, allowing
2285for easy interaction with a ruby subprocess. Features include support for
2286detecting specific uses of Ruby, e.g. when using rails, and using a
2287appropriate console.")
2288 (license license:gpl3+)))
2289
2290(define-public emacs-znc
2291 (package
2292 (name "emacs-znc")
2293 (version "0.0.2")
2294 (source
2295 (origin
2296 (method url-fetch)
2297 (uri (string-append "https://marmalade-repo.org/packages/znc-"
2298 version ".el"))
2299 (sha256
2300 (base32
2301 "1d8lqvybgyazin5z0g1c4l3rg1vzrrvf0saqs53jr1zcdg0lianh"))))
2302 (build-system emacs-build-system)
2303 (home-page "https://github.com/sshirokov/ZNC.el")
2304 (synopsis "Make ERC and ZNC get along better")
2305 (description
2306 "This is a thin wrapper around @code{erc} that enables one to use the ZNC
2307IRC bouncer with ERC.")
2308 (license license:expat)))
2309
2310(define-public emacs-shut-up
2311 (package
2312 (name "emacs-shut-up")
2313 (version "0.3.2")
2314 (source
2315 (origin
2316 (method url-fetch)
2317 (uri (string-append "https://github.com/cask/shut-up/"
2318 "archive/v" version ".tar.gz"))
2319 (file-name (string-append name "-" version ".tar.gz"))
2320 (sha256
2321 (base32
2322 "09kzrjdkb569iviyg7ydwq44yh84m3f9hkl7jizfrlk0w4gz67d1"))))
2323 (build-system emacs-build-system)
2324 (home-page "https://github.com/cask/shut-up")
2325 (synopsis "Silence Emacs")
2326 (description "This package silences most output of Emacs when running an
2327Emacs shell script.")
2328 (license license:expat)))
2329
2330(define-public emacs-undercover
2331 (package
2332 (name "emacs-undercover")
2333 (version "0.6.0")
2334 (source
2335 (origin
2336 (method url-fetch)
2337 (uri (string-append "https://github.com/sviridov/undercover.el/"
2338 "archive/v" version ".tar.gz"))
2339 (file-name (string-append name "-" version ".tar.gz"))
2340 (sha256
2341 (base32
2342 "0f48fi0xnbsqs382rgh85m9mq1wdnr0yib7as9xhwzvq0hsr5m0a"))))
2343 (build-system emacs-build-system)
2344 (propagated-inputs
2345 `(("emacs-dash" ,emacs-dash)
2346 ("emacs-shut-up" ,emacs-shut-up)))
2347 (home-page "https://github.com/sviridov/undercover.el")
2348 (synopsis "Test coverage library for Emacs Lisp")
2349 (description
2350 "Undercover is a test coverage library for software written in Emacs
2351Lisp.")
2352 (license license:expat)))
2353
2354(define-public emacs-paren-face
2355 (package
2356 (name "emacs-paren-face")
2357 (version "1.0.0")
2358 (source
2359 (origin
2360 (method url-fetch)
2361 (uri (string-append "https://github.com/tarsius/paren-face/archive/"
2362 version ".tar.gz"))
2363 (file-name (string-append name "-" version ".tar.gz"))
2364 (sha256
2365 (base32
2366 "0y4qrhxa9332vsvr999jg7qj1ymnfgwpf591yi4a4jgg90pm7qnn"))))
2367 (build-system emacs-build-system)
2368 (home-page "https://github.com/tarsius/paren-face")
2369 (synopsis "Face for parentheses in lisp modes")
2370 (description
2371 "This library defines a face named @code{parenthesis} used just for
2372parentheses. The intended purpose of this face is to make parentheses less
2373visible in Lisp code by dimming them. Lispers probably don't need to be
2374constantly made aware of the existence of the parentheses. Dimming them might
2375be even more useful for people new to lisp who have not yet learned to
2376subconsciously blend out the parentheses.")
2377 (license license:gpl3+)))
2378
2379(define-public emacs-page-break-lines
2380 (package
2381 (name "emacs-page-break-lines")
2382 (version "0.11")
2383 (source
2384 (origin
2385 (method url-fetch)
2386 (uri (string-append "https://github.com/purcell/page-break-lines/"
2387 "archive/" version ".tar.gz"))
2388 (file-name (string-append name "-" version ".tar.gz"))
2389 (sha256
2390 (base32
2391 "1zzhziq5kbrm9rxk30kx2glz455fp1blqxg8cpcf6l8xl3w8z4pg"))))
2392 (build-system emacs-build-system)
2393 (home-page "https://github.com/purcell/page-break-lines")
2394 (synopsis "Display page breaks as tidy horizontal lines")
2395 (description
2396 "This library provides a global mode which displays form feed characters
2397as horizontal rules.")
2398 (license license:gpl3+)))
2399
2400(define-public emacs-simple-httpd
2401 (package
2402 (name "emacs-simple-httpd")
2403 (version "1.4.6")
2404 (source
2405 (origin
2406 (method url-fetch)
2407 (uri (string-append "https://github.com/skeeto/emacs-web-server/"
2408 "archive/" version ".tar.gz"))
2409 (file-name (string-append name "-" version ".tar.gz"))
2410 (sha256
2411 (base32
2412 "01r7h3imnj4qx1m53a2wjafvbylcyz5f9r2rg2cs7ky3chlg220r"))))
2413 (build-system emacs-build-system)
2414 (home-page "https://github.com/skeeto/emacs-http-server")
2415 (synopsis "HTTP server in pure Emacs Lisp")
2416 (description
2417 "This package provides a simple HTTP server written in Emacs Lisp to
2418serve files and directory listings.")
2419 (license license:unlicense)))
2420
2421(define-public emacs-skewer-mode
2422 (package
2423 (name "emacs-skewer-mode")
2424 (version "1.6.2")
2425 (source
2426 (origin
2427 (method url-fetch)
2428 (uri (string-append "https://github.com/skeeto/skewer-mode/archive/"
2429 version ".tar.gz"))
2430 (file-name (string-append name "-" version ".tar.gz"))
2431 (sha256
2432 (base32
2433 "07jpz374j0j964szy3zznrkyja2kpdl3xa87wh7349mzxivqxdx0"))))
2434 (build-system emacs-build-system)
2435 (propagated-inputs
2436 `(("emacs-simple-httpd" ,emacs-simple-httpd)
2437 ("emacs-js2-mode" ,emacs-js2-mode)))
2438 (arguments '(#:include '("\\.el$" "\\.js$" "\\.html$")))
2439 (home-page "https://github.com/skeeto/skewer-mode")
2440 (synopsis "Live web development in Emacs")
2441 (description
2442 "Skewer-mode provides live interaction with JavaScript, CSS, and HTML in
2443a web browser. Expressions are sent on-the-fly from an editing buffer to be
2444evaluated in the browser, just like Emacs does with an inferior Lisp process
2445in Lisp modes.")
2446 (license license:unlicense)))
2447
2448(define-public emacs-string-inflection
2449 (package
2450 (name "emacs-string-inflection")
2451 (version "1.0.6")
2452 (source (origin
2453 (method git-fetch)
2454 (uri (git-reference
2455 (url "https://github.com/akicho8/string-inflection")
2456 (commit "a150e7bdda60b7824d3a936750ce23f73b0e4edd")))
2457 (file-name (string-append name "-" version "-checkout"))
2458 (sha256
2459 (base32
2460 "1k0sm552iawi49v4zis6dbb81d1rzgky9v0dpv7nj31gnb7bmy7k"))))
2461 (build-system emacs-build-system)
2462 (native-inputs
2463 `(("ert-runner" ,emacs-ert-runner)))
2464 (arguments
2465 `(#:tests? #t
2466 #:test-command '("ert-runner")))
2467 (home-page "https://github.com/akicho8/string-inflection")
2468 (synopsis "Convert symbol names between different naming conventions")
2469 (description
2470 "This Emacs package provides convenient methods for manipulating the
2471naming style of a symbol. It supports different naming conventions such as:
2472
2473@enumerate
2474@item camel case
2475@item Pascal case
2476@item all upper case
2477@item lower case separated by underscore
2478@item etc...
2479@end enumerate\n")
2480 (license license:gpl2+)))
2481
2482(define-public emacs-stripe-buffer
2483 (package
2484 (name "emacs-stripe-buffer")
2485 (version "0.2.5")
2486 (source
2487 (origin
2488 (method url-fetch)
2489 (uri (string-append "https://github.com/sabof/stripe-buffer/"
2490 "archive/" version ".tar.gz"))
2491 (file-name (string-append name "-" version ".tar.gz"))
2492 (sha256
2493 (base32
2494 "1p515dq7raly5hw94kiwm3vzsfih0d8af622q4ipvvljsm98aiik"))))
2495 (build-system emacs-build-system)
2496 (home-page "https://github.com/sabof/stripe-buffer/")
2497 (synopsis "Add stripes to list buffers")
2498 (description
2499 "This Emacs package adds faces to add stripes to list buffers and org
2500tables.")
2501 (license license:gpl2+)))
2502
2503(define-public emacs-rich-minority
2504 (package
2505 (name "emacs-rich-minority")
2506 (version "1.0.1")
2507 (source
2508 (origin
2509 (method url-fetch)
2510 (uri (string-append "https://github.com/Malabarba/rich-minority/"
2511 "archive/" version ".tar.gz"))
2512 (file-name (string-append name "-" version ".tar.gz"))
2513 (sha256
2514 (base32
2515 "1l0cb0q7kyi88nwfqd542psnkgwnjklpzc5rx32gzd3lkwkrbr8v"))))
2516 (build-system emacs-build-system)
2517 (home-page "https://github.com/Malabarba/rich-minority")
2518 (synopsis "Clean-up and beautify the list of minor modes")
2519 (description
2520 "This Emacs package hides and/or highlights minor modes in the
2521mode-line.")
2522 (license license:gpl2+)))
2523
2524(define-public emacs-robe
2525 (package
2526 (name "emacs-robe")
2527 (version "0.8.1")
2528 (source
2529 (origin
2530 (method url-fetch)
2531 (uri (string-append "https://github.com/dgutov/robe/"
2532 "archive/" version ".tar.gz"))
2533 (file-name (string-append name "-" version ".tar.gz"))
2534 (sha256
2535 (base32
2536 "1vp45y99fwj88z04ah4yppz4z568qcib646az6m9az5ar0f203br"))))
2537 (build-system emacs-build-system)
2538 (arguments
2539 '(#:include (cons "^lib\\/" %default-include)))
2540 (propagated-inputs
2541 `(("emacs-inf-ruby" ,emacs-inf-ruby)))
2542 (home-page "https://github.com/dgutov/robe")
2543 (synopsis "Ruby code assistance tool for Emacs")
2544 (description
2545 "Robe can provide information on loaded classes and modules in Ruby code,
2546as well as where methods are defined. This allows the user to jump to method
2547definitions, modules and classes, display method documentation and provide
2548method and constant name completion.")
2549 (license license:gpl3+)))
2550
2551(define-public emacs-rspec
2552 (package
2553 (name "emacs-rspec")
2554 (version "1.11")
2555 (source
2556 (origin
2557 (method url-fetch)
2558 (uri (string-append "https://github.com/pezra/rspec-mode/"
2559 "archive/v" version ".tar.gz"))
2560 (file-name (string-append name "-" version ".tar.gz"))
2561 (sha256
2562 (base32
2563 "1j0a7ms5516nlg60qfyn730pfxys6acm0rgyxh5xfkpi6jafgpvw"))))
2564 (build-system emacs-build-system)
2565 (home-page "https://github.com/pezra/rspec-mode")
2566 (synopsis "Provides a rspec mode for working with RSpec")
2567 (description
2568 "The Emacs RSpec mode provides keybindings for Ruby source files, e.g. to
2569verify the spec associated with the current buffer, or entire project, as well
2570as moving between the spec files, and coresponding code files.
2571
2572Also included are keybindings for spec files and Dired buffers, as well as
2573snippets for yasnippet.")
2574 (license license:gpl3+)))
2575
2576(define-public emacs-smart-mode-line
2577 (package
2578 (name "emacs-smart-mode-line")
2579 (version "2.12.0")
2580 (source
2581 (origin
2582 (method url-fetch)
2583 (uri (string-append "https://github.com/Malabarba/smart-mode-line/"
2584 "archive/" version ".tar.gz"))
2585 (file-name (string-append name "-" version ".tar.gz"))
2586 (sha256
2587 (base32
2588 "1hn8s6laijmg7w1bgwdfrki6h9vxkbgr8rmmssvd5yqyad5w2sba"))))
2589 (build-system emacs-build-system)
2590 (propagated-inputs
2591 `(("emacs-rich-minority" ,emacs-rich-minority)))
2592 (home-page "https://github.com/Malabarba/smart-mode-line")
2593 (synopsis "Color-coded smart mode-line")
2594 (description
2595 "Smart Mode Line is a mode-line theme for Emacs. It aims to be easy to
2596read from small to large monitors by using colors, a prefix feature, and smart
2597truncation.")
2598 (license license:gpl2+)))
2599
2600(define-public emacs-sr-speedbar
2601 (let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
2602 (revision "0"))
2603 (package
2604 (name "emacs-sr-speedbar")
2605 (version (git-version "20161025" revision commit))
2606 (source
2607 (origin
2608 (method git-fetch)
2609 (uri (git-reference
2610 (url "https://github.com/emacsorphanage/sr-speedbar.git")
2611 (commit commit)))
2612 (file-name (git-file-name name version))
2613 (sha256
2614 (base32
2615 "0sd12555hk7z721y00kv3crdybvcn1i08wmd148z5imayzibj153"))))
2616 (build-system emacs-build-system)
2617 (home-page "https://www.emacswiki.org/emacs/SrSpeedbar")
2618 (synopsis "Same frame Emacs @code{speedbar}")
2619 (description
2620 "This Emacs package allows you to show @code{M-x speedbar} in the
2621same frame (in an extra window). You can customize the initial width of
2622the speedbar window.")
2623 (license license:gpl3+))))
2624
2625(define-public emacs-shell-switcher
2626 (package
2627 (name "emacs-shell-switcher")
2628 (version "1.0.1")
2629 (source
2630 (origin
2631 (method url-fetch)
2632 (uri (string-append "https://github.com/DamienCassou/shell-switcher"
2633 "/archive/v" version ".tar.gz"))
2634 (file-name (string-append name "-" version ".tar.gz"))
2635 (sha256
2636 (base32
2637 "1c23mfkdqz2g9rixd9smm323vzlvhzz3ng34ambcqjfq309qb2nz"))))
2638 (build-system emacs-build-system)
2639 (home-page "https://github.com/DamienCassou/shell-switcher")
2640 (synopsis "Provide fast switching between shell buffers")
2641 (description
2642 "This package provides commands to quickly switch between shell buffers.")
2643 (license license:gpl3+)))
2644
2645(define-public emacs-ob-ipython
2646 (package
2647 (name "emacs-ob-ipython")
2648 (version "20150704.8807064693")
2649 (source (origin
2650 (method git-fetch)
2651 (uri (git-reference
2652 (commit "880706469338ab59b5bb7dbe8460016f89755364")
2653 (url "https://github.com/gregsexton/ob-ipython.git")))
2654 (file-name (string-append name "-" version "-checkout"))
2655 (sha256
2656 (base32
2657 "1scf25snbds9ymagpny30ijbsg479r3nm0ih01dy4m9d0g7qryb7"))))
2658 (build-system emacs-build-system)
2659 (propagated-inputs
2660 `(("emacs-f" ,emacs-f)))
2661 (home-page "http://www.gregsexton.org")
2662 (synopsis "Org-Babel functions for IPython evaluation")
2663 (description "This package adds support to Org-Babel for evaluating Python
2664source code using IPython.")
2665 (license license:gpl3+)))
2666
2667(define-public emacs-debbugs
2668 (package
2669 (name "emacs-debbugs")
06013a45 2670 (version "0.17")
eeb883cb
RW
2671 (source (origin
2672 (method url-fetch)
2673 (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
2674 version ".tar"))
2675 (sha256
2676 (base32
06013a45 2677 "0zclh2nxj5p10n214sxyxy3ca07l5s9p5spk0xp1smr6nzn0w7gb"))))
eeb883cb
RW
2678 (build-system emacs-build-system)
2679 (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
2680 (propagated-inputs
2681 `(("emacs-async" ,emacs-async)))
2682 (home-page "https://elpa.gnu.org/packages/debbugs.html")
2683 (synopsis "Access the Debbugs bug tracker in Emacs")
2684 (description
2685 "This package lets you access the @uref{http://bugs.gnu.org,GNU Bug
2686Tracker} from within Emacs.
2687
2688For instance, it defines the command @code{M-x debbugs-gnu} for listing bugs,
2689and the command @code{M-x debbugs-gnu-search} for bug searching. If you
2690prefer the listing of bugs as TODO items of @code{org-mode}, you could use
2691@code{M-x debbugs-org} and related commands.
2692
2693A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
2694Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
2695 (license license:gpl3+)))
2696
2697(define-public emacs-ert-expectations
2698 (package
2699 (name "emacs-ert-expectations")
2700 (version "0.2")
2701 (source
2702 (origin
2703 (method url-fetch)
2704 (uri "https://www.emacswiki.org/emacs/download/ert-expectations.el")
2705 (sha256
2706 (base32
2707 "0cwy3ilsid90abzzjb7ha2blq9kmv3gfp3icwwfcz6qczgirq6g7"))))
2708 (build-system emacs-build-system)
2709 (home-page "https://www.emacswiki.org/emacs/ert-expectations.el")
2710 (synopsis "Simple unit test framework for Emacs Lisp")
2711 (description "@code{emacs-ert-expectations} is a simple unit test
2712framework for Emacs Lisp to be used with @code{ert}.")
2713 (license license:gpl3+)))
2714
2715(define-public emacs-deferred
2716 (package
2717 (name "emacs-deferred")
2718 (version "0.5.1")
2719 (home-page "https://github.com/kiwanami/emacs-deferred")
2720 (source (origin
2721 (method git-fetch)
2722 (uri (git-reference
2723 (url home-page)
2724 (commit (string-append "v" version))))
2725 (sha256
2726 (base32
2727 "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h"))
2728 (file-name (string-append name "-" version))))
2729 (build-system emacs-build-system)
2730 (arguments
2731 `(#:phases
2732 (modify-phases %standard-phases
2733 (add-after 'unpack 'set-shell
2734 ;; Setting the SHELL environment variable is required for the tests
2735 ;; to find sh.
2736 (lambda _
2737 (setenv "SHELL" (which "sh"))
2738 #t))
2739 (add-before 'check 'fix-makefile
2740 (lambda _
2741 (substitute* "Makefile"
2742 (("\\$\\(CASK\\) exec ") ""))
2743 #t)))
2744 #:tests? #t
2745 #:test-command '("make" "test")))
2746 (native-inputs
2747 `(("emacs-ert-expectations" ,emacs-ert-expectations)
2748 ("emacs-undercover" ,emacs-undercover)
2749 ("ert-runner" ,emacs-ert-runner)))
2750 (synopsis "Simple asynchronous functions for Emacs Lisp")
2751 (description
2752 "The @code{deferred.el} library provides support for asynchronous tasks.
2753The API is almost the same as that of
2754@uref{https://github.com/cho45/jsdeferred, JSDeferred}, a JavaScript library
2755for asynchronous tasks.")
2756 (license license:gpl3+)))
2757
2758(define-public emacs-butler
2759 (package
2760 (name "emacs-butler")
2761 (version "0.2.4")
2762 (home-page "https://github.com/AshtonKem/Butler")
2763 (source (origin
2764 (method git-fetch)
2765 (uri (git-reference
2766 (url home-page)
2767 (commit version)))
2768 (sha256
2769 (base32
2770 "1pii9dw4skq7nr4na6qxqasl36av8cwjp71bf1fgppqpcd9z8skj"))
2771 (file-name (string-append name "-" version))))
2772 (build-system emacs-build-system)
2773 (propagated-inputs
2774 `(("emacs-deferred" ,emacs-deferred)))
2775 (synopsis "Emacs client for Jenkins")
2776 (description
2777 "Butler provides an interface to connect to Jenkins continuous
2778integration servers. Users can specify a list of server in the
2779@code{butler-server-list} variable and then use @code{M-x butler-status} to
2780view the build status of those servers' build jobs, and possibly to trigger
2781build jobs.")
2782 (license license:gpl3+)))
2783
2784(define-public emacs-company
2785 (package
2786 (name "emacs-company")
2787 (version "0.9.7")
2788 (source
2789 (origin
2790 (method url-fetch)
2791 (uri (string-append "https://github.com/company-mode/company-mode/archive/"
2792 version ".tar.gz"))
2793 (file-name (string-append name "-" version ".tar.gz"))
2794 (sha256
2795 (base32
2796 "19flv38f2qhxda8lbk2ckywvibd72vbzmn4hchqz6d8acsknh4sb"))))
2797 (build-system emacs-build-system)
2798 (arguments
2799 `(#:phases
2800 (modify-phases %standard-phases
2801 (add-before 'check 'fix-bin-dir
2802 (lambda _
2803 ;; The company-files-candidates-normal-root test looks
2804 ;; for the /bin directory, but the build environment has
2805 ;; no /bin directory. Modify the test to look for the
2806 ;; /tmp directory.
2807 (substitute* "test/files-tests.el"
2808 (("/bin/") "/tmp/"))
2809 #t)))
2810 #:tests? #t
2811 #:test-command '("make" "test-batch")))
2812 (home-page "http://company-mode.github.io/")
2813 (synopsis "Modular text completion framework")
2814 (description
2815 "Company is a modular completion mechanism. Modules for retrieving
2816completion candidates are called back-ends, modules for displaying them are
2817front-ends. Company comes with many back-ends, e.g. @code{company-elisp}.
2818These are distributed in separate files and can be used individually.")
2819 (license license:gpl3+)))
2820
2821(define-public emacs-irony-mode
2822 (package
2823 (name "emacs-irony-mode")
2824 (version "1.2.0")
2825 (home-page "https://github.com/Sarcasm/irony-mode")
2826 (source (origin
2827 (method git-fetch)
2828 (uri (git-reference
2829 (url (string-append home-page ".git"))
2830 (commit (string-append "v" version))))
2831 (sha256
2832 (base32
2833 "0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8"))
2834 (file-name (string-append name "-" version ".tar.gz"))))
2835 (build-system emacs-build-system)
2836 (inputs `(("server" ,emacs-irony-mode-server)))
2837 (arguments `(#:phases
2838 (modify-phases %standard-phases
2839 (add-after 'unpack 'configure
2840 (lambda* (#:key inputs #:allow-other-keys)
2841 (chmod "irony.el" #o644)
2842 (emacs-substitute-variables "irony.el"
2843 ("irony-server-install-prefix"
2844 (assoc-ref inputs "server")))
2845 #t)))))
2846 (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
2847 (description "Irony-mode provides Clang-assisted syntax checking and
2848completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can
2849provide syntax checking and autocompletion on compiler level which is very
2850resistent against false positives. It also integrates well with other
2851packages like @code{eldoc-mode} and especially @code{company-mode} as
2852described on the homepage.")
2853 (license license:gpl3+)))
2854
2855(define-public emacs-irony-mode-server
2856 (package (inherit emacs-irony-mode)
2857 (name "emacs-irony-mode-server")
2858 (inputs
2859 `(("clang" ,clang)))
2860 (arguments
2861 `(#:phases
2862 (modify-phases %standard-phases
2863 (replace 'configure
2864 (lambda* (#:key outputs #:allow-other-keys)
2865 (let ((out (assoc-ref outputs "out")))
2866 (invoke "cmake"
2867 "server"
2868 (string-append "-DCMAKE_INSTALL_PREFIX=" out)) #t))))))
2869 (build-system cmake-build-system)
2870 (synopsis "Server for the Emacs @dfn{irony mode}")))
2871
2872(define-public emacs-company-irony
2873 (package
2874 (name "emacs-company-irony")
2875 (version "1.1.0")
2876 (source (origin
2877 (method git-fetch)
2878 (uri (git-reference
2879 (url "https://github.com/Sarcasm/company-irony.git")
2880 (commit (string-append "v" version))))
2881 (sha256 (base32
2882 "1qgyam2vyjw90kpxns5cd6bq3qiqjhzpwrlvmi18vyb69qcgqd8a"))
2883 (file-name (git-file-name name version))))
2884 (build-system emacs-build-system)
2885 (inputs
2886 `(("emacs-irony-mode" ,emacs-irony-mode)
2887 ("emacs-company" ,emacs-company)))
2888 (synopsis "C++ completion backend for Company using irony-mode")
2889 (description "This backend for company-mode allows for C++ code completion
2890with irony-mode using clang-tooling.")
2891 (home-page "https://github.com/Sarcasm/company-irony")
2892 (license license:gpl3+)))
2893
2894(define-public emacs-flycheck-irony
2895 (package
2896 (name "emacs-flycheck-irony")
2897 (version "0.1.0")
2898 (source (origin
2899 (method git-fetch)
2900 (uri (git-reference
2901 (url "https://github.com/Sarcasm/flycheck-irony.git")
2902 (commit (string-append "v" version))))
2903 (sha256
2904 (base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996"))
2905 (file-name (string-append name "-" version))))
2906 (build-system emacs-build-system)
2907 (inputs
2908 `(("irony-mode" ,emacs-irony-mode)
2909 ("flycheck-mode" ,emacs-flycheck)
2910 ("emacs-company" ,emacs-company)))
2911 (synopsis "Live syntax checking frontend for Flycheck using irony-mode")
2912 (description "This package provides a frontend for Flycheck that lets
2913irony-mode do the syntax checking.")
2914 (home-page "https://github.com/Sarcasm/flycheck-irony")
2915 (license license:gpl3+)))
2916
2917(define-public emacs-irony-eldoc
2918 (package
2919 (name "emacs-irony-eldoc")
2920 (version (package-version emacs-irony-mode))
2921 (source
2922 (origin
2923 (method git-fetch)
2924 (uri (git-reference
2925 (url "https://github.com/ikirill/irony-eldoc.git")
2926 (commit "0df5831eaae264a25422b061eb2792aadde8b3f2")))
2927 (sha256 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd"))
2928 (file-name (string-append name "-" version))))
2929 (build-system emacs-build-system)
2930 (inputs
2931 `(("irony-mode" ,emacs-irony-mode)))
2932 (synopsis "Eldoc integration for irony-mode")
2933 (description "Irony-eldoc is an eldoc extension that shows documentation
2934for the current function or variable in the minibuffer.")
2935 (home-page "https://github.com/ikirill/irony-eldoc")
2936 (license license:gpl3+)))
2937
2938(define-public emacs-company-quickhelp
2939 (package
2940 (name "emacs-company-quickhelp")
2941 (version "2.3.0")
2942 (source
2943 (origin
2944 (method url-fetch)
2945 (uri (string-append
2946 "https://github.com/expez/company-quickhelp/archive/"
2947 version ".tar.gz"))
2948 (file-name (string-append name "-" version ".tar.gz"))
2949 (sha256
2950 (base32
2951 "0xrn2z1dgk5gmkmp2jkn9g83ckk39lqp5pyyv8rl7f6gqvib3qh0"))))
2952 (build-system emacs-build-system)
2953 (propagated-inputs
2954 `(("emacs-pos-tip" ,emacs-pos-tip)
2955 ("emacs-company" ,emacs-company)))
2956 (home-page "https://github.com/expez/company-quickhelp")
2957 (synopsis "Popup documentation for completion candidates")
2958 (description "@code{company-quickhelp} shows documentation for the
2959completion candidate when using the Company text completion framework.")
2960 (license license:gpl3+)))
2961
2962(define-public emacs-multiple-cursors
2963 (package
2964 (name "emacs-multiple-cursors")
2965 (version "1.4.0")
2966 (source
2967 (origin
2968 (method url-fetch)
2969 (uri (string-append "https://github.com/magnars/multiple-cursors.el/"
2970 "archive/" version ".tar.gz"))
2971 (file-name (string-append name "-" version ".tar.gz"))
2972 (sha256
2973 (base32
2974 "0hihihlvcvzayg5fnqzcg45fhvlmq6xlq58syy00rjwbry9w389k"))))
2975 (build-system emacs-build-system)
2976 (home-page "https://github.com/magnars/multiple-cursors.el")
2977 (synopsis "Multiple cursors for Emacs")
2978 (description
2979 "This package adds support to Emacs for editing text with multiple
2980simultaneous cursors.")
2981 (license license:gpl3+)))
2982
2983(define-public emacs-typo
2984 (package
2985 (name "emacs-typo")
2986 (version "1.1")
2987 (home-page "https://github.com/jorgenschaefer/typoel")
2988 (source (origin
2989 (method git-fetch)
2990 (uri (git-reference
2991 (url home-page)
2992 (commit (string-append "v" version))))
2993 (sha256
2994 (base32
2995 "1jhd4grch5iz12gyxwfbsgh4dmz5hj4bg4gnvphccg8dsnni05k2"))
2996 (file-name (string-append name "-" version))))
2997 (build-system emacs-build-system)
2998 (synopsis "Minor mode for typographic editing")
2999 (description
3000 "This package provides two Emacs modes, @code{typo-mode} and
3001@code{typo-global-mode}. These modes automatically insert Unicode characters
3002for quotation marks, dashes, and ellipses. For example, typing @kbd{\"}
3003automatically inserts a Unicode opening or closing quotation mark, depending
3004on context.")
3005 (license license:gpl3+)))
3006
bb034ab0
BL
3007(define-public emacs-company-lsp
3008 (package
3009 (name "emacs-company-lsp")
3010 (version "2.1.0")
3011 (source (origin
3012 (method git-fetch)
3013 (uri (git-reference
3014 (url "https://github.com/tigersoldier/company-lsp.git")
3015 (commit version)))
3016 (file-name (git-file-name name version))
3017 (sha256
3018 (base32
3019 "1hy1x2w0yp5brm7714d1hziz3rpkywb5jp3yj78ibmi9ifny9vri"))))
3020 (build-system emacs-build-system)
3021 (propagated-inputs
3022 `(("emacs-dash" ,emacs-dash)
3023 ("emacs-lsp-mode" ,emacs-lsp-mode)
3024 ("emacs-company" ,emacs-company)
3025 ("emacs-s" ,emacs-s)
3026 ("emacs-dash" ,emacs-dash)))
3027 (home-page "https://github.com/tigersoldier/company-lsp")
3028 (synopsis "Completion for @code{lsp-mode}")
3029 (description
3030 "This package provides completion features that are not possible with
3031@code{lsp-mode} and @code{company-capf} alone, including support for trigger
3032characters and asynchronous fetching of completion candidates.")
3033 (license license:gpl3+)))
3034
eeb883cb
RW
3035(define-public emacs-scheme-complete
3036 (let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5"))
3037 (package
3038 (name "emacs-scheme-complete")
3039 (version (string-append "20151223." (string-take commit 8)))
3040 (source
3041 (origin
3042 (file-name (string-append name "-" version))
3043 (method git-fetch)
3044 (uri (git-reference
3045 (url "https://github.com/ashinn/scheme-complete.git")
3046 (commit commit)))
3047 (sha256
3048 (base32
3049 "141wn9l0m33w0g3dqmx8nxbfdny1r5xbr6ak61rsz21bk0qafs7x"))
3050 (patches
3051 (search-patches "emacs-scheme-complete-scheme-r5rs-info.patch"))))
3052 (build-system emacs-build-system)
3053 (home-page "https://github.com/ashinn/scheme-complete")
3054 (synopsis "Smart tab completion for Scheme in Emacs")
3055 (description
3056 "This file provides a single function, @code{scheme-smart-complete},
3057which you can use for intelligent, context-sensitive completion for any Scheme
3058implementation in Emacs. To use it just load this file and bind that function
3059to a key in your preferred mode.")
3060 (license license:public-domain))))
3061
3062(define-public emacs-scel
3063 (let ((version "20170629")
3064 (revision "1")
3065 (commit "aeea3ad4be9306d14c3a734a4ff54fee10ac135b"))
3066 (package
3067 (name "emacs-scel")
3068 (version (git-version version revision commit))
3069 (source
3070 (origin
3071 (method git-fetch)
3072 (uri (git-reference
3073 (url "https://github.com/supercollider/scel.git")
3074 (commit commit)))
3075 (file-name (string-append name "-" version "-checkout"))
3076 (sha256
3077 (base32
3078 "0jvmzs1lsjyndqshhii2y4mnr3wghai26i3p75453zrpxpg0zvvw"))))
3079 (build-system emacs-build-system)
3080 (arguments
3081 `(#:modules ((guix build emacs-build-system)
3082 ((guix build cmake-build-system) #:prefix cmake:)
3083 (guix build utils))
3084 #:imported-modules (,@%emacs-build-system-modules
3085 (guix build cmake-build-system))
3086 #:phases
3087 (modify-phases %standard-phases
3088 (add-after 'unpack 'configure
3089 (lambda* (#:key outputs #:allow-other-keys)
3090 (substitute* "el/CMakeLists.txt"
3091 (("share/emacs/site-lisp/SuperCollider")
3092 (string-append
3093 "share/emacs/site-lisp/guix.d/scel-" ,version)))
3094 ((assoc-ref cmake:%standard-phases 'configure)
3095 #:outputs outputs
3096 #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF"))))
3097 (add-after 'set-emacs-load-path 'add-el-dir-to-emacs-load-path
3098 (lambda _
3099 (setenv "EMACSLOADPATH"
3100 (string-append (getcwd) "/el:" (getenv "EMACSLOADPATH")))
3101 #t))
3102 (replace 'install (assoc-ref cmake:%standard-phases 'install)))))
3103 (inputs
3104 `(("supercollider" ,supercollider)))
3105 (native-inputs
3106 `(("cmake" ,cmake)))
3107 (home-page "https://github.com/supercollider/scel")
3108 (synopsis "SuperCollider Emacs interface")
3109 (description "@code{emacs-scel} is an Emacs interface to SuperCollider.
3110SuperCollider is a platform for audio synthesis and algorithmic composition.")
3111 (license license:gpl2+))))
3112
5247cd2a
BL
3113(define-public emacs-company-auctex
3114 (let ((commit "48c42c58ce2f0e693301b0cb2d085055410c1b25")
3115 (revision "1"))
3116 (package
3117 (name "emacs-company-auctex")
3118 (version (git-version "0" revision commit))
3119 (source (origin
3120 (method git-fetch)
3121 (uri (git-reference
3122 (url "https://github.com/alexeyr/company-auctex")
3123 (commit commit)))
3124 (file-name (git-file-name name version))
3125 (sha256
3126 (base32
3127 "10qn7frn5wcmrlci3v6iliqzj7r9dls87h9zp3xkgrgn4bqprfp8"))))
3128 (build-system emacs-build-system)
3129 (propagated-inputs
3130 `(("emacs-yasnippet" ,emacs-yasnippet)
3131 ("emacs-auctex" ,emacs-auctex)
3132 ("emacs-company" ,emacs-company)))
3133 (home-page "https://github.com/alexeyr/company-auctex/")
3134 (synopsis "Completion for @code{AUCTeX}")
3135 (description
3136 "This package provides a group of backends permitting auto-completion
3137for @code{AUCTeX}.")
3138 (license license:gpl3+))))
3139
eeb883cb
RW
3140(define-public emacs-mit-scheme-doc
3141 (package
3142 (name "emacs-mit-scheme-doc")
3143 (version "20140203")
3144 (source
3145 (origin
3146 (modules '((guix build utils)))
3147 (snippet
3148 ;; keep only file of interest
3149 '(begin
3150 (for-each delete-file '("dot-emacs.el" "Makefile"))
3151 (install-file "6.945-config/mit-scheme-doc.el" ".")
3152 (delete-file-recursively "6.945-config")
3153 #t))
3154 (file-name (string-append name "-" version ".tar.bz2"))
3155 (method url-fetch)
3156 (uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/"
3157 "6.945/dont-panic/emacs-basic-config.tar.bz2"))
3158 (sha256
3159 (base32
3160 "0dqidg2bd66pawqfarvwca93w5gqf9mikn1k2a2rmd9ymfjpziq1"))))
3161 (build-system emacs-build-system)
3162 (inputs `(("mit-scheme" ,mit-scheme)))
3163 (arguments
3164 `(#:phases
3165 (modify-phases %standard-phases
3166 (add-after 'unpack 'configure-doc
3167 (lambda* (#:key inputs #:allow-other-keys)
3168 (let* ((mit-scheme-dir (assoc-ref inputs "mit-scheme"))
3169 (doc-dir (string-append mit-scheme-dir "/share/doc/"
3170 "mit-scheme-"
3171 ,(package-version mit-scheme))))
3172 (substitute* "mit-scheme-doc.el"
3173 (("http://www\\.gnu\\.org/software/mit-scheme/documentation/mit-scheme-ref/")
3174 (string-append "file:" doc-dir "/mit-scheme-ref/")))))))))
3175 (home-page "http://groups.csail.mit.edu/mac/users/gjs/6.945/dont-panic/")
3176 (synopsis "MIT-Scheme documentation lookup for Emacs")
3177 (description
3178 "This package provides a set of Emacs functions to search definitions of
3179identifiers in the MIT-Scheme documentation.")
3180 (license license:gpl2+)))
3181
3182(define-public emacs-constants
3183 (package
3184 (name "emacs-constants")
3185 (version "2.6")
3186 (home-page "https://staff.fnwi.uva.nl/c.dominik/Tools/constants")
3187 (source
3188 (origin
3189 (file-name (string-append name "-" version ".tar.gz"))
3190 (method url-fetch)
3191 (uri (string-append "https://github.com/fedeinthemix/emacs-constants"
3192 "/archive/v" version ".tar.gz"))
3193 (sha256
3194 (base32
3195 "0pnrpmmxq8mh5h2hbrp5vcym0j0fh6dv3s7c5ccn18wllhzg9g7n"))))
3196 (build-system emacs-build-system)
3197 (synopsis "Enter definition of constants into an Emacs buffer")
3198 (description
3199 "This package provides functions for inserting the definition of natural
3200constants and units into an Emacs buffer.")
3201 (license license:gpl2+)))
3202
3203(define-public emacs-tagedit
3204 (package
3205 (name "emacs-tagedit")
3206 (version "1.4.0")
3207 (source
3208 (origin
3209 (method url-fetch)
3210 (uri (string-append "https://github.com/magnars/tagedit/"
3211 "archive/" version ".tar.gz"))
3212 (file-name (string-append name "-" version ".tar.gz"))
3213 (sha256
3214 (base32
3215 "1apfnann4qklfdsmdi7icjsj18x7gwx8d83iqr4z25clszz95xfq"))))
3216 (build-system emacs-build-system)
3217 (propagated-inputs
3218 `(("emacs-s" ,emacs-s)
3219 ("emacs-dash" ,emacs-dash)))
3220 (home-page "https://github.com/magnars/tagedit")
3221 (synopsis "Some paredit-like features for html-mode")
3222 (description
3223 "This package provides a collection of paredit-like functions for editing
3224in @code{html-mode}.")
3225 (license license:gpl3+)))
3226
3227(define-public emacs-slime
3228 (package
3229 (name "emacs-slime")
c4e4b853 3230 (version "2.23")
eeb883cb
RW
3231 (source
3232 (origin
3233 (file-name (string-append name "-" version ".tar.gz"))
3234 (method url-fetch)
3235 (uri (string-append
3236 "https://github.com/slime/slime/archive/v"
3237 version ".tar.gz"))
3238 (sha256
3239 (base32
c4e4b853 3240 "01gkrqfpifcx1vipwrbhns2r4s8izp3z1w4p41azc943s1a2d5nc"))))
eeb883cb
RW
3241 (build-system emacs-build-system)
3242 (native-inputs
3243 `(("texinfo" ,texinfo)))
3244 (arguments
3245 `(#:include '("\\.el$" "\\.lisp$" "\\.asd$" "contrib")
3246 #:exclude '("^slime-tests.el" "^contrib/test/"
3247 "^contrib/Makefile$" "^contrib/README.md$")
3248 #:phases
3249 (modify-phases %standard-phases
3250 (add-before 'install 'configure
3251 (lambda* _
3252 (emacs-substitute-variables "slime.el"
3253 ("inferior-lisp-program" "sbcl"))
3254 #t))
3255 (add-before 'install 'install-doc
3256 (lambda* (#:key outputs #:allow-other-keys)
3257 (let* ((out (assoc-ref outputs "out"))
3258 (info-dir (string-append out "/share/info"))
3259 (doc-dir (string-append out "/share/doc/"
3260 ,name "-" ,version))
3261 (doc-files '("doc/slime-refcard.pdf"
3262 "README.md" "NEWS" "PROBLEMS"
3263 "CONTRIBUTING.md")))
3264 (with-directory-excursion "doc"
3265 (substitute* "Makefile"
3266 (("infodir=/usr/local/info")
3267 (string-append "infodir=" info-dir)))
3268 (invoke "make" "html/index.html")
3269 (invoke "make" "slime.info")
3270 (install-file "slime.info" info-dir)
3271 (copy-recursively "html" (string-append doc-dir "/html")))
3272 (for-each (lambda (f)
3273 (install-file f doc-dir)
3274 (delete-file f))
3275 doc-files)
3276 (delete-file-recursively "doc")
3277 #t))))))
3278 (home-page "https://github.com/slime/slime")
3279 (synopsis "Superior Lisp Interaction Mode for Emacs")
3280 (description
3281 "SLIME extends Emacs with support for interactive programming in
3282Common Lisp. The features are centered around @command{slime-mode},
3283an Emacs minor mode that complements the standard @command{lisp-mode}.
3284While lisp-mode supports editing Lisp source files, @command{slime-mode}
3285adds support for interacting with a running Common Lisp process
3286for compilation, debugging, documentation lookup, and so on.")
3287 (license (list license:gpl2+ license:public-domain))))
3288
3289(define-public emacs-popup
3290 (package
3291 (name "emacs-popup")
3292 (version "0.5.3")
3293 (source (origin
3294 (method url-fetch)
3295 (uri (string-append
3296 "https://github.com/auto-complete/popup-el/archive/v"
3297 version ".tar.gz"))
3298 (file-name (string-append name "-" version ".tar.gz"))
3299 (sha256
3300 (base32
3301 "1yrgfj8y69xmcb6kwgplhq68ndm9410qwh7sd2knnd1gchpphdc0"))))
3302 (build-system emacs-build-system)
3303 (home-page "https://github.com/auto-complete/popup-el")
3304 (synopsis "Visual Popup User Interface for Emacs")
3305 (description
3306 "Popup.el is a visual popup user interface library for Emacs.
3307This provides a basic API and common UI widgets such as popup tooltips
3308and popup menus.")
3309 (license license:gpl3+)))
3310
16f6a75d
BL
3311(define-public emacs-python-environment
3312 (package
3313 (name "emacs-python-environment")
3314 (version "0.0.2")
3315 (source (origin
3316 (method git-fetch)
3317 (uri (git-reference
3318 (url "https://github.com/tkf/emacs-python-environment/")
3319 (commit version)))
3320 (file-name (git-file-name name version))
3321 (sha256
3322 (base32
3323 "0q6bib9nr6xiq6npzbngyfcjk87yyvwzq1zirr3z1h5wadm34lsk"))))
3324 (build-system emacs-build-system)
3325 (propagated-inputs
3326 `(("emacs-deferred" ,emacs-deferred)))
3327 (home-page "https://github.com/tkf/emacs-python-environment")
3328 (synopsis "Provides a @code{virtualenv} API in Emacs Lisp")
3329 (description
3330 "This package permits automated installation of tools written in Python.")
3331 (license license:gpl3+)))
3332
06aff738
BL
3333(define-public emacs-jedi
3334 (package
3335 (name "emacs-jedi")
3336 (version "0.2.7")
3337 (source (origin
3338 (method git-fetch)
3339 (uri (git-reference
3340 (url "https://github.com/tkf/emacs-jedi/")
3341 (commit (string-append "v" version))))
3342 (file-name (git-file-name name version))
3343 (sha256
3344 (base32
3345 "0xbp9fcxgbf298w05hvf52z41kk7r52975ailgdn8sg60xc98fa7"))))
3346 (build-system emacs-build-system)
3347 (native-inputs
3348 `(("emacs-mocker" ,emacs-mocker)))
3349 (propagated-inputs
3350 `(("emacs-auto-complete" ,emacs-auto-complete)
3351 ("emacs-python-environment" ,emacs-python-environment)
3352 ("emacs-epc" ,emacs-epc)))
3353 (home-page "https://github.com/tkf/emacs-jedi")
3354 (synopsis "Provides Python completion in Emacs")
3355 (description
3356 "This package provides completion in Python buffers and also helps find
3357the locations of docstrings, arguments, and functions.")
3358 (license license:gpl3+)))
3359
8dc32965
BL
3360(define-public emacs-company-jedi
3361 (package
3362 (name "emacs-company-jedi")
3363 (version "0.04")
3364 (source (origin
3365 (method git-fetch)
3366 (uri (git-reference
3367 (url "https://github.com/syohex/emacs-company-jedi")
3368 (commit version)))
3369 (file-name (git-file-name name version))
3370 (sha256
3371 (base32
3372 "1ihqapp4dv92794rsgyq0rmhwika60cmradqd4bn9b72ss6plxs1"))))
3373 (build-system emacs-build-system)
3374 (propagated-inputs
3375 `(("emacs-jedi" ,emacs-jedi)
3376 ("emacs-company" ,emacs-company)))
3377 (home-page "https://github.com/syohex/emacs-company-jedi")
3378 (synopsis "Provides Python completion in @code{company-mode}")
3379 (description
3380 "This package provides a Company backend for Python.")
3381 (license license:gpl3+)))
3382
eeb883cb
RW
3383(define-public emacs-puppet-mode
3384 (let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2")
3385 (revision "1"))
3386 (package
3387 (name "emacs-puppet-mode")
3388 ;; The last release, 0.3 was several years ago, and there have been many
3389 ;; commits since
3390 (version (git-version "0.3" revision commit))
3391 (source
3392 (origin
3393 (method url-fetch)
3394 (uri (string-append
3395 "https://raw.githubusercontent.com/voxpupuli/puppet-mode/"
3396 commit "/puppet-mode.el"))
3397 (sha256
3398 (base32
3399 "1indycxawsl0p2aqqg754f6735q3cmah9vd886rpn0ncc3ipi1xm"))))
3400 (build-system emacs-build-system)
3401 (home-page "https://github.com/voxpupuli/puppet-mode")
3402 (synopsis "Emacs major mode for the Puppet configuration language")
3403 (description
3404 "This package provides support for the Puppet configuration language,
3405including syntax highlighting, indentation of expressions and statements,
3406linting of manifests and integration with Puppet Debugger.")
3407 ;; Also incorporates work covered by the Apache License, Version 2.0
3408 (license license:gpl3+))))
3409
3410(define-public emacs-god-mode
3411 (let ((commit "6cf0807b6555eb6fcf8387a4e3b667071ef38964")
3412 (revision "1"))
3413 (package
3414 (name "emacs-god-mode")
3415 (version (string-append "20151005.925."
3416 revision "-" (string-take commit 9)))
3417 (source
3418 (origin
3419 (method git-fetch)
3420 (uri (git-reference
3421 (url "https://github.com/chrisdone/god-mode.git")
3422 (commit commit)))
3423 (file-name (string-append name "-" version "-checkout"))
3424 (sha256
3425 (base32
3426 "1am415k4xxcva6y3vbvyvknzc6bma49pq3p85zmpjsdmsp18qdix"))))
3427 (build-system emacs-build-system)
3428 (home-page "https://github.com/chrisdone/god-mode")
3429 (synopsis "Minor mode for entering commands without modifier keys")
3430 (description
3431 "This package provides a global minor mode for entering Emacs commands
3432without modifier keys. It's similar to Vim's separation of commands and
3433insertion mode. When enabled all keys are implicitly prefixed with
3434@samp{C-} (among other helpful shortcuts).")
3435 (license license:gpl3+))))
3436
3437(define-public emacs-jinja2-mode
3438 (package
3439 (name "emacs-jinja2-mode")
3440 (version "0.2")
3441 (source
3442 (origin
3443 (method url-fetch)
3444 (uri (string-append "https://github.com/paradoxxxzero/jinja2-mode/"
3445 "archive/v" version ".tar.gz"))
3446 (file-name (string-append name "-" version ".tar.gz"))
3447 (sha256
3448 (base32
3449 "0cgxjab1kla2zc2fj7bzib6i7snp08zshandmp9kqcm85l262xpn"))))
3450 (build-system emacs-build-system)
3451 (home-page "https://github.com/paradoxxxzero/jinja2-mode")
3452 (synopsis "Major mode for jinja2")
3453 (description
3454 "Emacs major mode for jinja2 with: syntax highlighting,
3455sgml/html integration, and indentation (working with sgml).")
3456 (license license:gpl3+)))
3457
6cd504ce
BL
3458(define-public emacs-company-cabal
3459 ;; The latest version is 0.3.0, but no release has been provided after 0.2.1.
3460 (let ((commit "62112a7259e24bd6c08885629a185afe512b7d3d")
3461 (revision "1"))
3462 (package
3463 (name "emacs-company-cabal")
3464 (version (git-version "0.3.0" revision commit))
3465 (source (origin
3466 (method git-fetch)
3467 (uri (git-reference
3468 (url "https://github.com/iquiw/company-cabal/")
3469 (commit commit)))
3470 (file-name (git-file-name name version))
3471 (sha256
3472 (base32
3473 "1gf45xwjzdm8i4q6c6khk4dbg1mmp2r0awz2sjr4dcr2dbd1n7mg"))))
3474 (build-system emacs-build-system)
3475 (propagated-inputs
3476 `(("emacs-company" ,emacs-company)))
3477 (home-page "https://github.com/iquiw/company-cabal/")
3478 (synopsis "Company completion for Haskell Cabal files")
3479 (description
3480 "This package allows for completion of field names, section names,
3481field values, and more within @code{haskell-cabal-mode}.")
3482 (license license:gpl3+))))
3483
eeb883cb
RW
3484(define-public emacs-rfcview
3485 (package
3486 (name "emacs-rfcview")
3487 (version "0.13")
3488 (home-page "http://www.loveshack.ukfsn.org/emacs")
3489 (source (origin
3490 (method url-fetch)
3491 (uri "http://www.loveshack.ukfsn.org/emacs/rfcview.el")
3492 (sha256
3493 (base32
3494 "0ympj5rxig383zl2jf0pzdsa80nnq0dpvjiriq0ivfi98fj7kxbz"))))
3495 (build-system emacs-build-system)
3496 (synopsis "Prettify Request for Comments (RFC) documents")
3497 (description "The Internet Engineering Task Force (IETF) and the Internet
3498Society (ISOC) publish various Internet-related protocols and specifications
3499as \"Request for Comments\" (RFC) documents and Internet Standard (STD)
3500documents. RFCs and STDs are published in a simple text form. This package
3501provides an Emacs major mode, rfcview-mode, which makes it more pleasant to
3502read these documents in Emacs. It prettifies the text and adds
3503hyperlinks/menus for easier navigation. It also provides functions for
3504browsing the index of RFC documents and fetching them from remote servers or
3505local directories.")
3506 (license license:gpl3+)))
3507
3508(define-public emacs-ffap-rfc-space
3509 (package
3510 (name "emacs-ffap-rfc-space")
3511 (version "12")
3512 (home-page "http://user42.tuxfamily.org/ffap-rfc-space/index.html")
3513 (source (origin
3514 (method url-fetch)
3515 (uri "http://download.tuxfamily.org/user42/ffap-rfc-space.el")
3516 (sha256
3517 (base32
3518 "1iv61dv57a73mdps7rn6zmgz7nqh14v0ninidyrasy45b1nv6gck"))))
3519 (build-system emacs-build-system)
3520 (synopsis "Make ffap recognize an RFC with a space before its number")
3521 (description "The Internet Engineering Task Force (IETF) and the
3522Internet Society (ISOC) publish various Internet-related protocols and
3523specifications as \"Request for Comments\" (RFC) documents. The
3524built-in Emacs module \"ffap\" (Find File at Point) has the ability to
3525recognize names at point which look like \"RFC1234\" and \"RFC-1234\"
3526and load the appropriate RFC from a remote server. However, it fails
3527to recognize a name like \"RFC 1234\". This package enhances ffap so
3528that it correctly finds RFCs even when a space appears before the
3529number.")
3530 (license license:gpl3+)))
3531
3532(define-public emacs-org-bullets
3533 (package
3534 (name "emacs-org-bullets")
3535 (version "0.2.4")
3536 (source
3537 (origin
3538 (method url-fetch)
3539 (uri (string-append "https://github.com/sabof/org-bullets/archive/"
3540 version ".tar.gz"))
3541 (file-name (string-append name "-" version ".tar.gz"))
3542 (sha256
3543 (base32
3544 "1dyxvpb73vj80v8br2q9rf255hfphrgaw91fbvwdcd735np9pcnh"))))
3545 (build-system emacs-build-system)
3546 (home-page "https://github.com/sabof/org-bullets")
3547 (synopsis "Show bullets in org-mode as UTF-8 characters")
3548 (description
3549 "This package provides an Emacs minor mode causing bullets in
3550@code{org-mode} to be rendered as UTF-8 characters.")
3551 (license license:gpl3+)))
3552
3553(define-public emacs-org-pomodoro
3554 (package
3555 (name "emacs-org-pomodoro")
3556 (version "2.1.0")
3557 (source
3558 (origin
3559 (method url-fetch)
3560 (uri (string-append
3561 "https://github.com/lolownia/org-pomodoro/archive/"
3562 version ".tar.gz"))
3563 (file-name (string-append name "-" version ".tar.gz"))
3564 (sha256
3565 (base32
3566 "1jalsggw3q5kvj353f84x4nl04a5vmq07h75ggppy1627lb31zm4"))))
3567 (build-system emacs-build-system)
3568 (propagated-inputs
3569 `(("emacs-alert" ,emacs-alert)))
3570 (home-page "https://github.com/lolownia/org-pomodoro")
3571 (synopsis "Pomodoro technique for org-mode")
3572 (description "@code{emacs-org-pomodoro} adds very basic support for
3573Pomodoro technique in Emacs org-mode.
3574
3575Run @code{M-x org-pomodoro} for the task at point or select one of the
3576last tasks that you clocked time for. Each clocked-in pomodoro starts
3577a timer of 25 minutes and after each pomodoro a break timer of 5
3578minutes is started automatically. Every 4 breaks a long break is
3579started with 20 minutes. All values are customizable.")
3580 (license license:gpl3+)))
3581
3582(define-public emacs-org-trello
3583 (package
3584 (name "emacs-org-trello")
3585 (version "0.8.0")
3586 (source (origin
3587 (method url-fetch)
3588 (uri (string-append
3589 "https://github.com/org-trello/org-trello/archive/"
3590 version ".tar.gz"))
3591 (file-name (string-append name "-" version ".tar.gz"))
3592 (sha256
3593 (base32
3594 "0549mnf5cgwn8b8jbl38fljbaxmh1605sv9j8f3lsa95jhs1zpa0"))))
3595 (build-system emacs-build-system)
3596 (propagated-inputs
3597 `(("emacs-dash" ,emacs-dash)
3598 ("emacs-deferred" ,emacs-deferred)
3599 ("emacs-f" ,emacs-f)
3600 ("emacs-helm" ,emacs-helm)
3601 ("emacs-request" ,emacs-request)
3602 ("emacs-s" ,emacs-s)))
3603 (home-page "https://org-trello.github.io")
3604 (synopsis "Emacs minor mode for interacting with Trello")
3605 (description "This package provides an Emacs minor mode to extend
3606@code{org-mode} with Trello abilities. Trello is an online project
3607organizer.")
3608 (license license:gpl3+)))
3609
1172d914
BL
3610(define-public emacs-company-flow
3611 (let ((commit "76ef585c70d2a3206c2eadf24ba61e59124c3a16")
3612 (revision "1"))
3613 (package
3614 (name "emacs-company-flow")
3615 (version (git-version "0.1.0" revision commit))
3616 (source (origin
3617 (method git-fetch)
3618 (uri (git-reference
3619 (url "https://github.com/aaronjensen/company-flow/")
3620 (commit commit)))
3621 (file-name (git-file-name name version))
3622 (sha256
3623 (base32
3624 "0zs9cblnbkxa0dxw4lyllmybqizxcdx96gv8jlhx20nrjpi78piw"))))
3625 (build-system emacs-build-system)
3626 (propagated-inputs
3627 `(("emacs-company" ,emacs-company)
3628 ("emacs-dash" ,emacs-dash)))
3629 (home-page "https://github.com/aaronjensen/company-flow/")
3630 (synopsis "Flow backend for @code{company-mode}")
3631 (description
3632 "This package provides completion for JavaScript files utilizing Flow.")
3633 (license license:gpl3+))))
3634
eeb883cb
RW
3635(define-public emacs-atom-one-dark-theme
3636 (let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
3637 (revision "0"))
3638 (package
3639 (name "emacs-atom-one-dark-theme")
3640 (version (git-version "0.4.0" revision commit))
3641 (source (origin
3642 (method git-fetch)
3643 (uri (git-reference
3644 (url "https://github.com/jonathanchu/atom-one-dark-theme.git")
3645 (commit commit)))
3646 (sha256
3647 (base32
3648 "1alma16hg3mfjly8a9s3mrswkjjx4lrpdnf43869hn2ibkn7zx9z"))
3649 (file-name (git-file-name name version))))
3650 (build-system emacs-build-system)
3651 (home-page "https://github.com/jonathanchu/atom-one-dark-theme")
3652 (synopsis "Atom One Dark color theme for Emacs")
3653 (description "An Emacs port of the Atom One Dark theme from Atom.io.")
3654 (license license:gpl3+))))
3655
3656(define-public emacs-zenburn-theme
3657 (package
3658 (name "emacs-zenburn-theme")
3659 (version "2.6")
3660 (source (origin
3661 (method url-fetch)
3662 (uri (string-append
3663 "https://github.com/bbatsov/zenburn-emacs/archive/v"
3664 version ".tar.gz"))
3665 (file-name (string-append name "-" version ".tar.gz"))
3666 (sha256
3667 (base32
3668 "0qc9d1rwq55yzh8shbppyd6izy1grpyr8kqh5zdgm7c5jccngpr4"))))
3669 (build-system emacs-build-system)
3670 (home-page "https://github.com/bbatsov/zenburn-emacs")
3671 (synopsis "Low contrast color theme for Emacs")
3672 (description
3673 "Zenburn theme is a port of the popular Vim Zenburn theme for Emacs.
3674It is built on top of the custom theme support in Emacs 24 or later.")
3675 (license license:gpl3+)))
3676
3677(define-public emacs-solarized-theme
3678 (package
3679 (name "emacs-solarized-theme")
3680 (version "1.2.2")
3681 (source (origin
3682 (method url-fetch)
3683 (uri (string-append "https://github.com/bbatsov/solarized-emacs/"
3684 "archive/v" version ".tar.gz"))
3685 (file-name (string-append name "-" version ".tar.gz"))
3686 (sha256
3687 (base32
3688 "1ha3slc6d9wi9ilkhmwrzkvf308n6ph7b0k69pk369s9304awxzx"))))
3689 (build-system emacs-build-system)
3690 (propagated-inputs
3691 `(("emacs-dash" ,emacs-dash)))
3692 (home-page "https://github.com/bbatsov/solarized-emacs")
3693 (synopsis "Port of the Solarized theme for Emacs")
3694 (description
3695 "Solarized for Emacs is a port of the Solarized theme for Vim. This
3696package provides a light and a dark variant.")
3697 (license license:gpl3+)))
3698
3699(define-public emacs-ahungry-theme
3700 (package
3701 (name "emacs-ahungry-theme")
3702 (version "1.10.0")
3703 (source
3704 (origin (method url-fetch)
3705 (uri (string-append "https://elpa.gnu.org/packages/ahungry-theme-"
3706 version ".tar"))
3707 (sha256
3708 (base32
3709 "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm"))))
3710 (build-system emacs-build-system)
3711 (home-page "https://github.com/ahungry/color-theme-ahungry")
3712 (synopsis "Ahungry color theme for Emacs")
3713 (description "Ahungry theme for Emacs provides bright and bold colors.
3714If you load it from a terminal, you will be able to make use of the
3715transparent background. If you load it from a GUI, it will default to a
3716dark background.")
3717 (license license:gpl3+)))
3718
3719(define-public emacs-2048-game
3720 (package
3721 (name "emacs-2048-game")
3722 (version "20151026.1233")
3723 (source
3724 (origin
3725 (method url-fetch)
3726 (uri (string-append "https://melpa.org/packages/2048-game-"
3727 version ".el"))
3728 (sha256
3729 (base32
3730 "0gy2pvz79whpavp4jmz8h9krzn7brmvv3diixi1d4w51pcdvaldd"))))
3731 (build-system emacs-build-system)
3732 (home-page "https://bitbucket.org/zck/2048.el")
3733 (synopsis "Implementation of the game 2048 in Emacs Lisp")
3734 (description
3735 "This program is an implementation of 2048 for Emacs.
3736The goal of this game is to create a tile with value 2048. The size of the
3737board and goal value can be customized.")
3738 (license license:gpl3+)))
3739
3740(define-public emacs-base16-theme
3741 (package
3742 (name "emacs-base16-theme")
3743 (version "2.1")
3744 (source
3745 (origin
3746 (method url-fetch)
3747 (uri (string-append "https://stable.melpa.org/packages/base16-theme-"
3748 version ".tar"))
3749 (sha256
3750 (base32
3751 "0z6hrwz2jlz6jbr381rcqcqvx6hss5cad352klx07rark7zccacj"))))
3752 (build-system emacs-build-system)
3753 (home-page "https://github.com/belak/base16-emacs")
3754 (synopsis "Base16 color themes for Emacs")
3755 (description
3756 "Base16 provides carefully chosen syntax highlighting and a default set
3757of sixteen colors suitable for a wide range of applications. Base16 is not a
3758single theme but a set of guidelines with numerous implementations.")
3759 (license license:expat)))
3760
13e99cfc
BL
3761(define-public emacs-prescient
3762 (package
3763 (name "emacs-prescient")
3764 (version "2.2.2")
3765 (source (origin
3766 (method git-fetch)
3767 (uri (git-reference
3768 (url "https://github.com/raxod502/prescient.el/")
3769 (commit (string-append "v" version))))
3770 (file-name (git-file-name name version))
3771 (sha256
3772 (base32
3773 "1ncplx5p3cffyzg9ygzqqxj0vpvwrz9rp2n4z6c375a78fyydrk0"))))
3774 (build-system emacs-build-system)
3775 (propagated-inputs
3776 `(("emacs-company" ,emacs-company)
3777 ("emacs-ivy" ,emacs-ivy)))
3778 (home-page "https://github.com/raxod502/prescient.el/")
3779 (synopsis "Library that sorts and filters lists of candidates")
3780 (description
3781 "This package provides a library for sorting and filtering, as well as
3782extensions for @code{ivy-mode} and @code{company-mode} that make use of the
3783library.")
3784 (license license:gpl3+)))
3785
eeb883cb
RW
3786(define-public emacs-smartparens
3787 (package
3788 (name "emacs-smartparens")
3789 (version "1.11.0")
3790 (source (origin
3791 (method url-fetch)
3792 (uri (string-append
3793 "https://github.com/Fuco1/smartparens/archive/"
3794 version ".tar.gz"))
3795 (file-name (string-append name "-" version ".tar.gz"))
3796 (sha256
3797 (base32
3798 "0q5as813xs8y29i3v2rm97phd6m7xsmmw6hwbvx57gwmi8i1c409"))))
3799 (build-system emacs-build-system)
3800 (propagated-inputs
3801 `(("emacs-dash" ,emacs-dash)
3802 ("emacs-markdown-mode" ,emacs-markdown-mode)))
3803 (home-page "https://github.com/Fuco1/smartparens")
3804 (synopsis "Paredit-like insertion, wrapping and navigation with user
3805defined pairs")
3806 (description
3807 "Smartparens is a minor mode for Emacs that deals with parens pairs
3808and tries to be smart about it. It started as a unification effort to
3809combine functionality of several existing packages in a single,
3810compatible and extensible way to deal with parentheses, delimiters, tags
3811and the like. Some of these packages include autopair, textmate,
3812wrap-region, electric-pair-mode, paredit and others. With the basic
3813features found in other packages it also brings many improvements as
3814well as completely new features.")
3815 (license license:gpl3+)))
3816
3817(define-public emacs-highlight-symbol
3818 (package
3819 (name "emacs-highlight-symbol")
3820 (version "1.3")
3821 (source (origin
3822 (method url-fetch)
3823 (uri (string-append
3824 "https://github.com/nschum/highlight-symbol.el/archive/"
3825 version ".tar.gz"))
3826 (file-name (string-append name "-" version ".tar.gz"))
3827 (sha256
3828 (base32
3829 "1n7k1qns0fn0jsyc0hrjac5nzk21xw48yc30vyrhwvc51h0b9g90"))))
3830 (build-system emacs-build-system)
3831 (home-page "https://nschum.de/src/emacs/highlight-symbol")
3832 (synopsis "Automatic and manual symbol highlighting for Emacs")
3833 (description
3834 "Use @code{highlight-symbol} to toggle highlighting of the symbol at
3835point throughout the current buffer. Use @code{highlight-symbol-mode} to keep
3836the symbol at point highlighted.
3837
3838The functions @code{highlight-symbol-next}, @code{highlight-symbol-prev},
3839@code{highlight-symbol-next-in-defun} and
3840@code{highlight-symbol-prev-in-defun} allow for cycling through the locations
3841of any symbol at point. Use @code{highlight-symbol-nav-mode} to enable key
3842bindings @code{M-p} and @code{M-p} for navigation. When
3843@code{highlight-symbol-on-navigation-p} is set, highlighting is triggered
3844regardless of @code{highlight-symbol-idle-delay}.
3845
3846@code{highlight-symbol-query-replace} can be used to replace the symbol. ")
3847 (license license:gpl2+)))
3848
3849(define-public emacs-hl-todo
3850 (package
3851 (name "emacs-hl-todo")
3852 (version "1.9.0")
3853 (source (origin
3854 (method url-fetch)
3855 (uri (string-append
3856 "https://raw.githubusercontent.com/tarsius/hl-todo/"
3857 version "/hl-todo.el"))
3858 (file-name (string-append "hl-todo-" version ".el"))
3859 (sha256
3860 (base32
3861 "0728givzh7xv5i88ac9if8byj1p8bilrj1fnizca10s0rv100hdr"))))
3862 (build-system emacs-build-system)
3863 (home-page "https://github.com/tarsius/hl-todo")
3864 (synopsis "Emacs mode to highlight TODO and similar keywords")
3865 (description
3866 "This package provides an Emacs mode to highlight TODO and similar
3867keywords in comments and strings. This package also provides commands for
3868moving to the next or previous keyword and to invoke @code{occur} with a
3869regexp that matches all known keywords.")
3870 (license license:gpl3+)))
3871
3872(define-public emacs-perspective
3873 (package
3874 (name "emacs-perspective")
3875 (version "1.12")
3876 (source
3877 (origin
3878 (method url-fetch)
3879 (uri (string-append "https://github.com/nex3/perspective-el/"
3880 "archive/" version ".tar.gz"))
3881 (file-name (string-append name "-" version ".tar.gz"))
3882 (sha256
3883 (base32
3884 "078ahh0kmhdylq5ib9c81c76kz1n02xwc83pm729d00i84ibviic"))))
3885 (build-system emacs-build-system)
3886 (home-page "https://github.com/nex3/perspective-el")
3887 (synopsis "Switch between named \"perspectives\"")
3888 (description
3889 "This package provides tagged workspaces in Emacs, similar to workspaces in
3890windows managers such as Awesome and XMonad. @code{perspective.el} provides
3891multiple workspaces (or \"perspectives\") for each Emacs frame. Each
3892perspective is composed of a window configuration and a set of buffers.
3893Switching to a perspective activates its window configuration, and when in a
3894perspective only its buffers are available by default.")
3895 ;; This package is released under the same license as Emacs (GPLv3+) or
3896 ;; the Expat license.
3897 (license license:gpl3+)))
3898
3899(define-public emacs-test-simple
3900 (package
3901 (name "emacs-test-simple")
3902 (version "1.3.0")
3903 (source
3904 (origin
3905 (method url-fetch)
3906 (uri (string-append "https://elpa.gnu.org/packages/test-simple-"
3907 version ".el"))
3908 (sha256
3909 (base32
3910 "1yd61jc9ds95a5n09052kwc5gasy57g4lxr0jsff040brlyi9czz"))))
3911 (build-system emacs-build-system)
3912 (home-page "https://github.com/rocky/emacs-test-simple")
3913 (synopsis "Simple unit test framework for Emacs Lisp")
3914 (description
3915 "Test Simple is a simple unit test framework for Emacs Lisp. It
3916alleviates the need for context macros, enclosing specifications or required
3917test tags. It supports both interactive and non-interactive use.")
3918 (license license:gpl3+)))
3919
3920(define-public emacs-load-relative
3921 (package
3922 (name "emacs-load-relative")
3923 (version "1.3")
3924 (source
3925 (origin
3926 (method url-fetch)
3927 (uri (string-append "https://elpa.gnu.org/packages/load-relative-"
3928 version ".el"))
3929 (sha256
3930 (base32
3931 "1hfxb2436jdsi9wfmsv47lkkpa5galjf5q81bqabbsv79rv59dps"))))
3932 (build-system emacs-build-system)
3933 (home-page "http://github.com/rocky/emacs-load-relative")
3934 (synopsis "Emacs Lisp relative file loading related functions")
3935 (description
3936 "Provides functions which facilitate writing multi-file Emacs packages
3937and running from the source tree without having to \"install\" code or fiddle
3938with @{load-path}.
3939
3940The main function, @code{load-relative}, loads an Emacs Lisp file relative to
3941another (presumably currently running) Emacs Lisp file.")
3942 (license license:gpl3+)))
3943
3944(define-public emacs-loc-changes
3945 (package
3946 (name "emacs-loc-changes")
3947 (version "1.2")
3948 (source
3949 (origin
3950 (method url-fetch)
3951 (uri (string-append "https://elpa.gnu.org/packages/loc-changes-"
3952 version ".el"))
3953 (sha256
3954 (base32
3955 "1x8fn8vqasayf1rb8a6nma9n6nbvkx60krmiahyb05vl5rrsw6r3"))))
3956 (build-system emacs-build-system)
3957 (home-page "https://github.com/rocky/emacs-loc-changes")
3958 (synopsis "Keeps track of positions even after buffer changes")
3959 (description
3960 "This Emacs package provides a mean to track important buffer positions
3961after buffer changes.")
3962 (license license:gpl3+)))
3963
3964(define-public emacs-realgud
3965 (package
3966 (name "emacs-realgud")
3967 (version "1.4.5")
3968 (source
3969 (origin
3970 (method url-fetch)
3971 (uri (string-append "https://elpa.gnu.org/packages/realgud-"
3972 version ".tar"))
3973 (sha256
3974 (base32
3975 "108wgxg7fb4byaiasgvbxv2hq7b00biq9f0mh9hy6vw4160y5w24"))
3976 (patches
3977 ;; Patch awaiting inclusion upstream (see:
3978 ;; https://github.com/realgud/realgud/pull/226).
3979 (search-patches "emacs-realgud-fix-configure-ac.patch"))))
3980 (build-system emacs-build-system)
3981 (arguments
3982 `(#:tests? #t
3983 #:phases
3984 (modify-phases %standard-phases
3985 (add-after 'set-emacs-load-path 'fix-autogen-script
3986 (lambda _
3987 (substitute* "autogen.sh"
3988 (("./configure") "sh configure"))))
3989 (add-after 'fix-autogen-script 'autogen
3990 (lambda _
3991 (setenv "CONFIG_SHELL" "sh")
3992 (invoke "sh" "autogen.sh")))
3993 (add-after 'fix-autogen-script 'set-home
3994 (lambda _
3995 (setenv "HOME" (getenv "TMPDIR"))))
3996 (add-before 'patch-el-files 'remove-realgud-pkg.el
3997 (lambda _
3998 ;; XXX: This file is auto-generated at some point and causes
3999 ;; substitute* to crash during the `patch-el-files' phase with:
4000 ;; ERROR: In procedure stat: No such file or directory:
4001 ;; "./realgud-pkg.el"
4002 (delete-file "./realgud-pkg.el")
4003 ;; FIXME: `patch-el-files' crashes on this file with error:
4004 ;; unable to locate "bashdb".
4005 (delete-file "./test/test-regexp-bashdb.el"))))
4006 #:include (cons* ".*\\.el$" %default-include)))
4007 (native-inputs
4008 `(("autoconf" ,autoconf)
4009 ("automake" ,automake)
4010 ("emacs-test-simple" ,emacs-test-simple)))
4011 (propagated-inputs
4012 `(("emacs-load-relative" ,emacs-load-relative)
4013 ("emacs-loc-changes" ,emacs-loc-changes)))
4014 (home-page "https://github.com/realgud/realgud/")
4015 (synopsis
4016 "Modular front-end for interacting with external debuggers")
4017 (description
4018 "RealGUD is a modular, extensible GNU Emacs front-end for interacting
4019with external debuggers. It integrates various debuggers such as gdb, pdb,
4020ipdb, jdb, lldb, bashdb, zshdb, etc. and allows to visually step code in the
4021sources. Unlike GUD, it also supports running multiple debug sessions in
4022parallel.")
4023 (license license:gpl3+)))
4024
4025(define-public emacs-request
4026 (package
4027 (name "emacs-request")
4028 (version "0.3.0")
4029 (source (origin
4030 (method git-fetch)
4031 (uri (git-reference
4032 (url "https://github.com/tkf/emacs-request.git")
4033 (commit (string-append "v" version))))
4034 (file-name (string-append name "-" version "-checkout"))
4035 (sha256
4036 (base32
4037 "0wyxqbb35yqf6ci47531lk32d6fppamx9d8826kdz983vm87him7"))))
4038 (build-system emacs-build-system)
4039 (propagated-inputs
4040 `(("emacs-deferred" ,emacs-deferred)))
4041 (home-page "https://github.com/tkf/emacs-request")
4042 (synopsis "Package for speaking HTTP in Emacs Lisp")
4043 (description "This package provides a HTTP request library with multiple
4044backends. It supports url.el which is shipped with Emacs and the curl command
4045line program.")
4046 (license license:gpl3+)))
4047
4048(define-public emacs-rudel
4049 (package
4050 (name "emacs-rudel")
4051 (version "0.3.1")
4052 (source
4053 (origin
4054 (method url-fetch)
4055 (uri (string-append "http://elpa.gnu.org/packages/rudel-"
4056 version ".tar"))
4057 (sha256
4058 (base32
4059 "0glqa68g509p0s2vcc0i8kzlddnc9brd9jqhnm5rzxz4i050cvnz"))))
4060 (build-system emacs-build-system)
4061 (home-page "http://rudel.sourceforge.net/")
4062 (synopsis "Collaborative editing framework")
4063 (description
4064 "Rudel is a collaborative editing environment for GNU Emacs. Its purpose
4065is to share buffers with other users in order to edit the contents of those
4066buffers collaboratively. Rudel supports multiple backends to enable
4067communication with other collaborative editors using different protocols,
4068though currently Obby (for use with the Gobby editor) is the only
4069fully-functional one.")
4070 (license license:gpl3+)))
4071
4072(define-public emacs-hydra
4073 (package
4074 (name "emacs-hydra")
4075 (version "0.14.0")
4076 (source
4077 (origin
4078 (method git-fetch)
4079 (uri (git-reference
4080 (url "https://github.com/abo-abo/hydra")
4081 (commit version)))
4082 (file-name (git-file-name name version))
4083 (sha256
4084 (base32
4085 "0ln4z2796ycy33g5jcxkqvm7638qxy4sipsab7d2864hh700cikg"))))
4086 (build-system emacs-build-system)
4087 (home-page "https://github.com/abo-abo/hydra")
4088 (synopsis "Make Emacs bindings that stick around")
4089 (description
4090 "This package can be used to tie related commands into a family of short
4091bindings with a common prefix---a Hydra. Once you summon the Hydra (through
4092the prefixed binding), all the heads can be called in succession with only a
4093short extension. Any binding that isn't the Hydra's head vanquishes the
4094Hydra. Note that the final binding, besides vanquishing the Hydra, will still
4095serve its original purpose, calling the command assigned to it. This makes
4096the Hydra very seamless; it's like a minor mode that disables itself
4097automatically.")
4098 (license license:gpl3+)))
4099
4100(define-public emacs-ivy
4101 (package
4102 (name "emacs-ivy")
db2badeb 4103 (version "0.11.0")
eeb883cb
RW
4104 (source
4105 (origin
4106 (method git-fetch)
4107 (uri (git-reference
4108 (url "https://github.com/abo-abo/swiper.git")
4109 (commit version)))
4110 (file-name (string-append name "-" version "-checkout"))
4111 (sha256
4112 (base32
db2badeb 4113 "009n8zjycs62cv4i1k9adbb284wz2w3r13xki2740sj34k683v13"))))
eeb883cb
RW
4114 (build-system emacs-build-system)
4115 (arguments
4116 `(#:phases
4117 (modify-phases %standard-phases
4118 (add-after 'install 'install-doc
4119 (lambda* (#:key outputs #:allow-other-keys)
4120 (let* ((out (assoc-ref outputs "out"))
4121 (info (string-append out "/share/info")))
4122 (with-directory-excursion "doc"
4123 (invoke "makeinfo" "ivy.texi")
4124 (install-file "ivy.info" info)
4125 #t)))))))
4126 (propagated-inputs
4127 `(("emacs-hydra" ,emacs-hydra)))
4128 (native-inputs
4129 `(("texinfo" ,texinfo)))
4130 (home-page "http://oremacs.com/swiper/")
4131 (synopsis "Incremental vertical completion for Emacs")
4132 (description
4133 "This package provides @code{ivy-read} as an alternative to
4134@code{completing-read} and similar functions. No attempt is made to determine
4135the best candidate. Instead, the user can navigate candidates with
4136@code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
4137splitting the input text by spaces and re-building it into a regular
4138expression.")
4139 (license license:gpl3+)))
4140
4141(define-public emacs-ivy-yasnippet
4142 (let ((commit "32580b4fd23ebf9ca7dde96704f7d53df6e253cd")
4143 (revision "2"))
4144 (package
4145 (name "emacs-ivy-yasnippet")
4146 (version (git-version "0.1" revision commit))
4147 (source
4148 (origin
4149 (method git-fetch)
4150 (uri (git-reference
4151 (url "https://github.com/mkcms/ivy-yasnippet.git")
4152 (commit commit)))
4153 (file-name (git-file-name name version))
4154 (sha256
4155 (base32
4156 "1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"))))
4157 (build-system emacs-build-system)
4158 (propagated-inputs
4159 `(("emacs-ivy" ,emacs-ivy)
4160 ("emacs-yasnippet" ,emacs-yasnippet)
4161 ("emacs-dash" ,emacs-dash)))
4162 (home-page "https://github.com/mkcms/ivy-yasnippet")
4163 (synopsis "Preview @code{yasnippets} with @code{ivy}")
4164 (description "This package allows you to select @code{yasnippet}
4165snippets using @code{ivy} completion. When current selection changes in the
4166minibuffer, the snippet contents are temporarily expanded in the buffer. To
4167use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
4168@code{yas-minor-mode} first).")
4169 (license license:gpl3+))))
4170
4171(define-public emacs-ivy-rich
4172 (package
4173 (name "emacs-ivy-rich")
4174 (version "0.1.0")
4175 (source
4176 (origin
4177 (method url-fetch)
4178 (uri (string-append "https://github.com/Yevgnen/ivy-rich/archive/"
4179 version ".tar.gz"))
4180 (file-name (string-append name "-" version ".tar.gz"))
4181 (sha256
4182 (base32
4183 "14r3mx5rkd4wz0ls5pv5w6c7la3z9iy93d3jfind3xyg4kywy95c"))))
4184 (build-system emacs-build-system)
4185 (propagated-inputs
4186 `(("emacs-ivy" ,emacs-ivy)))
4187 (home-page "https://github.com/Yevgnen/ivy-rich")
4188 (synopsis "More friendly interface for @code{ivy}")
4189 (description
4190 "This package extends @code{ivy} by showing more information in the
4191minibuffer for each candidate. It adds columns showing buffer modes, file
4192sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can
4193show icons as well.")
4194 (license license:gpl3+)))
4195
4196(define-public emacs-avy
4197 (package
4198 (name "emacs-avy")
4199 (version "0.4.0")
4200 (source
4201 (origin
4202 (method url-fetch)
4203 (uri (string-append "https://github.com/abo-abo/avy/archive/"
4204 version ".tar.gz"))
4205 (file-name (string-append name "-" version ".tar.gz"))
4206 (sha256
4207 (base32
4208 "1wdrq512h25ymzjbf2kbsdymvd2ryfwzb6bh5bc3yv7q203im796"))))
4209 (build-system emacs-build-system)
4210 (home-page "https://github.com/abo-abo/avy")
4211 (synopsis "Tree-based completion for Emacs")
4212 (description
4213 "This package provides a generic completion method based on building a
4214balanced decision tree with each candidate being a leaf. To traverse the tree
4215from the root to a desired leaf, typically a sequence of @code{read-key} can
4216be used.
4217
4218In order for @code{read-key} to make sense, the tree needs to be visualized
4219appropriately, with a character at each branch node. So this completion
4220method works only for things that you can see on your screen, all at once,
4221such as the positions of characters, words, line beginnings, links, or
4222windows.")
4223 (license license:gpl3+)))
4224
4225(define-public emacs-ace-window
4226 (package
4227 (name "emacs-ace-window")
4228 (version "0.9.0")
4229 (source
4230 (origin
4231 (method url-fetch)
4232 (uri (string-append "https://github.com/abo-abo/ace-window/archive/"
4233 version ".tar.gz"))
4234 (file-name (string-append name "-" version ".tar.gz"))
4235 (sha256
4236 (base32
4237 "1p2sgfl5dml4zbd6ldql6lm2m9vmd236ah996ni32x254s48j5pn"))))
4238 (build-system emacs-build-system)
4239 (propagated-inputs
4240 `(("emacs-avy" ,emacs-avy)))
4241 (home-page "https://github.com/abo-abo/ace-window")
4242 (synopsis "Quickly switch windows in Emacs")
4243 (description
4244 "@code{ace-window} is meant to replace @code{other-window}.
4245In fact, when there are only two windows present, @code{other-window} is
4246called. If there are more, each window will have its first character
4247highlighted. Pressing that character will switch to that window.")
4248 (license license:gpl3+)))
4249
4250(define-public emacs-iedit
4251 (package
4252 (name "emacs-iedit")
4253 (version "0.9.9.9")
4254 (source
4255 (origin
4256 (method url-fetch)
4257 (uri (string-append "https://github.com/victorhge/iedit/archive/v"
4258 version ".tar.gz"))
4259 (file-name (string-append name "-" version ".tar.gz"))
4260 (sha256
4261 (base32
4262 "1hv8q6pr85ss9g3158l1fqv3m62vsq8rslsi86jicr2dcxyascr0"))))
4263 (build-system emacs-build-system)
4264 (home-page "http://www.emacswiki.org/emacs/Iedit")
4265 (synopsis "Edit multiple regions in the same way simultaneously")
4266 (description
4267 "This package is an Emacs minor mode and allows you to edit one
4268occurrence of some text in a buffer (possibly narrowed) or region, and
4269simultaneously have other occurrences edited in the same way.
4270
4271You can also use Iedit mode as a quick way to temporarily show only the buffer
4272lines that match the current text being edited. This gives you the effect of
4273a temporary @code{keep-lines} or @code{occur}.")
4274 (license license:gpl3+)))
4275
4276(define-public emacs-zoutline
4277 (let ((commit "b3ee0f0e0b916838c2d2c249beba74ffdb8d5699")
4278 (revision "0"))
4279 (package
4280 (name "emacs-zoutline")
4281 (version (git-version "0.1" revision commit))
4282 (home-page "https://github.com/abo-abo/zoutline")
4283 (source (origin
4284 (method git-fetch)
4285 (uri (git-reference (url home-page) (commit commit)))
4286 (sha256
4287 (base32
4288 "0sd0017piw0dis6dhpq5dkqd3acisxqgipl7dj8gmc1vnswhdwr8"))
4289 (file-name (git-file-name name version))))
4290 (build-system emacs-build-system)
4291 (synopsis "Simple outline library")
4292 (description
4293 "This library provides helpers for outlines. Outlines allow users to
4294navigate code in a tree-like fashion.")
4295 (license license:gpl3+))))
4296
4297(define-public emacs-lispy
4298 ;; Release 0.26.0 was almost 3 years ago, and there have been ~772 commits
4299 ;; since.
caf810d3
PN
4300 (let ((commit "f94cfc6b8f9c3afe7d028c366928049c011023de")
4301 (revision "1"))
eeb883cb
RW
4302 (package
4303 (name "emacs-lispy")
4304 (version (git-version "0.26.0" revision commit))
4305 (home-page "https://github.com/abo-abo/lispy")
4306 (source (origin
4307 (method git-fetch)
4308 (uri (git-reference (url home-page) (commit commit)))
4309 (sha256
4310 (base32
caf810d3 4311 "1bm2cpwizg1qfpm377gpx1af1hm5maw69if1csnk5vwaphmv8c4g"))
eeb883cb
RW
4312 (file-name (git-file-name name version))))
4313 (build-system emacs-build-system)
4314 (propagated-inputs
4315 `(("emacs-ace-window" ,emacs-ace-window)
4316 ("emacs-iedit" ,emacs-iedit)
4317 ("emacs-ivy" ,emacs-ivy)
4318 ("emacs-hydra" ,emacs-hydra)
4319 ("emacs-zoutline" ,emacs-zoutline)))
4320 (synopsis "Modal S-expression editing")
4321 (description
4322 "Due to the structure of Lisp syntax it's very rare for the programmer
4323to want to insert characters right before \"(\" or right after \")\". Thus
4324unprefixed printable characters can be used to call commands when the point is
4325at one of these special locations. Lispy provides unprefixed keybindings for
4326S-expression editing when point is at the beginning or end of an
4327S-expression.")
4328 (license license:gpl3+))))
4329
4330(define-public emacs-lispyville
808136bd
PN
4331 (let ((commit "d28b937f0cabd8ce61e2020fe9a733ca80d82c74")
4332 (revision "1"))
eeb883cb
RW
4333 (package
4334 (name "emacs-lispyville")
4335 (version (git-version "0.1" revision commit))
4336 (home-page "https://github.com/noctuid/lispyville")
4337 (source (origin
4338 (method git-fetch)
4339 (uri (git-reference (url home-page) (commit commit)))
4340 (sha256
4341 (base32
808136bd 4342 "0f6srwj1qqkfkbmp5n5pjvi6gm7b7xav05p5hrs2i83rjrakzzqx"))
eeb883cb
RW
4343 (file-name (git-file-name name version))))
4344 (propagated-inputs
4345 `(("emacs-evil" ,emacs-evil)
4346 ("emacs-lispy" ,emacs-lispy)))
4347 (build-system emacs-build-system)
4348 (synopsis "Minor mode for integrating Evil with lispy")
4349 (description
4350 "LispyVille's main purpose is to provide a Lisp editing environment
4351suited towards Evil users. It can serve as a minimal layer on top of lispy
4352for better integration with Evil, but it does not require the use of lispy’s
4353keybinding style. The provided commands allow for editing Lisp in normal
4354state and will work even without lispy being enabled.")
4355 (license license:gpl3+))))
4356
4357(define-public emacs-clojure-mode
4358 (package
4359 (name "emacs-clojure-mode")
4360 (version "5.6.1")
4361 (source (origin
4362 (method url-fetch)
4363 (uri (string-append
4364 "https://github.com/clojure-emacs/clojure-mode/archive/"
4365 version ".tar.gz"))
4366 (file-name (string-append name "-" version ".tar.gz"))
4367 (sha256
4368 (base32
4369 "1f4k1hncy5ygh4izn7mqfp744nnisrp9ywn2njknbjxx34ai1q88"))))
4370 (build-system emacs-build-system)
4371 (native-inputs
4372 `(("emacs-dash" ,emacs-dash)
4373 ("emacs-s" ,emacs-s)
4374 ("ert-runner" ,emacs-ert-runner)))
4375 (arguments
4376 `(#:tests? #t
4377 #:test-command '("ert-runner")))
4378 (home-page "https://github.com/clojure-emacs/clojure-mode")
4379 (synopsis "Major mode for Clojure code")
4380 (description
4381 "This Emacs package provides font-lock, indentation, navigation and basic
4382refactoring for the @uref{http://clojure.org, Clojure programming language}.
4383It is recommended to use @code{clojure-mode} with paredit or smartparens.")
4384 (license license:gpl3+)))
4385
4386(define-public emacs-epl
4387 (package
4388 (name "emacs-epl")
4389 (version "0.8")
4390 (source (origin
4391 (method url-fetch)
4392 (uri (string-append
4393 "https://github.com/cask/epl/archive/"
4394 version ".tar.gz"))
4395 (file-name (string-append name "-" version ".tar.gz"))
4396 (sha256
4397 (base32
4398 "1511n3a3f5gvaf2b4nh018by61ciyzi3y3603fzqma7p9hrckarc"))))
4399 (build-system emacs-build-system)
4400 (home-page "https://github.com/cask/epl")
4401 (synopsis "Emacs Package Library")
4402 (description
4403 "A package management library for Emacs, based on @code{package.el}.
4404
4405The purpose of this library is to wrap all the quirks and hassle of
4406@code{package.el} into a sane API.")
4407 (license license:gpl3+)))
4408
29a9eb9e
BL
4409(define-public emacs-counsel-projectile
4410 (package
4411 (name "emacs-counsel-projectile")
4412 (version "0.3.0")
4413 (source (origin
4414 (method git-fetch)
4415 (uri (git-reference
4416 (url "https://github.com/ericdanan/counsel-projectile")
4417 (commit version)))
4418 (file-name (git-file-name name version))
4419 (sha256
4420 (base32
4421 "1inc4ndl0ysfwvxk4avbgpj4qi9rc93da6476a5c81xmwpsv8wmq"))))
4422 (build-system emacs-build-system)
4423 (propagated-inputs
4424 `(("emacs-ivy" ,emacs-ivy)
4425 ("emacs-projectile" ,emacs-projectile)))
4426 (home-page "https://github.com/ericdanan/counsel-projectile")
4427 (synopsis "Enhance Projectile with Ivy")
4428 (description
4429 "This package uses Ivy to provide additional actions for Projectile
4430commands and replacements for existing functions.")
4431 (license license:gpl3+)))
4432
eeb883cb
RW
4433(define-public emacs-queue
4434 (package
4435 (name "emacs-queue")
4436 (version "0.2")
4437 (source (origin
4438 (method url-fetch)
4439 (uri (string-append "https://elpa.gnu.org/packages/queue-"
4440 version ".el"))
4441 (sha256
4442 (base32
4443 "0cx2848sqnnkkr4zisvqadzxngjyhmb36mh0q3if7q19yjjhmrkb"))))
4444 (build-system emacs-build-system)
4445 (home-page "http://www.dr-qubit.org/tags/computing-code-emacs.html")
4446 (synopsis "Queue data structure for Emacs")
4447 (description
4448 "This Emacs library provides queue data structure. These queues can be
4449used both as a first-in last-out (FILO) and as a first-in first-out (FIFO)
4450stack, i.e. elements can be added to the front or back of the queue, and can
4451be removed from the front. This type of data structure is sometimes called an
4452\"output-restricted deque\".")
4453 (license license:gpl3+)))
4454
4455(define-public emacs-pkg-info
4456 (package
4457 (name "emacs-pkg-info")
4458 (version "0.6")
4459 (source (origin
4460 (method url-fetch)
4461 (uri (string-append
4462 "https://github.com/lunaryorn/pkg-info.el/archive/"
4463 version ".tar.gz"))
4464 (file-name (string-append name "-" version ".tar.gz"))
4465 (sha256
4466 (base32
4467 "1gy1jks5mmm02gg1c8gcyr4f8a9s5ggzhk56gv33b9mzjqzi5rd5"))))
4468 (build-system emacs-build-system)
4469 (propagated-inputs `(("emacs-epl" ,emacs-epl)))
4470 (home-page "https://github.com/lunaryorn/pkg-info.el")
4471 (synopsis "Information about Emacs packages")
4472 (description
4473 "This library extracts information from the installed Emacs packages.")
4474 (license license:gpl3+)))
4475
4476(define-public emacs-spinner
4477 (package
4478 (name "emacs-spinner")
4479 (version "1.7.3")
4480 (source (origin
4481 (method url-fetch)
4482 (uri (string-append "https://elpa.gnu.org/packages/spinner-"
4483 version ".el"))
4484 (sha256
4485 (base32
4486 "19kp1mmndbmw11sgvv2ggfjl4pyf5zrsbh3871f0965pw9z8vahd"))))
4487 (build-system emacs-build-system)
4488 (home-page "https://github.com/Malabarba/spinner.el")
4489 (synopsis "Emacs mode-line spinner for operations in progress")
4490 (description
4491 "This Emacs package adds spinners and progress-bars to the mode-line for
4492ongoing operations.")
4493 (license license:gpl3+)))
4494
4495(define-public emacs-sparql-mode
4496 (package
4497 (name "emacs-sparql-mode")
4498 (version "2.0.1")
4499 (source (origin
4500 (method url-fetch)
4501 (uri (string-append "https://github.com/ljos/sparql-mode/archive/"
4502 "v" version ".tar.gz"))
4503 (file-name (string-append name "-" version ".tar.gz"))
4504 (sha256
4505 (base32
4506 "1s93mkllxnhy7fw616cnnc2danacdlarys0g3cn89drh0llh53cv"))))
4507 (build-system emacs-build-system)
4508 (home-page "https://github.com/ljos/sparql-mode")
4509 (synopsis "SPARQL mode for Emacs")
4510 (description "This package provides a major mode for Emacs that provides
4511syntax highlighting for SPARQL. It also provides a way to execute queries
4512against a SPARQL HTTP endpoint, such as is provided by Fuseki. It is also
4513possible to query other endpoints like DBPedia.")
4514 (license license:gpl3+)))
4515
4516(define-public emacs-better-defaults
4517 (package
4518 (name "emacs-better-defaults")
4519 (version "0.1.3")
4520 (source
4521 (origin
4522 (method url-fetch)
4523 (uri (string-append "https://github.com/technomancy/better-defaults"
4524 "/archive/" version ".tar.gz"))
4525 (file-name (string-append name "-" version ".tar.gz"))
4526 (sha256
4527 (base32
4528 "08fg4zslzlxbvyil5g4gwvwd22fh4zsgqprs5wh9hv1rgc6757m2"))))
4529 (build-system emacs-build-system)
4530 (home-page "https://github.com/technomancy/better-defaults")
4531 (synopsis "Better defaults for Emacs")
4532 (description
4533 "Better defaults attempts to address the most obvious deficiencies of the
4534Emacs default configuration in uncontroversial ways that nearly everyone can
4535agree upon.")
4536 (license license:gpl3+)))
4537
3dbd2409
BL
4538(define-public emacs-undohist-el
4539 (let ((commit "d2239a5f736724ceb9e3b6bcaa86f4064805cda0")
4540 (revision "1"))
4541 (package
4542 (name "emacs-undohist-el")
4543 (version (git-version "0" revision commit))
4544 (source
4545 (origin
4546 (method git-fetch)
4547 (uri (git-reference
4548 (url "https://github.com/m2ym/undohist-el")
4549 (commit commit)))
4550 (file-name (git-file-name name version))
4551 (sha256
4552 (base32
37aaf9a8
OP
4553 "1c0daw246ky7b1x5b8h55x79pl1pjqk1k348l487bdd8zdj4w9wx"))
4554 (patches
4555 (search-patches "emacs-undohist-ignored.patch"))))
3dbd2409
BL
4556 (build-system emacs-build-system)
4557 (home-page "https://github.com/m2ym/undohist-el")
4558 (synopsis "Save undo history between sessions")
4559 (description "This package allows persistent use of undo history for
4560individual file buffers.")
4561 (license license:gpl3+))))
4562
eeb883cb
RW
4563(define-public emacs-eprime
4564 (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f"))
4565 (package
4566 (name "emacs-eprime")
4567 (version (string-append "20140513-" (string-take commit 7)))
4568 (source (origin
4569 (method url-fetch)
4570 (uri (string-append "https://raw.githubusercontent.com"
4571 "/AndrewHynes/eprime-mode/"
4572 commit "/eprime-mode.el"))
4573 (file-name (string-append "eprime-" version ".el"))
4574 (sha256
4575 (base32
4576 "0v68lggkyq7kbcr9zyi573m2g2x251xy3jadlaw8kx02l8krwq8d"))))
4577 (build-system emacs-build-system)
4578 (home-page "https://github.com/AndrewHynes/eprime-mode")
4579 (synopsis "E-prime checking mode for Emacs")
4580 (description "This package provides an E-prime checking mode for Emacs
4581that highlights non-conforming text. The subset of the English language called
4582E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
4583 (license license:gpl3+))))
4584
4585(define-public emacs-julia-mode
4586 ;; XXX: Upstream version remained stuck at 0.3. See
4587 ;; <https://github.com/JuliaEditorSupport/julia-emacs/issues/46>.
4588 (let ((commit "115d4dc8a07445301772da8376b232fa8c7168f4")
4589 (revision "1"))
4590 (package
4591 (name "emacs-julia-mode")
4592 (version (string-append "0.3-" revision "." (string-take commit 8)))
4593 (source
4594 (origin
4595 (method git-fetch)
4596 (uri (git-reference
4597 (url "https://github.com/JuliaEditorSupport/julia-emacs.git")
4598 (commit commit)))
4599 (file-name (string-append name "-" version "-checkout"))
4600 (sha256
4601 (base32
4602 "1is4dcv6blslpzbjcg8l2jpxi8xj96q4cm0nxjxsyswpm8bw8ki0"))))
4603 (build-system emacs-build-system)
4604 (arguments
4605 `(#:tests? #t
4606 #:test-command '("emacs" "--batch"
4607 "-l" "julia-mode-tests.el"
4608 "-f" "ert-run-tests-batch-and-exit")))
4609 (home-page "https://github.com/JuliaEditorSupport/julia-emacs")
4610 (synopsis "Major mode for Julia")
4611 (description "This Emacs package provides a mode for the Julia
4612programming language.")
4613 (license license:expat))))
4614
4615(define-public emacs-smex
4616 (package
4617 (name "emacs-smex")
4618 (version "3.0")
4619 (source (origin
4620 (method url-fetch)
4621 (uri (string-append "https://raw.githubusercontent.com"
4622 "/nonsequitur/smex/" version "/smex.el"))
4623 (file-name (string-append "smex-" version ".el"))
4624 (sha256
4625 (base32
4626 "0ar310zx9k5y4i1vl2rawvi712xj9gx77160860jbs691p77cxqp"))))
4627 (build-system emacs-build-system)
4628 (home-page "https://github.com/nonsequitur/smex/")
4629 (synopsis "M-x interface with Ido-style fuzzy matching")
4630 (description
4631 "Smex is a M-x enhancement for Emacs. Built on top of Ido, it provides a
4632convenient interface to your recently and most frequently used commands. And
4633to all the other commands, too.")
4634 (license license:gpl3+)))
4635
4636(define-public emacs-js2-mode
4637 (package
4638 (name "emacs-js2-mode")
b8a5c108 4639 (version "20190219")
0fe46015
TGR
4640 (source
4641 (origin
4642 (method git-fetch)
4643 (uri (git-reference
4644 (url "https://github.com/mooz/js2-mode.git")
4645 (commit version)))
4646 (file-name (git-file-name name version))
4647 (sha256
4648 (base32 "0766bbr4piia9vfr4ivd2gwi8dxah654adv6h28ylz4q8xmfzm1b"))))
eeb883cb
RW
4649 (build-system emacs-build-system)
4650 (home-page "https://github.com/mooz/js2-mode/")
4651 (synopsis "Improved JavaScript editing mode for Emacs")
4652 (description
4653 "Js2-mode provides a JavaScript major mode for Emacs that is more
4654advanced than the built-in javascript-mode. Features include accurate syntax
4655highlighting using a recursive-descent parser, on-the-fly reporting of syntax
4656errors and strict-mode warnings, smart line-wrapping within comments and
4657strings, and code folding.")
4658 (license license:gpl3+)))
4659
4660(define-public emacs-nodejs-repl
4661 (package
4662 (name "emacs-nodejs-repl")
4663 (version "0.2.0")
4664 (source (origin
4665 (method url-fetch)
4666 (uri (string-append "https://github.com/abicky/nodejs-repl.el"
4667 "/archive/" version ".tar.gz"))
4668 (sha256
4669 (base32
4670 "0hq2cqdq2668yf48g7qnkci90nhih1gnhacsgz355jnib56lhmkz"))
4671 (file-name (string-append name "-" version ".tar.gz"))))
4672 (build-system emacs-build-system)
4673 (home-page "https://github.com/abicky/nodejs-repl.el")
4674 (synopsis "Node.js REPL inside Emacs")
4675 (description
4676 "This program is derived from comint-mode and provides the following
4677features:
4678
4679@itemize
4680@item TAB completion same as Node.js REPL
4681@item file name completion in string
4682@item incremental history search
4683@end itemize")
4684 (license license:gpl3+)))
4685
4686(define-public emacs-typescript-mode
4687 (package
4688 (name "emacs-typescript-mode")
4689 (version "0.3")
4690 (source (origin
4691 (method url-fetch)
4692 (uri (string-append
4693 "https://github.com/ananthakumaran/typescript.el"
4694 "/archive/v" version ".tar.gz"))
4695 (sha256
4696 (base32
4697 "1gqjirm8scf0wysm7x97zdfbs4qa5nqdl64jfbkd18iskv5mg3rj"))
4698 (file-name (string-append name "-" version ".tar.gz"))))
4699 (build-system emacs-build-system)
4700 (home-page "https://github.com/ananthakumaran/typescript.el")
4701 (synopsis "Emacs major mode for editing Typescript code")
4702 (description
4703 "This is based on Karl Landstrom's barebones @code{typescript-mode}.
4704This is much more robust and works with @code{cc-mode}'s comment
4705filling (mostly). The modifications to the original @code{javascript.el} mode
4706mainly consisted in replacing \"javascript\" with \"typescript\"
4707
4708The main features of this Typescript mode are syntactic highlighting (enabled
4709with @code{font-lock-mode} or @code{global-font-lock-mode}), automatic
4710indentation and filling of comments and C preprocessor fontification.")
4711 (license license:gpl3+)))
4712
4713(define-public emacs-tide
4714 (package
4715 (name "emacs-tide")
608b922f 4716 (version "3.2.3")
eeb883cb
RW
4717 (source (origin
4718 (method url-fetch)
4719 (uri (string-append "https://github.com/ananthakumaran/tide"
4720 "/archive/v" version ".tar.gz"))
4721 (sha256
4722 (base32
608b922f 4723 "1c600myr2yqbkmy9lify38lz0zzjdqk1733db5n7vsay16vn6fzi"))
eeb883cb
RW
4724 (file-name (string-append name "-" version ".tar.gz"))))
4725 (build-system emacs-build-system)
4726 (propagated-inputs
4727 `(("emacs-dash" ,emacs-dash)
4728 ("emacs-s" ,emacs-s)
4729 ("emacs-flycheck" ,emacs-flycheck)
4730 ("emacs-typescript-mode" ,emacs-typescript-mode)))
4731 (home-page "https://github.com/ananthakumaran/tide")
4732 (synopsis "Typescript IDE for Emacs")
4733 (description
4734 "Tide is an Interactive Development Environment (IDE) for Emacs which
4735provides the following features:
4736
4737@itemize
4738@item ElDoc
4739@item Auto complete
4740@item Flycheck
4741@item Jump to definition, Jump to type definition
4742@item Find occurrences
4743@item Rename symbol
4744@item Imenu
4745@item Compile On Save
4746@item Highlight Identifiers
4747@item Code Fixes
4748@item Code Refactor
4749@item Organize Imports
4750@end itemize")
4751 (license license:gpl3+)))
4752
4753(define-public emacs-markdown-mode
4754 (package
4755 (name "emacs-markdown-mode")
4756 (version "2.3")
4757 (source (origin
4758 (method url-fetch)
4759 (uri (string-append "https://raw.githubusercontent.com/jrblevin"
4760 "/markdown-mode/v" version
4761 "/markdown-mode.el"))
4762 (file-name (string-append "markdown-mode-" version ".el"))
4763 (sha256
4764 (base32
4765 "152whyrq3dqlqy5wv4mdd94kmal19hs5kwaxjcp2gp2r97lsmdmi"))))
4766 (build-system emacs-build-system)
4767 (home-page "http://jblevins.org/projects/markdown-mode/")
4768 (synopsis "Emacs Major mode for Markdown files")
4769 (description
4770 "Markdown-mode is a major mode for editing Markdown-formatted text files
4771in Emacs.")
4772 (license license:gpl3+)))
4773
4774(define-public emacs-edit-indirect
4775 (package
4776 (name "emacs-edit-indirect")
4777 (version "0.1.5")
4778 (source
4779 (origin
4780 (method git-fetch)
4781 (uri (git-reference
4782 (url "https://github.com/Fanael/edit-indirect")
4783 (commit version)))
4784 (file-name (git-file-name name version))
4785 (sha256
4786 (base32
4787 "0by1x53pji39fjrj5bd446kz831nv0vdgw2jqasbym4pc1p2947r"))))
4788 (build-system emacs-build-system)
4789 (home-page "https://github.com/Fanael/edit-indirect")
4790 (synopsis "Edit regions in separate buffers")
4791 (description "This package allows you to edit regions in separate buffers,
4792like @code{org-edit-src-code} but for arbitrary regions.")
4793 (license license:gpl3+)))
4794
4795(define-public emacs-projectile
4796 (package
4797 (name "emacs-projectile")
d97283c3 4798 (version "2.0.0")
eeb883cb
RW
4799 (source (origin
4800 (method url-fetch)
4801 (uri (string-append "https://raw.githubusercontent.com/bbatsov"
4802 "/projectile/v" version "/projectile.el"))
4803 (file-name (string-append "projectile-" version ".el"))
4804 (sha256
4805 (base32
d97283c3 4806 "149hablms6n9b4wp78dz4pjz1rzyylfw9ayghq5p9d7k661mvyby"))))
eeb883cb
RW
4807 (build-system emacs-build-system)
4808 (propagated-inputs
4809 `(("emacs-dash" ,emacs-dash)
4810 ("emacs-pkg-info" ,emacs-pkg-info)))
4811 (home-page "https://github.com/bbatsov/projectile")
4812 (synopsis "Manage and navigate projects in Emacs easily")
4813 (description
4814 "This library provides easy project management and navigation. The
4815concept of a project is pretty basic - just a folder containing special file.
4816Currently git, mercurial and bazaar repos are considered projects by default.
4817If you want to mark a folder manually as a project just create an empty
4818.projectile file in it.")
4819 (license license:gpl3+)))
4820
4821(define-public emacs-elfeed
4822 (package
4823 (name "emacs-elfeed")
4824 (version "3.0.0")
4825 (source (origin
4826 (method url-fetch)
4827 (uri (string-append "https://github.com/skeeto/elfeed/archive/"
4828 version ".tar.gz"))
4829 (file-name (string-append name "-" version ".tar.gz"))
4830 (sha256
4831 (base32
4832 "1wkdrxr6zzqb48czqqv34l87bx8aqjk1739ddqg933aqh241kfvn"))))
4833 (build-system emacs-build-system)
4834 (arguments
4835 `(#:tests? #t
4836 #:test-command '("make" "test")))
4837 (home-page "https://github.com/skeeto/elfeed")
4838 (synopsis "Atom/RSS feed reader for Emacs")
4839 (description
4840 "Elfeed is an extensible web feed reader for Emacs, supporting both Atom
4841and RSS, with a user interface inspired by notmuch.")
4842 (license license:gpl3+)))
4843
4844(define-public emacs-el-x
4845 (package
4846 (name "emacs-el-x")
4847 (version "0.3.1")
4848 (source (origin
4849 (method git-fetch)
4850 (uri (git-reference
4851 (url "https://github.com/sigma/el-x.git")
4852 (commit (string-append "v" version))))
4853 (file-name (string-append name "-" version "-checkout"))
4854 (sha256
4855 (base32
4856 "1i6j44ssxm1xdg0mf91nh1lnprwsaxsx8vsrf720nan7mfr283h5"))))
4857 (build-system emacs-build-system)
4858 (arguments
4859 `(#:phases
4860 (modify-phases %standard-phases
4861 ;; Move the source files to the top level, which is included in
4862 ;; the EMACSLOADPATH.
4863 (add-after 'unpack 'move-source-files
4864 (lambda _
4865 (let ((el-files (find-files "./lisp" ".*\\.el$")))
4866 (for-each (lambda (f)
4867 (rename-file f (basename f)))
4868 el-files))
4869 #t)))))
4870 (home-page "https://github.com/sigma/el-x")
4871 (synopsis "Emacs Lisp extensions")
4872 (description "command@{emacs-el-x} defines the @code{dflet} macro to
4873provide the historic behavior of @code{flet}, as well as
4874@code{declare-function} stub for older Emacs.")
4875 (license license:gpl2+)))
4876
4877(define-public emacs-mocker
4878 (package
4879 (name "emacs-mocker")
4880 (version "0.3.1")
4881 (source (origin
4882 (method git-fetch)
4883 (uri (git-reference
4884 (url "https://github.com/sigma/mocker.el.git")
4885 (commit (string-append "v" version))))
4886 (file-name (string-append name "-" version "-checkout"))
4887 (sha256
4888 (base32
4889 "1lav7am41v63xgavq8pr88y828jmd1cxd4prjq7jlbxm6nvrwxh2"))))
4890 (build-system emacs-build-system)
4891 (arguments
4892 `(#:tests? #t
4893 #:test-command '("ert-runner")))
4894 (native-inputs
4895 `(("ert-runner" ,emacs-ert-runner)))
4896 (propagated-inputs
4897 `(("emacs-el-x" ,emacs-el-x)))
4898 (home-page "https://github.com/sigma/mocker.el")
4899 (synopsis "Mocking framework for Emacs Lisp")
4900 (description "Mocker.el is a framework for writing tests in Emacs Lisp.
4901It uses regular Lisp rather than a domain specific language (DSL), which
4902maximizes flexibility (at the expense of conciseness).")
4903 (license license:gpl2+)))
4904
4905(define-public emacs-find-file-in-project
4906 (package
4907 (name "emacs-find-file-in-project")
4908 (version "5.4.7")
4909 (source (origin
4910 (method git-fetch)
4911 (uri (git-reference
4912 (url "https://github.com/technomancy/find-file-in-project.git")
4913 (commit version)))
4914 (file-name (string-append name "-" version "-checkout"))
4915 (sha256
4916 (base32
4917 "1sdnyqv69mipbgs9yax88m9b6crsa59rjhwrih197pifl4089awr"))))
4918 (build-system emacs-build-system)
4919 (arguments
4920 `(#:phases
4921 (modify-phases %standard-phases
4922 (add-before 'check 'set-shell
4923 ;; Otherwise Emacs shell-file-name is set to "/bin/sh", which doesn't
4924 ;; work.
4925 (lambda _
4926 (setenv "SHELL" (which "sh"))
4927 #t)))
4928 #:tests? #t
4929 #:test-command '("./tests/test.sh")))
4930 (home-page "https://github.com/technomancy/find-file-in-project")
4931 (synopsis "File/directory finder for Emacs")
4932 (description "@code{find-file-in-project} allows to find files or
4933directories quickly in the current project. The project root is detected
4934automatically when Git, Subversion or Mercurial are used. It also provides
4935functions to assist in reviewing changes on files.")
4936 (license license:gpl3+)))
4937
4938(define-public emacs-pyvenv
4939 (package
4940 (name "emacs-pyvenv")
1275f9ef 4941 (version "1.20")
eeb883cb
RW
4942 (source (origin
4943 (method git-fetch)
4944 (uri (git-reference
4945 (url "https://github.com/jorgenschaefer/pyvenv.git")
4946 (commit (string-append "v" version))))
4947 (file-name (string-append name "-" version "-checkout"))
4948 (sha256
4949 (base32
1275f9ef 4950 "1x052fsavb94x3scpqd6n9spqgzaahzbdxhg4qa5sy6hqsabn6zh"))))
eeb883cb
RW
4951 (build-system emacs-build-system)
4952 (arguments
4953 `(#:phases
4954 (modify-phases %standard-phases
4955 ;; This phase incorrectly attempts to substitute "activate" and fails
4956 ;; doing so.
4957 (delete 'patch-el-files))
4958 #:tests? #t
4959 #:test-command '("ert-runner")))
4960 (native-inputs
4961 `(("ert-runner" ,emacs-ert-runner)
4962 ("emacs-mocker" ,emacs-mocker)))
4963 (home-page "https://github.com/jorgenschaefer/pyvenv")
1275f9ef 4964 (synopsis "Python virtual environment interface for Emacs")
eeb883cb
RW
4965 (description "pyvenv.el is a minor mode to support using Python virtual
4966environments (virtualenv) inside Emacs.")
4967 (license license:gpl3+)))
4968
4969(define-public emacs-highlight-indentation
4970 (package
4971 (name "emacs-highlight-indentation")
4972 (version "0.7.0")
4973 (source (origin
4974 (method git-fetch)
4975 (uri (git-reference
4976 (url "https://github.com/antonj/Highlight-Indentation-for-Emacs.git")
4977 (commit (string-append "v" version))))
4978 (file-name (string-append name "-" version "-checkout"))
4979 (sha256
4980 (base32
4981 "00l54k75qk24a0znzl4ij3s3nrnr2wy9ha3za8apphzlm98m907k"))))
4982 (build-system emacs-build-system)
4983 (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/")
4984 (synopsis "Highlighting indentation for Emacs")
4985 (description "Provides two minor modes to highlight indentation guides in Emacs:
4986@enumerate
4987@item @code{highlight-indentation-mode}, which displays guidelines
4988indentation (space indentation only).
4989@item @code{highlight-indentation-current-column-mode}, which displays guidelines for the current-point indentation (space indentation only).
4990@end enumerate")
4991 (license license:gpl2+)))
4992
4993(define-public emacs-elpy
4994 (package
4995 (name "emacs-elpy")
d79e0b3a 4996 (version "1.28.0")
eeb883cb
RW
4997 (source (origin
4998 (method git-fetch)
4999 (uri (git-reference
5000 (url "https://github.com/jorgenschaefer/elpy.git")
5001 (commit version)))
5002 (file-name (string-append name "-" version "-checkout"))
5003 (sha256
5004 (base32
d79e0b3a 5005 "073bwxwjzcbmvpcz9q2xjwzx9x7hkvjni6fwvikh6yawzjp56jis"))))
eeb883cb
RW
5006 (build-system emacs-build-system)
5007 (arguments
5008 `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
5009 #:phases
5010 ;; TODO: Make `elpy-config' display Guix commands :)
5011 (modify-phases %standard-phases
5012 ;; One elpy test depends on being run inside a Python virtual
5013 ;; environment to pass. We have nothing to gain from doing so here,
5014 ;; so we just trick Elpy into thinking we are (see:
5015 ;; https://github.com/jorgenschaefer/elpy/pull/1293).
5016 (add-before 'check 'fake-virtualenv
5017 (lambda _
5018 (setenv "VIRTUAL_ENV" "/tmp")
5019 #t))
5020 (add-before 'check 'build-doc
5021 (lambda _
5022 (with-directory-excursion "docs"
5023 (invoke "make" "info" "man"))
5024 ;; Move .info file at the root so that it can installed by the
5025 ;; 'move-doc phase.
5026 (rename-file "docs/_build/texinfo/Elpy.info" "Elpy.info")
5027 #t))
5028 (add-after 'build-doc 'install-manpage
5029 (lambda* (#:key outputs #:allow-other-keys)
5030 (let* ((out (assoc-ref outputs "out"))
5031 (man1 (string-append out "/share/man/man1")))
5032 (mkdir-p man1)
5033 (copy-file "docs/_build/man/elpy.1"
5034 (string-append man1 "/elpy.1")))
5035 #t)))
5036 #:tests? #t
5037 #:test-command '("ert-runner")))
5038 (propagated-inputs
5039 `(("emacs-company" ,emacs-company)
5040 ("emacs-find-file-in-project" ,emacs-find-file-in-project)
5041 ("emacs-highlight-indentation" ,emacs-highlight-indentation)
5042 ("emacs-yasnippet" ,emacs-yasnippet)
5043 ("pyvenv" ,emacs-pyvenv)
5044 ("s" ,emacs-s)))
5045 (native-inputs
5046 `(("ert-runner" ,emacs-ert-runner)
5047 ("emacs-f" ,emacs-f)
5048 ("python" ,python-wrapper)
5049 ("python-autopep8" ,python-autopep8)
5050 ("python-black" ,python-black)
5051 ("python-flake8" ,python-flake8)
5052 ("python-jedi" ,python-jedi)
5053 ("python-yapf" ,python-yapf)
5054 ;; For documentation.
5055 ("python-sphinx" ,python-sphinx)
5056 ("texinfo" ,texinfo)))
5057 (home-page "https://github.com/jorgenschaefer/elpy")
5058 (synopsis "Python development environment for Emacs")
5059 (description "Elpy brings powerful Python editing to Emacs. It combines
5060and configures a number of other packages written in Emacs Lisp as well as
5061Python, together offering features such as navigation, documentation,
5062completion, interactive development and more.")
5063 (license license:gpl3+)))
5064
5065(define-public emacs-rainbow-delimiters
5066 (package
5067 (name "emacs-rainbow-delimiters")
5068 (version "2.1.3")
5069 (source (origin
5070 (method url-fetch)
5071 (uri (string-append "https://raw.githubusercontent.com/Fanael"
5072 "/rainbow-delimiters/" version
5073 "/rainbow-delimiters.el"))
5074 (file-name (string-append "rainbow-delimiters-" version ".el"))
5075 (sha256
5076 (base32
5077 "1b3kampwsjabhcqdp0khgff13wc5jqhy3rbvaa12vnv7qy22l9ck"))))
5078 (build-system emacs-build-system)
5079 (home-page "https://github.com/Fanael/rainbow-delimiters")
5080 (synopsis "Highlight brackets according to their depth")
5081 (description
5082 "Rainbow-delimiters is a \"rainbow parentheses\"-like mode for Emacs which
5083highlights parentheses, brackets, and braces according to their depth. Each
5084successive level is highlighted in a different color, making it easy to spot
5085matching delimiters, orient yourself in the code, and tell which statements
5086are at a given level.")
5087 (license license:gpl3+)))
5088
5089(define-public emacs-rainbow-identifiers
5090 (package
5091 (name "emacs-rainbow-identifiers")
5092 (version "0.2.2")
5093 (source (origin
5094 (method url-fetch)
5095 (uri (string-append "https://raw.githubusercontent.com/Fanael"
5096 "/rainbow-identifiers/" version
5097 "/rainbow-identifiers.el"))
5098 (file-name (string-append "rainbow-identifiers-" version ".el"))
5099 (sha256
5100 (base32
5101 "0325abxj47k0g1i8nqrq70w2wr6060ckhhf92krv1s072b3jzm31"))))
5102 (build-system emacs-build-system)
5103 (home-page "https://github.com/Fanael/rainbow-identifiers")
5104 (synopsis "Highlight identifiers in source code")
5105 (description
5106 "Rainbow identifiers mode is an Emacs minor mode providing highlighting of
5107identifiers based on their names. Each identifier gets a color based on a hash
5108of its name.")
5109 (license license:bsd-2)))
5110
5111(define-public emacs-rainbow-mode
5112 (package
5113 (name "emacs-rainbow-mode")
5114 (version "1.0.1")
5115 (source (origin
5116 (method url-fetch)
5117 (uri (string-append
5118 "http://elpa.gnu.org/packages/rainbow-mode-" version ".el"))
5119 (sha256
5120 (base32
5121 "0cpga4ax635rfpj7y2vmh7ank0yw00dcy20gjg1mj74r97by8csf"))))
5122 (build-system emacs-build-system)
5123 (home-page "http://elpa.gnu.org/packages/rainbow-mode.html")
5124 (synopsis "Colorize color names in buffers")
5125 (description
5126 "This minor mode sets background color to strings that match color
5127names, e.g. #0000ff is displayed in white with a blue background.")
5128 (license license:gpl3+)))
5129
5130(define-public emacs-visual-fill-column
5131 (package
5132 (name "emacs-visual-fill-column")
5133 (version "1.11")
5134 (source (origin
5135 (method url-fetch)
5136 (uri (string-append "https://codeload.github.com/joostkremers/"
5137 "visual-fill-column/tar.gz/" version))
5138 (file-name (string-append name "-" version ".tar.gz"))
5139 (sha256
5140 (base32
5141 "13jnviakp607zcms7f8ams56mr8wffnq1pghlc6fvqs39663pgwh"))))
5142 (build-system emacs-build-system)
5143 (home-page "https://github.com/joostkremers/visual-fill-column")
5144 (synopsis "Fill-column for visual-line-mode")
5145 (description
5146 "@code{visual-fill-column-mode} is a small Emacs minor mode that mimics
5147the effect of @code{fill-column} in @code{visual-line-mode}. Instead of
5148wrapping lines at the window edge, which is the standard behaviour of
5149@code{visual-line-mode}, it wraps lines at @code{fill-column}. If
5150@code{fill-column} is too large for the window, the text is wrapped at the
5151window edge.")
5152 (license license:gpl3+)))
5153
5154(define-public emacs-writeroom
5155 (package
5156 (name "emacs-writeroom")
5157 (version "3.7")
5158 (source (origin
5159 (method url-fetch)
5160 (uri (string-append
5161 "https://github.com/joostkremers/writeroom-mode/archive/"
5162 version ".tar.gz"))
5163 (file-name (string-append name "-" version ".tar.gz"))
5164 (sha256
5165 (base32
5166 "0yqgp5h3kvvpgva4azakb2wnjl7gsyh45glf75crspv3xyq57f2r"))))
5167 (build-system emacs-build-system)
5168 (propagated-inputs
5169 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)))
5170 (home-page "https://github.com/joostkremers/writeroom-mode")
5171 (synopsis "Distraction-free writing for Emacs")
5172 (description
5173 "This package defines a minor mode for distraction-free writing. Some of
5174the default effects include entering fullscreen, deleting other windows of the
5175current frame, disabling the mode line, and adding margins to the buffer that
5176restrict the text width to 80 characters.")
5177 (license license:bsd-3)))
5178
5179(define-public emacs-ido-completing-read+
5180 (package
5181 (name "emacs-ido-completing-read+")
5182 (version "3.12")
5183 (source (origin
5184 (method url-fetch)
5185 (uri (string-append "https://raw.githubusercontent.com"
5186 "/DarwinAwardWinner/ido-ubiquitous/v"
5187 version "/ido-completing-read+.el"))
5188 (file-name (string-append "ido-completing-read+-" version ".el"))
5189 (sha256
5190 (base32
5191 "1cyalb0p7nfsm4n6n9q6rjmvn6adqc0fq8ybnlj3n41n289dkfjf"))))
5192 (build-system emacs-build-system)
5193 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
5194 (synopsis "Replacement for completing-read using ido")
5195 (description
5196 "The ido-completing-read+ function is a wrapper for ido-completing-read.
5197Importantly, it detects edge cases that ordinary ido cannot handle and either
5198adjusts them so ido can handle them, or else simply falls back to the standard
5199Emacs completion function instead.")
5200 (license license:gpl3+)))
5201
5202(define-public emacs-ido-ubiquitous
5203 (package
5204 (name "emacs-ido-ubiquitous")
5205 (version "3.12")
5206 (source (origin
5207 (method url-fetch)
5208 (uri (string-append "https://raw.githubusercontent.com"
5209 "/DarwinAwardWinner/ido-ubiquitous/v"
5210 version "/ido-ubiquitous.el"))
5211 (file-name (string-append "ido-ubiquitous-" version ".el"))
5212 (sha256
5213 (base32
5214 "197ypji0fb6jsdcq40rpnknwlh3imas6s6jbsvkfm0pz9988c3q2"))))
5215 (build-system emacs-build-system)
5216 (propagated-inputs
5217 `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
5218 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
5219 (synopsis "Use ido (nearly) everywhere")
5220 (description
5221 "Ido-ubiquitous enables ido-style completion for almost every function
5222that uses the standard completion function completing-read.")
5223 (license license:gpl3+)))
5224
5225(define-public emacs-yaml-mode
5226 (package
5227 (name "emacs-yaml-mode")
5228 (version "0.0.13")
5229 (source (origin
5230 (method url-fetch)
5231 (uri (string-append "https://raw.githubusercontent.com/yoshiki"
5232 "/yaml-mode/v" version "/yaml-mode.el"))
5233 (file-name (string-append "yaml-mode-" version ".el"))
5234 (sha256
5235 (base32
5236 "0im88sk9dqw03x6d6zaspgvg9i0pfpgb8f2zygrmbifh2w4pwmvj"))))
5237 (build-system emacs-build-system)
5238 (home-page "https://github.com/yoshiki/yaml-mode")
5239 (synopsis "Major mode for editing YAML files")
5240 (description
5241 "Yaml-mode is an Emacs major mode for editing files in the YAML data
5242serialization format. It was initially developed by Yoshiki Kurihara and many
5243features were added by Marshall Vandegrift. As YAML and Python share the fact
5244that indentation determines structure, this mode provides indentation and
5245indentation command behavior very similar to that of python-mode.")
5246 (license license:gpl3+)))
5247
5248(define-public emacs-web-mode
5249 (package
5250 (name "emacs-web-mode")
5251 (version "16")
5252 (source (origin
5253 (method url-fetch)
5254 (uri (string-append "https://raw.githubusercontent.com/fxbois"
5255 "/web-mode/v" version "/web-mode.el"))
5256 (file-name (string-append "web-mode-" version ".el"))
5257 (sha256
5258 (base32
5259 "1hs5w7kdvcyn4ihyw1kfjg48djn5p7lz4rlbhzzdqv1g56xqx3gw"))))
5260 (build-system emacs-build-system)
5261 (synopsis "Major mode for editing web templates")
5262 (description "Web-mode is an Emacs major mode for editing web templates
5263aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by
5264client/server side engines). Web-mode is compatible with many template
5265engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker,
5266Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template,
5267Dust.js, React/JSX, Angularjs, ejs, etc.")
5268 (home-page "http://web-mode.org/")
5269 (license license:gpl3+)))
5270
5271(define-public emacs-wgrep
48b58245
BL
5272 (package
5273 (name "emacs-wgrep")
5274 (version "2.3.0")
5275 (source (origin
5276 (method url-fetch)
5277 (uri (string-append
5278 "https://github.com/mhayashi1120/Emacs-wgrep/archive/"
5279 version ".tar.gz"))
5280 (file-name (string-append name "-" version ".tar.gz"))
5281 (sha256
5282 (base32
5283 "1cssqbg03fjb6xwf7idv1l3jjsh9r5r232ryi11czqlxfiv658bj"))))
5284 (build-system emacs-build-system)
5285 (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
5286 (synopsis "Edit a grep buffer and apply those changes to the files")
5287 (description
5288 "Emacs wgrep allows you to edit a grep buffer and apply those changes
eeb883cb
RW
5289to the file buffer. Several backends are supported beside the classic grep:
5290ack, ag, helm and pt.")
48b58245 5291 (license license:gpl3+)))
eeb883cb
RW
5292
5293(define-public emacs-helm
5294 (package
5295 (name "emacs-helm")
a922b2ae 5296 (version "3.1")
eeb883cb
RW
5297 (source (origin
5298 (method url-fetch)
5299 (uri (string-append
5300 "https://github.com/" name "/helm/archive/v"
5301 version ".tar.gz"))
5302 (file-name (string-append name "-" version ".tar.gz"))
5303 (sha256
5304 (base32
a922b2ae 5305 "0ymykcsbcgq2kskqc0ddigg0kfznxx3j02mkd5r3c3n8gn3kgz84"))))
eeb883cb
RW
5306 (build-system emacs-build-system)
5307 (propagated-inputs
5308 `(("emacs-async" ,emacs-async)
5309 ("emacs-popup" ,emacs-popup)))
5310 (home-page "https://emacs-helm.github.io/helm/")
5311 (synopsis "Incremental completion and selection narrowing
5312framework for Emacs")
5313 (description "Helm is incremental completion and selection narrowing
5314framework for Emacs. It will help steer you in the right direction when
5315you're looking for stuff in Emacs (like buffers, files, etc). Helm is a fork
5316of @code{anything.el} originally written by Tamas Patrovic and can be
5317considered to be its successor. Helm sets out to clean up the legacy code in
5318@code{anything.el} and provide a cleaner, leaner and more modular tool, that's
5319not tied in the trap of backward compatibility.")
5320 (license license:gpl3+)))
5321
5322(define-public emacs-helm-swoop
5323 (package
5324 (name "emacs-helm-swoop")
5325 (version "1.7.4")
5326 (source (origin
5327 (method url-fetch)
5328 (uri (string-append
5329 "https://github.com/ShingoFukuyama/helm-swoop/archive/"
5330 version
5331 ".tar.gz"))
5332 (file-name (string-append name "-" version ".tar.gz"))
5333 (sha256
5334 (base32
5335 "1ssivsjzlnkg049cg993l8fp09l5nhpz6asj7w5c91zp5kpc6fh7"))))
5336 (build-system emacs-build-system)
5337 (propagated-inputs
5338 `(("emacs-helm" ,emacs-helm)))
5339 (home-page "https://github.com/ShingoFukuyama/helm-swoop")
5340 (synopsis "Filter and jump to lines in an Emacs buffer using Helm")
5341 (description
5342 "This package builds on the Helm interface to provide several commands
5343for search-based navigation of buffers.")
5344 (license license:gpl2+)))
5345
5346(define-public emacs-helm-projectile
5347 (package
5348 (name "emacs-helm-projectile")
5349 (version "0.14.0")
5350 (source (origin
5351 (method url-fetch)
5352 (uri (string-append
5353 "https://github.com/bbatsov/helm-projectile/archive/v"
5354 version
5355 ".tar.gz"))
5356 (file-name (string-append name "-" version ".tar.gz"))
5357 (sha256
5358 (base32
5359 "19cfmilqh8kbab3b2hmx6lyrj73q6vfmn3p730x95g23iz16mnd5"))))
5360 (build-system emacs-build-system)
5361 (propagated-inputs
5362 `(("emacs-dash" ,emacs-dash)
5363 ("emacs-helm" ,emacs-helm)
5364 ("emacs-projectile" ,emacs-projectile)))
5365 (home-page "https://github.com/bbatsov/helm-projectile")
5366 (synopsis "Helm integration for Projectile")
5367 (description
5368 "This Emacs library provides a Helm interface for Projectile.")
5369 (license license:gpl3+)))
5370
5371(define-public emacs-helm-make
5372 (let ((commit "feae8df22bc4b20705ea08ac9adfc2b43bb348d0")
5373 (revision "1"))
5374 (package
5375 (name "emacs-helm-make")
5376 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
5377 (source
5378 (origin
5379 (method git-fetch)
5380 (uri (git-reference
5381 (url "https://github.com/abo-abo/helm-make.git")
5382 (commit commit)))
5383 (file-name (string-append name "-" version "-checkout"))
5384 (sha256
5385 (base32
5386 "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam"))))
5387 (build-system emacs-build-system)
5388 (propagated-inputs
5389 `(("emacs-helm" ,emacs-helm)
5390 ("emacs-projectile" ,emacs-projectile)))
5391 (home-page "https://github.com/abo-abo/helm-make")
5392 (synopsis "Select a Makefile target with helm")
5393 (description "@code{helm-make} or @code{helm-make-projectile} will give
5394you a @code{helm} selection of directory Makefile's targets. Selecting a
5395target will call @code{compile} on it.")
5396 (license license:gpl3+))))
5397
5398(define-public emacs-cider
5399 (package
5400 (name "emacs-cider")
208946e1 5401 (version "0.21.0")
eeb883cb
RW
5402 (source
5403 (origin
5404 (method git-fetch)
5405 (uri (git-reference
5406 (url "https://github.com/clojure-emacs/cider.git")
5407 (commit (string-append "v" version))))
5408 (file-name (git-file-name name version))
5409 (sha256
5410 (base32
208946e1 5411 "0lbrwj67fnvynkdkzvnzp3p8vqlz0ldrcs317vg60bqfhx7hvqkj"))))
eeb883cb
RW
5412 (build-system emacs-build-system)
5413 (arguments
5414 '(#:exclude ; Don't exclude 'cider-test.el'.
5415 '("^\\.dir-locals\\.el$" "^test/")))
5416 (propagated-inputs
5417 `(("emacs-clojure-mode" ,emacs-clojure-mode)
5418 ("emacs-sesman" ,emacs-sesman)
5419 ("emacs-spinner" ,emacs-spinner)
5420 ("emacs-pkg-info" ,emacs-pkg-info)
5421 ("emacs-queue" ,emacs-queue)))
5422 (home-page "https://cider.readthedocs.io/")
5423 (synopsis "Clojure development environment for Emacs")
5424 (description
5425 "CIDER (Clojure Interactive Development Environment that Rocks) aims to
5426provide an interactive development experience similar to the one you'd get
5427when programming in Emacs Lisp, Common Lisp (with SLIME or Sly), Scheme (with
5428Geiser) and Smalltalk.
5429
5430CIDER is the successor to the now deprecated combination of using SLIME +
5431swank-clojure for Clojure development.
5432
5433There are plenty of differences between CIDER and SLIME, but the core ideas
5434are pretty much the same (and SLIME served as the principle inspiration for
5435CIDER).")
5436 (license license:gpl3+)))
5437
5438;; There hasn't been a tag or release since 2015, so we take the latest
5439;; commit.
5440(define-public emacs-sly
5441 (let ((commit "486bfbe95612bcdc0960c490207970a188e0fbb9")
5442 (revision "1"))
5443 (package
5444 (name "emacs-sly")
5445 (version (string-append "1.0.0-" revision "." (string-take commit 9)))
5446 (source
5447 (origin
5448 (method git-fetch)
5449 (uri (git-reference
5450 (url "https://github.com/joaotavora/sly.git")
5451 (commit commit)))
5452 (file-name (git-file-name name version))
5453 (sha256
5454 (base32
5455 "0ib4q4k3h3qn88pymyjjmlmnpizdn1mfg5gpk5a715nqsgxlg09l"))))
5456 (build-system emacs-build-system)
5457 (arguments
5458 `(#:include (cons "^lib\\/" %default-include)
5459 #:phases
5460 ;; The package provides autoloads.
5461 (modify-phases %standard-phases
5462 (delete 'make-autoloads))))
5463 (home-page "https://github.com/joaotavora/sly")
5464 (synopsis "Sylvester the Cat's Common Lisp IDE")
5465 (description
5466 "SLY is Sylvester the Cat's Common Lisp IDE. SLY is a fork of SLIME, and
5467contains the following improvements over it:
5468
5469@enumerate
5470@item Completely redesigned REPL based on Emacs's own full-featured
5471 @code{comint.el}
5472@item Live code annotations via a new @code{sly-stickers} contrib
5473@item Consistent interactive button interface. Everything can be copied to
5474 the REPL.
5475@item Multiple inspectors with independent history
5476@item Regexp-capable @code{M-x sly-apropos}
5477@item Contribs are first class SLY citizens and enabled by default
5478@item Use ASDF to loads contribs on demand.
5479@end enumerate
5480
5481SLY tracks SLIME's bugfixes and all its familar features (debugger, inspector,
5482xref, etc...) are still available, but with better integration.")
5483 (license license:gpl3+))))
5484
5485(define-public emacs-lua-mode
5486 (let ((commit "652e299cb967fccca827dda381d61a9c144d97de")
5487 (revision "1"))
5488 (package
5489 (name "emacs-lua-mode")
5490 (version (string-append "20151025." revision "-" (string-take commit 9)))
5491 (home-page "https://github.com/immerrr/lua-mode/")
5492 (source (origin
5493 (method git-fetch)
5494 (uri (git-reference
5495 (url home-page)
5496 (commit commit)))
5497 (file-name (string-append name "-" version ".checkout"))
5498 (sha256
5499 (base32
5500 "053025k930wh0lak6rc1973ynfrmm8zsyzfqhhd39x7abkl41hc9"))))
5501 (build-system emacs-build-system)
5502 (synopsis "Major mode for lua")
5503 (description
5504 "This Emacs package provides a mode for @uref{https://www.lua.org/,
5505Lua programing language}.")
5506 (license license:gpl2+))))
5507
5508(define-public emacs-ebuild-mode
5509 (package
5510 (name "emacs-ebuild-mode")
5511 (version "1.37")
5512 (source (origin
5513 (method url-fetch)
5514 (uri (string-append
5515 "https://dev.gentoo.org/~ulm/emacs/ebuild-mode"
5516 "-" version ".tar.xz"))
5517 (file-name (string-append name "-" version ".tar.xz"))
5518 (sha256
5519 (base32
5520 "07dzrdjjczkxdfdgi60h4jjkvzi4p0k9rij2wpfp8s03ay3qldpp"))))
5521 (build-system emacs-build-system)
5522 (home-page "https://devmanual.gentoo.org")
5523 (synopsis "Major modes for Gentoo package files")
5524 (description
5525 "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
5526news items, openrc and runscripts.")
5527 (license license:gpl2+)))
5528
5529(define-public emacs-evil
b6a76979
PN
5530 (package
5531 (name "emacs-evil")
5532 (version "1.2.14")
5533 (source
5534 (origin
5535 (method git-fetch)
5536 (uri (git-reference
5537 (url "https://github.com/emacs-evil/evil")
5538 (commit version)))
5539 (file-name (string-append name "-" version "-checkout"))
5540 (sha256
5541 (base32
5542 "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"))))
5543 (build-system emacs-build-system)
5544 (propagated-inputs
5545 `(("emacs-undo-tree" ,emacs-undo-tree)
5546 ("emacs-goto-chg" ,emacs-goto-chg)))
5547 (home-page "https://github.com/emacs-evil/evil")
5548 (synopsis "Extensible Vi layer for Emacs")
5549 (description
5550 "Evil is an extensible vi layer for Emacs. It emulates the
eeb883cb
RW
5551main features of Vim, and provides facilities for writing custom
5552extensions.")
b6a76979 5553 (license license:gpl3+)))
eeb883cb
RW
5554
5555(define-public emacs-evil-collection
2390e0d4
PN
5556 (let ((commit "baa9c6880779d416a91bf5bde3589673a7403612")
5557 (revision "8"))
eeb883cb
RW
5558 (package
5559 (name "emacs-evil-collection")
5560 (version (git-version "0.0.1" revision commit))
5561 (source (origin
5562 (method git-fetch)
5563 (uri (git-reference
5564 (url "https://github.com/emacs-evil/evil-collection")
5565 (commit commit)))
5566 (file-name (string-append name "-" version "-checkout"))
5567 (sha256
5568 (base32
2390e0d4 5569 "09v97nk7qawphfijzqxzi2y63ydmfq7hsgpljjxwkykrc5h0kdlj"))))
eeb883cb
RW
5570 (build-system emacs-build-system)
5571 (propagated-inputs
5572 `(("emacs-evil" ,emacs-evil)))
5573 (home-page "https://github.com/emacs-evil/evil-collection")
5574 (synopsis "Collection of Evil bindings for many major and minor modes")
5575 (description "This is a collection of Evil bindings for the parts of
5576Emacs that Evil does not cover properly by default, such as @code{help-mode},
5577@code{M-x calendar}, Eshell and more.")
5578 (license license:gpl3+))))
5579
5580(define-public emacs-goto-chg
5581 (package
5582 (name "emacs-goto-chg")
5583 (version "1.6")
5584 (source
5585 (origin
5586 (method url-fetch)
5587 ;; There is no versioned source.
5588 (uri "https://www.emacswiki.org/emacs/download/goto-chg.el")
5589 (file-name (string-append "goto-chg-" version ".el"))
5590 (sha256
5591 (base32
5592 "078d6p4br5vips7b9x4v6cy0wxf6m5ij9gpqd4g33bryn22gnpij"))))
5593 (build-system emacs-build-system)
5594 ;; There is no other home page.
5595 (home-page "https://www.emacswiki.org/emacs/goto-chg.el")
5596 (synopsis "Go to the last change in the Emacs buffer")
5597 (description
5598 "This package provides @code{M-x goto-last-change} command that goes to
5599the point of the most recent edit in the current Emacs buffer. When repeated,
5600go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is
5601used for reverse direction.")
5602 (license license:gpl2+)))
5603
5604(define-public emacs-monroe
5605 (package
5606 (name "emacs-monroe")
5607 (version "0.3.1")
5608 (source
5609 (origin
5610 (method url-fetch)
5611 (uri (string-append "https://github.com/sanel/monroe/archive/"
5612 version ".tar.gz"))
5613 (file-name (string-append name "-" version ".tar.gz"))
5614 (sha256
5615 (base32
5616 "0icdx8shkd951phlnmcq1vqaxp1l667q5rjscskc5r22aylakh4w"))))
5617 (build-system emacs-build-system)
5618 (home-page "https://github.com/sanel/monroe")
5619 (synopsis "Clojure nREPL client for Emacs")
5620 (description
5621 "Monroe is a nREPL client for Emacs, focused on simplicity and easy
5622distribution, primarily targeting Clojure users")
5623 (license license:gpl3+)))
5624
5625(define-public emacs-orgalist
5626 (package
5627 (name "emacs-orgalist")
5628 (version "1.9")
5629 (source
5630 (origin
5631 (method url-fetch)
5632 (uri (string-append "https://elpa.gnu.org/packages/"
5633 "orgalist-" version ".el"))
5634 (sha256
5635 (base32
5636 "1rmmcyiiqkq54hn74nhzxzl4nvd902hv6gq341jwhrm7yiagffi6"))))
5637 (build-system emacs-build-system)
5638 (home-page "http://elpa.gnu.org/packages/orgalist.html")
5639 (synopsis "Manage Org-like lists in non-Org buffers")
5640 (description "Write Org mode's plain lists in non-Org buffers. More
5641specifically, Orgalist supports the syntax of Org mode for numbered,
5642unnumbered, description items, checkboxes, and counter cookies.
5643
5644The library also implements radio lists, i.e., lists written in Org
5645syntax later translated into the host format, e.g., LaTeX or HTML.")
5646 (license license:gpl3+)))
5647
5648(define-public emacs-writegood-mode
5649 (package
5650 (name "emacs-writegood-mode")
5651 (version "2.0.2")
5652 (home-page "https://github.com/bnbeckwith/writegood-mode")
5653 (source (origin
5654 (method git-fetch)
5655 (uri (git-reference
5656 (url home-page)
5657 (commit (string-append "v" version))))
5658 (sha256
5659 (base32
5660 "1nnjn1r669hvvzfycllwap4w04m8rfsk4nzcg8057m1f263kj31b"))
5661 (file-name (string-append name "-checkout"))))
5662 (build-system emacs-build-system)
5663 (synopsis "Polish up poor writing on the fly")
5664 (description
5665 "This minor mode tries to find and highlight problems with your writing
5666in English as you type. It primarily detects \"weasel words\" and abuse of
5667passive voice.")
5668 (license license:gpl3+)))
5669
5670(define-public emacs-neotree
5671 (package
5672 (name "emacs-neotree")
5673 (version "0.5.2")
5674 (home-page "https://github.com/jaypei/emacs-neotree")
5675 (source (origin
5676 (method url-fetch)
5677 (uri (string-append
5678 "https://github.com/jaypei/" name
5679 "/archive/" version ".tar.gz"))
5680 (sha256
5681 (base32
5682 "1zd6dchwyijnf7kgchfcp51gs938l204dk9z6mljrfqf2zy0gp12"))
5683 (file-name (string-append name "-" version ".tar.gz"))))
5684 (build-system emacs-build-system)
5685 (synopsis "Folder tree view for Emacs")
5686 (description "This Emacs package provides a folder tree view.")
5687 (license license:gpl3+)))
5688
5689(define-public emacs-org
5690 (package
5691 (name "emacs-org")
5692 ;; emacs-org-contrib inherits from this package. Please update its sha256
5693 ;; checksum as well.
ec898776 5694 (version "9.2.3")
eeb883cb
RW
5695 (source (origin
5696 (method url-fetch)
5697 (uri (string-append "http://elpa.gnu.org/packages/org-"
5698 version ".tar"))
5699 (sha256
5700 (base32
ec898776 5701 "0hqy4lns9q5p0l1ylgmlckqprn9sbasszhznanmv0rsh0gzhsbyw"))))
eeb883cb
RW
5702 (build-system emacs-build-system)
5703 (home-page "https://orgmode.org/")
5704 (synopsis "Outline-based notes management and organizer")
5705 (description "Org is an Emacs mode for keeping notes, maintaining TODO
5706lists, and project planning with a fast and effective lightweight markup
5707language. It also is an authoring system with unique support for literate
5708programming and reproducible research.")
5709 (license license:gpl3+)))
5710
5711(define-public emacs-org-contrib
5712 (package
5713 (inherit emacs-org)
5714 (name "emacs-org-contrib")
c4cea853 5715 (version "20190402")
eeb883cb
RW
5716 (source (origin
5717 (method url-fetch)
5718 (uri (string-append "https://orgmode.org/elpa/org-plus-contrib-"
5719 version ".tar"))
5720 (sha256
5721 (base32
c4cea853 5722 "0hbrhhq6sa0gz4ylzr54raxandqs4y953894b0hlr553b8sfl1wk"))))
eeb883cb
RW
5723 (arguments
5724 `(#:modules ((guix build emacs-build-system)
5725 (guix build utils)
5726 (guix build emacs-utils)
5727 (ice-9 ftw)
5728 (srfi srfi-1))
5729 #:phases
5730 (modify-phases %standard-phases
5731 (add-after 'install 'delete-org-files
5732 (lambda* (#:key inputs outputs #:allow-other-keys)
5733 (let* ((out (assoc-ref outputs "out"))
5734 (org (assoc-ref inputs "org"))
5735 (contrib-files
5736 (map basename (find-files out)))
5737 (org+contrib-files
5738 (map basename (find-files org)))
5739 (duplicates (lset-intersection
5740 string=? contrib-files org+contrib-files)))
5741 (with-directory-excursion
5742 (string-append
5743 out "/share/emacs/site-lisp/guix.d/org-contrib-" ,version)
5744 (for-each delete-file duplicates))
5745 #t))))))
5746 (propagated-inputs
5747 `(("arduino-mode" ,emacs-arduino-mode)
5748 ("cider" ,emacs-cider)
5749 ("org" ,emacs-org)
5750 ("scel" ,emacs-scel)))
5751 (synopsis "Contributed packages to Org mode")
5752 (description "Org is an Emacs mode for keeping notes, maintaining TODO
5753lists, and project planning with a fast and effective plain-text system.
5754
5755This package is equivalent to org-plus-contrib, but only includes additional
5756files that you would find in @file{contrib/} from the git repository.")))
5757
5758(define-public emacs-flx
5759 (package
5760 (name "emacs-flx")
5761 (version "0.6.1")
5762 (source
5763 (origin
5764 (method url-fetch)
5765 (uri (string-append "https://github.com/lewang/"
5766 "flx/archive/v" version ".tar.gz"))
5767 (sha256
5768 (base32
5769 "0bkcpnf1j4i2fcc2rllwbz62l00sw2mcia6rm5amgwvlkqavmkv6"))
5770 (file-name (string-append name "-" version ".tar.gz"))))
5771 (build-system emacs-build-system)
5772 (home-page "https://github.com/lewang/flx")
5773 (synopsis "Fuzzy matching for Emacs")
5774 (description
5775 "Flx provides fuzzy matching for emacs a la sublime text.
5776The sorting algorithm is a balance between word beginnings (abbreviation)
5777and contiguous matches (substring). The longer the substring match,
5778the higher it scores. This maps well to how we think about matching.
5779Flx has support for ido (interactively do things) through flx-ido.")
5780 (license license:gpl3+)))
5781
5782(define-public emacs-cyberpunk-theme
5783 (package
5784 (name "emacs-cyberpunk-theme")
5785 (version "1.19")
5786 (source
5787 (origin
5788 (method url-fetch)
5789 (uri (string-append "https://github.com/n3mo/cyberpunk-theme.el/"
5790 "archive/" version ".tar.gz"))
5791 (sha256
5792 (base32
5793 "05l5fxw1mn5py6mfhxrzyqjq0d8m5m1akfi46vrgh13r414jffvv"))
5794 (file-name (string-append name "-" version ".tar.gz"))))
5795 (build-system emacs-build-system)
5796 (home-page "https://github.com/n3mo/cyberpunk-theme.el")
5797 (synopsis "Cyberpunk theme for emacs built-in color theme support")
5798 (description
5799 "Cyberpunk color theme for the emacs 24+ built-in color theme support
5800known loosely as deftheme. Many mode-specific customizations are included.")
5801 (license license:gpl3+)))
5802
5803(define-public emacs-danneskjold-theme
5804 (let* ((commit "8733d2fe8743e8a01826ea6d4430ef376c727e57")
5805 (revision "1"))
5806 (package
5807 (name "emacs-danneskjold-theme")
5808 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
5809 (home-page "https://github.com/rails-to-cosmos/danneskjold-theme")
5810 (source
5811 (origin
5812 (method git-fetch)
5813 (uri (git-reference
5814 (url home-page)
5815 (commit commit)))
5816 (file-name (string-append name "-" version "-checkout"))
5817 (sha256
5818 (base32
5819 "0s6rbsb0y8i8m5b9xm4gw1p1cxsxdqnqxqqb638pygz9f76mbir1"))))
5820 (build-system emacs-build-system)
5821 (arguments
5822 `(#:phases
5823 (modify-phases %standard-phases
5824 (add-after 'unpack 'delete-screenshots
5825 (lambda _
5826 (delete-file-recursively "screenshots") #t)))))
5827 (synopsis "High-contrast Emacs theme")
5828 (description
5829 "@code{danneskjold-theme} is a high-contrast theme for Emacs.")
5830 (license license:gpl3+))))
5831
5832(define-public emacs-dream-theme
5833 (let* ((commit "107a11d74365046f28a1802a2bdb5e69e4a7488b")
5834 (revision "1"))
5835 (package
5836 (name "emacs-dream-theme")
5837 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
5838 (source
5839 (origin
5840 (method git-fetch)
5841 (uri (git-reference
5842 (url "https://github.com/djcb/dream-theme")
5843 (commit commit)))
5844 (file-name (string-append name "-" version "-checkout"))
5845 (sha256
5846 (base32
5847 "0za18nfkq4xqm35k6006vsixcbmvmxqgma4iw5sw37h8vmcsdylk"))))
5848 (build-system emacs-build-system)
5849 (home-page "https://github.com/djcb/dream-theme")
5850 (synopsis "High-contrast Emacs theme")
5851 (description
5852 "@code{dream-theme} is a dark, clean theme for Emacs. It is inspired
5853by zenburn, sinburn and similar themes, but slowly diverging from them.")
5854 (license license:gpl3+))))
5855
5856(define-public emacs-auto-complete
5857 (package
5858 (name "emacs-auto-complete")
5859 (version "1.5.1")
5860 (source
5861 (origin
5862 (method url-fetch)
5863 (uri (string-append "https://github.com/auto-complete/"
5864 "auto-complete/archive/v" version ".tar.gz"))
5865 (sha256
5866 (base32
5867 "1jvq4lj00hwml75lpmlciazy8f3bbg13gffsfnl835p4qd8l7yqv"))
5868 (file-name (string-append name "-" version ".tar.gz"))))
5869 (build-system emacs-build-system)
5870 (propagated-inputs
5871 `(("emacs-popup" ,emacs-popup)))
5872 (home-page "https://github.com/auto-complete/auto-complete")
5873 (synopsis "Intelligent auto-completion extension for Emacs")
5874 (description
5875 "Auto-Complete is an intelligent auto-completion extension for Emacs.
5876It extends the standard Emacs completion interface and provides an environment
5877that allows users to concentrate more on their own work. Its features are:
5878a visual interface, reduce overhead of completion by using statistic method,
5879extensibility.")
5880 (license license:gpl3+)))
5881
5882(define-public emacs-nginx-mode
5883 (package
5884 (name "emacs-nginx-mode")
5885 (version "1.1.9")
5886 (source
5887 (origin
5888 (method url-fetch)
5889 (uri (string-append
5890 "https://github.com/ajc/nginx-mode/archive/v"
5891 version ".tar.gz"))
5892 (file-name (string-append name "-" version ".tar.gz"))
5893 (sha256
5894 (base32
5895 "0bzyrj6zz1hm67bkhw23bam7qc869s3zg7m1rb1c3aa4n0aw90cq"))))
5896 (build-system emacs-build-system)
5897 (home-page "https://github.com/ajc/nginx-mode")
5898 (synopsis "Emacs major mode for editing nginx config files")
5899 (description "This package provides an Emacs major mode for
5900editing nginx config files.")
5901 (license license:gpl2+)))
5902
5903(define-public emacs-stream
5904 (package
5905 (name "emacs-stream")
5906 (version "2.2.0")
5907 (home-page "https://github.com/NicolasPetton/stream")
5908 (source
5909 (origin
5910 (method url-fetch)
5911 (file-name (string-append name "-" version ".tar.gz"))
5912 (uri (string-append home-page "/archive/"version ".tar.gz"))
5913 (sha256
5914 (base32 "03ql4nqfz5pn55mjly6clhvc3g7x2d28kj7mrlqmigvjbql39xxc"))))
5915 (build-system emacs-build-system)
5916 (synopsis "Implementation of streams for Emacs")
5917 (description "This library provides an implementation of streams for Emacs.
5918Streams are implemented as delayed evaluation of cons cells.")
5919 (license license:gpl3+)))
5920
5921(define-public emacs-el-search
5922 (let ((commit "f26277bfbb3fc3fc74beea6592f294c439796bd4")
5923 (revision "1"))
5924 (package
5925 (name "emacs-el-search")
5926 ;; No ufficial release.
5927 (version (string-append "0.0-" revision "." (string-take commit 7)))
5928 (home-page "https://github.com/emacsmirror/el-search")
5929 (source
5930 (origin
5931 (method git-fetch)
5932 (file-name (string-append name "-" version ".tar.gz"))
5933 (uri (git-reference
5934 (commit commit)
5935 (url (string-append home-page ".git"))))
5936 (sha256
5937 (base32 "12xf40h9sb7xxg2r97gsia94q02543mgiiiw46fzh1ac7b7993g6"))))
5938 (build-system emacs-build-system)
5939 (inputs `(("emacs-stream" ,emacs-stream)))
5940 (synopsis "Expression based interactive search for emacs-lisp-mode")
5941 (description "This package provides expression based interactive search
5942procedures for emacs-lisp-mode.")
5943 (license license:gpl3+))))
5944
5945(define-public emacs-ht
5946 (package
5947 (name "emacs-ht")
b6ecf3d7 5948 (version "2.2")
eeb883cb
RW
5949 (source
5950 (origin
5951 (method url-fetch)
5952 (uri (string-append
5953 "https://github.com/Wilfred/ht.el/archive/"
5954 version ".tar.gz"))
5955 (file-name (string-append name "-" version ".tar.gz"))
5956 (sha256
5957 (base32
b6ecf3d7 5958 "0fsi27gdrh2dgwdbq43vnw5sz25war6shlxaclr60fl7krpxjkzf"))))
eeb883cb
RW
5959 (build-system emacs-build-system)
5960 (propagated-inputs `(("emacs-dash" ,emacs-dash)))
5961 (home-page "https://github.com/Wilfred/ht.el")
5962 (synopsis "Hash table library for Emacs")
5963 (description
5964 "This package simplifies the use of hash tables in elisp. It also
5965provides functions to convert hash tables from and to alists and plists.")
5966 (license license:gpl3+)))
5967
5968(define-public emacs-log4e
5969 (package
5970 (name "emacs-log4e")
5971 (version "0.3.0")
5972 (source
5973 (origin
5974 (method url-fetch)
5975 (uri (string-append
5976 "https://github.com/aki2o/log4e/archive/v"
5977 version ".tar.gz"))
5978 (file-name (string-append name "-" version ".tar.gz"))
5979 (sha256
5980 (base32
5981 "0nbdpbw353snda3v19l9hsm6gimppwnpxj18amm350bm81lyim2g"))))
5982 (build-system emacs-build-system)
5983 (arguments
5984 `(#:phases
5985 (modify-phases %standard-phases
5986 (add-after 'unpack 'remove-tests
5987 ;; Guile builder complains about null characters in some
5988 ;; strings of test files. Remove "test" directory (it is not
5989 ;; needed anyway).
5990 (lambda _
5991 (delete-file-recursively "test"))))))
5992 (home-page "https://github.com/aki2o/log4e")
5993 (synopsis "Logging framework for elisp")
5994 (description
5995 "This package provides a logging framework for elisp. It allows
5996you to deal with multiple log levels.")
5997 (license license:gpl3+)))
5998
5999(define-public emacs-gntp
6000 (package
6001 (name "emacs-gntp")
6002 (version "0.1")
6003 (source
6004 (origin
6005 (method url-fetch)
6006 (uri (string-append
6007 "https://github.com/tekai/gntp.el/archive/v"
6008 version ".tar.gz"))
6009 (file-name (string-append name "-" version ".tar.gz"))
6010 (sha256
6011 (base32
6012 "16c1dfkia9yhl206bdhjr3b8kfvqcqr38jl5lq8qsyrrzsnmghny"))))
6013 (build-system emacs-build-system)
6014 (home-page "https://github.com/tekai/gntp.el")
6015 (synopsis "Growl Notification Protocol for Emacs")
6016 (description
6017 "This package implements the Growl Notification Protocol GNTP
6018described at @uref{http://www.growlforwindows.com/gfw/help/gntp.aspx}.
6019It is incomplete as it only lets you send but not receive
6020notifications.")
6021 (license license:bsd-3)))
6022
6023(define-public emacs-alert
6024 (package
6025 (name "emacs-alert")
6026 (version "1.2")
6027 (source
6028 (origin
6029 (method url-fetch)
6030 (uri (string-append
6031 "https://github.com/jwiegley/alert/archive/v"
6032 version ".tar.gz"))
6033 (file-name (string-append name "-" version ".tar.gz"))
6034 (sha256
6035 (base32
6036 "1693kck3k2iz5zhpmxwqyafxm68hr6gzs60lkxd3j1wlp2c9fwyr"))))
6037 (build-system emacs-build-system)
6038 (propagated-inputs
6039 `(("emacs-gntp" ,emacs-gntp)
6040 ("emacs-log4e" ,emacs-log4e)))
6041 (home-page "https://github.com/jwiegley/alert")
6042 (synopsis "Growl-style notification system for Emacs")
6043 (description
6044 "Alert is a Growl-workalike for Emacs which uses a common notification
6045interface and multiple, selectable \"styles\", whose use is fully
6046customizable by the user.")
6047 (license license:gpl2+)))
6048
c881ed86
BL
6049(define-public emacs-zones
6050 (let ((commit "353fc38a6544eb59887bee045e373406f1d038a5")
6051 (revision "1"))
6052 (package
6053 (name "emacs-zones")
6054 (version (git-version "0" revision commit))
6055 (source
6056 (origin
6057 (method git-fetch)
6058 (uri (git-reference
6059 (url "https://github.com/emacsmirror/zones.git")
6060 (commit commit)))
6061 (file-name (git-file-name name version))
6062 (sha256
6063 (base32
f125c5a5
BL
6064 "0gwnw2giii2a14nlh62xp45f47cw6ikqphhzpmcw6c7mn9x5z2ar"))
6065 (patches
6066 (search-patches
6067 "emacs-zones-called-interactively.patch"))))
c881ed86
BL
6068 (build-system emacs-build-system)
6069 (home-page "https://www.emacswiki.org/emacs/Zones")
6070 (synopsis "Define and act on multiple zones of buffer text")
6071 (description "Library @file{zones.el} lets you easily define and
6072subsequently act on multiple zones of buffer text. You can think of this as
6073enlarging the notion of region. In effect, it can remove the requirement of
6074target text being a contiguous sequence of characters. A set of buffer zones
6075is, in effect, a (typically) noncontiguous set of text.")
6076 (license license:gpl3+))))
6077
eeb883cb
RW
6078(define-public emacs-mu4e-alert
6079 (package
6080 (name "emacs-mu4e-alert")
6081 (version "1.0")
6082 (source
6083 (origin
6084 (method url-fetch)
6085 (uri (string-append
6086 "https://github.com/iqbalansari/mu4e-alert/archive/v"
6087 version ".tar.gz"))
6088 (file-name (string-append name "-" version ".tar.gz"))
6089 (sha256
6090 (base32
6091 "07qc834qnxn8xi4bw5nawj8g91bmkzw0r0vahkgysp7r9xrf57gj"))))
6092 (build-system emacs-build-system)
6093 (propagated-inputs
6094 `(("emacs-alert" ,emacs-alert)
6095 ("emacs-s" ,emacs-s)
6096 ("emacs-ht" ,emacs-ht)
6097 ("mu" ,mu)))
6098 (home-page "https://github.com/iqbalansari/mu4e-alert")
6099 (synopsis "Desktop notification for mu4e")
6100 (description
6101 "This package provides desktop notifications for mu4e.
6102Additionally it can display the number of unread emails in the
6103mode-line.")
6104 (license license:gpl3+)))
6105
6106(define-public emacs-pretty-mode
6107 (package
6108 (name "emacs-pretty-mode")
6109 (version "2.0.3")
6110 (source
6111 (origin
6112 (method url-fetch)
6113 (uri (string-append "https://github.com/akatov/pretty-mode/"
6114 "archive/" version ".tar.gz"))
6115 (file-name (string-append name "-" version ".tar.gz"))
6116 (sha256
6117 (base32
6118 "1fan7m4vnqs8kpg7r54kx3g7faadkpkf9kzarfv8n57kq8w157pl"))))
6119 (build-system emacs-build-system)
6120 (home-page "https://github.com/akatov/pretty-mode")
6121 (synopsis "Redisplay parts of the buffer as Unicode symbols")
6122 (description
6123 "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
6124 (license license:gpl3+)))
6125
6126(define-public emacs-yasnippet
6127 (package
6128 (name "emacs-yasnippet")
6129 (version "0.13.0")
6130 (source (origin
6131 (method url-fetch)
6132 (uri (string-append "https://github.com/joaotavora/yasnippet/"
6133 "archive/" version ".tar.gz"))
6134 (file-name (string-append name "-" version ".tar.gz"))
6135 (sha256
6136 (base32
6137 "12ls2x17agzbrj1xynjbmfa11igqxia4hj4fv6fpr66yci2r1plc"))
6138 (modules '((guix build utils)))
6139 (snippet
6140 '(begin
6141 ;; YASnippet expects a "snippets" subdirectory in the same
6142 ;; directory as yasnippet.el, but we don't install it
6143 ;; because it's a git submodule pointing to an external
6144 ;; repository. Adjust `yas-snippet-dirs' to prevent
6145 ;; warnings about a missing directory.
6146 (substitute* "yasnippet.el"
6147 (("^ +'yas-installed-snippets-dir\\)\\)\n")
6148 "))\n"))
6149 #t))))
6150 (build-system emacs-build-system)
6151 (home-page "https://github.com/joaotavora/yasnippet")
6152 (synopsis "Yet another snippet extension for Emacs")
6153 (description
6154 "YASnippet is a template system for Emacs. It allows you to type an
6155abbreviation and automatically expand it into function templates.")
6156 (license license:gpl3+)))
6157
6158(define-public emacs-yasnippet-snippets
6159 (let ((commit "885050d34737e2fb36a3e7759d60c09347bd4ce0")
6160 (revision "1"))
6161 (package
6162 (name "emacs-yasnippet-snippets")
6163 (version (string-append "1-" revision "." (string-take commit 8)))
6164 (source
6165 (origin
6166 (method git-fetch)
6167 (uri (git-reference
6168 (url "https://github.com/AndreaCrotti/yasnippet-snippets")
6169 (commit commit)))
6170 (file-name (string-append name "-" version "-checkout"))
6171 (sha256
6172 (base32
6173 "1m935zgglw0iakzrixld5rcjz3wnj84f8wy2mvc3pggjri9l0qr9"))))
6174 (build-system trivial-build-system)
6175 (arguments
6176 `(#:modules ((ice-9 ftw)
6177 (ice-9 regex)
6178 (guix build utils))
6179 #:builder
6180 (begin
6181 (use-modules (ice-9 ftw)
6182 (ice-9 regex)
6183 (guix build utils))
6184 (with-directory-excursion (assoc-ref %build-inputs "source")
6185 (for-each (lambda (dir)
6186 (copy-recursively
6187 dir
6188 (string-append %output
6189 "/share/emacs/yasnippet-snippets/"
6190 dir)))
6191 (scandir "." (lambda (fname)
6192 (and (string-match "-mode$" fname)
6193 (directory-exists? fname))))))
6194 #t)))
6195 (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
6196 (synopsis "Collection of YASnippet snippets for many languages")
6197 (description
6198 "Provides Andrea Crotti's collection of YASnippet snippets. After installation,
6199the snippets will be in \"~/.guix-profile/share/emacs/yasnippet-snippets/\".
6200To make YASnippet aware of these snippets, add the above directory to
6201@code{yas-snippet-dirs}.")
6202 (license license:expat))))
6203
6204(define-public emacs-helm-c-yasnippet
6205 (let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")
6206 (revision "1"))
6207 (package
6208 (name "emacs-helm-c-yasnippet")
6209 (version (string-append "0.6.7" "-" revision "."
6210 (string-take commit 7)))
6211 (source (origin
6212 (method git-fetch)
6213 (uri (git-reference
6214 (url "https://github.com/emacs-jp/helm-c-yasnippet")
6215 (commit commit)))
6216 (file-name (string-append name "-" version "-checkout"))
6217 (sha256
6218 (base32
6219 "1cbafjqlzxbg19xfdqsinsh7afq58gkf44rsg1qxfgm8g6zhr7f8"))))
6220 (build-system emacs-build-system)
6221 (propagated-inputs
6222 `(("emacs-helm" ,emacs-helm)
6223 ("emacs-yasnippet" ,emacs-yasnippet)))
6224 (home-page "https://github.com/emacs-jp/helm-c-yasnippet")
6225 (synopsis "Helm integration for Yasnippet")
6226 (description "This Emacs library provides Helm interface for
6227Yasnippet.")
6228 (license license:gpl2+))))
6229
6230(define-public emacs-helm-system-packages
703a095e
PN
6231 ;; There won't be a new release after 1.10.1 until
6232 ;; https://github.com/emacs-helm/helm-system-packages/issues/25 is fixed,
6233 ;; and latest commits fix import issues with Guix.
6234 (let ((commit "6572340f41611ef1991e9612d34d59130957ee4a"))
6235 (package
6236 (name "emacs-helm-system-packages")
6237 (version (git-version "1.10.1" "1" commit))
6238 (source (origin
6239 (method git-fetch)
6240 (uri (git-reference
6241 (url "https://github.com/emacs-helm/helm-system-packages")
6242 (commit commit)))
6243 (file-name (git-file-name name version))
6244 (sha256
6245 (base32
6246 "0mcz6vkpk12vsyd37xv1rbg4v442sxc3lj8yxskqg294xbdaclz4"))))
6247 (build-system emacs-build-system)
6248 (inputs
6249 `(("recutils" ,recutils)))
6250 (propagated-inputs
6251 `(("emacs-helm" ,emacs-helm)))
6252 (arguments
6253 `(#:phases
6254 (modify-phases %standard-phases
6255 (add-after 'unpack 'configure
6256 (lambda* (#:key inputs outputs #:allow-other-keys)
6257 (let ((recutils (assoc-ref inputs "recutils")))
6258 ;; Specify the absolute file names of the various
6259 ;; programs so that everything works out-of-the-box.
6260 (substitute* "helm-system-packages-guix.el"
6261 (("recsel") (string-append recutils "/bin/recsel")))))))))
6262 (home-page "https://github.com/emacs-helm/helm-system-packages")
6263 (synopsis "Helm System Packages is an interface to your package manager")
6264 (description "List all available packages in Helm (with installed
eeb883cb
RW
6265packages displayed in their own respective face). Fuzzy-search, mark and
6266execute the desired action over any selections of packages: Install,
6267uninstall, display packages details (in Org Mode) or insert details at point,
6268find files owned by packages... And much more, including performing all the
6269above over the network.")
703a095e 6270 (license license:gpl3+))))
eeb883cb
RW
6271
6272(define-public emacs-memoize
6273 (package
6274 (name "emacs-memoize")
6275 (version "1.1")
6276 (source
6277 (origin
6278 (method url-fetch)
6279 (uri (string-append
6280 "https://github.com/skeeto/emacs-memoize/archive/"
6281 version ".tar.gz"))
6282 (file-name (string-append name "-" version ".tar.gz"))
6283 (sha256
6284 (base32
6285 "05ijgwi4ymxx31vpjm2pn356j85cykknajn14lrzz8pn5sh0vrg4"))))
6286 (build-system emacs-build-system)
6287 (arguments
6288 `(#:tests? #t
6289 #:test-command '("emacs" "--batch"
6290 "-l" "memoize-test.el"
6291 "-f" "ert-run-tests-batch-and-exit")))
6292 (home-page "https://github.com/skeeto/emacs-memoize")
6293 (synopsis "Emacs lisp memoization library")
6294 (description "@code{emacs-memoize} is an Emacs library for
6295memoizing functions.")
6296 (license license:unlicense)))
6297
6298(define-public emacs-linum-relative
6299 (package
6300 (name "emacs-linum-relative")
6301 (version "0.5")
6302 (source
6303 (origin
6304 (method url-fetch)
6305 (uri (string-append
6306 "https://github.com/coldnew/linum-relative/archive/"
6307 version ".tar.gz"))
6308 (file-name (string-append name "-" version ".tar.gz"))
6309 (sha256
6310 (base32
6311 "0s4frvr27866lw1rn3jal9wj5rkz9fx4yiszqv7w06azsdgsqksv"))))
6312 (build-system emacs-build-system)
6313 (home-page "https://github.com/coldnew/linum-relative")
6314 (synopsis "Relative line numbering for Emacs")
6315 (description "@code{emacs-linum-relative} displays the relative line
6316number on the left margin in Emacs.")
6317 (license license:gpl2+)))
6318
6319(define-public emacs-idle-highlight
6320 (package
6321 (name "emacs-idle-highlight")
6322 (version "1.1.3")
6323 (source
6324 (origin
6325 (method url-fetch)
6326 (uri (string-append
6327 "https://github.com/nonsequitur/idle-highlight-mode/archive/"
6328 version ".tar.gz"))
6329 (file-name (string-append name "-" version ".tar.gz"))
6330 (sha256
6331 (base32
6332 "0kdv10hrgqpskjh0zvpnzwlkn5bccnqxas62gkws6njln57bf8nl"))))
6333 (build-system emacs-build-system)
6334 (home-page "https://www.emacswiki.org/emacs/IdleHighlight")
6335 (synopsis "Highlights all occurrences of the word the point is on")
6336 (description
6337 "This Emacs package provides @code{idle-highlight-mode} that sets
6338 an idle timer to highlight all occurrences in the buffer of the word under
6339 the point.")
6340 (license license:gpl3+)))
6341
6342(define-public emacs-ox-twbs
6343 (package
6344 (name "emacs-ox-twbs")
6345 (version "1.1.1")
6346 (source
6347 (origin
6348 (method url-fetch)
6349 (uri (string-append
6350 "https://github.com/marsmining/ox-twbs/archive/v"
6351 version ".tar.gz"))
6352 (file-name (string-append name "-" version ".tar.gz"))
6353 (sha256
6354 (base32
6355 "1zaq8dczq5wijjk36114k2x3hfrqig3lyx6djril6wyk67vczyqs"))))
6356 (build-system emacs-build-system)
6357 (home-page "https://github.com/marsmining/ox-twbs")
6358 (synopsis "Export org-mode docs as HTML compatible with Twitter Bootstrap")
6359 (description
6360 "This Emacs package outputs your org-mode docs with a simple, clean and
6361modern look. It implements a new HTML back-end for exporting org-mode docs as
6362HTML compatible with Twitter Bootstrap. By default, HTML is exported with
6363jQuery and Bootstrap resources included via osscdn.")
6364 (license license:gpl3+)))
6365
6366(define-public emacs-highlight-sexp
6367 (package
6368 (name "emacs-highlight-sexp")
6369 (version "1.0")
6370 (source
6371 (origin
6372 (method url-fetch)
6373 (uri (string-append
6374 "https://github.com/daimrod/highlight-sexp/archive/v"
6375 version ".tar.gz"))
6376 (file-name (string-append name "-" version ".tar.gz"))
6377 (sha256
6378 (base32
6379 "0jwx87qkln1rg9wmv4qkgkml935fh2pkgrg5x4ca6n5dgb4q6rj1"))))
6380 (build-system emacs-build-system)
6381 (home-page "https://github.com/daimrod/highlight-sexp")
6382 (synopsis "Minor mode that highlights the s-exp at the current position")
6383 (description
6384 "This Emacs package highlights the s-exp at the current position.")
6385 (license license:gpl3+)))
6386
6387(define-public emacs-highlight-stages
6388 (let ((commit "29cbc5b78261916da042ddb107420083da49b271")
6389 (revision "1"))
6390 (package
6391 (name "emacs-highlight-stages")
6392 (version (string-append "1.1.0" "-" revision "." (string-take commit 7)))
6393 (source
6394 (origin
6395 (method git-fetch)
6396 (uri (git-reference
6397 (url "https://github.com/zk-phi/highlight-stages.git")
6398 (commit commit)))
6399 (file-name (string-append name "-" version "-checkout"))
6400 (sha256
6401 (base32
6402 "0r6nbcrr0dqpgm8dir8ahzjy7rw4nrac48byamzrq96r7ajlxlv0"))
6403 (patches
6404 (search-patches "emacs-highlight-stages-add-gexp.patch"))))
6405 (build-system emacs-build-system)
6406 (home-page "https://github.com/wigust/highlight-stages")
6407 (synopsis "Minor mode that highlights (quasi-quoted) expressions")
6408 (description "@code{highlight-stages} provides an Emacs minor mode that
6409highlights quasi-quoted expressions.")
6410 (license license:gpl3+))))
6411
6412(define-public emacspeak
6413 (package
6414 (name "emacspeak")
ea32c946 6415 (version "49.0")
eeb883cb
RW
6416 (source
6417 (origin
6418 (method url-fetch)
6419 (uri (string-append
6420 "https://github.com/tvraman/emacspeak/releases/download/"
6421 version "/emacspeak-" version ".tar.bz2"))
6422 (sha256
6423 (base32
ea32c946 6424 "1smf26m7201z0bk49lzbw9zhbjfi6wylidfjixb8ylp6g0wnh8dx"))))
eeb883cb
RW
6425 (build-system gnu-build-system)
6426 (arguments
6427 '(#:make-flags (list (string-append "prefix="
6428 (assoc-ref %outputs "out")))
6429 #:phases
6430 (modify-phases %standard-phases
6431 (replace 'configure
6432 (lambda* (#:key outputs #:allow-other-keys)
6433 (let* ((out (assoc-ref outputs "out"))
6434 (lisp (string-append out
6435 "/share/emacs/site-lisp/emacspeak")))
6436 (setenv "SHELL" (which "sh"))
6437 ;; Configure Emacspeak according to etc/install.org.
6438 (invoke "make" "config"))))
6439 (add-after 'build 'build-espeak
6440 (lambda _
6441 (invoke "make" "espeak")))
6442 (replace 'install
6443 (lambda* (#:key inputs outputs #:allow-other-keys)
6444 (let* ((out (assoc-ref outputs "out"))
6445 (bin (string-append out "/bin"))
6446 (lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
6447 (info (string-append out "/share/info"))
6448 (emacs (string-append (assoc-ref inputs "emacs")
6449 "/bin/emacs")))
6450 ;; According to etc/install.org, the Emacspeak directory should
6451 ;; be copied to its installation destination.
6452 (for-each
6453 (lambda (file)
6454 (copy-recursively file (string-append lisp "/" file)))
6455 '("etc" "info" "js" "lisp" "media" "scapes" "servers" "sounds"
6456 "stumpwm" "xsl"))
6457 ;; Make sure emacspeak is loaded from the correct directory.
6458 (substitute* "etc/emacspeak.sh"
ea32c946
KK
6459 (("/lisp/emacspeak-setup.el")
6460 (string-append lisp "/lisp/emacspeak-setup.el")))
eeb883cb
RW
6461 ;; Install the convenient startup script.
6462 (mkdir-p bin)
6463 (copy-file "etc/emacspeak.sh" (string-append bin "/emacspeak")))
6464 #t))
6465 (add-after 'install 'wrap-program
6466 (lambda* (#:key inputs outputs #:allow-other-keys)
6467 (let* ((out (assoc-ref outputs "out"))
6468 (emacspeak (string-append out "/bin/emacspeak"))
6469 (espeak (string-append (assoc-ref inputs "espeak")
6470 "/bin/espeak")))
6471 ;; The environment variable DTK_PROGRAM tells emacspeak what
6472 ;; program to use for speech.
6473 (wrap-program emacspeak
6474 `("DTK_PROGRAM" ":" prefix (,espeak)))
6475 #t))))
6476 #:tests? #f)) ; no check target
6477 (inputs
6478 `(("emacs" ,emacs)
6479 ("espeak" ,espeak)
6480 ("perl" ,perl)
6481 ("tcl" ,tcl)
6482 ("tclx" ,tclx)))
6483 (home-page "http://emacspeak.sourceforge.net")
6484 (synopsis "Audio desktop interface for Emacs")
6485 (description
6486 "Emacspeak is a speech interface that allows visually impaired users to
6487interact independently and efficiently with the computer. Audio formatting
6488--a technique pioneered by AsTeR-- and full support for W3C's Aural CSS (ACSS)
6489allows Emacspeak to produce rich aural presentations of electronic information.
6490By seamlessly blending all aspects of the Internet such as Web-surfing and
6491messaging, Emacspeak speech-enables local and remote information via a
6492consistent and well-integrated user interface.")
6493 (license license:gpl2+)))
6494
6495(define-public emacs-adaptive-wrap
6496 (package
6497 (name "emacs-adaptive-wrap")
6498 (version "0.5.1")
6499 (source (origin
6500 (method url-fetch)
6501 (uri (string-append
6502 "http://elpa.gnu.org/packages/adaptive-wrap-"
6503 version ".el"))
6504 (sha256
6505 (base32
6506 "0qi7gjprcpywk2daivnlavwsx53hl5wcqvpxbwinvigg42vxh3ll"))))
6507 (build-system emacs-build-system)
6508 (home-page "http://elpa.gnu.org/packages/adaptive-wrap.html")
6509 (synopsis "Smart line-wrapping with wrap-prefix")
6510 (description
6511 "This Emacs package provides the @code{adaptive-wrap-prefix-mode}
6512minor mode which sets the wrap-prefix property on the fly so that
6513single-long-line paragraphs get word-wrapped in a way similar to what
6514you'd get with @kbd{M-q} using @code{adaptive-fill-mode}, but without
6515actually changing the buffer's text.")
6516 (license license:gpl3+)))
6517
6518(define-public emacs-diff-hl
6519 (package
6520 (name "emacs-diff-hl")
6521 (version "1.8.5")
6522 (source
6523 (origin
6524 (method url-fetch)
6525 (uri (string-append "https://elpa.gnu.org/packages/diff-hl-"
6526 version ".tar"))
6527 (sha256
6528 (base32
6529 "1vxc7z7c2qs0mx7l5sa4sybi5qbzv0s79flj74p1ynw8dl3qxg3d"))))
6530 (build-system emacs-build-system)
6531 (home-page "https://github.com/dgutov/diff-hl")
6532 (synopsis
6533 "Highlight uncommitted changes using VC")
6534 (description
6535 "@code{diff-hl-mode} highlights uncommitted changes on the side of the
6536window (using the fringe, by default), allows you to jump between
6537the hunks and revert them selectively.")
6538 (license license:gpl3+)))
6539
6540(define-public emacs-diminish
6541 (package
6542 (name "emacs-diminish")
6543 (version "0.45")
6544 (source
6545 (origin
6546 (method url-fetch)
6547 (uri (string-append
6548 "https://github.com/myrjola/diminish.el/archive/v"
6549 version ".tar.gz"))
6550 (file-name (string-append name "-" version ".tar.gz"))
6551 (sha256
6552 (base32
6553 "0i3629sv5cfrrb00hcnmaqzgs8mk36yasc1ax3ry1ga09nr6rkj9"))))
6554 (build-system emacs-build-system)
6555 (home-page "https://github.com/myrjola/diminish.el")
6556 (synopsis "Diminish minor modes with no modeline display")
6557 (description "@code{emacs-diminish} implements hiding or
6558abbreviation of the mode line displays (lighters) of minor modes.")
6559 (license license:gpl2+)))
6560
6561(define-public emacs-use-package
6562 (let ((commit "da8c9e2840343906e732f9699e43d35a1f06481d")
6563 (revision "1"))
6564 (package
6565 (name "emacs-use-package")
6566 (version (git-version "2.3" revision commit))
6567 (source (origin
6568 (method git-fetch)
6569 (uri (git-reference
6570 (url "https://github.com/jwiegley/use-package")
6571 (commit commit)))
6572 (file-name (git-file-name name version))
6573 (sha256
6574 (base32
6575 "0jz38pbq1p9h85i6qcsh3sfzkd103y6mw3rg5zd14dxigp8ir3xz"))))
6576 (build-system emacs-build-system)
6577 (propagated-inputs
6578 `(("emacs-diminish" ,emacs-diminish)))
6579 (arguments
6580 `(#:tests? #t
6581 #:test-command '("emacs" "--batch"
6582 "-l" "use-package-tests.el"
6583 "-f" "ert-run-tests-batch-and-exit")))
6584 (home-page "https://github.com/jwiegley/use-package")
6585 (synopsis "Declaration for simplifying your .emacs")
6586 (description "The use-package macro allows you to isolate package
6587configuration in your @file{.emacs} file in a way that is both
6588performance-oriented and tidy.")
6589 (license license:gpl2+))))
6590
6591(define-public emacs-strace-mode
6592 (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
6593 (revision "1"))
6594 (package
6595 (name "emacs-strace-mode")
6596 (version (string-append "0.0.2-" revision "." (string-take commit 7)))
6597 (source (origin
6598 (method git-fetch)
6599 (uri (git-reference
6600 (url "https://github.com/pkmoore/strace-mode")
6601 (commit commit)))
6602 (file-name (string-append name "-" version "-checkout"))
6603 (sha256
6604 (base32
6605 "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f"))))
6606 (build-system emacs-build-system)
6607 (home-page "https://github.com/pkmoore/strace-mode")
6608 (synopsis "Emacs major mode to highlight strace outputs")
6609 (description "@code{emacs-strace-mode} provides an Emacs major mode
6610 highlighting strace outputs.")
6611 (license license:gpl3+))))
6612
6613(define-public emacs-default-encrypt
6614 (package
6615 (name "emacs-default-encrypt")
6616 (version "4.3")
6617 (source
6618 (origin
6619 (method url-fetch)
6620 (uri (string-append
6621 "https://www.informationelle-selbstbestimmung-im-internet.de"
6622 "/emacs/jl-encrypt" version "/jl-encrypt.el"))
6623 (file-name (string-append "jl-encrypt-" version ".el"))
6624 (sha256
6625 (base32
6626 "16i3rlfp3jxlqvndn8idylhmczync3gwmy8a019v29vyr48rnnr0"))))
6627 (build-system emacs-build-system)
6628 (home-page "https://www.informationelle-selbstbestimmung-im-internet.de/Emacs.html")
6629 (synopsis "Automatically encrypt or sign Gnus messages in Emacs")
6630 (description
6631 "DefaultEncrypt is designed to be used with Gnus in Emacs. It
6632automatically encrypts messages that you send (e.g., email) when public keys
6633for all recipients are available, and it protects you from accidentally
6634sending un-encrypted messages. It can also be configured to automatically
6635sign messages that you send. For details and instructions on how to use
6636DefaultEncrypt, please refer to the home page or read the comments in the
6637source file, @file{jl-encrypt.el}.")
6638 (license license:gpl3+)))
6639
6640(define-public emacs-htmlize
6641 (package
6642 (name "emacs-htmlize")
6643 (version "1.53")
6644 (source
6645 (origin
6646 (method url-fetch)
6647 (uri (string-append
6648 "https://github.com/hniksic/emacs-htmlize/archive/release/"
6649 version ".tar.gz"))
6650 (file-name (string-append name "-" version ".tar.gz"))
6651 (sha256
6652 (base32
6653 "1lzaf9m1qr9dhw4nn53g6wszk2vqw95gpsbrc3y85bams4cn24ga"))))
6654 (build-system emacs-build-system)
6655 (home-page "https://github.com/hniksic/emacs-htmlize")
6656 (synopsis "Convert buffer text and decorations to HTML")
6657 (description "@code{emacs-htmlize} converts the buffer text and
6658the associated decorations to HTML. Output to CSS, inline CSS and
6659fonts is supported.")
6660 (license license:gpl2+)))
6661
6662(define-public emacs-xmlgen
6663 (package
6664 (name "emacs-xmlgen")
6665 (version "0.5")
6666 (source
6667 (origin
6668 (method url-fetch)
6669 (uri (string-append
6670 "https://github.com/philjackson/xmlgen/archive/"
6671 version ".tar.gz"))
6672 (file-name (string-append name "-" version ".tar.gz"))
6673 (sha256
6674 (base32
6675 "0zay490vjby3f7455r0vydmjg7q1gwc78hilpfb0rg4gwz224z8r"))))
6676 (build-system emacs-build-system)
6677 (arguments
6678 `(#:tests? #t
6679 #:test-command '("emacs" "--batch"
6680 "-l" "xmlgen-test.el"
6681 "-f" "ert-run-tests-batch-and-exit")))
6682 (home-page "https://github.com/philjackson/xmlgen")
6683 (synopsis "S-expression to XML domain specific language (DSL) in
6684Emacs Lisp")
6685 (description "@code{emacs-xmlgen} provides S-expression to XML
6686conversion for Emacs Lisp.")
6687 (license license:gpl2+)))
6688
6689(define-public emacs-cdlatex
6690 (package
6691 (name "emacs-cdlatex")
6692 (version "4.7")
6693 (source
6694 (origin
6695 (method url-fetch)
6696 (uri (string-append
6697 "https://github.com/cdominik/cdlatex/archive/"
6698 version ".tar.gz"))
6699 (file-name (string-append name "-" version ".tar.gz"))
6700 (sha256
6701 (base32
6702 "0pivapphmykc6vhvpx7hdyl55ls37vc4jcrxpvs4yk7jzcmwa9xp"))))
6703 (build-system emacs-build-system)
6704 (propagated-inputs
6705 `(("emacs-auctex" ,emacs-auctex)))
6706 (home-page "https://github.com/cdominik/cdlatex")
6707 (synopsis "Fast Emacs input methods for LaTeX environments and
6708math")
6709 (description "CDLaTeX is an Emacs minor mode supporting fast
6710insertion of environment templates and math in LaTeX. Similar
6711commands are also offered as part of the AUCTeX package, but it is not
6712the same - CDLaTeX focuses on speediness for inserting LaTeX
6713constructs.")
6714 (license license:gpl3+)))
6715
6716(define-public emacs-cnfonts
6717 (package
6718 (name "emacs-cnfonts")
6719 (version "0.9.1")
6720 (source (origin
6721 (method url-fetch)
6722 (uri (string-append
6723 "https://github.com/tumashu/cnfonts/archive/v"
6724 version ".tar.gz"))
6725 (file-name (string-append name "-" version ".tar.gz"))
6726 (sha256
6727 (base32
6728 "1l6cgcvc6md1zq97ccczankpyi0k4vjx6apflny6kjq3p33lyhf4"))))
6729 (build-system emacs-build-system)
6730 (home-page "https://github.com/tumashu/cnfonts")
6731 (synopsis "Emacs Chinese fonts setup tool")
6732 (description "cnfonts is a Chinese fonts setup tool, allowing for easy
6733configuration of Chinese fonts.")
6734 (license license:gpl2+)))
6735
6736(define-public emacs-php-mode
6737 (package
6738 (name "emacs-php-mode")
6739 (version "20171225.342")
6740 (source (origin
6741 (method url-fetch)
6742 (uri (string-append
6743 "https://melpa.org/packages/php-mode-"
6744 version ".tar"))
6745 (sha256
6746 (base32
6747 "1zz682f34v4wsm2dyj1gnrnvsrqdq1cy7j8p6cvc398w2fziyg3q"))))
6748 (build-system emacs-build-system)
6749 (home-page "https://github.com/ejmr/php-mode")
6750 (synopsis "Major mode for editing PHP code")
6751 (description "@code{php-mode} is a major mode for editing PHP source
6752code. It's an extension of C mode; thus it inherits all C mode's navigation
6753functionality. But it colors according to the PHP grammar and indents
6754according to the PEAR coding guidelines. It also includes a couple handy
6755IDE-type features such as documentation search and a source and class
6756browser.")
6757 (license license:gpl3+)))
6758
6759(define-public emacs-pos-tip
6760 (package
6761 (name "emacs-pos-tip")
6762 (version "0.4.6")
6763 (source (origin
6764 (method url-fetch)
6765 (uri (string-append
6766 "https://github.com/pitkali/pos-tip/archive/"
6767 version ".tar.gz"))
6768 (file-name (string-append name "-" version ".tar.gz"))
6769 (sha256
6770 (base32
6771 "12jqfy26vjk7lq0aa8yn8zqj8c85fkvx7y9prj0pcn4wqiz2ad2r"))))
6772 (build-system emacs-build-system)
6773 ;; The following functions and variables needed by emacs-pos-tip are
6774 ;; not included in emacs-minimal:
6775 ;; x-display-pixel-width, x-display-pixel-height, x-show-tip
6776 (arguments `(#:emacs ,emacs))
6777 (home-page "https://github.com/pitkali/pos-tip")
6778 (synopsis "Show tooltip at point")
6779 (description "The standard library tooltip.el provides a function for
6780displaying a tooltip at the mouse position. However, locating a tooltip at an
6781arbitrary buffer position in a window is not easy. Pos-tip provides such a
6782function to be used by other frontend programs.")
6783 (license license:gpl2+)))
6784
6785(define-public emacs-pyim-basedict
6786 (package
6787 (name "emacs-pyim-basedict")
6788 (version "0.3.1")
6789 (source (origin
6790 (method url-fetch)
6791 (uri (string-append
6792 "https://github.com/tumashu/pyim-basedict/archive/v"
6793 version ".tar.gz"))
6794 (file-name (string-append name "-" version ".tar.gz"))
6795 (sha256
6796 (base32
6797 "0nfgxviavkgrpyfsw60xsws4fk51fcmgl8fp6zf4ibqjjbp53n3n"))))
6798 (build-system emacs-build-system)
6799 (home-page "https://github.com/tumashu/pyim-basedict")
6800 (synopsis "Input method dictionary of pyim")
6801 (description "Pyim-basedict is the default pinyin input method dictionary,
6802containing words from the rime project.")
6803 (license license:gpl2+)))
6804
6805(define-public emacs-pyim
6806 (package
6807 (name "emacs-pyim")
6808 (version "1.8")
6809 (source
6810 (origin
6811 (method git-fetch)
6812 (uri (git-reference
6813 (url "https://github.com/tumashu/pyim")
6814 (commit (string-append "v" version))))
6815 (file-name (git-file-name name version))
6816 (sha256
6817 (base32
6818 "16rma4cv7xgky0g3x4an27v30jdi6i1sqw43cl99zhkqvp43l3f9"))))
6819 (build-system emacs-build-system)
6820 (propagated-inputs
6821 `(("emacs-async" ,emacs-async)
6822 ("emacs-pyim-basedict" ,emacs-pyim-basedict)
6823 ("emacs-popup" ,emacs-popup)
6824 ("emacs-posframe" ,emacs-posframe)))
6825 (home-page "https://github.com/tumashu/pyim")
6826 (synopsis "Chinese input method")
6827 (description "Chinese input method which supports quanpin, shuangpin, wubi
6828and cangjie.")
6829 (license license:gpl2+)))
6830
6831(define-public emacs-posframe
6832 (package
6833 (name "emacs-posframe")
6834 (version "0.4.2")
6835 (source
6836 (origin
6837 (method url-fetch)
6838 (uri (string-append
6839 "https://elpa.gnu.org/packages/posframe-" version ".el"))
6840 (sha256
6841 (base32
6842 "1h8vvxvsg41vc1nnglqjs2q0k1yzfsn72skga9s76qa3zxmx6kds"))))
6843 (build-system emacs-build-system)
6844 ;; emacs-minimal does not include the function font-info
6845 (arguments `(#:emacs ,emacs))
6846 (home-page "https://github.com/tumashu/posframe")
6847 (synopsis "Pop a posframe (a child frame) at point")
6848 (description "@code{emacs-posframe} can pop a posframe at point. A
6849posframe is a child frame displayed within its root window's buffer.
6850@code{emacs-posframe} is fast and works well with CJK languages.")
6851 (license license:gpl3+)))
6852
6853(define-public emacs-el2org
6854 (package
6855 (name "emacs-el2org")
6856 (version "0.6.0")
6857 (source (origin
6858 (method url-fetch)
6859 (uri (string-append
6860 "https://github.com/tumashu/el2org/archive/v"
6861 version ".tar.gz"))
6862 (file-name (string-append name "-" version ".tar.gz"))
6863 (sha256
6864 (base32
6865 "0gd3km1swwvg2w0kdi7370f54wgrflxn63gjgssfjc1iyc9sbqwq"))))
6866 (build-system emacs-build-system)
6867 (home-page "https://github.com/tumashu/el2org")
6868 (synopsis "Convert Emacs-lisp file to org file")
6869 (description "El2org is a simple tool, which can convert Emacs-lisp file
6870to org file, you can use this tool to write orgify commentary.")
6871 (license license:gpl2+)))
6872
6873(define-public emacs-mustache
6874 (package
6875 (name "emacs-mustache")
6876 (version "0.23")
6877 (source (origin
6878 (method url-fetch)
6879 (uri (string-append
6880 "https://github.com/Wilfred/mustache.el/archive/"
6881 version ".tar.gz"))
6882 (file-name (string-append name "-" version ".tar.gz"))
6883 (sha256
6884 (base32
6885 "0k9lcgil7kykkv1ylrgwy1g13ldjjmgi2cwmysgyb2vlj3jbwpdj"))))
6886 (build-system emacs-build-system)
6887 (propagated-inputs
6888 `(("emacs-dash" ,emacs-dash)
6889 ("emacs-ht" ,emacs-ht)
6890 ("emacs-s" ,emacs-s)))
6891 (home-page "https://github.com/Wilfred/mustache.el")
6892 (synopsis "Mustache templating library for Emacs")
6893 (description "Mustache templating library for Emacs, mustache is
6894a simple web template system, which is described as a logic-less system
6895because it lacks any explicit control flow statements, both looping and
6896conditional evaluation can be achieved using section tags processing lists
6897and lambdas.")
6898 (license license:gpl3+)))
6899
6900(define-public emacs-org2web
6901 (package
6902 (name "emacs-org2web")
6903 (version "0.9.1")
6904 (source (origin
6905 (method url-fetch)
6906 (uri (string-append
6907 "https://github.com/tumashu/org2web/archive/v"
6908 version ".tar.gz"))
6909 (file-name (string-append name "-" version ".tar.gz"))
6910 (sha256
6911 (base32
6912 "1c0ixcphlhp4c4qdiwq40bc3yp1gp1llp8pxrk4s7ny9n68s52zp"))))
6913 (build-system emacs-build-system)
6914 (propagated-inputs
6915 `(("emacs-dash" ,emacs-dash)
6916 ("emacs-el2org" ,emacs-el2org)
6917 ("emacs-ht" ,emacs-ht)
6918 ("emacs-mustache" ,emacs-mustache)
6919 ("emacs-simple-httpd" ,emacs-simple-httpd)))
6920 (home-page "https://github.com/tumashu/org2web")
6921 (synopsis "Static site generator based on org-mode ")
6922 (description "Org2web is a static site generator based on org-mode,
6923which code derived from Kelvin H's org-page.")
6924 (license license:gpl2+)))
6925
6926(define-public emacs-xelb
6927 (package
6928 (name "emacs-xelb")
e3da630b 6929 (version "0.17")
eeb883cb
RW
6930 (source (origin
6931 (method url-fetch)
6932 (uri (string-append "https://elpa.gnu.org/packages/xelb-"
6933 version ".tar"))
6934 (sha256
6935 (base32
e3da630b 6936 "0k98580vq253fjdgklgqlwl450saninfw39fbq8lv3xsnp3dcgml"))))
eeb883cb
RW
6937 (build-system emacs-build-system)
6938 ;; The following functions and variables needed by emacs-xelb are
6939 ;; not included in emacs-minimal:
6940 ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym
6941 ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region
6942 ;; x-display-pixel-width, x-display-pixel-height
6943 (arguments
6944 `(#:emacs ,emacs
6945 #:phases
6946 (modify-phases %standard-phases
6947 (add-after 'unpack 'regenerate-el-files
6948 (lambda* (#:key inputs #:allow-other-keys)
6949 (invoke "make"
6950 (string-append "PROTO_PATH="
6951 (assoc-ref inputs "xcb-proto")
6952 "/share/xcb")
6953 (string-append "EMACS_BIN="
6954 (assoc-ref inputs "emacs")
6955 "/bin/emacs -Q")))))))
6956 (native-inputs `(("xcb-proto" ,xcb-proto)))
6957 (home-page "https://github.com/ch11ng/xelb")
6958 (synopsis "X protocol Emacs Lisp binding")
6959 (description "@code{emacs-xelb} is a pure Emacs Lisp implementation of the
6960X11 protocol based on the XML description files from the XCB project. It
6961features an object-oriented API and permits a certain degree of concurrency.
6962It should enable you to implement low-level X11 applications.")
6963 (license license:gpl3+)))
6964
6965(define-public emacs-exwm
6966 (package
6967 (name "emacs-exwm")
451a5ae9 6968 (version "0.22")
eeb883cb
RW
6969 (synopsis "Emacs X window manager")
6970 (source (origin
6971 (method url-fetch)
6972 (uri (string-append "https://elpa.gnu.org/packages/exwm-"
6973 version ".tar"))
6974 (sha256
6975 (base32
451a5ae9 6976 "0lppm8ng37i5s4x7xdrxhjbdcnpl6pyvn4g7w52zbckjsn8qnqh0"))))
eeb883cb
RW
6977 (build-system emacs-build-system)
6978 (propagated-inputs
6979 `(("emacs-xelb" ,emacs-xelb)))
6980 (inputs
6981 `(("xhost" ,xhost)
6982 ("dbus" ,dbus)))
6983 ;; The following functions and variables needed by emacs-exwm are
6984 ;; not included in emacs-minimal:
6985 ;; scroll-bar-mode, fringe-mode
6986 ;; x-display-pixel-width, x-display-pixel-height
6987 (arguments
6988 `(#:emacs ,emacs
6989 #:phases
6990 (modify-phases %standard-phases
6991 (add-after 'build 'install-xsession
6992 (lambda* (#:key inputs outputs #:allow-other-keys)
6993 (let* ((out (assoc-ref outputs "out"))
6994 (xsessions (string-append out "/share/xsessions"))
6995 (bin (string-append out "/bin"))
6996 (exwm-executable (string-append bin "/exwm")))
6997 ;; Add a .desktop file to xsessions
6998 (mkdir-p xsessions)
6999 (mkdir-p bin)
7000 (with-output-to-file
7001 (string-append xsessions "/exwm.desktop")
7002 (lambda _
7003 (format #t "[Desktop Entry]~@
7004 Name=~a~@
7005 Comment=~a~@
7006 Exec=~a~@
f7d011d2 7007 TryExec=~:*~a~@
eeb883cb
RW
7008 Type=Application~%" ,name ,synopsis exwm-executable)))
7009 ;; Add a shell wrapper to bin
7010 (with-output-to-file exwm-executable
7011 (lambda _
7012 (format #t "#!~a ~@
7013 ~a +SI:localuser:$USER ~@
7014 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
7015 (string-append (assoc-ref inputs "bash") "/bin/sh")
7016 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
7017 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
7018 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
7019 '(cond
7020 ((file-exists-p "~/.exwm")
7021 (load-file "~/.exwm"))
7022 ((not (featurep 'exwm))
7023 (require 'exwm)
7024 (require 'exwm-config)
7025 (exwm-config-default)
7026 (message (concat "exwm configuration not found. "
7027 "Falling back to default configuration...")))))))
7028 (chmod exwm-executable #o555)
7029 #t))))))
7030 (home-page "https://github.com/ch11ng/exwm")
7031 (description "EXWM is a full-featured tiling X window manager for Emacs
7032built on top of XELB.")
7033 (license license:gpl3+)))
7034
7035(define-public emacs-switch-window
7036 (package
7037 (name "emacs-switch-window")
7038 (version "1.6.2")
7039 (source
7040 (origin
7041 (method git-fetch)
7042 (uri (git-reference
7043 (url "https://github.com/dimitri/switch-window")
7044 (commit (string-append "v" version))))
7045 (file-name (git-file-name name version))
7046 (sha256
7047 (base32
7048 "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"))))
7049 (build-system emacs-build-system)
7050 (home-page "https://github.com/dimitri/switch-window")
7051 (synopsis "Emacs window switch tool")
7052 (description "Switch-window is an emacs window switch tool, which
7053offer a visual way to choose a window to switch to, delete, split or
7054other operations.")
7055 (license license:wtfpl2)))
7056
7057(define-public emacs-exwm-x
7058 (package
7059 (name "emacs-exwm-x")
7060 (version "1.9.0")
7061 (synopsis "Derivative window manager based on EXWM")
7062 (source
7063 (origin
7064 (method git-fetch)
7065 (uri (git-reference
7066 (url "https://github.com/tumashu/exwm-x")
7067 (commit (string-append "v" version))))
7068 (file-name (git-file-name name version))
7069 (sha256
7070 (base32
7071 "03l3dl7s1qys1kkh40rm1sfx7axy1b8sf5f6nyksj9ps6d30p5i4"))))
7072 (build-system emacs-build-system)
7073 (propagated-inputs
7074 `(("emacs-exwm" ,emacs-exwm)
7075 ("emacs-switch-window" ,emacs-switch-window)
7076 ("emacs-ivy" ,emacs-ivy)
7077 ("emacs-use-package" ,emacs-use-package)))
7078 (inputs
7079 `(("xhost" ,xhost)
7080 ("dbus" ,dbus)))
7081 ;; Need emacs instead of emacs-minimal,
7082 ;; for emacs's bin path will be inserted into bin/exwm-x file.
7083 (arguments
7084 `(#:emacs ,emacs
7085 #:phases
7086 (modify-phases %standard-phases
7087 (add-after 'build 'install-xsession
7088 (lambda* (#:key inputs outputs #:allow-other-keys)
7089 (let* ((out (assoc-ref outputs "out"))
7090 (xsessions (string-append out "/share/xsessions"))
7091 (bin (string-append out "/bin"))
7092 (exwm-executable (string-append bin "/exwm-x")))
7093 ;; Add a .desktop file to xsessions
7094 (mkdir-p xsessions)
7095 (mkdir-p bin)
7096 (with-output-to-file
7097 (string-append xsessions "/exwm-x.desktop")
7098 (lambda _
7099 (format #t "[Desktop Entry]~@
7100 Name=~a~@
7101 Comment=~a~@
7102 Exec=~a~@
7103 TryExec=~@*~a~@
7104 Type=Application~%" ,name ,synopsis exwm-executable)))
7105 ;; Add a shell wrapper to bin
7106 (with-output-to-file exwm-executable
7107 (lambda _
7108 (format #t "#!~a ~@
7109 ~a +SI:localuser:$USER ~@
7110 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
7111 (string-append (assoc-ref inputs "bash") "/bin/sh")
7112 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
7113 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
7114 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
7115 '(require 'exwmx-loader))))
7116 (chmod exwm-executable #o555)
7117 #t))))))
7118 (home-page "https://github.com/tumashu/exwm-x")
7119 (description "EXWM-X is a derivative window manager based on EXWM, with focus
7120on mouse-control.")
7121 (license license:gpl3+)))
7122
7123(define-public emacs-gnuplot
7124 (package
7125 (name "emacs-gnuplot")
7126 (version "0.7.0")
7127 (source
7128 (origin
7129 (method url-fetch)
7130 (uri (string-append
7131 "https://github.com/bruceravel/gnuplot-mode/archive/"
7132 version ".tar.gz"))
7133 (file-name (string-append name "-" version ".tar.gz"))
7134 (sha256
7135 (base32
7136 "0glzymrn138lwig7p4cj17x4if5jisr6l4g6wcbxisqkqgc1h01i"))))
7137 (build-system gnu-build-system)
7138 (native-inputs `(("emacs" ,emacs-minimal)))
7139 (arguments
7140 (let ((elisp-dir (string-append "/share/emacs/site-lisp/guix.d"
7141 "/gnuplot-" version)))
7142 `(#:modules ((guix build gnu-build-system)
7143 (guix build utils)
7144 (guix build emacs-utils))
7145 #:imported-modules (,@%gnu-build-system-modules
7146 (guix build emacs-utils))
7147 #:configure-flags
7148 (list (string-append "EMACS=" (assoc-ref %build-inputs "emacs")
7149 "/bin/emacs")
7150 (string-append "--with-lispdir=" %output ,elisp-dir))
7151 #:phases
7152 (modify-phases %standard-phases
7153 (add-after 'install 'generate-autoloads
7154 (lambda* (#:key outputs #:allow-other-keys)
7155 (emacs-generate-autoloads
7156 "gnuplot"
7157 (string-append (assoc-ref outputs "out") ,elisp-dir))
7158 #t))))))
7159 (home-page "https://github.com/bruceravel/gnuplot-mode")
7160 (synopsis "Emacs major mode for interacting with gnuplot")
7161 (description "@code{emacs-gnuplot} is an emacs major mode for interacting
7162with gnuplot.")
7163 (license license:gpl2+)))
7164
7165(define-public emacs-transpose-frame
7166 (package
7167 (name "emacs-transpose-frame")
7168 (version "0.1.0")
7169 (source
7170 (origin
7171 (method url-fetch)
7172 (uri "http://www.emacswiki.org/emacs/download/transpose-frame.el")
7173 (file-name (string-append "transpose-frame-" version ".el"))
7174 (sha256
7175 (base32
7176 "1f67yksgw9s6j0033hmqzaxx2a93jm11sd5ys7cc3li5gfh680m4"))))
7177 (build-system emacs-build-system)
7178 (home-page "https://www.emacswiki.org/emacs/TransposeFrame")
7179 (synopsis "Transpose window arrangement in current frame")
7180 (description "@code{emacs-transpose-frame} provides some interactive
7181functions which allows users to transpose windows arrangement in currently
7182selected frame.")
7183 (license license:bsd-2)))
7184
7185(define-public emacs-key-chord
7186 (package
7187 (name "emacs-key-chord")
7188 (version "0.6")
7189 (source
7190 (origin
7191 (method url-fetch)
7192 (uri "https://www.emacswiki.org/emacs/download/key-chord.el")
7193 (file-name (string-append "key-chord-" version ".el"))
7194 (sha256
7195 (base32
7196 "03m44pqggfrd53nh9dvpdjgm0rvca34qxmd30hr33hzprzjambxg"))))
7197 (build-system emacs-build-system)
7198 (home-page "https://www.emacswiki.org/emacs/key-chord.el")
7199 (synopsis "Map pairs of simultaneously pressed keys to Emacs commands")
7200 (description "@code{emacs-key-chord} provides @code{key-chord-mode}, a
7201mode for binding key chords to commands. A key chord is defined as two keys
7202pressed simultaneously or a single key quickly pressed twice.")
7203 (license license:gpl2+)))
7204
7205(define-public emacs-evil-surround
7206 (package
7207 (name "emacs-evil-surround")
7208 (version "1.0.0")
7209 (source
7210 (origin
7211 (method url-fetch)
7212 (uri (string-append
7213 "https://github.com/timcharper/evil-surround/archive/v"
7214 version ".tar.gz"))
7215 (file-name (string-append name "-" version ".tar.gz"))
7216 (sha256
7217 (base32
7218 "0p572jgic3q1ia1nz37kclir729ay6i2f4sa7wnaapyxly2lwb3r"))))
7219 (build-system emacs-build-system)
7220 (propagated-inputs
7221 `(("emacs-evil" ,emacs-evil)))
7222 (home-page "https://github.com/timcharper/evil-surround")
7223 (synopsis "Easily modify surrounding parantheses and quotes")
7224 (description "@code{emacs-evil-surround} allows easy deletion, change and
7225addition of surrounding pairs, such as parantheses and quotes, in evil mode.")
7226 (license license:gpl3+)))
7227
7228(define-public emacs-evil-commentary
7229 (package
7230 (name "emacs-evil-commentary")
7231 (version "2.1.1")
7232 (source
7233 (origin
7234 (method url-fetch)
7235 (uri (string-append
7236 "https://github.com/linktohack/evil-commentary/archive/v"
7237 version ".tar.gz"))
7238 (file-name (string-append name "-" version ".tar.gz"))
7239 (sha256
7240 (base32
7241 "1jdya0i921nwskwrzdsj0vrr3m7gm49dy6f6pk9p5nxaarfxk230"))))
7242 (build-system emacs-build-system)
7243 (propagated-inputs
7244 `(("emacs-evil" ,emacs-evil)))
7245 (home-page "https://github.com/linktohack/evil-commentary")
7246 (synopsis "Comment out code in evil mode")
7247 (description "@code{emacs-evil-commentary} adds keybindings to easily
7248comment out lines of code in evil mode. It provides @code{gcc} to comment out
7249lines, and @code{gc} to comment out the target of a motion.")
7250 (license license:gpl3+)))
7251
7252;; Tests for emacs-ansi have a circular dependency with ert-runner, and
7253;; therefore cannot be run
7254(define-public emacs-ansi
7255 (package
7256 (name "emacs-ansi")
7257 (version "0.4.1")
7258 (source
7259 (origin
7260 (method url-fetch)
7261 (uri (string-append "https://github.com/rejeep/ansi.el/archive/v"
7262 version ".tar.gz"))
7263 (file-name (string-append name "-" version ".tar.gz"))
7264 (sha256
7265 (base32
7266 "13jj4vbi98j3p17hs99bmy7g21jd5h4v3wpxk4pkvhylm3bfwjw8"))))
7267 (build-system emacs-build-system)
7268 (propagated-inputs
7269 `(("emacs-dash" ,emacs-dash)
7270 ("emacs-s" ,emacs-s)))
7271 (home-page "https://github.com/rejeep/ansi.el")
7272 (synopsis "Convert strings to ANSI")
7273 (description "@code{emacs-ansi} defines functions that turns simple
7274strings to ANSI strings. Turning a string into an ANSI string can be to add
7275color to a text, add color in the background of a text or adding a style, such
7276as bold, underscore or italic.")
7277 (license license:gpl3+)))
7278
7279;; Tests for emacs-commander have a circular dependency with ert-runner, and
7280;; therefore cannot be run
7281(define-public emacs-commander
7282 (package
7283 (name "emacs-commander")
7284 (version "0.7.0")
7285 (source
7286 (origin
7287 (method url-fetch)
7288 (uri (string-append "https://github.com/rejeep/commander.el/archive/v"
7289 version ".tar.gz"))
7290 (file-name (string-append name "-" version ".tar.gz"))
7291 (sha256
7292 (base32
7293 "196s2i15z7gwxa97l1wkxvjnfmj5n38wwm6d3g4zz15l2vqggc2y"))))
7294 (build-system emacs-build-system)
7295 (propagated-inputs
7296 `(("emacs-dash" ,emacs-dash)
7297 ("emacs-f" ,emacs-f)
7298 ("emacs-s" ,emacs-s)))
7299 (home-page "https://github.com/rejeep/commander.el")
7300 (synopsis "Emacs command line parser")
7301 (description "@code{emacs-commander} provides command line parsing for
7302Emacs.")
7303 (license license:gpl3+)))
7304
7305;; Tests for ert-runner have a circular dependency with ecukes, and therefore
7306;; cannot be run
7307(define-public emacs-ert-runner
82328c01
MC
7308 (let ((version "0.7.0")
7309 (revision "1")
7310 (commit "90b8fdd5970ef76a4649be60003b37f82cdc1a65"))
7311 (package
7312 (name "emacs-ert-runner")
7313 (version (git-version "0.7.0" revision commit))
7314 (source
7315 (origin
7316 (method git-fetch)
7317 (uri (git-reference
7318 (url "https://github.com/rejeep/ert-runner.el.git")
7319 (commit commit)))
7320 (file-name (git-file-name name version))
7321 (sha256
7322 (base32
7323 "04nxmyzncacj2wmzd84vv9wkkr2dk9lcb10dvygqmg3p1gadnwzz"))))
7324 (build-system emacs-build-system)
7325 (inputs
7326 `(("emacs-ansi" ,emacs-ansi)
7327 ("emacs-commander" ,emacs-commander)
7328 ("emacs-dash" ,emacs-dash)
7329 ("emacs-f" ,emacs-f)
7330 ("emacs-s" ,emacs-s)
7331 ("emacs-shut-up" ,emacs-shut-up)))
7332 (arguments
7333 `(#:phases
7334 (modify-phases %standard-phases
7335 (add-after 'install 'install-executable
7336 (lambda* (#:key inputs outputs #:allow-other-keys)
f9dff4f7
MC
7337 (let ((out (assoc-ref outputs "out"))
7338 (source-directory (string-append
7339 (getenv "TMPDIR") "/source")))
82328c01
MC
7340 (substitute* "bin/ert-runner"
7341 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
7342 (string-append "ERT_RUNNER=\"" out
7343 "/share/emacs/site-lisp/guix.d/ert-runner-"
7344 ,version)))
7345 (install-file "bin/ert-runner" (string-append out "/bin"))
7346 (wrap-program (string-append out "/bin/ert-runner")
7347 (list "EMACSLOADPATH" ":" 'prefix
f9dff4f7
MC
7348 ;; Do not capture the transient source directory in
7349 ;; the wrapper.
7350 (delete source-directory
7351 (string-split (getenv "EMACSLOADPATH") #\:))))
82328c01
MC
7352 #t))))
7353 #:include (cons* "^reporters/.*\\.el$" %default-include)))
7354 (home-page "https://github.com/rejeep/ert-runner.el")
7355 (synopsis "Opinionated Ert testing workflow")
7356 (description "@code{ert-runner} is a tool for Emacs projects tested
eeb883cb
RW
7357using ERT. It assumes a certain test structure setup and can therefore make
7358running tests easier.")
82328c01 7359 (license license:gpl3+))))
eeb883cb
RW
7360
7361(define-public ert-runner
7362 (deprecated-package "ert-runner" emacs-ert-runner))
7363
7364(define-public emacs-disable-mouse
7365 (package
7366 (name "emacs-disable-mouse")
7367 (version "0.2")
7368 (source
7369 (origin
7370 (method url-fetch)
7371 (uri (string-append
7372 "https://github.com/purcell/disable-mouse/archive/"
7373 version ".tar.gz"))
7374 (file-name (string-append name "-" version ".tar.gz"))
7375 (sha256
7376 (base32
7377 "0haqpq23r1wx04lsqrrg3p5visg9hx5i36dg55ab003wfsrlrzbc"))))
7378 (build-system emacs-build-system)
7379 (home-page "https://github.com/purcell/disable-mouse")
7380 (synopsis "Disable mouse commands globally")
7381 (description
7382 "Provides @code{disable-mouse-mode} and @code{global-disable-mouse-mode},
7383pair of minor modes which suppress all mouse events by intercepting them and
7384running a customisable handler command (@code{ignore} by default). ")
7385 (license license:gpl3+)))
7386
7387(define-public emacs-json-reformat
7388 (package
7389 (name "emacs-json-reformat")
7390 (version "0.0.6")
7391 (source
7392 (origin
7393 (method url-fetch)
7394 (uri (string-append "https://github.com/gongo/json-reformat/archive/"
7395 version ".tar.gz"))
7396 (file-name (string-append name "-" version ".tar.gz"))
7397 (sha256
7398 (base32
7399 "11fbq4scrgr7m0iwnzcrn2g7xvqwm2gf82sa7zy1l0nil7265p28"))
7400 (patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
7401 (build-system emacs-build-system)
7402 (propagated-inputs
7403 `(("emacs-undercover" ,emacs-undercover)))
7404 (native-inputs
7405 `(("emacs-dash" ,emacs-dash)
7406 ("emacs-shut-up" ,emacs-shut-up)
7407 ("ert-runner" ,emacs-ert-runner)))
7408 (arguments
7409 `(#:tests? #t
34e3d028
OP
7410 #:test-command '("ert-runner")
7411 #:phases
7412 (modify-phases %standard-phases
7413 (add-before 'check 'delete-json-objects-order-test
7414 (lambda _
7415 (emacs-batch-edit-file "test/json-reformat-test.el"
7416 `(progn (progn (goto-char (point-min))
7417 (re-search-forward
7418 "ert-deftest json-reformat-test:json-reformat-region")
7419 (beginning-of-line)
7420 (kill-sexp))
7421 (basic-save-buffer)))
7422 #t)))))
eeb883cb
RW
7423 (home-page "https://github.com/gongo/json-reformat")
7424 (synopsis "Reformatting tool for JSON")
7425 (description "@code{json-reformat} provides a reformatting tool for
7426@url{http://json.org/, JSON}.")
7427 (license license:gpl3+)))
7428
7429(define-public emacs-json-snatcher
7430 (package
7431 (name "emacs-json-snatcher")
7432 (version "1.0.0")
7433 (source
7434 (origin
7435 (method url-fetch)
7436 (uri (string-append "https://github.com/Sterlingg/json-snatcher/archive/"
7437 version ".tar.gz"))
7438 (file-name (string-append name "-" version ".tar.gz"))
7439 (sha256
7440 (base32
7441 "1nfiwsifpdiz0lbrqa77nl0crnfrv5h85ans9b0g5rggnmyshcfb"))))
7442 (build-system emacs-build-system)
7443 (home-page "https://github.com/sterlingg/json-snatcher")
7444 (synopsis "Grabs the path to JSON values in a JSON file")
7445 (description "@code{emacs-json-snatcher} grabs the path to JSON values in
7446a @url{http://json.org/, JSON} file.")
7447 (license license:gpl3+)))
7448
7449(define-public emacs-json-mode
7450 (package
7451 (name "emacs-json-mode")
7452 (version "1.7.0")
7453 (source
7454 (origin
7455 (method url-fetch)
7456 (uri (string-append "https://github.com/joshwnj/json-mode/archive/"
7457 "v" version ".tar.gz"))
7458 (file-name (string-append name "-" version ".tar.gz"))
7459 (sha256
7460 (base32
7461 "06h45p4cn767pk9sqi2zb1c65wy5gyyijqxzpglp80zwxhvajdz5"))))
7462 (build-system emacs-build-system)
7463 (propagated-inputs
7464 `(("emacs-json-reformat" ,emacs-json-reformat)
7465 ("emacs-json-snatcher" ,emacs-json-snatcher)))
7466 (home-page "https://github.com/joshwnj/json-mode")
7467 (synopsis "Major mode for editing JSON files")
7468 (description "@code{json-mode} extends the builtin js-mode syntax
7469highlighting.")
7470 (license license:gpl3+)))
7471
7472(define-public emacs-restclient
7473 (let ((commit "07a3888bb36d0e29608142ebe743b4362b800f40")
7474 (revision "1")) ;Guix package revision,
7475 ;upstream doesn't have official releases
7476 (package
7477 (name "emacs-restclient")
7478 (version (string-append revision "."
7479 (string-take commit 7)))
7480 (source (origin
7481 (method git-fetch)
7482 (uri (git-reference
7483 (url "https://github.com/pashky/restclient.el.git")
7484 (commit commit)))
7485 (sha256
7486 (base32
7487 "00lmjhb5im1kgrp54yipf1h9pshxzgjlg71yf2rq5n973gvb0w0q"))
7488 (file-name (git-file-name name version))))
7489 (build-system emacs-build-system)
7490 (propagated-inputs
7491 `(("emacs-helm" ,emacs-helm)))
7492 (home-page "https://github.com/pashky/restclient.el")
7493 (synopsis "Explore and test HTTP REST webservices")
7494 (description
7495 "This tool allows for testing and exploration of HTTP REST Web services
7496from within Emacs. Restclient runs queries from a plan-text query sheet,
7497displays results pretty-printed in XML or JSON with @code{restclient-mode}")
7498 (license license:public-domain))))
7499
7500(define-public emacs-eimp
7501 (let ((version "1.4.0")
7502 (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
7503 (revision "1"))
7504 (package
7505 (name "emacs-eimp")
7506 (version (git-version version revision commit))
7507 (source
7508 (origin
7509 (method git-fetch)
7510 (uri (git-reference
7511 (url "https://github.com/nicferrier/eimp.git")
7512 (commit commit)))
7513 (file-name (git-file-name name version))
7514 (sha256
7515 (base32
7516 "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra"))))
7517 (build-system emacs-build-system)
7518 (arguments
7519 `(#:phases
7520 (modify-phases %standard-phases
7521 (add-after 'unpack 'configure
7522 (lambda* (#:key inputs #:allow-other-keys)
7523 (let ((imagemagick (assoc-ref inputs "imagemagick")))
7524 ;; eimp.el is read-only in git.
7525 (chmod "eimp.el" #o644)
7526 (emacs-substitute-variables "eimp.el"
7527 ("eimp-mogrify-program"
7528 (string-append imagemagick "/bin/mogrify"))))
7529 #t)))))
7530 (inputs
7531 `(("imagemagick" ,imagemagick)))
7532 (home-page "https://github.com/nicferrier/eimp")
7533 (synopsis "Interactive image manipulation utility for Emacs")
7534 (description "@code{emacs-eimp} allows interactive image manipulation
7535from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do
7536the actual transformations.")
7537 (license license:gpl2+))))
7538
7539(define-public emacs-dired-hacks
29e3fd34 7540 (let ((commit "2c1234592aee91dcd9401bcd67213e6a4a464fd9")
eeb883cb
RW
7541 (revision "1"))
7542 (package
7543 (name "emacs-dired-hacks")
7544 (version (string-append "0.0.1-" revision "."
7545 (string-take commit 7)))
7546 (source (origin
7547 (method git-fetch)
7548 (uri (git-reference
7549 (url "https://github.com/Fuco1/dired-hacks.git")
7550 (commit commit)))
7551 (file-name (string-append name "-" version "-checkout"))
7552 (sha256
7553 (base32
29e3fd34 7554 "1g7mky41cahpryzj6frdgzdymknpqq7pidzfjj9304887kijmhj3"))))
eeb883cb
RW
7555 (build-system emacs-build-system)
7556 (propagated-inputs
7557 `(("emacs-dash" ,emacs-dash)
7558 ("emacs-eimp" ,emacs-eimp)
7559 ("emacs-f" ,emacs-f)
7560 ("emacs-s" ,emacs-s)))
7561 (home-page "https://github.com/Fuco1/dired-hacks")
7562 (synopsis
7563 "Collection of useful dired additions")
7564 (description
7565 "Collection of Emacs dired mode additions:
7566@itemize
7567@item dired-avfs
7568@item dired-columns
7569@item dired-filter
7570@item dired-hacks-utils
7571@item dired-images
7572@item dired-list
7573@item dired-narrow
7574@item dired-open
7575@item dired-rainbow
7576@item dired-ranger
7577@item dired-subtree
7578@item dired-tagsistant
7579@end itemize\n")
7580 (license license:gpl3+))))
7581
7582(define-public emacs-dired-sidebar
7583 (let ((commit "06bd0d40bab812c61a668129daf29ba359424454")
7584 (revision "0"))
7585 (package
7586 (name "emacs-dired-sidebar")
7587 (home-page "https://github.com/jojojames/dired-sidebar")
7588 (version (git-version "0.0.1" revision commit))
7589 (source (origin
7590 (method git-fetch)
7591 (uri (git-reference (url home-page) (commit commit)))
7592 (sha256
7593 (base32
7594 "0lvwvq6sl80sha9fq5m4568sg534dhmifyjqw75bqddcbf3by84x"))))
7595 (build-system emacs-build-system)
7596 (propagated-inputs
7597 `(("emacs-dired-subtree" ,emacs-dired-hacks)))
7598 (synopsis "Sidebar for Emacs using Dired")
7599 (description
7600 "This package provides a sidebar for Emacs similar to @code{NeoTree}
7601or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
7602 (license license:gpl3+))))
7603
7604(define-public emacs-which-key
7605 (package
7606 (name "emacs-which-key")
498eb769 7607 (version "3.3.1")
eeb883cb
RW
7608 (source
7609 (origin
7610 (method url-fetch)
7611 (uri (string-append
7612 "https://github.com/justbur/emacs-which-key/archive/v"
7613 version ".tar.gz"))
7614 (sha256
7615 (base32
498eb769 7616 "1g8k0js21bc8mlw6hvmg93zgfjhil77c30cv1hf85y4qb9ldvika"))
eeb883cb
RW
7617 (file-name (string-append name "-" version ".tar.gz"))))
7618 (build-system emacs-build-system)
7619 (arguments
7620 `(#:tests? #t
7621 #:test-command '("emacs" "--batch"
7622 "-l" "which-key-tests.el"
7623 "-f" "ert-run-tests-batch-and-exit")))
7624 (home-page "https://github.com/justbur/emacs-which-key")
7625 (synopsis "Display available key bindings in popup")
7626 (description
7627 "@code{emacs-which-key} is a minor mode for Emacs that displays the key
7628bindings following your currently entered incomplete command (a prefix) in a
7629popup. For example, after enabling the minor mode if you enter C-x and wait
7630for the default of 1 second, the minibuffer will expand with all of the
7631available key bindings that follow C-x (or as many as space allows given your
7632settings).")
7633 (license license:gpl3+)))
7634
7635(define-public emacs-ws-butler
7636 (package
7637 (name "emacs-ws-butler")
7638 (version "0.6")
7639 (source (origin
7640 (method git-fetch)
7641 (uri (git-reference
7642 (url "https://github.com/lewang/ws-butler.git")
7643 (commit "323b651dd70ee40a25accc940b8f80c3a3185205")))
7644 (file-name (string-append name "-" version "-checkout"))
7645 (sha256
7646 (base32
7647 "1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb"))))
7648 (build-system emacs-build-system)
7649 (native-inputs
7650 `(("ert-runner" ,emacs-ert-runner)))
7651 (arguments
7652 `(#:tests? #t
7653 #:test-command '("ert-runner" "tests")))
7654 (home-page "https://github.com/lewang/ws-butler")
7655 (synopsis "Trim spaces from end of lines")
7656 (description
7657 "This Emacs package automatically and unobtrusively trims whitespace
7658characters from end of lines.")
7659 (license license:gpl3+)))
7660
7661(define-public emacs-org-edit-latex
7662 (package
7663 (name "emacs-org-edit-latex")
7664 (version "0.8.0")
7665 (source
7666 (origin
7667 (method url-fetch)
7668 (uri (string-append
7669 "https://github.com/et2010/org-edit-latex/archive/v"
7670 version ".tar.gz"))
7671 (file-name (string-append name "-" version ".tar.gz"))
7672 (sha256
7673 (base32
7674 "1y4h6wrs8286h9pbsv4d8fr67a885vz8b2k80qgv5qddipi2i78p"))))
7675 (build-system emacs-build-system)
7676 (propagated-inputs
7677 `(("emacs-auctex" ,emacs-auctex)
7678 ;; The version of org in Emacs 25.2 is not sufficient, because the
7679 ;; `org-latex-make-preamble' function is required.
7680 ("emacs-org" ,emacs-org)))
7681 (home-page "https://github.com/et2010/org-edit-latex")
7682 (synopsis "Edit a latex fragment just like editing a src block")
7683 (description "@code{emacs-org-edit-latex} is an extension for org-mode.
7684It lets you edit a latex fragment in a dedicated buffer just like editing a
7685src block.")
7686 (license license:gpl3+)))
7687
7688(define-public emacs-emamux
7689 (package
7690 (name "emacs-emamux")
7691 (version "0.14")
7692 (source (origin
7693 (method url-fetch)
7694 (uri (string-append
7695 "https://github.com/syohex/emacs-emamux/archive/"
7696 version ".tar.gz"))
7697 (file-name (string-append name "-" version ".tar.gz"))
7698 (sha256
7699 (base32
7700 "0wlqg4icy037bj70b0qmhvwvmiwhagpnx6pnxhq6gzy1hvwlilkx"))))
7701 (build-system emacs-build-system)
7702 (home-page "https://github.com/syohex/emacs-emamux")
7703 (synopsis "Manipulate Tmux from Emacs")
7704 (description
7705 "@code{emacs-emamux} lets Emacs interact with the @code{tmux} terminal
7706multiplexer.")
7707 (license license:gpl3+)))
7708
7709(define-public emacs-rpm-spec-mode
7710 (package
7711 (name "emacs-rpm-spec-mode")
7712 (version "0.16")
7713 (source
7714 (origin
7715 (method url-fetch)
7716 ;; URI has the Fedora release number instead of the version
7717 ;; number. This will have to updated manually every new release.
7718 (uri (string-append
7719 "https://src.fedoraproject.org/cgit/rpms"
7720 "/emacs-rpm-spec-mode.git/snapshot"
7721 "/emacs-rpm-spec-mode-f26.tar.gz"))
7722 (sha256
7723 (base32
7724 "17dz80lhjrc89fj17pysl8slahzrqdkxgcjdk55zls6jizkr6kz3"))))
7725 (build-system emacs-build-system)
7726 (home-page "http://pkgs.fedoraproject.org/cgit/rpms/emacs-rpm-spec-mode.git")
7727 (synopsis "Emacs major mode for editing RPM spec files")
7728 (description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
7729editing RPM spec files.")
7730 (license license:gpl2+)))
7731
7732(define-public emacs-git-messenger
7733 (package
7734 (name "emacs-git-messenger")
7735 (version "0.18")
7736 (source
7737 (origin
7738 (method url-fetch)
7739 (uri (string-append
7740 "https://github.com/syohex/emacs-git-messenger/archive/"
7741 version ".tar.gz"))
7742 (file-name (string-append name "-" version ".tar.gz"))
7743 (sha256
7744 (base32
7745 "17mqki6g0wx46fn7dcbcc2pjxik7vvrcb1j9jzxim8b9psbsbnp9"))))
7746 (build-system emacs-build-system)
7747 (propagated-inputs
7748 `(("emacs-popup" ,emacs-popup)))
7749 (arguments
7750 `(#:tests? #t
7751 #:test-command '("emacs" "--batch" "-l" "test/test.el"
7752 "-f" "ert-run-tests-batch-and-exit")))
7753 (home-page "https://github.com/syohex/emacs-git-messenger")
7754 (synopsis "Popup commit message at current line")
7755 (description "@code{emacs-git-messenger} provides
7756@code{git-messenger:popup-message}, a function that when called, will popup
7757the last git commit message for the current line. This uses git-blame
7758internally.")
7759 (license license:gpl3+)))
7760
7761(define-public emacs-gitpatch
7762 (package
7763 (name "emacs-gitpatch")
7764 (version "0.5.0")
7765 (source
7766 (origin
7767 (method url-fetch)
7768 (uri (string-append "https://github.com/tumashu/gitpatch/archive/"
7769 "v" version ".tar.gz"))
7770 (file-name (string-append name "-" version ".tar.gz"))
7771 (sha256
7772 (base32
7773 "1yj6pmic541lcnscjin300k380qp9xdfprs55xg1q57jrkq6f6k7"))))
7774 (build-system emacs-build-system)
7775 (home-page "https://github.com/tumashu/gitpatch")
7776 (synopsis "Mail git patch from Emacs")
7777 (description "@code{emacs-gitpatch} lets users easily send git patches,
7778created by @code{git format-patch}, from @code{magit}, @code{dired} and
7779@code{ibuffer} buffers.")
7780 (license license:gpl3+)))
7781
7782(define-public emacs-erc-hl-nicks
7783 (package
7784 (name "emacs-erc-hl-nicks")
7785 (version "1.3.3")
7786 (source
7787 (origin
7788 (method url-fetch)
7789 (uri (string-append "https://github.com/leathekd/erc-hl-nicks"
7790 "/archive/" version ".tar.gz"))
7791 (file-name (string-append name "-" version ".tar.gz"))
7792 (sha256
7793 (base32
7794 "1a1r2kc3688g8c2ybkpwh88kgmnqhg3h3032g2yn4zr9m0n3vpkr"))))
7795 (build-system emacs-build-system)
7796 (synopsis "Nickname highlighting for Emacs ERC")
7797 (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
7798client for Emacs. The main features are:
7799@itemize
7800@item Auto-colorizes nicknames without having to specify colors
7801@item Ignores certain characters that IRC clients add to nicknames to avoid
7802duplicates (nickname, nickname’, nickname\", etc.)
7803@item Attempts to produce colors with a sufficient amount of contrast between
7804the nick color and the background color
7805@end itemize\n")
7806 (home-page "https://github.com/leathekd/erc-hl-nicks")
7807 (license license:gpl3+)))
7808
7809(define-public emacs-engine-mode
7810 (package
7811 (name "emacs-engine-mode")
7812 (version "2.0.0")
7813 (source
7814 (origin
7815 (method url-fetch)
7816 (uri (string-append "https://github.com/hrs/engine-mode/archive/"
7817 "v" version ".tar.gz"))
7818 (file-name (string-append name "-" version ".tar.gz"))
7819 (sha256
7820 (base32
7821 "1vm4p7pcp1vnwwxvps1bhm7i7hkabqqxl898knxf2hqvxys76684"))))
7822 (build-system emacs-build-system)
7823 (synopsis "Minor mode for defining and querying search engines")
7824 (description "@code{engine-mode} is a global minor mode for Emacs. It
7825enables you to easily define search engines, bind them to keybindings, and
7826query them from the comfort of your editor.")
7827 (home-page "https://github.com/hrs/engine-mode")
7828 (license license:gpl3+)))
7829
7830(define-public emacs-prop-menu
7831 (package
7832 (name "emacs-prop-menu")
7833 (version "0.1.2")
7834 (source
7835 (origin
7836 (method url-fetch)
7837 (uri (string-append
7838 "http://stable.melpa.org/packages/prop-menu-"
7839 version ".el"))
7840 (sha256
7841 (base32
7842 "01bk4sjafzz7gqrkv9jg0pa85qr34vbk3q8ga2b0m61bndywzgpr"))))
7843 (build-system emacs-build-system)
7844 (home-page
7845 "https://github.com/david-christiansen/prop-menu-el")
7846 (synopsis
7847 "Create and display a context menu based on text and overlay properties")
7848 (description
7849 "This is a library for computing context menus based on text
7850properties and overlays. The intended use is to have tools that
7851annotate source code and others that use these annotations, without
7852requiring a direct coupling between them, but maintaining
7853discoverability.
7854
7855Major modes that wish to use this library should first define an
7856appropriate value for @code{prop-menu-item-functions}. Then, they should
7857bind @code{prop-menu-by-completing-read} to an appropriate
7858key. Optionally, a mouse pop-up can be added by binding
7859@code{prop-menu-show-menu} to a mouse event.")
7860 (license license:gpl3+)))
7861
7862(define-public emacs-idris-mode
7863 (package
7864 (name "emacs-idris-mode")
7865 (version "0.9.19")
7866 (source
7867 (origin
7868 (method url-fetch)
7869 (uri (string-append
7870 "http://stable.melpa.org/packages/idris-mode-"
7871 version ".tar"))
7872 (sha256
7873 (base32
7874 "02r1qqsxi6qk7q4cj6a6pygbj856dcw9vcmhfh0ib92j41v77q6y"))))
7875 (build-system emacs-build-system)
7876 (propagated-inputs
7877 `(("emacs-prop-menu" ,emacs-prop-menu)))
7878 (home-page
7879 "https://github.com/idris-hackers/idris-mode")
7880 (synopsis "Major mode for editing Idris code")
7881 (description
7882 "This is an Emacs mode for editing Idris code. It requires the latest
7883version of Idris, and some features may rely on the latest Git version of
7884Idris.")
7885 (license license:gpl3+)))
7886
7887(define-public emacs-browse-at-remote
7888 (package
7889 (name "emacs-browse-at-remote")
7890 (version "0.10.0")
7891 (source
7892 (origin
7893 (method url-fetch)
7894 (uri (string-append
7895 "https://github.com/rmuslimov/browse-at-remote/archive/"
7896 version ".tar.gz"))
7897 (file-name (string-append name "-" version ".tar.gz"))
7898 (sha256
7899 (base32
7900 "0ymslsp6i1naw25zckv25bf4aaq6qwkbkn95qyzlwg869l802686"))))
7901 (build-system emacs-build-system)
7902 (propagated-inputs
7903 `(("emacs-f" ,emacs-f)
7904 ("emacs-s" ,emacs-s)))
7905 (native-inputs
7906 `(("ert-runner" ,emacs-ert-runner)))
7907 (arguments
7908 `(#:tests? #t
7909 #:test-command '("ert-runner")))
7910 (home-page "https://github.com/rmuslimov/browse-at-remote")
7911 (synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
7912 (description
7913 "This Emacs package allows you to open a target page on
7914github/gitlab (or bitbucket) by calling @code{browse-at-remote} command.
7915It supports dired buffers and opens them in tree mode at destination.")
7916 (license license:gpl3+)))
7917
7918(define-public emacs-tiny
7919 (package
7920 (name "emacs-tiny")
7921 (version "0.2.1")
7922 (source
7923 (origin
7924 (method url-fetch)
7925 (uri (string-append "http://elpa.gnu.org/packages/tiny-" version ".tar"))
7926 (sha256
7927 (base32
7928 "1cr73a8gba549ja55x0c2s554f3zywf69zbnd7v82jz5q1k9wd2v"))))
7929 (build-system emacs-build-system)
7930 (home-page "https://github.com/abo-abo/tiny")
7931 (synopsis "Quickly generate linear ranges in Emacs")
7932 (description
7933 "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}.
7934It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp
7935proficiency is an advantage, since you can transform your numeric range with
7936an elisp expression.")
7937 (license license:gpl3+)))
7938
7939(define-public emacs-emojify
7940 (package
7941 (name "emacs-emojify")
7942 (version "0.4")
7943 (source
7944 (origin
7945 (method url-fetch)
7946 (uri (string-append "https://github.com/iqbalansari/emacs-emojify/"
7947 "releases/download/v" version "/emojify-"
7948 version ".tar"))
7949 (sha256
7950 (base32
7951 "0k84v2d2bkiwcky9fi1yyprgkj46g7wh6pyl9gzmcd7sqv051d5n"))))
7952 (build-system emacs-build-system)
7953 (arguments
7954 `(#:phases
7955 (modify-phases %standard-phases
7956 (add-after 'install 'install-data
7957 (lambda* (#:key outputs #:allow-other-keys)
7958 (copy-recursively "data"
7959 (string-append (assoc-ref outputs "out")
7960 "/share/emacs/site-lisp/guix.d/"
7961 "emojify-" ,version "/data"))
7962 #t)))))
7963 (propagated-inputs
7964 `(("emacs-ht" ,emacs-ht)))
7965 (home-page "https://github.com/iqbalansari/emacs-emojify")
7966 (synopsis "Display emojis in Emacs")
7967 (description "This package displays emojis in Emacs similar to how Github,
7968Slack, and other websites do. It can display plain ASCII like @code{:)} as
7969well as Github-style emojis like @code{:smile:}. It provides a minor mode
7970@code{emojify-mode} to enable the display of emojis in a buffer.")
7971 (license license:gpl3+)))
7972
7973(define-public emacs-websocket
7974 (package
7975 (name "emacs-websocket")
7976 (version "1.10")
7977 (source
7978 (origin
7979 (method git-fetch)
7980 (uri (git-reference
7981 (url "https://github.com/ahyatt/emacs-websocket.git")
7982 (commit version)))
7983 (file-name (string-append name "-" version "-checkout"))
7984 (sha256
7985 (base32
7986 "1dgrf7na6r6mmkknphzshlbd5fnzisg0qn0j7vfpa38wgsymaq52"))))
7987 (build-system emacs-build-system)
7988 (home-page "http://elpa.gnu.org/packages/websocket.html")
7989 (synopsis "Emacs WebSocket client and server")
7990 (description "This is an Elisp library for WebSocket clients to talk to
7991WebSocket servers, and for WebSocket servers to accept connections from
7992WebSocket clients. This library is designed to be used by other library
7993writers, to write applications that use WebSockets, and is not useful by
7994itself.")
7995 (license license:gpl3+)))
7996
7997(define-public emacs-oauth2
7998 (package
7999 (name "emacs-oauth2")
8000 (version "0.11")
8001 (source
8002 (origin
8003 (method url-fetch)
8004 (uri (string-append "https://elpa.gnu.org/packages/oauth2-"
8005 version ".el"))
8006 (sha256
8007 (base32
8008 "0ydkc9jazsnbbvfhd47mql52y7k06n3z7r0naqxkwb99j9blqsmp"))))
8009 (build-system emacs-build-system)
8010 (home-page "http://elpa.gnu.org/packages/oauth2.html")
8011 (synopsis "OAuth 2.0 authorization protocol implementation")
8012 (description
8013 "This package provides an Elisp implementation of the OAuth 2.0 draft.
8014The main entry point is @code{oauth2-auth-and-store} which will return a token
8015structure. This token structure can be then used with
8016@code{oauth2-url-retrieve-synchronously} or @code{oauth2-url-retrieve} to
8017retrieve any data that need OAuth authentication to be accessed. If the token
8018needs to be refreshed, the code handles it automatically and stores the new
8019value of the access token.")
8020 (license license:gpl3+)))
8021
8022(define-public emacs-circe
8023 (package
8024 (name "emacs-circe")
8025 (version "2.10")
8026 (source
8027 (origin
8028 (method git-fetch)
8029 (uri (git-reference
8030 (url "https://github.com/jorgenschaefer/circe.git")
8031 (commit (string-append "v" version))))
8032 (file-name (git-file-name name version))
8033 (sha256
8034 (base32
8035 "10gi14kwxd81blddpvqh95lgmpbfgp0m955naxix3bs3r6a75n4s"))))
8036 (build-system emacs-build-system)
8037 (arguments
8038 `(#:tests? #t
8039 #:test-command '("buttercup" "-L" ".")
8040 #:phases
8041 (modify-phases %standard-phases
8042 ;; The HOME environment variable should be set to an existing
8043 ;; directory for the tests to succeed.
8044 (add-before 'check 'set-home
8045 (lambda _
8046 (setenv "HOME" "/tmp")
8047 #t)))))
8048 (native-inputs
8049 `(("emacs-buttercup" ,emacs-buttercup)))
8050 ;; In order to securely connect to an IRC server using TLS, Circe requires
8051 ;; the GnuTLS binary.
8052 (propagated-inputs
8053 `(("gnutls" ,gnutls)))
8054 (home-page "https://github.com/jorgenschaefer/circe")
8055 (synopsis "Client for IRC in Emacs")
8056 (description "Circe is a Client for IRC in Emacs. It integrates well with
8057the rest of the editor, using standard Emacs key bindings and indicating
8058activity in channels in the status bar so it stays out of your way unless you
8059want to use it.")
8060 (license license:gpl3+)))
8061
8062(define-public emacs-tracking
8063 (package
8064 (inherit emacs-circe)
8065 (name "emacs-tracking")
8066 (arguments
8067 ;; "tracking.el" is a library extracted from Circe package. It requires
8068 ;; "shorten.el".
8069 `(#:include '("^shorten.el$" "^tracking.el$")
8070 ,@(package-arguments emacs-circe)))
8071 (home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
8072 (synopsis "Buffer tracking library")
8073 (description "@code{tracking.el} provides a way for different modes to
8074notify the user that a buffer needs attention. The user then can cycle
8075through them using @key{C-c C-SPC}.")
8076 (license license:gpl3+)))
8077
8078(define-public emacs-slack
8079 (let ((commit "99a57501629a0329a9ca090c1ea1296462eda02d")
8080 (revision "5"))
8081 (package
8082 (name "emacs-slack")
8083 (version (git-version "0.0.2" revision commit))
8084 (source (origin
8085 (method git-fetch)
8086 (uri (git-reference
8087 (url "https://github.com/yuya373/emacs-slack.git")
8088 (commit commit)))
8089 (file-name (git-file-name name commit))
8090 (sha256
8091 (base32
8092 "0jw1diypfw8pmzkq0napgxmfc0gqka7zcccgnw359604lr30k2z2"))))
8093 (build-system emacs-build-system)
8094 (propagated-inputs
8095 `(("emacs-alert" ,emacs-alert)
8096 ("emacs-emojify" ,emacs-emojify)
8097 ("emacs-helm" ,emacs-helm)
8098 ("emacs-request" ,emacs-request)
8099 ("emacs-websocket" ,emacs-websocket)
8100 ("emacs-oauth2" ,emacs-oauth2)
8101 ("emacs-circe" ,emacs-circe)))
8102 (home-page "https://github.com/yuya373/emacs-slack")
8103 (synopsis "Slack client for Emacs")
8104 (description "This package provides an Emacs client for the Slack
8105messaging service.")
8106 (license license:gpl3+))))
8107
8108(define-public emacs-bash-completion
8109 (package
8110 (name "emacs-bash-completion")
8111 (version "2.1.0")
8112 (source
8113 (origin
8114 (method url-fetch)
8115 (uri (string-append
8116 "https://github.com/szermatt/emacs-bash-completion/archive/v"
8117 version ".tar.gz"))
8118 (file-name (string-append name "-" version ".tar.gz"))
8119 (sha256
8120 (base32
8121 "1z0qck3v3ra6ivacn8n04w1v33a4xn01xx860761q31qzsv3sksq"))))
8122 (inputs `(("bash" ,bash)))
8123 (build-system emacs-build-system)
8124 (arguments
8125 `(#:phases
8126 (modify-phases %standard-phases
8127 (add-before 'install 'configure
8128 (lambda* (#:key inputs #:allow-other-keys)
8129 (let ((bash (assoc-ref inputs "bash")))
8130 (emacs-substitute-variables "bash-completion.el"
8131 ("bash-completion-prog" (string-append bash "/bin/bash"))))
8132 #t)))))
8133 (home-page "https://github.com/szermatt/emacs-bash-completion")
8134 (synopsis "Bash completion for the shell buffer")
8135 (description
8136 "@code{bash-completion} defines dynamic completion hooks for shell-mode
8137and shell-command prompts that are based on Bash completion.")
8138 (license license:gpl2+)))
8139
8140(define-public emacs-easy-kill
8141 (package
8142 (name "emacs-easy-kill")
8143 (version "0.9.3")
8144 (source (origin
8145 (method url-fetch)
8146 (uri (string-append "https://elpa.gnu.org/packages/easy-kill-"
8147 version ".tar"))
8148 (sha256
8149 (base32
8150 "17nw0mglmg877axwg1d0gs03yc0p04lzmd3pl0nsnqbh3303fnqb"))))
8151 (build-system emacs-build-system)
8152 (home-page "https://github.com/leoliu/easy-kill")
8153 (synopsis "Kill and mark things easily in Emacs")
8154 (description
8155 "This package provides commands @code{easy-kill} and @code{easy-mark} to
8156let users kill or mark things easily.")
8157 (license license:gpl3+)))
8158
8159(define-public emacs-csv-mode
8160 (package
8161 (name "emacs-csv-mode")
8162 (version "1.7")
8163 (source
8164 (origin
8165 (method url-fetch)
8166 (uri (string-append "http://elpa.gnu.org/packages/csv-mode-"
8167 version ".el"))
8168 (sha256
8169 (base32
8170 "0r4bip0w3h55i8h6sxh06czf294mrhavybz0zypzrjw91m1bi7z6"))))
8171 (build-system emacs-build-system)
8172 (home-page
8173 "http://elpa.gnu.org/packages/csv-mode.html")
8174 (synopsis
8175 "Major mode for editing comma/char separated values")
8176 (description
8177 "This Emacs package implements CSV mode, a major mode for editing records
8178in a generalized CSV (character-separated values) format.")
8179 (license license:gpl3+)))
8180
8181(define-public emacs-transmission
8182 (package
8183 (name "emacs-transmission")
8184 (version "0.12.1")
8185 (source (origin
8186 (method url-fetch)
8187 (uri (string-append
8188 "https://github.com/holomorph/transmission/archive/"
8189 version ".tar.gz"))
8190 (file-name (string-append name "-" version ".tar.gz"))
8191 (sha256
8192 (base32
8193 "1rrlgn96gi1ljfwbwvlyyxbq75xzamlbdhq1bpyadxxmxcvlmk3n"))))
8194 (build-system emacs-build-system)
8195 (home-page "https://github.com/holomorph/transmission")
8196 (synopsis "Emacs interface to a Transmission session")
8197 (description "This package provides an Emacs interface to interact with a
8198running session of the Transmission Bittorrent client.
8199
8200Features:
8201
8202@itemize
8203@item List, add, start/stop, verify, remove torrents.
8204@item Set speed limits, ratio limits, bandwidth priorities, trackers.
8205@item Navigate to the corresponding file list, torrent info, peer info
8206contexts.
8207@item Toggle downloading and set priorities for individual files.
8208@end itemize\n")
8209 (license license:gpl3+)))
8210
8211(define-public emacs-polymode
8212 (package
8213 (name "emacs-polymode")
8214 (version "0.1.5")
8215 (source (origin
8216 (method git-fetch)
8217 (uri (git-reference
8218 (url "https://github.com/vspinu/polymode.git")
8219 (commit (string-append "v" version))))
8220 (file-name (git-file-name name version))
8221 (sha256
8222 (base32
8223 "0wwphs54jx48a3ca6x1qaz56j3j9bg4mv8g2akkffrzbdcb8sbc7"))))
8224 (build-system emacs-build-system)
8225 (arguments
8226 `(#:include (cons* "^modes/.*\\.el$" %default-include)
8227 #:phases
8228 (modify-phases %standard-phases
8229 (add-after 'set-emacs-load-path 'add-modes-subdir-to-load-path
8230 (lambda _
8231 (setenv "EMACSLOADPATH"
8232 (string-append (getenv "EMACSLOADPATH")
8233 ":" (getcwd) "/modes" ":")))))))
8234 (home-page "https://github.com/vspinu/polymode")
8235 (synopsis "Framework for multiple Emacs modes based on indirect buffers")
8236 (description "Polymode is an Emacs package that offers generic support
8237for multiple major modes inside a single Emacs buffer. It is lightweight,
8238object oriented and highly extensible. Creating a new polymode typically
8239takes only a few lines of code. Polymode also provides extensible facilities
8240for external literate programming tools for exporting, weaving and tangling.")
8241 (license license:gpl3+)))
8242
8243(define-public emacs-polymode-ansible
8244 (let ((commit "b26094d029e25dc797b94254f797e7807a57e4c8"))
8245 (package
8246 (name "emacs-polymode-ansible")
8247 ;; No upstream version release yet.
8248 (version (git-version "0.1" "1" commit))
8249 (source
8250 (origin
8251 (method git-fetch)
8252 (uri (git-reference
8253 (url "https://gitlab.com/mavit/poly-ansible")
8254 (commit commit)))
8255 (file-name (git-file-name name version))
8256 (sha256
8257 (base32
8258 "055shddqibib3hx2ykwdz910nrqws40cd407mq946l2bf6v87gj6"))))
8259 (build-system emacs-build-system)
8260 (propagated-inputs
8261 `(("emacs-ansible-doc" ,emacs-ansible-doc)
8262 ("emacs-jinja2-mode" ,emacs-jinja2-mode)
8263 ("emacs-polymode" ,emacs-polymode)
8264 ("emacs-yaml-mode" ,emacs-yaml-mode)))
8265 (properties '((upstream-name . "poly-ansible")))
8266 (home-page "https://gitlab.com/mavit/poly-ansible/")
8267 (synopsis "Polymode for Ansible - Jinja2 in YAML")
8268 (description
8269 "Edit YAML files for Ansible containing embedded Jinja2 templating.")
8270 (license license:gpl3+))))
8271
8272(define-public eless
8273 (package
8274 (name "eless")
8275 (version "0.3")
8276 (source (origin
8277 (method url-fetch)
8278 (uri (string-append
8279 "https://github.com/kaushalmodi/eless/archive/"
8280 "v" version ".tar.gz"))
8281 (file-name (string-append name "-" version ".tar.gz"))
8282 (sha256
8283 (base32
8284 "0gjnnhgw5xs1w3qfnkvwa2nv44gnxr8pkhx3c7qig45p8nh1461h"))))
8285 (build-system trivial-build-system)
8286 (inputs
8287 `(("bash" ,bash)))
8288 (native-inputs
8289 `(("tar" ,tar)
8290 ("gzip" ,gzip)))
8291 (arguments
8292 `(#:modules ((guix build utils))
8293 #:builder
8294 (begin
8295 (use-modules (guix build utils))
8296 (setenv "PATH" (string-append
8297 (assoc-ref %build-inputs "tar") "/bin" ":"
8298 (assoc-ref %build-inputs "gzip") "/bin"))
8299 (invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
8300 (chdir (string-append "eless" "-" ,version))
8301 (substitute* "eless" (("/usr/bin/env bash")
8302 (string-append (assoc-ref %build-inputs "bash")
8303 "/bin/bash")))
8304 (install-file "eless" (string-append %output "/bin"))
8305 (install-file "doc/eless.info" (string-append %output "/share/info"))
8306 #t)))
8307 (home-page "https://github.com/kaushalmodi/eless")
8308 (synopsis "Use Emacs as a paginator")
8309 (description "@code{eless} provides a combination of Bash script
8310and a minimal Emacs view-mode.
8311
8312Feautures:
8313
8314@itemize
8315@item Independent of a user’s Emacs config.
8316@item Customizable via the @code{(locate-user-emacs-file \"elesscfg\")} config.
8317@item Not require an Emacs server to be already running.
8318@item Syntax highlighting.
8319@item Org-mode file rendering.
8320@item @code{man} page viewer.
8321@item Info viewer.
8322@item Dired, wdired, (batch edit symbolic links).
8323@item Colored diffs, git diff, git log, ls with auto ANSI detection.
8324@item Filter log files lines matching a regexp.
8325@item Auto-revert log files similar to @code{tail -f}.
8326@item Quickly change frame and font sizes.
8327@end itemize\n")
8328 (license license:expat)))
8329
8330(define-public emacs-evil-matchit
8331 (package
8332 (name "emacs-evil-matchit")
96c822a3 8333 (version "2.2.9")
eeb883cb
RW
8334 (source
8335 (origin
8336 (method url-fetch)
8337 (uri (string-append
8338 "https://github.com/redguardtoo/evil-matchit/archive/"
8339 version ".tar.gz"))
8340 (file-name (string-append name "-" version ".tar.gz"))
8341 (sha256
8342 (base32
96c822a3 8343 "1i5a7szl0m3xnqyjq6zhg5j68x9fgf9ffxghj918c4brj4436sjb"))))
eeb883cb
RW
8344 (build-system emacs-build-system)
8345 (propagated-inputs
8346 `(("emacs-evil" ,emacs-evil)))
8347 (home-page "https://github.com/redguardtoo/evil-matchit")
8348 (synopsis "Vim matchit ported into Emacs")
8349 (description
8350 "@code{evil-matchit} is a minor mode for jumping between matching tags in
8351evil mode using @kbd{%}. It is a port of @code{matchit} for Vim.")
8352 (license license:gpl3+)))
8353
8354(define-public emacs-evil-smartparens
8355 (package
8356 (name "emacs-evil-smartparens")
8357 (version "0.4.0")
8358 (source
8359 (origin
8360 (method url-fetch)
8361 (uri (string-append
8362 "https://github.com/expez/evil-smartparens/archive/"
8363 version ".tar.gz"))
8364 (file-name (string-append name "-" version ".tar.gz"))
8365 (sha256
8366 (base32
8367 "1bwzdd3054d407d5j4m3njsbvmc9r8zzp33m32pj3b3irxrl68q0"))))
8368 (build-system emacs-build-system)
8369 (propagated-inputs
8370 `(("emacs-evil" ,emacs-evil)
8371 ("emacs-smartparens" ,emacs-smartparens)))
8372 (home-page "https://github.com/expez/evil-smartparens")
8373 (synopsis "Emacs Evil integration for Smartparens")
8374 (description "@code{emacs-evil-smartparens} is an Emacs minor mode which
8375makes Evil play nice with Smartparens. Evil is an Emacs minor mode that
8376emulates Vim features and provides Vim-like key bindings.")
8377 (license license:gpl3+)))
8378
8379(define-public emacs-evil-quickscope
8380 (package
8381 (name "emacs-evil-quickscope")
8382 (version "0.1.4")
8383 (source
8384 (origin
8385 (method url-fetch)
8386 (uri (string-append "https://github.com/blorbx/evil-quickscope/archive/v"
8387 version ".tar.gz"))
8388 (file-name (string-append name "-" version ".tar.gz"))
8389 (sha256
8390 (base32
8391 "1r26a412mmar7vbf89zcifswiwpdg30mjzj32xdyqss57aqi83ma"))))
8392 (build-system emacs-build-system)
8393 (propagated-inputs
8394 `(("emacs-evil" ,emacs-evil)))
8395 (arguments
8396 `(#:tests? #t
8397 #:test-command '("emacs" "--batch"
8398 "-l" "evil-quickscope-tests.el"
8399 "-f" "ert-run-tests-batch-and-exit")))
8400 (home-page "https://github.com/blorbx/evil-quickscope")
8401 (synopsis "Target highlighting for emacs evil-mode f,F,t and T commands")
8402 (description "@code{emacs-evil-quickscope} highlights targets for Evil
8403mode’s f,F,t,T keys, allowing for quick navigation within a line. It is a
8404port of quick-scope for Vim. Evil is an Emacs minor mode that emulates Vim
8405features and provides Vim-like key bindings.")
8406 (license license:gpl3+)))
8407
8408(define-public emacs-bongo
8409 (package
8410 (name "emacs-bongo")
8411 (version "1.0")
8412 (source
8413 (origin
8414 (method url-fetch)
8415 (uri (string-append
8416 "https://github.com/dbrock/bongo/archive/"
8417 version ".tar.gz"))
8418 (file-name (string-append name "-" version ".tar.gz"))
8419 (sha256
8420 (base32
8421 "1pcsyyrvj7djjjwpaswd1i782hvqvlvs39cy9ns0k795si6xd64d"))))
8422 (build-system emacs-build-system)
8423 (home-page "https://github.com/dbrock/bongo")
8424 (synopsis "Media player for Emacs")
8425 (description
8426 "This package provides a flexible media player for Emacs. @code{Bongo}
8427supports multiple backends such as @code{vlc}, @code{mpg123},
8428@code{ogg123}, @code{speexdec}, @code{timidity}, @code{mikmod} and
8429@code{afplay}.")
8430 (license license:gpl2+)))
8431
8432(define-public emacs-groovy-modes
8433 (package
8434 (name "emacs-groovy-modes")
8435 (version "2.0")
8436 (source (origin
8437 (method url-fetch)
8438 (uri (string-append
8439 "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes"
8440 "/archive/" version ".tar.gz"))
8441 (file-name (string-append name "-" version ".tar.gz"))
8442 (sha256
8443 (base32
8444 "15j0hnkx9nppjzda5cqsxxz5f3bq9hc4xfyjcdypzqiypcvmpa39"))))
8445 (build-system emacs-build-system)
8446 (propagated-inputs
8447 `(("emacs-s" ,emacs-s)))
8448 (home-page "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
8449 (synopsis "Groovy related modes for Emacs")
8450 (description
8451 "This package provides @code{groovy-mode} for syntax highlighing in
8452Groovy source files, REPL integration with run-groovy and Grails project
8453navigation with the grails mode.")
8454 (license license:gpl3+)))
8455
8456(define-public groovy-emacs-modes
8457 (deprecated-package "groovy-emacs-modes" emacs-groovy-modes))
8458
8459(define-public emacs-org-tree-slide
8460 (let ((commit "dff8f1a4a64c8dd0a1fde0b0131e2fe186747134")
8461 (revision "0"))
8462 (package
8463 (name "emacs-org-tree-slide")
8464 (version (git-version "0.1" revision commit))
8465 (home-page "https://github.com/takaxp/org-tree-slide")
8466 (source (origin
8467 (method git-fetch)
8468 (uri (git-reference (url home-page) (commit commit)))
8469 (sha256
8470 (base32
8471 "153bg0x7ypla11pq51jmsgzfjklwwnrq56xgpbfhk1j16xwz9hyf"))
8472 (file-name (git-file-name name version))))
8473 (build-system emacs-build-system)
8474 (synopsis "Presentation tool for org-mode")
8475 (description
8476 "Org-tree-slide provides a slideshow mode to view org-mode files. Use
8477@code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
8478@kbd{C-<} to jump to the next and previous slide.")
8479 (license license:gpl3+))))
8480
8481(define-public emacs-scratch-el
8482 (let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897")
8483 (revision "1"))
8484 (package
8485 (name "emacs-scratch-el")
8486 (version (git-version "1.2" revision commit))
8487 (source (origin
8488 (method git-fetch)
8489 (uri (git-reference
8490 (url "https://github.com/ieure/scratch-el.git")
8491 (commit commit)))
8492 (file-name (git-file-name name version))
8493 (sha256
8494 (base32
8495 "0wscsndynjmnliajqaz28r1ww81j8wh84zwaaswx51abhwgl0idf"))))
8496 (build-system emacs-build-system)
8497 (native-inputs
8498 `(("texinfo" ,texinfo)))
8499 (arguments
8500 '(#:phases
8501 (modify-phases %standard-phases
8502 (add-after 'install 'install-doc
8503 (lambda* (#:key outputs #:allow-other-keys)
8504 (unless (invoke "makeinfo" "scratch.texi")
8505 (error "makeinfo failed"))
8506 (install-file "scratch.info"
8507 (string-append (assoc-ref outputs "out")
8508 "/share/info"))
8509 #t)))))
8510 (home-page "https://github.com/ieure/scratch-el/")
8511 (synopsis "Create scratch buffers with the same mode as current buffer")
8512 (description "Scratch is an extension to Emacs that enables one to create
8513scratch buffers that are in the same mode as the current buffer. This is
8514notably useful when working on code in some language; you may grab code into a
8515scratch buffer, and, by virtue of this extension, do so using the Emacs
8516formatting rules for that language.")
8517 (license license:bsd-2))))
8518
8519(define-public emacs-kv
8520 (package
8521 (name "emacs-kv")
8522 (version "0.0.19")
8523 (source
8524 (origin
8525 (method git-fetch)
8526 (uri (git-reference
8527 (url "https://github.com/nicferrier/emacs-kv.git")
8528 (commit "721148475bce38a70e0b678ba8aa923652e8900e")))
8529 (file-name (string-append name "-" version "-checkout"))
8530 (sha256
8531 (base32
8532 "0r0lz2s6gvy04fwnafai668jsf4546h4k6zd6isx5wpk0n33pj5m"))))
8533 (build-system emacs-build-system)
8534 (arguments
8535 `(#:tests? #t
8536 #:test-command '("emacs" "--batch" "-l" "kv-tests.el"
8537 "-f" "ert-run-tests-batch-and-exit")))
8538 (home-page "https://github.com/nicferrier/emacs-kv")
8539 (synopsis "Key/Value data structures library for Emacs Lisp")
8540 (description "@code{emacs-kv} is a collection of tools for dealing with
8541key/value data structures such as plists, alists and hash-tables in Emacs
8542Lisp.")
8543 (license license:gpl3+)))
8544
8545(define-public emacs-esxml
8546 (package
8547 (name "emacs-esxml")
8548 (version "0.3.4")
8549 (source (origin
8550 (method git-fetch)
8551 (uri (git-reference
8552 (url "https://github.com/tali713/esxml.git")
8553 (commit version)))
8554 (file-name (git-file-name name version))
8555 (sha256
8556 (base32
8557 "00vv8a75wdklygdyr4km9mc2ismxak69c45jmcny41xl44rp9x8m"))))
8558 (build-system emacs-build-system)
8559 (arguments
8560 `(#:phases
8561 (modify-phases %standard-phases
8562 (add-after 'unpack 'fix-sources
8563 (lambda _
8564 ;; See: https://github.com/tali713/esxml/pull/28.
8565 (substitute* "css-lite.el"
8566 ((";;; main interface")
8567 (string-append ";;; main interface\n"
8568 "(require 'cl-lib)"))
8569 (("mapcan")
8570 "cl-mapcan")
8571 (("',\\(cl-mapcan #'process-css-rule rules\\)")
8572 "(cl-mapcan #'process-css-rule ',rules)"))
8573 (substitute* "esxml-form.el"
8574 ((",esxml-form-field-defn")
8575 "#'esxml-form-field-defn"))
8576 ;; See: https://github.com/tali713/esxml/issues/25
8577 (delete-file "esxpath.el")
8578 #t)))))
8579 (propagated-inputs
8580 `(("emacs-kv" ,emacs-kv)))
8581 (home-page "https://github.com/tali713/esxml/")
8582 (synopsis "SXML for EmacsLisp")
8583 (description "This is XML/XHTML done with S-Expressions in EmacsLisp.
8584Simply, this is the easiest way to write HTML or XML in Lisp. This library
8585uses the native form of XML representation as used by many libraries already
8586included within Emacs. See @code{esxml-to-xml} for a concise description of
8587the format.")
8588 (license license:gpl3+)))
8589
8590(define-public emacs-nov-el
8591 (package
8592 (name "emacs-nov-el")
8593 (version "0.2.6")
8594 (source (origin
8595 (method git-fetch)
8596 (uri (git-reference
8597 (url "https://github.com/wasamasa/nov.el.git")
8598 (commit version)))
8599 (file-name (git-file-name name version))
8600 (sha256
8601 (base32
8602 "188h5gzn1zf443g0b7q5bpmvvpr6ds5h8aci8vxc92py56rhyrvc"))))
8603 (build-system emacs-build-system)
8604 (arguments
8605 `(#:phases
8606 (modify-phases %standard-phases
8607 (add-after 'unpack 'embed-path-to-unzip
8608 (lambda _
8609 (substitute* "nov.el"
8610 (("\\(executable-find \"unzip\"\\)")
8611 (string-append "\"" (which "unzip") "\"")))
8612 #t)))))
8613 (propagated-inputs
8614 `(("emacs-dash" ,emacs-dash)
8615 ("emacs-esxml" ,emacs-esxml)))
8616 (inputs
8617 `(("unzip" ,unzip)))
8618 (home-page "https://github.com/wasamasa/nov.el/")
8619 (synopsis "Major mode for reading EPUBs in Emacs")
8620 (description "@code{nov.el} provides a major mode for reading EPUB
8621documents.
8622
8623Features:
8624
8625@itemize
8626@item Basic navigation (jump to TOC, previous/next chapter)
8627@item Remembering and restoring the last read position
8628@item Jump to next chapter when scrolling beyond end
8629@item Renders EPUB2 (@code{.ncx}) and EPUB3 (@code{<nav>}) TOCs
8630@item Hyperlinks to internal and external targets
8631@item Supports textual and image documents
8632@item View source of document files
8633@item Metadata display
8634@item Image rescaling
8635@end itemize
8636")
8637 (license license:gpl3+)))
8638
8639(define-public epipe
8640 (package
8641 (name "epipe")
8642 (version "0.1.0")
8643 (source
8644 (origin
8645 (method url-fetch)
8646 (uri (string-append "https://github.com/cute-jumper/epipe/archive/"
8647 version ".tar.gz"))
8648 (file-name (string-append name "-" version ".tar.gz"))
8649 (sha256
8650 (base32
8651 "05a036852g4j63k1mhvyfrcsgkl9lczayi7x61570ysw3cli5wp5"))))
8652 (build-system trivial-build-system)
8653 (inputs
8654 `(("bash" ,bash)
8655 ("perl" ,perl)))
8656 (native-inputs
8657 `(("tar" ,tar)
8658 ("gzip" ,gzip)))
8659 (arguments
8660 `(#:modules
8661 ((guix build utils))
8662 #:builder
8663 (begin
8664 (use-modules (guix build utils))
8665 ;; Extract source
8666 (setenv "PATH" (string-append
8667 (assoc-ref %build-inputs "tar") "/bin" ":"
8668 (assoc-ref %build-inputs "gzip") "/bin"))
8669 (invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
8670 (chdir (string-append ,name "-" ,version))
8671 ;; Patch shebangs
8672 (substitute* "epipe"
8673 (("/usr/bin/env bash")
8674 (string-append (assoc-ref %build-inputs "bash") "/bin/bash")))
8675 (patch-shebang "epipe.pl"
8676 (list (string-append (assoc-ref %build-inputs "perl")
8677 "/bin")))
8678 ;; Installation
8679 (for-each (lambda (file)
8680 (install-file file (string-append %output "/bin")))
8681 '("epipe" "epipe.pl"))
8682 #t)))
8683 (home-page "https://github.com/cute-jumper/epipe")
8684 (synopsis "Pipe to the @code{emacsclient}")
8685 (description "@code{epipe} provides an utility to use your editor in
8686the pipeline, featuring the support for running @code{emacsclient}.")
8687 (license license:gpl3+)))
8688
8689(define-public emacs-hcl-mode
8690 (package
8691 (name "emacs-hcl-mode")
8692 (version "0.03")
8693 (source
8694 (origin
8695 (method url-fetch)
8696 (uri (string-append
8697 "https://github.com/syohex/emacs-hcl-mode/archive/"
8698 version ".tar.gz"))
8699 (file-name (string-append name "-" version ".tar.gz"))
8700 (sha256
8701 (base32
8702 "0pvw74qpwh0znqzp6syp4wxjqs7dp1hbn5h7xfk97mff9l5d8k6x"))))
8703 (build-system emacs-build-system)
8704 (home-page "https://github.com/syohex/emacs-hcl-mode")
8705 (synopsis "Major mode for the Hashicorp Configuration Language")
8706 (description
8707 "@code{emacs-hcl-mode} provides an Emacs major mode for working with
8708@acronym{HCL, Hashicorp Configuration Language}. It provides syntax
8709highlighting and indentation support.")
8710 (license license:gpl3+)))
8711
8712(define-public emacs-terraform-mode
8713 (package
8714 (name "emacs-terraform-mode")
8715 (version "0.06")
8716 (source
8717 (origin
8718 (method url-fetch)
8719 (uri (string-append
8720 "https://github.com/syohex/emacs-terraform-mode/archive/"
8721 version ".tar.gz"))
8722 (file-name (string-append name "-" version ".tar.gz"))
8723 (sha256
8724 (base32
8725 "0h9267ifdjmcin4sj8slxydbacx4bqicbvg8pa1qq2l72h9m5381"))))
8726 (build-system emacs-build-system)
8727 (propagated-inputs
8728 `(("emacs-hcl-mode" ,emacs-hcl-mode)))
8729 (home-page "https://github.com/syohex/emacs-terraform-mode")
8730 (synopsis "Major mode for Terraform")
8731 (description
8732 "@code{emacs-terraform-mode} provides a major mode for working with
8733@uref{https://www.terraform.io/, Terraform} configuration files. Most of the
8734functionality is inherited from @code{hcl-mode}.")
8735 (license license:gpl3+)))
8736
8737(define-public emacs-exec-path-from-shell
8738 (package
8739 (name "emacs-exec-path-from-shell")
8740 (version "1.11")
8741 (source
8742 (origin
8743 (method url-fetch)
8744 (uri (string-append
8745 "https://stable.melpa.org/packages/exec-path-from-shell-"
8746 version ".el"))
8747 (sha256
8748 (base32
8749 "03qjgb81cq1l3j54lvlf98r75vmmgd06mj6qh5wa6mz4xzp4w26r"))))
8750 (build-system emacs-build-system)
8751 (home-page "https://github.com/purcell/exec-path-from-shell")
8752 (synopsis "Get environment variables such as @var{PATH} from the shell")
8753 (description
8754 "This library allows the user to set Emacs @var{exec-path} and @var{PATH}
8755from the shell @var{PATH}, so that @code{shell-command}, @code{compile} and
8756the like work as expected on systems on which Emacs is not guaranteed to
8757inherit a login shell's environment variables. It also allows other
8758environment variables to be retrieved from the shell, so that Emacs will see
8759the same values you get in a terminal.")
8760 (license license:gpl3+)))
8761
8762(define-public emacs-deft
8763 (package
8764 (name "emacs-deft")
8765 (version "0.8")
8766 (source
8767 (origin
8768 (method url-fetch)
8769 (uri (string-append "https://stable.melpa.org/packages/deft-"
8770 version ".el"))
8771 (sha256
8772 (base32
8773 "1vb9cjxskc7c0yyf9pvxy1fzypg1vrcgwnjz0m3hslinsgdyig58"))))
8774 (build-system emacs-build-system)
8775 (home-page "https://jblevins.org/projects/deft/")
8776 (synopsis "Quickly browse, filter, and edit plain text notes")
8777 (description
8778 "Deft is an Emacs mode for quickly browsing, filtering, and editing
8779directories of plain text notes, inspired by Notational Velocity.")
8780 (license license:bsd-3)))
8781
8782(define-public emacs-anzu
8783 (package
8784 (name "emacs-anzu")
8785 (version "0.62")
8786 (source
8787 (origin
8788 (method url-fetch)
8789 (uri (string-append "https://github.com/syohex/emacs-anzu/archive/"
8790 version ".tar.gz"))
8791 (file-name (string-append name "-" version ".tar.gz"))
8792 (sha256
8793 (base32
8794 "16cg3897x5znbmgk7sdy0qyd0fbic9dmmz0dchq2vz5z29yhg4cz"))))
8795 (build-system emacs-build-system)
8796 (home-page "https://github.com/syohex/emacs-anzu")
8797 (synopsis "Show number of matches in mode-line while searching")
8798 (description
8799 "Anzu provides a minor mode which displays \"current match/total
8800matches\" in the mode line in various search modes. This is an Emacs port of
8801Anzu.zim.")
8802 (license license:gpl3+)))
8803
8804(define-public emacs-emmet-mode
8805 (package
8806 (name "emacs-emmet-mode")
8807 (version "1.0.8")
8808 (source (origin
d8de2c01
EF
8809 (method git-fetch)
8810 (uri (git-reference
8811 (url "https://github.com/smihica/emmet-mode.git")
8812 (commit version)))
8813 (file-name (git-file-name name version))
8814 (sha256
8815 (base32
8816 "1dsa85bk33j90h1ypaz1ylqh9yp2xvlga237h3kwa5y3sb0d5ydi"))))
eeb883cb
RW
8817 (build-system emacs-build-system)
8818 (home-page "https://github.com/smihica/emmet-mode")
8819 (synopsis "Unofficial Emmet's support for Emacs")
8820 (description
8821 "Unfold CSS-selector-like expressions to markup. It is intended to be
8822used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
8823 (license license:gpl3+)))
8824
8825(define-public emacs-ergoemacs-mode
8826 (let ((commit "3ce23bba3cb50562693860f87f3528c471d603ba")
8827 (revision "1"))
8828 (package
8829 (name "emacs-ergoemacs-mode")
8830 (version (git-version "5.16.10.12" revision commit))
8831 (source
8832 (origin
8833 (method git-fetch)
8834 (uri (git-reference
8835 (url "https://github.com/ergoemacs/ergoemacs-mode.git")
8836 (commit commit)))
8837 (sha256
8838 (base32
8839 "1s3b9bridl78hh1mxmdk9nqlmqhibbaxk0a1cixmsf23s06w8w6l"))))
8840 (build-system emacs-build-system)
8841 (propagated-inputs
8842 `(("emacs-undo-tree" ,emacs-undo-tree)))
8843 (home-page "https://ergoemacs.github.io/")
8844 (synopsis "Emacs mode based on common modern interface and ergonomics")
8845 (description
8846 "This package provides an efficient Emacs keybinding set based on
8847statistics of command frequency, and supports common shortcuts for open,
8848close, copy, cut, paste, undo, redo.")
8849 (license license:gpl3+))))
8850
8851(define-public emacs-password-store
8852 (package
8853 (name "emacs-password-store")
8854 (version "1.7.3")
8855 (source (origin
8856 (method url-fetch)
8857 (uri
8858 (string-append "https://git.zx2c4.com/password-store/snapshot/"
8859 "password-store-" version ".tar.xz"))
8860 (sha256
8861 (base32
8862 "1x53k5dn3cdmvy8m4fqdld4hji5n676ksl0ql4armkmsds26av1b"))))
8863 (build-system emacs-build-system)
8864 (arguments
8865 `(#:phases
8866 (modify-phases %standard-phases
8867 (add-after 'unpack 'extract-el-file
8868 (lambda _
8869 (copy-file "contrib/emacs/password-store.el" "password-store.el")
8870 (delete-file-recursively "contrib")
8871 (delete-file-recursively "man")
8872 (delete-file-recursively "src")
8873 (delete-file-recursively "tests"))))))
8874 (propagated-inputs
8875 `(("emacs-f" ,emacs-f)
8876 ("emacs-s" ,emacs-s)
8877 ("emacs-with-editor" ,emacs-with-editor)
8878 ("password-store" ,password-store)))
8879 (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
8880 (synopsis "Password store (pass) support for Emacs")
8881 (description
8882 "This package provides functions for working with pass (\"the
8883standard Unix password manager\").")
8884 (license license:gpl2+)))
8885
8886(define-public emacs-pass
8887 (package
8888 (name "emacs-pass")
8889 (version "1.8")
8890 (source (origin
8891 (method url-fetch)
8892 (uri (string-append
8893 "https://github.com/NicolasPetton/pass/archive/"
8894 version ".tar.gz"))
8895 (sha256
8896 (base32
8897 "0aiz90gklk0cb8n4v1s3l0mx6pp2b7f4k2c0fjpihwmga13yklwn"))
8898 (file-name (string-append name "-" version ".tar.gz"))))
8899 (build-system emacs-build-system)
8900 (propagated-inputs
8901 `(("emacs-password-store" ,emacs-password-store)
8902 ("emacs-f" ,emacs-f)))
8903 (home-page "https://github.com/NicolasPetton/pass")
8904 (synopsis "Major mode for @file{password-store.el}")
8905 (description "This is a major mode for managing password-store (pass)
8906keychains. The keychain entries are displayed in a directory-like structure
8907and can be consulted and modified.")
8908 (license license:gpl3+)))
8909
8910(define-public emacs-evil-anzu
8911 (package
8912 (name "emacs-evil-anzu")
8913 (version "0.03")
8914 (source
8915 (origin
8916 (method url-fetch)
8917 (uri (string-append "https://github.com/syohex/emacs-evil-anzu"
8918 "/archive/" version ".tar.gz"))
8919 (file-name (string-append name "-" version ".tar.gz"))
8920 (sha256
8921 (base32 "032hh2946z529cizqsg8pm6cpn5qdj8lfk3qskmx6xv3g2ra56ns"))))
8922 (build-system emacs-build-system)
8923 (propagated-inputs
8924 `(("emacs-evil" ,emacs-evil)
8925 ("emacs-anzu" ,emacs-anzu)))
8926 (home-page "https://github.com/syohex/emacs-evil-anzu")
8927 (synopsis "Anzu for evil-mode")
8928 (description "@code{anzu} provides a minor mode that displays the current
8929match and total match information in the mode-line in various search modes.")
8930 (license license:gpl3+)))
8931
8932(define-public emacs-pg
8933 (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d"))
8934 (package
8935 (name "emacs-pg")
8936 (version (git-version "0.1" "1" commit))
8937 (source (origin
8938 (method git-fetch)
8939 (uri (git-reference (url "https://github.com/cbbrowne/pg.el")
8940 (commit commit)))
8941 (file-name (git-file-name name version))
8942 (sha256
8943 (base32
8944 "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0"))))
8945 (build-system emacs-build-system)
8946 (home-page "https://github.com/cbbrowne/pg.el")
8947 (synopsis "Emacs Lisp interface for PostgreSQL")
8948 (description
8949 "This package provides an Emacs Lisp interface for PostgreSQL.")
8950 (license license:gpl3+))))
8951
8952(define-public emacs-cl-generic
8953 (package
8954 (name "emacs-cl-generic")
8955 (version "0.3")
8956 (source
8957 (origin
8958 (method url-fetch)
8959 (uri (string-append "https://elpa.gnu.org/packages/cl-generic-"
8960 version ".el"))
8961 (sha256
8962 (base32
8963 "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq"))))
8964 (build-system emacs-build-system)
8965 (home-page "https://elpa.gnu.org/packages/seq.html")
8966 (synopsis
8967 "Forward @code{cl-generic} compatibility for Emacs before version 25")
8968 (description "This package provides a subset of the features of the
8969@code{cl-generic} package introduced in Emacs-25, for use on previous
8970@code{emacsen}.")
8971 (license license:gpl3+)))
8972
8973(define-public emacs-finalize
8974 (package
8975 (name "emacs-finalize")
8976 (version "2.0.0")
8977 (source
8978 (origin
8979 (method url-fetch)
8980 (uri (string-append "https://github.com/skeeto/elisp-finalize/archive/"
8981 version ".tar.gz"))
8982 (file-name (string-append name "-" version ".tar.gz"))
8983 (sha256
8984 (base32
8985 "077fycy3i5f0kjw5z3rhf4kld5lbk2idz690nkwhkz04vppk4q4x"))))
8986 (build-system emacs-build-system)
8987 (propagated-inputs
8988 `(("emacs-cl-generic" ,emacs-cl-generic)))
8989 (home-page "https://github.com/skeeto/elisp-finalize")
8990 (synopsis "Finalizers for Emacs Lisp")
8991 (description
8992 "This package will allows to immediately run a callback (a finalizer)
8993after its registered lisp object has been garbage collected. This allows for
8994extra resources, such as buffers and processes, to be cleaned up after the
8995object has been freed.")
8996 (license license:unlicense)))
8997
8998(define-public emacs-emacsql
8999 (package
9000 (name "emacs-emacsql")
9001 (version "3.0.0")
9002 (source (origin
9003 (method git-fetch)
9004 (uri (git-reference
9005 (url "https://github.com/skeeto/emacsql.git")
9006 (commit (string-append version))))
9007 (file-name (git-file-name name version))
9008 (sha256
9009 (base32
9010 "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"))))
9011 (build-system emacs-build-system)
9012 (arguments
9013 `(#:modules ((guix build emacs-build-system)
9014 (guix build utils)
9015 (guix build emacs-utils)
9016 (srfi srfi-26))
9017 #:phases
9018 (modify-phases %standard-phases
9019 (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files.
9020 (add-before 'install 'patch-elisp-shell-shebangs
9021 (lambda _
9022 (substitute* (find-files "." "\\.el")
9023 (("/bin/sh") (which "sh")))
9024 #t))
9025 (add-after 'patch-elisp-shell-shebangs 'setenv-shell
9026 (lambda _
9027 (setenv "SHELL" "sh")))
9028 (add-after 'setenv-shell 'build-emacsql-sqlite
9029 (lambda _
9030 (invoke "make" "binary" "CC=gcc")))
9031 (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
9032 ;; This build phase installs emacs-emacsql binary.
9033 (lambda* (#:key outputs #:allow-other-keys)
9034 (install-file "sqlite/emacsql-sqlite"
9035 (string-append (assoc-ref outputs "out")
9036 "/bin"))
9037 #t))
9038 (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
9039 ;; This build phase removes interactive prompts
9040 ;; and makes sure Emacs look for binaries in the right places.
9041 (lambda* (#:key outputs #:allow-other-keys)
9042 (let ((file "emacsql-sqlite.el"))
9043 (chmod file #o644)
9044 (emacs-substitute-sexps file
9045 ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
9046 ("(executable-find" (which "gcc"))
9047 ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary
9048 ;; in the right place.
9049 ("(defvar emacsql-sqlite-executable"
9050 (string-append (assoc-ref outputs "out")
9051 "/bin/emacsql-sqlite"))))))
9052 (replace 'install
9053 (lambda* (#:key outputs #:allow-other-keys)
9054 (let* ((out (assoc-ref outputs "out")))
9055 (install-file "sqlite/emacsql-sqlite"
9056 (string-append out "/bin"))
9057 (for-each (cut install-file <>
9058 (string-append out "/share/emacs/site-lisp/guix.d/"
9059 "emacsql" "-" ,version))
9060 (find-files "." "\\.elc*$")))
9061 #t)))))
9062 (inputs
9063 `(("emacs-minimal" ,emacs-minimal)
9064 ("mariadb" ,mariadb)
9065 ("postgresql" ,postgresql)))
9066 (propagated-inputs
9067 `(("emacs-finalize" ,emacs-finalize)
9068 ("emacs-pg" ,emacs-pg)))
9069 (home-page "https://github.com/skeeto/emacsql")
9070 (synopsis "Emacs high-level SQL database front-end")
9071 (description "Any readable Lisp value can be stored as a value in EmacSQL,
9072including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
9073has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
9074object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
9075 (license license:gpl3+)))
9076
9077(define-public emacs-closql
9078 (package
9079 (name "emacs-closql")
9080 (version "1.0.0")
9081 (source
9082 (origin
9083 (method git-fetch)
9084 (uri (git-reference
9085 (url "https://github.com/emacscollective/closql.git")
9086 (commit (string-append "v" version))))
9087 (file-name (git-file-name name version))
9088 (sha256
9089 (base32
9090 "1xhpfjjkjqfc1k2rj77cscclz5r7gpvv3hi202x178vdcpipjwar"))))
9091 (build-system emacs-build-system)
9092 (propagated-inputs
9093 `(("emacs-emacsql" ,emacs-emacsql)))
9094 (home-page "https://github.com/emacscollective/closql")
9095 (synopsis "Store EIEIO objects using EmacSQL")
9096 (description
9097 "This package allows to store uniform EIEIO objects in an EmacSQL
9098database. SQLite is used as backend. This library imposes some restrictions
9099on what kind of objects can be stored; it isn't intended to store arbitrary
9100objects. All objects have to share a common superclass and subclasses cannot
9101add any additional instance slots.")
9102 (license license:gpl3)))
9103
9104(define-public emacs-epkg
9105 ;; The release version is to old for the current database scheme.
9106 (let ((commit "432312b9583ed7b88ad9644fd1bf2183765a892e"))
9107 (package
9108 (name "emacs-epkg")
9109 (version (git-version "3.0.0" "1" commit))
9110 (source
9111 (origin
9112 (method git-fetch)
9113 (uri (git-reference
9114 (url "https://github.com/emacscollective/epkg.git")
9115 (commit commit)))
9116 (file-name (git-file-name name version))
9117 (sha256
9118 (base32
9119 "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k"))))
9120 (build-system emacs-build-system)
9121 (propagated-inputs
9122 `(("emacs-closql" ,emacs-closql)
9123 ("emacs-dash" ,emacs-dash)))
9124 (home-page "https://emacsmirror.net")
9125 (synopsis "Browse the Emacsmirror package database")
9126 (description "This package provides access to a local copy of the
9127Emacsmirror package database. It provides low-level functions for querying
9128the database and a @file{package.el} user interface for browsing the database.
9129Epkg itself is not a package manager.
9130
9131Getting a local copy:
9132
9133@example
9134git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs
9135cd ~/.emacs.d/epkgs
9136git submodule init
9137git config --global url.https://github.com/.insteadOf git@@github.com:
9138git submodule update
9139@end example
9140
9141Some submodule may be missing. In this case Git will prompt for a GitHub user
9142name and password. To skip it press a @key{Return} key.
9143
9144You could get a Epkg package list by invoking @code{epkg-list-packages} in
9145Emacs.")
9146 (license license:gpl3+))))
9147
9148(define-public emacs-elisp-slime-nav
9149 (package
9150 (name "emacs-elisp-slime-nav")
9151 (version "0.9")
9152 (source
9153 (origin
9154 (method url-fetch)
9155 (uri (string-append "https://github.com/purcell/elisp-slime-nav/archive/"
9156 version ".tar.gz"))
9157 (file-name (string-append name "-" version ".tar.gz"))
9158 (sha256
9159 (base32
9160 "1vq7ym1q47p97gxrv45c9gm96d23xbp237vkmakikj6grngxjfb2"))))
9161 (build-system emacs-build-system)
9162 (home-page "https://github.com/purcell/elisp-slime-nav")
9163 (synopsis "Make @code{M-.} and @code{M-,} work for elisp like they do in SLIME")
9164 (description
9165 "This package provides SLIME's convenient @code{M-.}and @code{M-,} navigation
9166in @code{emacs-lisp-mode}, together with an elisp equivalent of
9167@code{slime-describe-symbol}.")
9168 (license license:gpl3+)))
9169
9170(define-public emacs-dedicated
9171 (package
9172 (name "emacs-dedicated")
9173 (version "1.0.0")
9174 (source (origin
9175 (method url-fetch)
9176 (uri (string-append
9177 "https://github.com/emacsorphanage/dedicated/archive/"
9178 version
9179 ".tar.gz"))
9180 (sha256
9181 (base32
9182 "0nhbkp278cvcznb5rp3jp9ii3mjgb79zx8iwfrw7zfk3yg8688ni"))
9183 (file-name (string-append name "-" version ".tar.gz"))))
9184 (build-system emacs-build-system)
9185 (home-page "https://github.com/emacsorphanage/dedicated")
9186 (synopsis "Emacs minor mode for toggling a windows's \"dedicated\" flag")
9187 (description
9188 "This simple Emacs minor mode allows you to toggle a window's
9189\"dedicated\" flag. When a window is \"dedicated\", Emacs will not select
9190files into that window. This can be quite handy since many commands will use
9191another window to show results (compilation mode, starting info, and so on).
9192A dedicated window won't be used for such a purpose. For details, please read
9193the source file.")
9194 (license license:gpl2+)))
9195
9196(define-public emacs-nnreddit
9197 (let ((commit "9843f99d01fd8f1eea2fc685965a7c7f4eeb187a")
9198 (revision "1"))
9199 (package
9200 (name "emacs-nnreddit")
9201 (version (string-append "0.0.1-" revision "."
9202 (string-take commit 7)))
9203 (source (origin
9204 (method git-fetch)
9205 (uri (git-reference
9206 (url "https://github.com/paul-issartel/nnreddit.git")
9207 (commit commit)))
9208 (file-name (string-append name "-" version "-checkout"))
9209 (sha256
9210 (base32
9211 "0j4h3bnga640250jdq8bwyja49r41ssrsjd6lba4gzzllqk02nbn"))))
9212 (build-system emacs-build-system)
9213 (home-page "https://github.com/paul-issartel/nnreddit")
9214 (synopsis "Reddit backend for the Gnus newsreader")
9215 (description "@url{https://www.reddit.com} backend for the Gnus
9216newsreader.")
9217 (license license:gpl3+))))
9218
9219(define-public emacs-makey
9220 (package
9221 (name "emacs-makey")
9222 (version "0.3")
9223 (source
9224 (origin
9225 (method url-fetch)
9226 (uri (string-append "https://github.com/mickeynp/makey/archive/"
9227 version ".tar.gz"))
9228 (file-name (string-append name "-" version ".tar.gz"))
9229 (sha256
9230 (base32
9231 "0kzl4q1wf2zhkx9nrymxa67n99iq0bj7zqhpaz4byksna1hsxfmv"))))
9232 (build-system emacs-build-system)
9233 (home-page "https://github.com/mickeynp/makey")
9234 (synopsis "Emacs interactive command-line mode")
9235 (description
9236 "This package provides an Emacs interactive command-line mode.")
9237 (license license:gpl3+)))
9238
9239(define-public emacs-outorg
9240 (let ((commit "78b0695121fb974bc4e971eb4ef7f8afd6d89d64"))
9241 (package
9242 (name "emacs-outorg")
9243 (version (git-version "2.0" "1" commit))
9244 (source
9245 (origin
9246 (method git-fetch)
9247 (uri (git-reference
9248 (url "https://github.com/alphapapa/outorg")
9249 (commit commit)))
9250 (file-name (git-file-name name version))
9251 (sha256
9252 (base32
9253 "03aclh4m3f7rb821gr9pwvnqkkl91px3qxdcarpf3ypa1x4fxvlj"))))
9254 (build-system emacs-build-system)
9255 (home-page "https://github.com/alphapapa/outorg")
9256 (synopsis "Org-style comment editing")
9257 (description "Outorg is for editing comment-sections of source-code
9258files in temporary Org-mode buffers. It turns conventional
9259literate-programming upside-down in that the default mode is the
9260programming-mode, and special action has to be taken to switch to the
9261text-mode (i.e. Org-mode).")
9262 (license license:gpl3+))))
9263
9264(define-public emacs-outshine
9265 (let ((commit "5f1a6b70231d2811c522e4e5e8c89ff461b311d6"))
9266 (package
9267 (name "emacs-outshine")
9268 (version (git-version "2.0" "1" commit))
9269 (source (origin
9270 (method git-fetch)
9271 (uri (git-reference
9272 (url "https://github.com/alphapapa/outshine.git")
9273 (commit commit)))
9274 (file-name (git-file-name name version))
9275 (sha256
9276 (base32
9277 "1l9v1dfhgg7il11ifbhvcvrg3acfjk9sdxlc3lja1k54d7dp60jv"))))
9278 (build-system emacs-build-system)
9279 (propagated-inputs
9280 `(("emacs-outorg" ,emacs-outorg)))
9281 (home-page "https://github.com/alphapapa/outshine")
9282 (synopsis "Emacs outline with outshine")
9283 (description "Outshine attempts to bring the look and feel of
9284@code{org-mode} to an Emacs outside of the Org major-mode. It is an extension
9285of @code{outline-minor-mode} (@code{org-mode} itself derives from
9286outline-mode), so there is no such thing like an outshine mode, only
9287@code{outline-minor-mode} with outshine extensions loaded.")
9288 (license license:gpl3+))))
9289
9290(define-public emacs-parsebib
9291 (package
9292 (name "emacs-parsebib")
9293 (version "2.3.1")
9294 (source
9295 (origin
9296 (method url-fetch)
9297 (uri (string-append "https://github.com/joostkremers/parsebib/archive/"
9298 version ".tar.gz"))
9299 (file-name (string-append name "-" version ".tar.gz"))
9300 (sha256
9301 (base32
9302 "0cxagnmc5ab6idmb26axpizhr4sqglkncc59768yavn3p04jyq63"))))
9303 (build-system emacs-build-system)
9304 (home-page "https://github.com/joostkremers/parsebib")
9305 (synopsis "Library for parsing bib files")
9306 (description
9307 "This package provides an Emacs library for parsing bib files.")
9308 (license license:gpl3+)))
9309
9310(define-public emacs-biblio
9311 (package
9312 (name "emacs-biblio")
c7cf43dd 9313 (version "0.2")
eeb883cb
RW
9314 (source
9315 (origin
9316 (method url-fetch)
9317 (uri (string-append "https://github.com/cpitclaudel/biblio.el/archive/"
9318 version ".tar.gz"))
9319 (file-name (string-append name "-" version ".tar.gz"))
9320 (sha256
9321 (base32
c7cf43dd 9322 "0vwrljmab8m1z83048gxx5mryml9f5pb3h0jpwkvqcl0ra152lzx"))))
eeb883cb
RW
9323 (build-system emacs-build-system)
9324 (propagated-inputs
9325 `(("emacs-seq" ,emacs-seq)
9326 ("emacs-dash" ,emacs-dash)
9327 ("emacs-let-alist" ,emacs-let-alist)))
9328 (home-page "https://github.com/cpitclaudel/biblio.el")
9329 (synopsis "Browse and import bibliographic references")
9330 (description "This package provides an extensible Emacs package for
9331browsing and fetching references.
9332
9333@file{biblio.el} makes it easy to browse and gather bibliographic references
9334and publications from various sources, by keywords or by DOI. References are
9335automatically fetched from well-curated sources, and formatted as BibTeX.")
9336 (license license:gpl3+)))
9337
9338(define-public emacs-helm-bibtex
9339 (let ((commit "8ed898fb5a68f18e9bb9973832a5c1f8abcfc463")
9340 (revision "1"))
9341 (package
9342 (name "emacs-helm-bibtex")
9343 (version (string-append "2.0.0" "-" revision "."
9344 (string-take commit 7)))
9345 (source
9346 (origin
9347 (method git-fetch)
9348 (uri (git-reference
9349 (url "https://github.com/tmalsburg/helm-bibtex.git")
9350 (commit commit)))
9351 (file-name (string-append name "-" version "-checkout"))
9352 (sha256
9353 (base32
9354 "14lyx0vbqr97p3anzrsp7m3q0kqclyjcdwplpraim403fcklzbnz"))))
9355 (build-system emacs-build-system)
9356 (propagated-inputs
9357 `(("emacs-helm" ,emacs-helm)
9358 ("emacs-parsebib" ,emacs-parsebib)
9359 ("emacs-s" ,emacs-s)
9360 ("emacs-dash" ,emacs-dash)
9361 ("emacs-f" ,emacs-f)
9362 ("emacs-biblio" ,emacs-biblio)
9363 ("emacs-ivy" ,emacs-ivy)))
9364 (home-page "https://github.com/tmalsburg/helm-bibtex")
9365 (synopsis "Bibliography manager based on Helm")
9366 (description "This package provides bibliography manager for Emacs,
9367based on Helm and the bibtex-completion backend.
9368
9369Key features:
9370
9371@itemize
9372@item Quick access to your bibliography from within Emacs
9373@item Powerful search capabilities
9374@item Provides instant search results as you type
9375@item Tightly integrated with LaTeX authoring, emails, Org mode, etc.
9376@item Open the PDFs, URLs, or DOIs associated with an entry
9377@item Insert LaTeX cite commands, Ebib links, or Pandoc citations,
9378BibTeX entries, or plain text references at point, attach PDFs to emails
9379@item Support for note taking
9380@item Quick access to online bibliographic databases such as Pubmed,
9381arXiv, Google Scholar, Library of Congress, etc.
9382@item Imports BibTeX entries from CrossRef and other sources.
9383@end itemize\n")
9384 (license license:gpl3+))))
9385
9386(define-public emacs-ewmctrl
9387 (let ((commit "3d0217c4d6cdb5c308b6cb4293574f470d4faacf"))
9388 (package
9389 (name "emacs-ewmctrl")
9390 (version (git-version "0.0.1" "1" commit))
9391 (source
9392 (origin
9393 (method git-fetch)
9394 (uri (git-reference
9395 (url "https://github.com/flexibeast/ewmctrl.git")
9396 (commit commit)))
9397 (file-name (git-file-name name version))
9398 (sha256
9399 (base32
9400 "0ilwvx0qryv3v6xf0gxqwnfm6pf96gxap8h9g3f6z6lk9ff4n1wi"))))
9401 (build-system emacs-build-system)
9402 (arguments
9403 '(#:phases
9404 (modify-phases %standard-phases
9405 (add-after 'unpack 'patch-ewmctrl
9406 ;; This build phase makes sure ‘ewmctrl’ looks
9407 ;; for ‘wmctrl’ in the right place.
9408 (lambda _
9409 (let ((file "ewmctrl.el"))
9410 (chmod file #o644)
9411 (emacs-substitute-sexps file
9412 ("(defcustom ewmctrl-wmctrl-path" (which "wmctrl")))))))))
9413 (inputs
9414 `(("wmctrl" ,wmctrl)))
9415 (home-page "https://github.com/flexibeast/ewmctrl")
9416 (synopsis "Emacs interface to @code{wmctrl}")
9417 (description "@code{ewmctrl} provides an Emacs interface to
9418@code{wmctrl} command-line window-management program.")
9419 (license license:gpl3+))))
9420
2d164c9e
BL
9421(define-public emacs-erc-image
9422 (let ((commit "82fb3871f02e24b1e880770b9a3d187aab43d0f0")
9423 (revision "1"))
9424 (package
9425 (name "emacs-erc-image")
9426 (version (git-version "0" revision commit))
9427 (source
9428 (origin
9429 (method git-fetch)
9430 (uri (git-reference
9431 (url "https://github.com/kidd/erc-image.el")
9432 (commit commit)))
9433 (file-name (git-file-name name version))
9434 (sha256
9435 (base32
9436 "1q8mkf612fb4fjp8h4kbr107wn083iqfdgv8f80pcmil8y33dw9i"))))
9437 (build-system emacs-build-system)
9438 (home-page "https://github.com/kidd/erc-image.el")
9439 (synopsis "Show inlined images (png/jpg/gif/svg) in ERC buffers")
9440 (description "This plugin subscribes to hooks @code{erc-insert-modify-hook}
9441and @code{erc-send-modify-hook} to download and show images.")
9442 (license license:gpl3+))))
9443
eeb883cb
RW
9444(define-public emacs-helm-gtags
9445 (package
9446 (name "emacs-helm-gtags")
9447 (version "1.5.6")
9448 (source (origin
9449 (method url-fetch)
9450 (uri (string-append
9451 "https://github.com/syohex/emacs-helm-gtags/archive/"
9452 version ".tar.gz"))
9453 (file-name (string-append name "-" version ".tar.gz"))
9454 (sha256
9455 (base32
9456 "1a10snhg6nnnan6w9a7mcziy26vxbsr3c35i0gcarnkdp2yqng36"))))
9457 (build-system emacs-build-system)
9458 (propagated-inputs
9459 `(("emacs-helm" ,emacs-helm)))
9460 (home-page "https://github.com/syohex/emacs-helm-gtags")
9461 (synopsis "Emacs Helm interface to GNU Global")
9462 (description
9463 "@code{emacs-helm-gtags} provides a Emacs Helm interface to GNU Global.")
9464 (license license:gpl3+)))
9465
9466(define-public emacs-list-utils
9467 (package
9468 (name "emacs-list-utils")
9469 (version "0.4.4")
9470 (source
9471 (origin
9472 (method url-fetch)
9473 (uri (string-append "https://github.com/rolandwalker/list-utils/archive/"
9474 "v" version ".tar.gz"))
9475 (file-name (string-append name "-" version ".tar.gz"))
9476 (sha256
9477 (base32
9478 "1xc1xh8c82h5gdjbgpdsdclgwxkxbb7h3x3a2bscpm41g8pnan4p"))))
9479 (build-system emacs-build-system)
9480 (home-page "https://github.com/rolandwalker/list-utils")
9481 (synopsis "List-manipulation utility functions")
9482 (description "This package provides a list manipulation library for Emacs.")
9483 (license license:gpl3+)))
9484
9485(define-public emacs-move-text
9486 (package
9487 (name "emacs-move-text")
9488 (version "2.0.8")
9489 (source
9490 (origin
9491 (method url-fetch)
9492 (uri (string-append "https://github.com/emacsfodder/move-text/archive/"
9493 version ".tar.gz"))
9494 (file-name (string-append name "-" version ".tar.gz"))
9495 (sha256
9496 (base32
9497 "1sjfja9r25692pgcldgnjzkapzy970m14jh9l4pajysiqcdk72g0"))))
9498 (build-system emacs-build-system)
9499 (home-page "https://github.com/emacsfodder/move-text")
9500 (synopsis "Move current line or region with M-up or M-down")
9501 (description "This package provide functions to move the current line
9502using @kbd{M-up} or @kbd{M-down} if a region is marked, it will move the
9503region instead.")
9504 (license license:gpl3+)))
9505
9506(define-public emacs-validate
9507 (package
9508 (name "emacs-validate")
9509 (version "1.0.5")
9510 (source (origin
9511 (method url-fetch)
9512 (uri (string-append "https://github.com/Malabarba/validate.el"
9513 "/archive/" version ".tar.gz"))
9514 (file-name (string-append name "-" version ".tar.gz"))
9515 (sha256
9516 (base32
9517 "125mbd111f1h1baw0z3fzm48y1bvaigljyzvvnqgrn0shxbj0khg"))))
9518 (build-system emacs-build-system)
9519 (home-page "https://github.com/Malabarba/validate.el")
9520 (synopsis "Emacs library for scheme validation")
9521 (description "This Emacs library provides two functions that perform
9522schema validation.")
9523 (license license:gpl3+)))
9524
9525(define-public emacs-rainbow-blocks
9526 (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842"))
9527 (package
9528 (name "emacs-rainbow-blocks")
9529 (version (git-version "1.0.0" "1" commit))
9530 (source (origin
9531 (method git-fetch)
9532 (uri (git-reference
9533 (url "https://github.com/istib/rainbow-blocks.git")
9534 (commit commit)))
9535 (file-name (git-file-name name version))
9536 (sha256
9537 (base32
9538 "06yfb3i7wzvqrhkb61zib9xvpb5i00s4frizkzff66im05k0n795"))))
9539 (build-system emacs-build-system)
9540 (home-page "https://github.com/istib/rainbow-blocks")
9541 (synopsis "Highlight sexp blocks")
9542 (description "Rainbow-blocks is an Emacs mode that highlights blocks
9543made of parentheses, brackets, and braces according to their depth. Each
9544successive level is highlighted in a different color. This makes it easy to
9545orient yourself in the code, and tell which statements are at a given level.")
9546 (license license:gpl3+))))
9547
9548(define-public emacs-hierarchy
9549 (package
9550 (name "emacs-hierarchy")
9551 (version "0.7.0")
9552 (source
9553 (origin
9554 (method url-fetch)
9555 (uri (string-append
9556 "https://github.com/DamienCassou/hierarchy/archive/"
9557 "v" version ".tar.gz"))
9558 (file-name (string-append name "-" version ".tar.gz"))
9559 (sha256
9560 (base32
9561 "1a463v5zk6zis2p8cs4mads3iyxh266yahi6j6y0paggfl2yhkc8"))))
9562 (build-system emacs-build-system)
9563 (home-page "https://github.com/DamienCassou/hierarchy")
9564 (synopsis "Library to create and display hierarchy structures")
9565 (description "This package provides an Emacs library to create, query,
9566navigate and display hierarchy structures.")
9567 (license license:gpl3+)))
9568
9569(define-public emacs-tree-mode
9570 (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534")
9571 (revision "1"))
9572 (package
9573 (name "emacs-tree-mode")
9574 (version (string-append "0.0.1" "-" revision "."
9575 (string-take commit 7)))
9576 (source
9577 (origin
9578 (method git-fetch)
9579 (uri (git-reference
9580 (url "https://github.com/emacsorphanage/tree-mode.git")
9581 (commit commit)))
9582 (file-name (string-append name "-" version "-checkout"))
9583 (sha256
9584 (base32
9585 "13bbdhdmqg4x9yghanhr8fsbsxbnypzxdxgicz31sjjm675kpnix"))))
9586 (build-system emacs-build-system)
9587 (home-page "https://github.com/emacsorphanage/tree-mode")
9588 (synopsis "Emacs mode to manage tree widgets")
9589 (description
9590 "This package provides an Emacs library to manage tree widgets.")
9591 (license license:gpl3+))))
9592
9593(define-public emacs-md4rd
9594 (let ((commit "c55512c2f7680db2a1e73db6bdf93adecaf40fec")
9595 (revision "1"))
9596 (package
9597 (name "emacs-md4rd")
9598 (version (string-append "0.0.2" "-" revision "."
9599 (string-take commit 7)))
9600 (source (origin
9601 (method git-fetch)
9602 (uri (git-reference
9603 (url "https://github.com/ahungry/md4rd.git")
9604 (commit commit)))
9605 (file-name (string-append name "-" version "-checkout"))
9606 (sha256
9607 (base32
9608 "0mvv1mvsrpkrmikcpfqf2zbawnzgq33j6zjdrlv48mcw57xb2ak9"))))
9609 (propagated-inputs
9610 `(("emacs-hierarchy" ,emacs-hierarchy)
9611 ("emacs-request" ,emacs-request)
9612 ("emacs-dash" ,emacs-dash)
9613 ("emacs-s" ,emacs-s)
9614 ("emacs-tree-mode" ,emacs-tree-mode)))
9615 (build-system emacs-build-system)
9616 (home-page "https://github.com/ahungry/md4rd")
9617 (synopsis "Emacs Mode for Reddit")
9618 (description
9619 "This package allows to read Reddit from within Emacs interactively.")
9620 (license license:gpl3+))))
9621
9622(define-public emacs-pulseaudio-control
e83d46f0
PN
9623 (let ((commit "7e1a87068379075a5e9ce36c64c686c03d20d379")
9624 (revision "3"))
eeb883cb
RW
9625 (package
9626 (name "emacs-pulseaudio-control")
9627 (version (git-version "0.0.1" revision commit))
9628 (source
9629 (origin
9630 (method git-fetch)
9631 (uri (git-reference
9632 (url "https://github.com/flexibeast/pulseaudio-control.git")
9633 (commit commit)))
9634 (file-name (git-file-name name version))
9635 (sha256
9636 (base32
e83d46f0 9637 "0wcaqyh15x56255rrj350089z15pnwixa2vf0ly6dv0hjmzmh3mr"))))
eeb883cb
RW
9638 (build-system emacs-build-system)
9639 (arguments
9640 '(#:phases (modify-phases %standard-phases
9641 (add-after 'unpack 'patch-file-name
9642 (lambda* (#:key inputs #:allow-other-keys)
9643 (let ((pulseaudio (assoc-ref inputs "pulseaudio")))
9644 (chmod "pulseaudio-control.el" #o600)
9645 (emacs-substitute-variables "pulseaudio-control.el"
9646 ("pulseaudio-control-pactl-path"
9647 (string-append pulseaudio "/bin/pactl")))
9648 #t))))))
9649 (inputs `(("pulseaudio" ,pulseaudio)))
9650 (home-page "https://github.com/flexibeast/pulseaudio-control")
9651 (synopsis "Control @code{pulseaudio} from Emacs")
9652 (description
9653 "This package allows to control @code{pulseaudio} from Emacs.")
9654 (license license:gpl3+))))
9655
9656(define-public emacs-datetime
9657 (package
9658 (name "emacs-datetime")
9659 (version "0.3")
9660 (source (origin
9661 (method url-fetch)
9662 (uri (string-append
9663 "https://github.com/doublep/datetime/archive/"
9664 version ".tar.gz"))
9665 (file-name (string-append name "-" version ".tar.gz"))
9666 (sha256
9667 (base32
9668 "12wqpj67rjij2ki7nmw38rz3k2bsq68pk6zswknlcn9qhp1zd9w9"))))
9669 (build-system emacs-build-system)
9670 (home-page "https://github.com/doublep/datetime/")
9671 (synopsis "Library to work with dates in Emacs")
9672 (description "Parsing, formatting, matching and recoding
9673timestamps and date-time format strings library for Emacs.")
9674 (license license:gpl3+)))
9675
9676(define-public emacs-org-mind-map
9677 (let ((commit "9d6e262bedd94daf9de269f4d56de277275677cb")
9678 (revision "1"))
9679 (package
9680 (name "emacs-org-mind-map")
9681 (version (string-append "0.0.1" "-" revision "."
9682 (string-take commit 7)))
9683 (source
9684 (origin
9685 (method git-fetch)
9686 (uri (git-reference
9687 (url "https://github.com/theodorewiles/org-mind-map.git")
9688 (commit commit)))
9689 (file-name (string-append name "-" version "-checkout"))
9690 (sha256
9691 (base32
9692 "0jgkkgq7g64zckrmjib0hvz0qy3ynz5vz13qbmlpf096l3bb65wn"))))
9693 (propagated-inputs
9694 `(("emacs-dash" ,emacs-dash)))
9695 (build-system emacs-build-system)
9696 (home-page "https://github.com/theodorewiles/org-mind-map")
9697 (synopsis "Create Graphviz directed graphs from Org files")
9698 (description
9699 "This package creates Graphviz directed graphs from Org files.")
9700 (license license:gpl3+))))
9701
9702(define-public emacs-npm-mode
9703 (package
9704 (name "emacs-npm-mode")
9705 (version "0.6.0")
9706 (source
9707 (origin
9708 (method url-fetch)
9709 (uri (string-append "https://github.com/mojochao/npm-mode/archive/"
9710 version ".tar.gz"))
9711 (file-name (string-append name "-" version ".tar.gz"))
9712 (sha256
9713 (base32
9714 "1kq1ww22dwf8c2i2b4z2ldbbmnihj65kb7n5vzvwkch9h4hxpqh5"))))
9715 (build-system emacs-build-system)
9716 (home-page "https://github.com/mojochao/npm-mode")
9717 (synopsis "Minor mode for working with @code{npm} projects")
9718 (description
9719 "@code{npm-mode} provides a minor mode to work with @code{npm} projects.")
9720 (license license:gpl3+)))
9721
9722(define-public emacs-seq
9723 (package
9724 (name "emacs-seq")
9725 (version "2.20")
9726 (source
9727 (origin
9728 (method url-fetch)
9729 (uri (string-append "http://elpa.gnu.org/packages/seq-" version ".tar"))
9730 (sha256
9731 (base32
9732 "0vrpx6nnyjb0gsypknzagimlhvcvi5y1rcdkpxyqr42415zr8d0n"))))
9733 (build-system emacs-build-system)
9734 (home-page "http://elpa.gnu.org/packages/seq.html")
9735 (synopsis "Sequence manipulation functions")
9736 (description "Sequence-manipulation functions that complement basic
9737functions provided by @file{subr.el}.")
9738 (license license:gpl3+)))
9739
9740(define-public emacs-itail
9741 (let ((commit "6e43c20da03be3b9c6ece93b7dc3495975ec1888")
9742 (revision "1"))
9743 (package
9744 (name "emacs-itail")
9745 (version (string-append "0.0.1" "-" revision "."
9746 (string-take commit 7)))
9747 (source
9748 (origin
9749 (method git-fetch)
9750 (uri (git-reference
9751 (url "https://github.com/re5et/itail.git")
9752 (commit commit)))
9753 (file-name (string-append name "-" version "-checkout"))
9754 (sha256
9755 (base32
9756 "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv"))))
9757 (build-system emacs-build-system)
9758 (home-page "https://github.com/re5et/itail")
9759 (synopsis "Interactive @code{tail} Emacs mode")
9760 (description "@code{itail} provides interactive @code{tail} mode
9761that allows you to filter the tail with unix pipes and highlight the
9762contents of the tailed file. Works locally or on remote files using
9763tramp.")
9764 (license license:gpl3+))))
9765
9766(define-public emacs-loop
9767 (package
9768 (name "emacs-loop")
9769 (version "1.3")
9770 (source
9771 (origin
9772 (method url-fetch)
9773 (uri (string-append "https://github.com/Wilfred/loop.el/archive/"
9774 version ".tar.gz"))
9775 (file-name (string-append name "-" version ".tar.gz"))
9776 (sha256
9777 (base32
9778 "1z3rhh3zyjabz36410yz0lp4a0qwwj0387as662wvx3z9y54jia9"))))
9779 (build-system emacs-build-system)
9780 (home-page "https://github.com/Wilfred/loop.el")
9781 (synopsis "Imperative loop structures for Emacs")
9782 (description "Loop structures familiar to users of other languages. This
9783library adds a selection of popular loop structures as well as break and
9784continue.")
9785 (license license:gpl3+)))
9786
9787(define-public emacs-elisp-refs
9788 (package
9789 (name "emacs-elisp-refs")
9790 (version "1.3")
9791 (source
9792 (origin
9793 (method url-fetch)
9794 (uri (string-append "https://github.com/Wilfred/elisp-refs/archive/"
9795 version ".tar.gz"))
9796 (file-name (string-append name "-" version ".tar.gz"))
9797 (sha256
9798 (base32
9799 "02nzcn3v14n7mp7q32j5r4wdlpsw3zixzh6cf0cdyarfir6dly3p"))))
9800 (build-system emacs-build-system)
9801 (propagated-inputs
9802 `(("emacs-dash" ,emacs-dash)
9803 ("emacs-f" ,emacs-f)
9804 ("emacs-list-utils" ,emacs-list-utils)
9805 ("emacs-loop" ,emacs-loop)
9806 ("emacs-s" ,emacs-s)
9807 ("emacs-shut-up" ,emacs-shut-up)))
9808 (home-page "https://github.com/Wilfred/elisp-refs")
9809 (synopsis "Find callers of elisp functions or macros")
9810 (description "Find references to functions, macros or variables. Unlike a
9811dumb text search, @code{elisp-refs} actually parses the code, so it's never
9812confused by comments or @code{foo-bar} matching @code{foo}.")
9813 (license license:gpl3+)))
9814
9815(define-public emacs-crux
9816 (let ((commit "4f5c8fefd5a6aa52e128c4a0401cc86410d6ac8f")
9817 (revision "1"))
9818 (package
9819 (name "emacs-crux")
9820 (version (string-append "0.3.0" "-" revision "."
9821 (string-take commit 7)))
9822 (source
9823 (origin
9824 (method git-fetch)
9825 (uri (git-reference
9826 (url "https://github.com/bbatsov/crux.git")
9827 (commit commit)))
9828 (file-name (string-append name "-" version "-checkout"))
9829 (sha256
9830 (base32
9831 "1fdxvv25cs01sg6fmvmzxpzvs50i6v8n2jya60lbavxqqhi0sbxd"))))
9832 (build-system emacs-build-system)
9833 (home-page "https://github.com/bbatsov/crux")
9834 (synopsis "Collection of useful functions for Emacs")
9835 (description
9836 "@code{crux} provides a collection of useful functions for Emacs.")
9837 (license license:gpl3+))))
9838
9839(define-public emacs-edit-server
9840 (package
9841 (name "emacs-edit-server")
9842 (version "1.13")
9843 (source
9844 (origin
9845 (method url-fetch)
9846 (uri (string-append "https://github.com/stsquad/emacs_chrome/archive/"
9847 "v" version ".tar.gz"))
9848 (file-name (string-append name "-" version ".tar.gz"))
9849 (sha256
9850 (base32
9851 "1r92kqggslqasza718z4ka883mqfbnibdm43f0j9gaipk0msm2wf"))))
9852 (build-system emacs-build-system)
9853 (arguments
9854 `(#:phases
9855 (modify-phases %standard-phases
9856 (add-after 'unpack 'chdir-elisp
9857 ;; Elisp directory is not in root of the source.
9858 (lambda _
9859 (chdir "servers"))))))
9860 (home-page "https://github.com/stsquad/emacs_chrome")
9861 (synopsis "Server that responds to edit requests from Chromium")
9862 (description
9863 "This package provides an edit server to respond to requests from Emacs.")
9864 (license license:gpl3+)))
9865
9866(define-public emacs-m-buffer-el
9867 (package
9868 (name "emacs-m-buffer-el")
9869 (version "0.15")
9870 (source
9871 (origin
9872 (method url-fetch)
9873 (uri (string-append "https://github.com/phillord/m-buffer-el"
9874 "/archive/" "v" version ".tar.gz"))
9875 (file-name (string-append name "-" version ".tar.gz"))
9876 (sha256
9877 (base32
9878 "17vdcc8q37q9db98jyww1c0ivinmwfcw4l04zccfacalra63a214"))))
9879 (arguments
9880 `(#:phases
9881 (modify-phases %standard-phases
9882 (add-before 'install 'check
9883 (lambda* (#:key inputs #:allow-other-keys)
9884 (invoke "emacs" "--batch" "-L" "."
9885 "-l" "test/m-buffer-test.el"
9886 "-l" "test/m-buffer-at-test.el"
9887 "-f" "ert-run-tests-batch-and-exit"))))))
9888 (build-system emacs-build-system)
9889 (home-page "https://github.com/phillord/m-buffer-el")
9890 (synopsis "List oriented buffer operations for Emacs")
9891 (description "@code{m-buffer} provides a set of list-orientated functions
9892for operating over the contents of Emacs buffers.")
9893 (license license:gpl3+)))
9894
9895(define-public emacs-let-alist
9896 (package
9897 (name "emacs-let-alist")
9898 (version "1.0.5")
9899 (source
9900 (origin
9901 (method url-fetch)
9902 (uri (string-append
9903 "https://elpa.gnu.org/packages/let-alist-" version ".el"))
9904 (sha256
9905 (base32
9906 "0r7b9jni50la1m79kklml11syg8d2fmdlr83pv005sv1wh02jszw"))))
9907 (build-system emacs-build-system)
9908 (home-page "https://elpa.gnu.org/packages/let-alist.html")
9909 (synopsis "Easily let-bind values of an assoc-list by their names")
9910 (description "This package offers a single macro, @code{let-alist}. This
9911macro takes a first argument (whose value must be an alist) and a body.")
9912 (license license:gpl3+)))
9913
9914(define-public emacs-esup
9915 (let ((commit "a589005a9a888537deef94d6fe38a9b8790c97c7")
9916 (revision "1"))
9917 (package
9918 (name "emacs-esup")
9919 (version (string-append "0.6" "-" revision "."
9920 (string-take commit 7)))
9921 (source
9922 (origin
9923 (method git-fetch)
9924 (uri (git-reference
9925 (url "https://github.com/jschaf/esup.git")
9926 (commit commit)))
9927 (file-name (string-append name "-" version "-checkout"))
9928 (sha256
9929 (base32
9930 "04lxmd0h7mfjjl0qghrycgff0vcv950j1wqv0dbkr61jxp64n5fv"))))
9931 ;; TODO: Add tests
9932 (build-system emacs-build-system)
9933 (home-page "https://github.com/jschaf/esup")
9934 (synopsis "Emacs start up profiler")
9935 (description "Benchmark Emacs Startup time without ever leaving
9936your Emacs.")
9937 (license license:gpl2+))))
9938
9939(define-public emacs-sourcemap
9940 (package
9941 (name "emacs-sourcemap")
9942 (version "0.03")
9943 (source
9944 (origin
9945 (method url-fetch)
9946 (uri (string-append "https://github.com/syohex/emacs-sourcemap/archive/"
9947 version ".tar.gz"))
9948 (file-name (string-append name "-" version ".tar.gz"))
9949 (sha256
9950 (base32
9951 "0bmd5l3cx2iyl7vxn84xdhs80b07kpdpfwki28lh5d0kmm5qs6m6"))))
9952 (build-system emacs-build-system)
9953 (home-page "https://github.com/syohex/emacs-sourcemap")
9954 (synopsis "Sourcemap parser")
9955 (description "Sourcemap parser")
9956 (license license:gpl3+)))
9957
9958(define-public emacs-macrostep
9959 (let ((commit "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267"))
9960 (package
9961 (name "emacs-macrostep")
9962 (version (git-version "0.9" "1" commit))
9963 (source (origin
9964 (method git-fetch)
9965 (uri (git-reference
9966 (url "https://github.com/joddie/macrostep.git")
9967 (commit commit)))
9968 (file-name (string-append name "-" version "-checkout"))
9969 (sha256
9970 (base32
9971 "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"))))
9972 (build-system emacs-build-system)
9973 (arguments
9974 '(#:phases
9975 (modify-phases %standard-phases
9976 (add-before 'check 'remove-test
9977 ;; Fails because of requirement ‘/bin/sh’.
9978 (lambda _
9979 (let ((file "macrostep-test.el"))
9980 (chmod file #o644)
9981 (emacs-batch-edit-file file
9982 `(progn (progn (goto-char (point-min))
9983 (re-search-forward
9984 "(ert-deftest macrostep-expand-c-macros")
9985 (beginning-of-line)
9986 (kill-sexp))
9987 (basic-save-buffer))))))
9988 (add-before 'install 'check
9989 (lambda _
9990 (invoke "emacs" "--batch" "-L" "."
9991 "-l" "macrostep-test.el"
9992 "-f" "ert-run-tests-batch-and-exit"))))))
9993 (home-page "https://github.com/joddie/macrostep")
9994 (synopsis "Interactive macro-expander for Emacs")
9995 (description "@code{macrostep} is an Emacs minor mode for interactively
9996stepping through the expansion of macros in Emacs Lisp source code. It lets
9997you see exactly what happens at each step of the expansion process by
9998pretty-printing the expanded forms inline in the source buffer, which is
9999temporarily read-only while macro expansions are visible. You can expand and
10000collapse macro forms one step at a time, and evaluate or instrument the
10001expansions for debugging with Edebug as normal (but see “Bugs and known
10002limitations”, below). Single-stepping through the expansion is particularly
10003useful for debugging macros that expand into another macro form. These can be
10004difficult to debug with Emacs’ built-in macroexpand, which continues expansion
10005until the top-level form is no longer a macro call.")
10006 (license license:gpl3+))))
10007
10008(define-public emacs-parent-mode
10009 (package
10010 (name "emacs-parent-mode")
10011 (version "2.3")
10012 (source
10013 (origin
10014 (method url-fetch)
10015 (uri (string-append "https://github.com/Fanael/parent-mode/archive/"
10016 version ".tar.gz"))
10017 (file-name (string-append name "-" version ".tar.gz"))
10018 (sha256
10019 (base32
10020 "0gxbl5s1w96v6v55b7aaansgw4sxhzfx9nrsvpk3pfhsibs6yqjd"))))
10021 (build-system emacs-build-system)
10022 (home-page "https://github.com/Fanael/parent-mode")
10023 (synopsis "Get major mode's parent modes")
10024 (description "Get major mode's parent modes")
10025 (license license:gpl3+)))
10026
10027(define-public emacs-lacarte
10028 (package
10029 (name "emacs-lacarte")
10030 (version "0.1")
10031 (source (origin
10032 (method url-fetch)
10033 (uri "https://www.emacswiki.org/emacs/download/lacarte.el")
10034 (sha256
10035 (base32
10036 "1sbmk37ljq5j7dsw5c37sbxvlfgdqswh7bi4dknyjzfxlq50f4am"))))
10037 (build-system emacs-build-system)
10038 (home-page "https://www.emacswiki.org/emacs/lacarte.el")
10039 (synopsis "Execute menu items as commands, with completion")
10040 (description "Execute menu items as commands, with completion.")
10041 (license license:gpl3)))
10042
48211de6 10043(define-public emacs-isearch-prop
10044 (let ((commit "5e9dc44cf582d998aaa73ccd4d07cbda01248156")
10045 (revision "1"))
10046 (package
10047 (name "emacs-isearch-prop")
10048 (version (git-version "0" revision commit))
10049 (source
10050 (origin
10051 (method git-fetch)
10052 (uri (git-reference
10053 (url "https://github.com/emacsmirror/isearch-prop.git")
10054 (commit commit)))
10055 (file-name (git-file-name name version))
10056 (sha256
10057 (base32
10058 "1xawppy705ybsgx566zvj8zk2aajq0sqvhvfs7nijqq32lx0a2zl"))))
10059 (build-system emacs-build-system)
10060 (home-page "https://www.emacswiki.org/emacs/isearch-prop.el")
10061 (synopsis "Extensions to @code{isearch.el}")
10062 (description "The Emacs library @code{isearch-prop.el} lets you search within
10063 contexts. You can limit incremental search to a set of zones of
10064 buffer text, search contexts that in effect constitute a multi-region.
10065 These zones can be defined in various ways, including some ways
10066 provided specially by this library.")
10067 (license license:gpl3+))))
10068
eeb883cb
RW
10069(define-public emacs-company-lua
10070 (let ((commit "0be8122f3adf57ad27953bf4b03545d6298d3da4"))
10071 (package
10072 (name "emacs-company-lua")
10073 (version (git-version "0.1" "1" commit))
10074 (source
10075 (origin
10076 (method git-fetch)
10077 (uri (git-reference
10078 (url "https://github.com/ptrv/company-lua.git")
10079 (commit commit)))
10080 (file-name (git-file-name name version))
10081 (sha256
10082 (base32
10083 "1d9i165apgmwns7b2fd5wcpjpkah3dyj20v5sb8ynvz6qhhr5r9c"))))
10084 (build-system emacs-build-system)
10085 (propagated-inputs
10086 `(("emacs-company" ,emacs-company)
10087 ("emacs-s" ,emacs-s)
10088 ("emacs-f" ,emacs-f)
10089 ("emacs-lua-mode" ,emacs-lua-mode)))
10090 (home-page "https://github.com/ptrv/company-lua")
10091 (synopsis "Company backend for Lua")
10092 (description
10093 "This package provides Company backend for Lua programming language.")
10094 (license license:gpl3+))))
10095
10096(define-public emacs-beginend
10097 (package
10098 (name "emacs-beginend")
10099 (version "2.0.0")
10100 (source
10101 (origin
10102 (method url-fetch)
10103 (uri (string-append "https://github.com/DamienCassou/beginend/archive/"
10104 "v" version ".tar.gz"))
10105 (file-name (string-append name "-" version ".tar.gz"))
10106 (sha256
10107 (base32
10108 "0z4rbwffh9vxfvcrlvym4p73z7gf72q0b5iv33llbpcpbijknnrq"))))
10109 ;; TODO: Run tests.
10110 (build-system emacs-build-system)
10111 (inputs
10112 `(("emacs-undercover" ,emacs-undercover))) ; For tests.
10113 (home-page "https://github.com/DamienCassou/beginend")
10114 (synopsis "Redefine @code{M-<} and @code{M->} for Emacs modes")
10115 (description "@code{beginend} redefines @code{M-<} and @code{M->}
10116keybindings for Emacs modes so that point moves to meaningful
10117locations. Redefined keys are still accessible by pressing the same
10118key again.")
10119 (license license:gpl3+)))
10120
10121(define-public emacs-mbsync
10122 (let ((commit "42077e83ae2db778ce0f8e22f8357b40355526b3")
10123 (revision "1"))
10124 (package
10125 (name "emacs-mbsync")
10126 (version (string-append "0.0.1" "-" revision "."
10127 (string-take commit 7)))
10128 (source
10129 (origin
10130 (method git-fetch)
10131 (uri (git-reference
10132 (url "https://github.com/dimitri/mbsync-el.git")
10133 (commit commit)))
10134 (file-name (string-append name "-" version "-checkout"))
10135 (sha256
10136 (base32
10137 "0yj93y2mpxlir8x73znlg1slxlv4blm1vjv5h2w3j8lxg8bxvmn6"))))
10138 (build-system emacs-build-system)
10139 (home-page "https://github.com/dimitri/mbsync-el")
10140 (synopsis "Interface to mbsync for Emacs")
10141 (description "This package allows to call the @code{mbsync} from
10142within Emacs.")
10143 (license license:gpl3+))))
10144
10145(define-public emacs-ibuffer-projectile
10146 (let ((commit "c18ac540ee46cb759fc5df18747f6e8d23563011")
10147 (revision "1"))
10148 (package
10149 (name "emacs-ibuffer-projectile")
10150 (version (string-append "0.2" "-" revision "."
10151 (string-take commit 7)))
10152 (source
10153 (origin
10154 (method git-fetch)
10155 (uri (git-reference
10156 (url "https://github.com/purcell/ibuffer-projectile.git")
10157 (commit commit)))
10158 (file-name (string-append name "-" version "-checkout"))
10159 (sha256
10160 (base32
10161 "1nd26cwwdpnwj0g4w393rd59klpyr6wqrnyr6scmwb5d06bsm44n"))))
10162 (build-system emacs-build-system)
10163 (propagated-inputs
10164 `(("emacs-projectile" ,emacs-projectile)))
10165 (home-page "https://github.com/purcell/ibuffer-projectile")
10166 (synopsis "Group ibuffer's list by projectile root")
10167 (description "Adds functionality to Emacs @code{ibuffer} for
10168grouping buffers by their projectile root directory.")
10169 (license license:gpl3+))))
10170
10171(define-public emacs-helm-mode-manager
10172 (package
10173 (name "emacs-helm-mode-manager")
10174 (version "1.0.0")
10175 (source
10176 (origin
10177 (method url-fetch)
10178 (uri (string-append "https://github.com/istib/helm-mode-manager/"
10179 "archive/" version ".tar.gz"))
10180 (file-name (string-append name "-" version ".tar.gz"))
10181 (sha256
10182 (base32
10183 "0wllj321z16hgrx0ddwzk5wz4mnnx5am7w5nclqclfc5dfdn92wm"))))
10184 (build-system emacs-build-system)
10185 (propagated-inputs
10186 `(("emacs-helm" ,emacs-helm)))
10187 (home-page "https://github.com/istib/helm-mode-manager/")
10188 (synopsis "Switch and toggle Emacs major and minor modes using Helm")
10189 (description "This package provides a Helm interface for toggling Emacs
10190major or minor mode.
10191
10192@itemize
10193@item @code{helm-switch-major-mode} list of all major modes
10194@item @code{helm-enable-minor-mode} list of all inactive minor modes
10195@item @code{helm-disable-minor-mode} list of all ACTIVE minor modes
10196@end itemize\n
10197
10198Hitting @code{RET} enables the mode, @code{C-z} shows the mode
10199documentation.")
10200 (license license:gpl3+)))
10201
10202(define-public emacs-hy-mode
10203 (package
10204 (name "emacs-hy-mode")
10205 (version "1.0.3")
10206 (source
10207 (origin
10208 (method url-fetch)
10209 (uri (string-append "https://github.com/hylang/hy-mode/archive/"
10210 "v" version ".tar.gz"))
10211 (file-name (string-append name "-" version ".tar.gz"))
10212 (sha256
10213 (base32
10214 "0b4pvbr2hf77bq2vsyfsv653q0dab7qzq85wc7kdziw7687jdf2z"))))
10215 (build-system emacs-build-system)
10216 (propagated-inputs
10217 `(("emacs-dash" ,emacs-dash)
10218 ("emacs-s" ,emacs-s)))
10219 (home-page "https://github.com/hylang/hy-mode")
10220 (synopsis "Major mode for Hylang")
10221 (description "This package provides a major mode for Hylang.")
10222 (license license:gpl3+)))
10223
10224(define-public emacs-web-beautify
10225 (package
10226 (name "emacs-web-beautify")
10227 (version "0.3.2")
10228 (source
10229 (origin
10230 (method url-fetch)
10231 (uri (string-append "https://github.com/yasuyk/web-beautify/archive/"
10232 version ".tar.gz"))
10233 (file-name (string-append name "-" version ".tar.gz"))
10234 (sha256
10235 (base32
10236 "1j57hwid74id4swkx2g0iljfawx0k9c7qjrwqc0mv657x9p78hcs"))))
10237 (build-system emacs-build-system)
10238 (home-page "https://github.com/yasuyk/web-beautify")
10239 (synopsis "Format HTML, CSS and JavaScript, JSON")
10240 (description "This package provides an Emacs functions to format HTML,
10241CSS, JavaScript, JSON.")
10242 (license license:gpl3+)))
10243
10244(define-public emacs-helm-shell-history
10245 (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1"))
10246 (package
10247 (name "emacs-helm-shell-history")
10248 (version (git-version "0.1" "1" commit))
10249 (source
10250 (origin
10251 (method git-fetch)
10252 (uri (git-reference
10253 (url "https://github.com/yuutayamada/helm-shell-history.git")
10254 (commit commit)))
10255 (file-name (git-file-name name version))
10256 (sha256
10257 (base32
10258 "18fkjcz69g4dyaxhf9j8svr5x6dhsdnglddwisis8hdn504scpfj"))))
10259 (build-system emacs-build-system)
10260 (arguments
10261 '(#:phases
10262 (modify-phases %standard-phases
10263 (add-before 'check 'patch-helm-shell-history-file
10264 (lambda _
10265 (let ((file "helm-shell-history.el"))
10266 (chmod file #o644)
10267 (emacs-substitute-sexps file
10268 ("(defvar helm-shell-history-file"
10269 `(expand-file-name "~/.bash_history"))))
10270 #t)))))
10271 (propagated-inputs
10272 `(("emacs-helm" ,emacs-helm)))
10273 (home-page "https://github.com/yuutayamada/helm-shell-history")
10274 (synopsis "Find shell history with Emacs Helm")
10275 (description "This package provides an Emacs Helm interface to search
10276throw a shell history.")
10277 (license license:gpl3+))))
10278
10279(define-public emacs-discover-my-major
10280 (package
10281 (name "emacs-discover-my-major")
10282 (version "1.0")
10283 (source
10284 (origin
10285 (method url-fetch)
10286 (uri
10287 (string-append "https://github.com/steckerhalter/discover-my-major"
10288 "/archive/" version ".tar.gz"))
10289 (file-name (string-append name "-" version ".tar.gz"))
10290 (sha256
10291 (base32
10292 "0nah41f92rrl2l405kpqr6iaks11jyclgl4z7ilfymbr4ifmsiyl"))))
10293 (build-system emacs-build-system)
10294 (propagated-inputs
10295 `(("emacs-makey" ,emacs-makey)))
10296 (home-page "https://github.com/steckerhalter/discover-my-major")
10297 (synopsis "Discover key bindings for the current Emacs major mode")
10298 (description "This package provides allows to discover key bindings and
10299their meaning for the current Emacs major-mode.")
10300 (license license:gpl3+)))
10301
10302(define-public emacs-org-ref
10303 (let ((commit "8c9b5d7efb9f0c1ad5186b8203bdd017f4249129")
10304 (revision "1"))
10305 (package
10306 (name "emacs-org-ref")
10307 (version (string-append "1.1.1" "-" revision "."
10308 (string-take commit 7)))
10309 (source
10310 (origin
10311 (method git-fetch)
10312 (uri (git-reference
10313 (url "https://github.com/jkitchin/org-ref.git")
10314 (commit commit)))
10315 (file-name (string-append name "-" version "-checkout"))
10316 (sha256
10317 (base32
10318 "1rxz0bjdsayk0slv23i07d9xhj2m7s4hsc81wc2d1cs52dkr5zmz"))))
10319 (build-system emacs-build-system)
10320 (propagated-inputs
10321 `(("emacs-dash" ,emacs-dash)
10322 ("emacs-helm" ,emacs-helm)
10323 ("emacs-helm-bibtex" ,emacs-helm-bibtex)
10324 ("emacs-ivy" ,emacs-ivy)
10325 ("emacs-hydra" ,emacs-hydra)
10326 ("emacs-key-chord" ,emacs-key-chord)
10327 ("emacs-s" ,emacs-s)
10328 ("emacs-f" ,emacs-f)
10329 ("emacs-pdf-tools" ,emacs-pdf-tools)))
10330 (home-page "https://github.com/jkitchin/org-ref")
10331 (synopsis "Citations, cross-references and bibliographies in org-mode")
10332 (description
10333 "Lisp code to setup bibliography, cite, ref and label org-mode links.
10334Also sets up reftex and helm for org-mode citations. The links are
10335clickable and do things that are useful.
10336
10337The default setup uses helm-bibtex.
10338
10339You should really read org-ref.org in this package for details.")
10340 (license license:gpl3+))))
10341
3e0df6cd 10342;; This project is unmaintained. Please use emacs-org-re-reveal instead.
eeb883cb 10343(define-public emacs-org-reveal
dfb49d78 10344 (let ((commit "1cdd088ec5fab631c564dca7f9f74fd3e9b7d4d4"))
6e4a5b9e
CL
10345 (package
10346 (name "emacs-org-reveal")
dfb49d78 10347 (version (git-version "0.1" "2" commit))
6e4a5b9e
CL
10348 (source (origin
10349 (method git-fetch)
10350 (uri (git-reference
10351 (url "https://github.com/yjwen/org-reveal.git")
10352 (commit commit)))
10353 (file-name (git-file-name name version))
10354 (sha256
10355 (base32
dfb49d78 10356 "1vjxjadq2i74p96y9jxnqj1yb86fsgxzmn7bjgnb88ay6nvc1l72"))))
6e4a5b9e
CL
10357 (build-system emacs-build-system)
10358 (home-page "https://github.com/yjwen/org-reveal")
10359 (synopsis "Org and Reveal.js powered HTML presentation tool")
10360 (description "Org-Reveal is a command@{org-mode} extension that allows
10361to create beautiful presentations (slides) with 3D effects from simple but
eeb883cb 10362powerful Org contents.")
6e4a5b9e 10363 (license license:gpl3+))))
eeb883cb 10364
3e0df6cd
CL
10365(define-public emacs-org-re-reveal
10366 (package
10367 (name "emacs-org-re-reveal")
10368 (version "1.0.3")
10369 (source (origin
10370 (method git-fetch)
10371 (uri (git-reference
10372 (url "https://gitlab.com/oer/org-re-reveal.git")
10373 (commit "50cc6574c77f12d423f6cd096d8f76feb3673abc")))
10374 (file-name (git-file-name name version))
10375 (sha256
10376 (base32
10377 "1v3z30gpimg4spf6zzqwp9b597zxk89h0vpq6xp58js4rjg4ixk8"))))
10378 (build-system emacs-build-system)
10379 (propagated-inputs
10380 `(("emacs-htmlize" ,emacs-htmlize)
10381 ("emacs-org" ,emacs-org)))
10382 (home-page "https://gitlab.com/oer/org-re-reveal")
10383 (synopsis "Build HTML presentations with reveal.js from Org source files")
10384 (description "This project started as fork of org-reveal. It provides an
10385export back-end for HTML presentations with reveal.js from Org mode source
10386files.")
10387 (license license:gpl3+)))
10388
eeb883cb
RW
10389(define-public emacs-add-hooks
10390 (package
10391 (name "emacs-add-hooks")
10392 (version "3.1.1")
10393 (source (origin
10394 (method url-fetch)
10395 (uri (string-append
10396 "https://github.com/nickmccurdy/add-hooks/archive/"
10397 version ".tar.gz"))
10398 (file-name (string-append name "-" version ".tar.gz"))
10399 (sha256
10400 (base32
10401 "03a28gb3298g7pc2qji9hi44p4d99ljp5mpi9cmg42ldv8fl6549"))))
10402 (build-system emacs-build-system)
10403 (home-page "https://github.com/nickmccurdy/add-hooks/")
10404 (synopsis "Emacs function for setting multiple hooks")
10405 (description "This package provides a @code{add-hooks} function tidies up
10406duplicate hook and function names further into a single declarative call.")
10407 (license license:gpl3+)))
10408
10409(define-public emacs-fancy-narrow
10410 (package
10411 (name "emacs-fancy-narrow")
10412 (version "0.9.5")
10413 (source
10414 (origin
10415 (method url-fetch)
10416 (uri (string-append "https://github.com/Malabarba/fancy-narrow/archive/"
10417 version ".tar.gz"))
10418 (file-name (string-append name "-" version ".tar.gz"))
10419 (sha256
10420 (base32
10421 "0rf2rnzg82pdqch041yyx3f9ddixffkk9s2ydzg8hwy66sg3385n"))))
10422 (build-system emacs-build-system)
10423 (home-page "https://github.com/Malabarba/fancy-narrow/releases")
10424 (synopsis "Imitate @code{narrow-to-region} with more eye candy")
10425 (description
10426 "Unlike @code{narrow-to-region}, which completely hides text outside
10427the narrowed region, this package simply de-emphasizes the text, makes it
10428read-only, and makes it unreachable. This leads to a much more natural
10429feeling where the region stays static (instead of being brutally moved to a
10430blank slate) and is clearly highlighted with respect to the rest of the
10431buffer.")
10432 (license license:gpl2+)))
10433
10434(define-public emacs-know-your-http-well
10435 (package
10436 (name "emacs-know-your-http-well")
10437 (version "0.5.0")
10438 (source
10439 (origin
10440 (method url-fetch)
10441 (uri (string-append
10442 "https://github.com/for-GET/know-your-http-well/archive/"
10443 "v" version ".tar.gz"))
10444 (file-name (string-append name "-" version ".tar.gz"))
10445 (sha256
10446 (base32
10447 "1y3kwz88awcgwaivlswq0q4g2i02762r23lpwg61bfqy5lrjjqnj"))))
10448 (arguments
10449 `(#:phases
10450 (modify-phases %standard-phases
10451 (add-after 'unpack 'install-json-files
10452 (lambda* (#:key outputs #:allow-other-keys)
10453 (for-each (lambda (directory)
10454 (copy-recursively directory
10455 (string-append
10456 (assoc-ref outputs "out")
10457 directory)))
10458 '("js" "json"))))
10459 (add-after 'unpack 'chdir-elisp
10460 ;; Elisp directory is not in root of the source.
10461 (lambda _
10462 (chdir "emacs"))))))
10463 (build-system emacs-build-system)
10464 (home-page "https://github.com/for-GET/know-your-http-well")
10465 (synopsis "Meaning of HTTP headers codes")
10466 (description "Meaning of HTTP headers codes.")
10467 (license license:gpl3+)))
10468
10469(define-public emacs-navi-mode
10470 (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674"))
10471 (package
10472 (name "emacs-navi-mode")
10473 (version (git-version "2.0" "1" commit))
10474 (source
10475 (origin
10476 (method git-fetch)
10477 (uri (git-reference
10478 (url "https://github.com/alphapapa/navi.git")
10479 (commit commit)))
10480 (file-name (git-file-name name version))
10481 (sha256
10482 (base32
10483 "0jj5spk14hgb7zb1cd2n8whcw4k1kd5zb6llwj96v178yaws7l8k"))))
10484 (build-system emacs-build-system)
10485 (propagated-inputs
10486 `(("emacs-outshine" ,emacs-outshine)
10487 ("emacs-outorg" ,emacs-outorg)))
10488 (home-page "https://github.com/alphapapa/navi")
10489 (synopsis "Emacs major-mode for easy buffer-navigation")
10490 (description
10491 "This package provides an Emacs major-mode for easy buffer-navigation")
10492 (license license:gpl3+))))
10493
10494(define-public emacs-download-region
10495 (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa")
10496 (revision "1"))
10497 (package
10498 (name "emacs-download-region")
10499 (version (string-append "0.0.1" "-" revision "."
10500 (string-take commit 7)))
10501 (source
10502 (origin
10503 (method git-fetch)
10504 (uri (git-reference
10505 (url "https://github.com/zk-phi/download-region.git")
10506 (commit commit)))
10507 (file-name (string-append name "-" version "-checkout"))
10508 (sha256
10509 (base32
10510 "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc"))))
10511 (build-system emacs-build-system)
10512 (home-page "https://github.com/zk-phi/download-region")
10513 (synopsis "In buffer download manager for Emacs")
10514 (description "@code{download-region} provides in buffer
10515downloading manager for Emacs.")
10516 (license license:gpl3+))))
10517
10518(define-public emacs-helpful
10519 (package
10520 (name "emacs-helpful")
10521 (version "0.15")
10522 (source (origin
10523 (method url-fetch)
10524 (uri (string-append
10525 "https://github.com/Wilfred/helpful/archive/"
10526 version ".tar.gz"))
10527 (file-name (string-append name "-" version ".tar.gz"))
10528 (sha256
10529 (base32
10530 "1xmvhphzb4hbg647dz4lafy6hd19b7bk3lxni6irqrzdsrclhzn6"))))
10531 (build-system emacs-build-system)
10532 (propagated-inputs
10533 `(("emacs-elisp-refs" ,emacs-elisp-refs)))
10534 (home-page "https://github.com/Wilfred/helpful")
10535 (synopsis "More contextual information in Emacs help")
10536 (description "@code{helpful} is an alternative to the built-in Emacs help
10537that provides much more contextual information.
10538
10539@itemize
10540@item Show the source code for interactively defined functions (unlike the
10541built-in Help).
10542@item Fall back to the raw sexp if no source is available.
10543@item Show where a function is being called.
10544@item Docstrings will Highlight the summary (the first sentence), include
10545cross-references, hide superfluous puncuation.
10546@item Show you the properties that have been applied to the current
10547symbol. This provides visibility of features like edebug or byte-code
10548optimisation.
10549@item Provide a separate @code{helpful-command} function to view interactive
10550functions.
10551@item Display any keybindings that apply to interactive functions.
10552@item Trace, disassemble functions from inside Helpful. This is discoverable
10553and doesn't require memorisation of commands.
10554@end itemize\n")
10555 (license license:gpl3+)))
10556
10557(define-public emacs-logview
10558 (package
10559 (name "emacs-logview")
10560 (version "0.9")
10561 (source (origin
10562 (method url-fetch)
10563 (uri (string-append
10564 "https://github.com/doublep/logview/archive/"
10565 version ".tar.gz"))
10566 (file-name (string-append name "-" version ".tar.gz"))
10567 (sha256
10568 (base32
10569 "1vd11ppm46ldqsiwhqgw91p34gbjh1y82r9mxcn9r2gj65nvhxcp"))))
10570 (propagated-inputs
10571 `(("emacs-datetime" ,emacs-datetime)))
10572 (build-system emacs-build-system)
10573 (home-page "https://github.com/doublep/logview/")
10574 (synopsis "Emacs mode for viewing log files")
10575 (description "@code{logview} provides an Emacs mode to view log files.")
10576 (license license:gpl3+)))
10577
10578(define-public emacs-suggest
10579 (package
10580 (name "emacs-suggest")
b6180f93
PN
10581 (version "0.7")
10582 (home-page "https://github.com/Wilfred/suggest.el")
eeb883cb
RW
10583 (source
10584 (origin
b6180f93
PN
10585 (method git-fetch)
10586 (uri (git-reference
10587 (url home-page)
10588 (commit version)))
10589 (file-name (git-file-name name version))
eeb883cb
RW
10590 (sha256
10591 (base32
b6180f93 10592 "01v8plska5d3g19sb1m4ph1i3ayprfzk8mi6mpabjy6zad397xjl"))))
eeb883cb
RW
10593 (build-system emacs-build-system)
10594 (propagated-inputs
10595 `(("emacs-loop" ,emacs-loop)
10596 ("emacs-dash" ,emacs-dash)
10597 ("emacs-s" ,emacs-s)
b6180f93
PN
10598 ("emacs-f" ,emacs-f)
10599 ("emacs-spinner" ,emacs-spinner)
10600 ("emacs-shut-up" ,emacs-shut-up)))
eeb883cb
RW
10601 (synopsis "Suggest Elisp functions that give the output requested")
10602 (description "Suggest.el will find functions that give the output
10603requested. It's a great way of exploring list, string and arithmetic
10604functions.")
10605 (license license:gpl3+)))
10606
10607(define-public emacs-benchmark-init
10608 (package
10609 (name "emacs-benchmark-init")
10610 (version "1.0")
10611 (source (origin
10612 (method url-fetch)
10613 (uri (string-append
10614 "https://github.com/dholm/benchmark-init-el/archive/"
10615 version ".tar.gz"))
10616 (file-name (string-append name "-" version ".tar.gz"))
10617 (sha256
10618 (base32
10619 "0szyqr4nncwz4vd5gww1vz31kf9r2lx25p4d0d09pm35974x53kz"))))
10620 (build-system emacs-build-system)
10621 (home-page "https://github.com/dholm/benchmark-init-el")
10622 (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
10623 (description "@code{benchmark-init} provides a way to keep track of where
10624time is being spent during Emacs startup in order to optimize startup time.")
10625 (license license:gpl3+)))
10626
10627(define-public emacs-emms-player-simple-mpv
10628 ;; A new mpv backend is included in Emms from 5.0.
10629 (deprecated-package "emacs-emms-player-simple-mpv" emacs-emms))
10630
f0caf760
MC
10631(define-public emacs-magit-gerrit
10632 (let ((version "0.3")
10633 (revision "1")
10634 (commit "ece6f369694aca17f3ac166ed2801b432acfe20d"))
10635 (package
10636 (name "emacs-magit-gerrit")
10637 (version (git-version version revision commit))
10638 (source (origin
10639 (method git-fetch)
10640 (uri (git-reference
10641 (url "https://github.com/terranpro/magit-gerrit.git")
10642 (commit commit)))
10643 (file-name (git-file-name name version))
10644 (sha256
10645 (base32
10646 "0mms0gxv9a3ns8lk5k2wjibm3088y1cmpr3axjdh6ppv7r5wdvii"))))
10647 (build-system emacs-build-system)
10648 (propagated-inputs
10649 `(("emacs-magit" ,emacs-magit)))
10650 (home-page "https://github.com/terranpro/magit-gerrit")
10651 (synopsis "Magit extension for Gerrit")
10652 (description "This Magit extension provides integration with Gerrit,
10653which makes it possible to conduct Gerrit code reviews directly from within
10654Emacs.")
10655 (license license:gpl3+))))
10656
eeb883cb
RW
10657(define-public emacs-magit-org-todos-el
10658 (let ((commit "df206287737b9671f2e36ae7b1474ebbe9940d2a"))
10659 (package
10660 (name "emacs-magit-org-todos-el")
10661 (version (git-version "0.1.1" "1" commit))
10662 (source
10663 (origin
10664 (method git-fetch)
10665 (uri (git-reference
10666 (url "https://github.com/danielma/magit-org-todos.el.git")
10667 (commit commit)))
10668 (file-name (git-file-name name version))
10669 (sha256
10670 (base32
10671 "0kdp7k7jnnrkhsg0xh1c3h7iz0vgi120gf5xwl1hxy61avivnxrn"))))
10672 (propagated-inputs
10673 `(("magit" ,emacs-magit)))
10674 (build-system emacs-build-system)
10675 (home-page "https://github.com/danielma/magit-org-todos.el")
10676 (synopsis "Get todo.org into Emacs Magit status")
10677 (description "This package allows you to get @file{todo.org} into your
10678magit status.
10679
10680If you have a @file{todo.org} file with @code{TODO} items in the root of your
10681repository, @code{magit-org-todos} will create a section in your Magit status
10682buffer with each of your todos.")
10683 (license license:gpl3+))))
10684
10685(define-public emacs-f3
10686 (package
10687 (name "emacs-f3")
10688 (version "0.1")
10689 (source
10690 (origin
10691 (method url-fetch)
10692 (uri (string-append "https://github.com/cosmicexplorer/f3/archive/"
10693 version ".tar.gz"))
10694 (file-name (string-append name "-" version ".tar.gz"))
10695 (sha256
10696 (base32
10697 "06b8i1jvklm5k3k90n65f197l1miq1xlxqkqpbppw4h3rhl4y98h"))))
10698 (build-system emacs-build-system)
10699 (propagated-inputs
10700 `(("emacs-helm" ,emacs-helm)))
10701 (home-page "https://github.com/cosmicexplorer/f3")
10702 (synopsis "Fantastic File Finder for Emacs")
10703 (description
10704 "The Fantastic File Finder for Emacs. Find files fast, using helm.")
10705 (license license:gpl3+)))
10706
10707(define-public emacs-lice-el
10708 (let ((commit "4339929927c62bd636f89bb39ea999d18d269250"))
10709 (package
10710 (name "emacs-lice-el")
10711 (version (git-version "0.2" "1" commit))
10712 (source (origin
10713 (method git-fetch)
10714 (uri (git-reference
10715 (url "https://github.com/buzztaiki/lice-el.git")
10716 (commit commit)))
10717 (file-name (git-file-name name version))
10718 (sha256
10719 (base32
10720 "0879z761b7gajkhq176ps745xpdrivch349crransv8fnsc759yb"))))
10721 (build-system emacs-build-system)
10722 (home-page "https://github.com/buzztaiki/lice-el")
10723 (synopsis "License and header template for Emacs")
10724 (description "@code{lice.el} provides following features:
10725
10726@itemize
10727@item License template management.
10728@item File header insertion.
10729@end itemize\n")
10730 (license license:gpl3+))))
10731
10732(define-public emacs-academic-phrases
10733 (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656"))
10734 (package
10735 (name "emacs-academic-phrases")
10736 (version (git-version "0.1" "1" commit))
10737 (source
10738 (origin
10739 (method git-fetch)
10740 (uri (git-reference
10741 (url "https://github.com/nashamri/academic-phrases.git")
10742 (commit commit)))
10743 (file-name (string-append name "-" version "-checkout"))
10744 (sha256
10745 (base32
10746 "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r"))))
10747 (build-system emacs-build-system)
10748 (propagated-inputs
10749 `(("emacs-dash" ,emacs-dash)
10750 ("emacs-s" ,emacs-s)
10751 ("emacs-ht" ,emacs-ht)))
10752 (home-page "https://github.com/nashamri/academic-phrases")
10753 (synopsis "Bypass that mental block when writing your papers")
10754 (description
10755 "When writing your academic paper, you might get stuck trying to find
10756the right phrase that captures your intention. This package tries to
10757alleviate that problem by presenting you with a list of phrases organized by
10758the topic or by the paper section that you are writing. This package has
10759around 600 phrases so far.
10760
10761Using this package is easy, just call @code{academic-phrases} to get a list of
10762phrases organized by topic, or call @code{academic-phrases-by-section} to
10763browse the phrases by the paper section and fill-in the blanks if required.")
10764 (license license:gpl3+))))
10765
10766(define-public emacs-auto-yasnippet
10767 (let ((commit "d1ccfea87312c6dd8cf8501ab5b71b1d3d44d95b"))
10768 (package
10769 (name "emacs-auto-yasnippet")
10770 (version (git-version "0.3.0" "1" commit))
10771 (source (origin
10772 (method git-fetch)
10773 (uri (git-reference
10774 (url "https://github.com/abo-abo/auto-yasnippet.git")
10775 (commit commit)))
10776 (file-name (string-append name "-" version "-checkout"))
10777 (sha256
10778 (base32
10779 "1i8k2qiyzd5rq0zplk4xb5nfa5mp0ibxbzwqj6c7877waq7244xk"))))
10780 (build-system emacs-build-system)
10781 (arguments
10782 '(#:phases
10783 (modify-phases %standard-phases
10784 (add-before 'install 'check
10785 (lambda _
10786 (invoke "emacs" "--batch"
10787 "-l" "auto-yasnippet.el"
10788 "-l" "auto-yasnippet-test.el"
10789 "-f" "ert-run-tests-batch-and-exit"))))))
10790 (propagated-inputs
10791 `(("emacs-yasnippet" ,emacs-yasnippet)))
10792 (home-page "https://github.com/abo-abo/auto-yasnippet/")
10793 (synopsis "Quickly create disposable yasnippets")
10794 (description "This package provides a hybrid of keyboard macros and
10795yasnippet. You create the snippet on the go, usually to be used just in the
10796one place. It's fast, because you're not leaving the current buffer, and all
10797you do is enter the code you'd enter anyway, just placing ~ where you'd like
10798yasnippet fields and mirrors to be.")
10799 (license license:gpl3+))))
10800
10801(define-public emacs-highlight-numbers
10802 (package
10803 (name "emacs-highlight-numbers")
10804 (version "0.2.3")
10805 (source
10806 (origin
10807 (method url-fetch)
10808 (uri (string-append
10809 "https://github.com/Fanael/highlight-numbers/archive/"
10810 version ".tar.gz"))
10811 (file-name (string-append name "-" version ".tar.gz"))
10812 (sha256
10813 (base32
10814 "030v5p11d4n0581ncv499l1fqrmfziy756q6378x2bv22ixghqqp"))))
10815 (build-system emacs-build-system)
10816 (propagated-inputs
10817 `(("emacs-parent-mode" ,emacs-parent-mode)))
10818 (home-page "https://github.com/Fanael/highlight-numbers")
10819 (synopsis "Highlight numbers in source code")
10820 (description "@code{highlight-numbers-mode} provides a minor mode for
10821syntax highlighting of numeric literals in source code.
10822
10823It s customizable: it's easy to add or redefine what exactly consitutes a
10824\"number\" in given major mode. See @code{highlight-numbers-modelist}.")
10825 (license license:gpl3+)))
10826
10827(define-public emacs-darkroom
10828 (package
10829 (name "emacs-darkroom")
10830 (version "0.1")
10831 (source (origin
10832 (method url-fetch)
10833 (uri (string-append "https://elpa.gnu.org/packages/darkroom-"
10834 version ".el"))
10835 (sha256
10836 (base32
10837 "0fif8fm1h7x7g16949shfnaik5f5488clsvkf8bi5izpqp3vi6ak"))))
10838 (build-system emacs-build-system)
10839 (home-page "https://elpa.gnu.org/packages/darkroom.html")
10840 (synopsis "Remove visual distractions and focus on writing")
10841 (description "@code{darkroom-mode} makes visual distractions disappear.
10842The mode-line is temporarily elided, text is enlarged and margins are adjusted
10843so that it's centered on the window.
10844
10845@code{darkroom-tentative-mode} is similar, but it doesn't immediately turn-on
10846@code{darkroom-mode}, unless the current buffer lives in the sole window of
10847the Emacs frame (i.e. all other windows are deleted). Whenever the frame is
10848split to display more windows and more buffers, the buffer exits
10849@code{darkroom-mode}. Whenever they are deleted, the buffer re-enters
10850@code{darkroom-mode}.")
10851 (license license:gpl3+)))
10852
10853(define-public emacs-rsw-elisp
10854 (package
10855 (name "emacs-rsw-elisp")
10856 (version "1.0.5")
10857 (source (origin
10858 (method url-fetch)
10859 (uri (string-append "https://github.com/rswgnu/rsw-elisp"
10860 "/archive/" version ".tar.gz"))
10861 (file-name (string-append name "-" version ".tar.gz"))
10862 (sha256
10863 (base32
10864 "1jnn7xfwl3wxc87v44ccsf1wwp80par3xgcvfb1icd6zchjmlcps"))))
10865 (build-system emacs-build-system)
10866 (home-page "https://github.com/rswgnu/rsw-elisp")
10867 (synopsis "Improved expressions that interactively evaluate Emacs Lisp")
10868 (description "This package improves and replaces the GNU Emacs commands
10869that interactively evaluate Emacs Lisp expressions. The new commands replace
10870standard key bindings and are all prefixed with @code{rsw-elisp-}. They work
10871the same way as the old commands when called non-interactively; only the
10872interactive behavior should be different.")
10873 (license license:gpl3+)))
10874
10875(define-public emacs-default-text-scale
10876 (let ((commit "968e985e219235f3e744d6d967e592acbaf6e0a8")
10877 (revision "1"))
10878 (package
10879 (name "emacs-default-text-scale")
10880 (version (string-append "0.1" "-" revision "."
10881 (string-take commit 7)))
10882 (source (origin
10883 (method git-fetch)
10884 (uri (git-reference
10885 (url "https://github.com/purcell/default-text-scale")
10886 (commit commit)))
10887 (file-name (string-append name "-" version "-checkout"))
10888 (sha256
10889 (base32
10890 "0zds01c3q5yny6ab1fxfkzzgn1kgl3q23lxxap905f4qd70v922h"))))
10891 (build-system emacs-build-system)
10892 (home-page "https://github.com/purcell/default-text-scale")
10893 (synopsis "Adjust the font size in all Emacs frames")
10894 (description "This package provides commands for increasing or
10895decreasing the default font size in all GUI Emacs frames.")
10896 (license license:gpl3+))))
10897
10898(define-public emacs-visual-regexp
10899 (package
10900 (name "emacs-visual-regexp")
10901 (version "1.1.1")
10902 (source
10903 (origin
10904 (method url-fetch)
10905 (uri (string-append "https://github.com/benma/visual-regexp.el/archive/"
10906 "v" version ".tar.gz"))
10907 (file-name (string-append name "-" version ".tar.gz"))
10908 (sha256
10909 (base32
10910 "1czmhvcivlcdyz7rfm0vd4a3xsgmy4qbvbl6yjxc217wrxqflr92"))))
10911 (build-system emacs-build-system)
10912 (home-page "https://github.com/benma/visual-regexp.el/")
10913 (synopsis "Regexp command with interactive visual feedback")
10914 (description "This package provides an Emacs regexp command with
10915interactive visual feedback.")
10916 (license license:gpl3+)))
10917
10918(define-public emacs-faceup
10919 (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154")
10920 (revision "1"))
10921 (package
10922 (name "emacs-faceup")
10923 (version (string-append "0.0.1" "-" revision "."
10924 (string-take commit 7)))
10925 (source
10926 (origin
10927 (method git-fetch)
10928 (uri (git-reference
10929 (url "https://github.com/Lindydancer/faceup.git")
10930 (commit commit)))
10931 (file-name (string-append name "-" version "-checkout"))
10932 (sha256
10933 (base32
10934 "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx"))))
10935 (build-system emacs-build-system)
10936 (home-page "https://github.com/Lindydancer/faceup")
10937 (synopsis "Markup language for faces and font-lock regression testing")
10938 (description "Emacs is capable of highlighting buffers based on
10939language-specific @code{font-lock} rules. This package makes it possible to
10940perform regression test for packages that provide font-lock rules.")
10941 (license license:gpl3+))))
10942
10943(define-public emacs-racket-mode
10944 (let ((commit "b977873e6128f8399432dcd60cc39f6a6f803d9c")
10945 (revision "2"))
10946 (package
10947 (name "emacs-racket-mode")
10948 (version (string-append "0.0.2" "-" revision "."
10949 (string-take commit 7)))
10950 (source
10951 (origin
10952 (method git-fetch)
10953 (uri (git-reference
10954 (url "https://github.com/greghendershott/racket-mode")
10955 (commit commit)))
10956 (file-name (string-append name "-" version "-checkout"))
10957 (sha256
10958 (base32
10959 "0vp4bbbplqvmnhjpl6ajrlydmrhqzil56cfbs18m5c5fddx0zlh7"))))
10960 (build-system emacs-build-system)
10961 (arguments
10962 `(#:include '("\\.el$" "\\.rkt$")))
10963 (propagated-inputs
10964 `(("emacs-faceup" ,emacs-faceup)
10965 ("emacs-s" ,emacs-s)))
10966 (home-page "https://github.com/greghendershott/racket-mode")
10967 (synopsis "Major mode for Racket language")
10968 (description "@code{racket-mode} provides:
10969
10970@itemize
10971@item Focus on Racket (not various Schemes).
10972@item Follow DrRacket concepts where applicable.
10973@item Thorough font-lock and indent.
10974@end itemize\n")
10975 (license license:gpl3+))))
10976
10977(define-public emacs-grep-context
10978 (let ((commit "a17c57e66687a54e195e08afe776bdd60cb6c0a7"))
10979 (package
10980 (name "emacs-grep-context")
10981 (version (git-version "0.1" "1" commit))
10982 (source
10983 (origin
10984 (method git-fetch)
10985 (uri (git-reference
10986 (url "https://github.com/mkcms/grep-context.git")
10987 (commit commit)))
10988 (file-name (string-append name "-" version "-checkout"))
10989 (sha256
10990 (base32
10991 "1nqfa6kjzjshww4hnwg1c0vcr90bdjihy3kmixq3c3jkvxg99b62"))))
10992 (build-system emacs-build-system)
10993 (propagated-inputs
10994 `(("emacs-dash" ,emacs-dash)))
10995 (home-page "https://github.com/nashamri/academic-phrases")
10996 (synopsis "Increase context in compilation and grep buffers")
10997 (description
10998 "This package provides an Emacs package for more context in
10999compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag},
11000@code{ivy}.")
11001 (license license:gpl3+))))
11002
11003(define-public emacs-helm-firefox
11004 (let ((commit "0ad34b7b5abc485a86cae6920c14de861cbeb085")
11005 (revision "1"))
11006 (package
11007 (name "emacs-helm-firefox")
11008 (version (string-append "0.0.1" "-" revision "."
11009 (string-take commit 7)))
11010 (source
11011 (origin
11012 (method git-fetch)
11013 (uri (git-reference
11014 (url "https://github.com/emacs-helm/helm-firefox.git")
11015 (commit commit)))
11016 (file-name (string-append name "-" version "-checkout"))
11017 (sha256
11018 (base32
11019 "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs"))))
11020 (propagated-inputs
11021 `(("emacs-helm" ,emacs-helm)))
11022 (build-system emacs-build-system)
11023 (home-page "https://github.com/emacs-helm/helm-firefox")
11024 (synopsis "Display firefox bookmarks with Emacs Helm interface")
11025 (description "Display firefox bookmarks with Emacs Helm interface")
11026 (license license:gpl3+))))
11027
11028(define-public emacs-interactive-align
11029 (package
11030 (name "emacs-interactive-align")
11031 (version "0.1.0")
11032 (source
11033 (origin
11034 (method url-fetch)
11035 (uri (string-append "https://github.com/mkcms/interactive-align/"
11036 "archive/" "v" version ".tar.gz"))
11037 (file-name (string-append name "-" version ".tar.gz"))
11038 (sha256
11039 (base32
11040 "0sibpgb4lp6yy3pziak8f3hz4b28yj0dqy2nzh51z3d0b63h528m"))))
11041 (build-system emacs-build-system)
11042 (home-page "https://github.com/mkcms/interactive-align/")
11043 (synopsis "Interactive align-regexp command in Emacs")
11044 (description "Interactive align-regexp command in Emacs")
11045 (license license:gpl3+)))
11046
11047(define-public emacs-shift-number
11048 (package
11049 (name "emacs-shift-number")
11050 (version "0.1")
11051 (source
11052 (origin
11053 (method url-fetch)
11054 (uri (string-append "https://github.com/alezost/shift-number.el"
11055 "/archive/" "v" version ".tar.gz"))
11056 (file-name (string-append name "-" version ".tar.gz"))
11057 (sha256
11058 (base32
11059 "1g79m0hqn9jgpm565vvh8pdfzndc4vw7xisnh5qysj55qfg8cb1x"))))
11060 (build-system emacs-build-system)
11061 (home-page "https://github.com/alezost/shift-number.el")
11062 (synopsis "Increase or decrease the number at point")
11063 (description "@code{emacs-shift-number} provides commands
11064@code{shift-number-up} to increase and @code{shift-number-down} to
11065decrease the number at point.")
11066 (license license:gpl3+)))
11067
11068(define-public emacs-highlight-defined
11069 (package
11070 (name "emacs-highlight-defined")
11071 (version "0.1.5")
11072 (source
11073 (origin
11074 (method url-fetch)
11075 (uri (string-append
11076 "https://github.com/Fanael/highlight-defined/archive/"
11077 version ".tar.gz"))
11078 (file-name (string-append name "-" version ".tar.gz"))
11079 (sha256
11080 (base32
11081 "1ryd66989b5byqdw8jmjrjf0c78iiz72wibld750skcnj5h5h506"))))
11082 (build-system emacs-build-system)
11083 (home-page "https://github.com/Fanael/highlight-defined")
11084 (synopsis "Syntax highlighting of known Elisp symbols")
11085 (description "Minor mode providing syntax highlighting of known Emacs Lisp
11086symbols. Currently the code distinguishes Lisp functions, built-in functions,
11087macros, faces and variables. To enable call @code{highlight-defined-mode}. ")
11088 (license license:gpl3+)))
11089
11090(define-public emacs-parinfer-mode
11091 (package
11092 (name "emacs-parinfer-mode")
11093 (version "0.4.10")
11094 (source
11095 (origin
11096 (method url-fetch)
11097 (uri (string-append "https://github.com/DogLooksGood/parinfer-mode/archive/"
11098 "v" version ".tar.gz"))
11099 (file-name (string-append name "-" version ".tar.gz"))
11100 (sha256
11101 (base32
11102 "06ba9qi59sm9ih9m38fbr8kj4qkvrm58n0c0ngfjz60gnr9x9pcv"))))
11103 (propagated-inputs
11104 `(("emacs-dash" ,emacs-dash)
11105 ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters)
11106 ("emacs-company" ,emacs-company)))
11107 (build-system emacs-build-system)
11108 (home-page "https://github.com/DogLooksGood/parinfer-mode/")
11109 (synopsis "Lisp structure editing mode")
11110 (description "@code{parinfer-mode} is a proof-of-concept editor
11111mode for Lisp programming languages. It will infer some changes to
11112keep Parens and Indentation inline with one another.")
11113 (license license:gpl3+)))
11114
11115(define-public emacs-helm-eww
266c97cb
PN
11116 (package
11117 (name "emacs-helm-eww")
98a1ca7e 11118 (version "1.2")
266c97cb
PN
11119 (source (origin
11120 (method git-fetch)
11121 (uri (git-reference
11122 (url "https://github.com/emacs-helm/helm-eww.git")
11123 (commit version)))
11124 (file-name (string-append name "-" version "-checkout"))
11125 (sha256
11126 (base32
98a1ca7e 11127 "0hpq1h0p69c9k6hkd2mjpprx213sc5475q7pr2zpmwrjdzgcv70z"))))
266c97cb
PN
11128 (propagated-inputs
11129 `(("emacs-helm" ,emacs-helm)))
11130 (build-system emacs-build-system)
11131 (home-page "https://github.com/emacs-helm/helm-eww/")
11132 (synopsis "Helm interface to EWW")
11133 (description "This package provides a Helm interface for EWW buffers,
eeb883cb 11134bookmarks and history.")
266c97cb 11135 (license license:gpl3+)))
eeb883cb
RW
11136
11137(define-public emacs-stumpwm-mode
11138 (let ((commit "8fbe071d2c6c040794060a354eb377218dc10b35")
11139 (revision "1"))
11140 (package
11141 (name "emacs-stumpwm-mode")
11142 (version (string-append "0.0.1-" revision "."
11143 (string-take commit 7)))
11144 (source (origin
11145 (method git-fetch)
11146 (uri (git-reference
11147 (url "https://github.com/stumpwm/stumpwm-contrib.git")
11148 (commit commit)))
11149 (file-name (string-append name "-" version "-checkout"))
11150 (sha256
11151 (base32
11152 "1dfwsvz1c8w6j4jp0kzaz78ml3f5dp0a5pvf090kwpbpg176r7iq"))))
11153 (build-system emacs-build-system)
11154 (arguments
11155 `(#:phases
11156 (modify-phases %standard-phases
11157 (add-after 'unpack 'chdir-elisp
11158 ;; Elisp directory is not in root of the source.
11159 (lambda _
11160 (chdir "util/swm-emacs"))))))
11161 (home-page "https://github.com/stumpwm/stumpwm-contrib")
11162 (synopsis "Emacs minor-mode for Stumpwm")
11163 (description "Emacs minor-mode for Stumpwm")
11164 (license license:gpl3+))))
11165
11166(define-public emacs-irfc
11167 (package
11168 (name "emacs-irfc")
11169 (version "20130824.507")
11170 (source
11171 (origin
11172 (method url-fetch)
11173 (uri "https://www.emacswiki.org/emacs/download/irfc.el")
11174 (file-name (string-append "irfc-" version ".el"))
11175 (sha256
11176 (base32
11177 "197ybqwbj8qjh2p9pkf5mvqnrkpcgmv8c5s2gvl6msyrabk0mnca"))))
11178 (build-system emacs-build-system)
11179 (home-page "https://www.emacswiki.org/emacs/download/irfc.el")
11180 (synopsis "Interface for IETF RFC document")
11181 (description
11182 "This package provides an Emacs interface for IETF RFC document.")
11183 (license license:gpl3+)))
11184
11185(define-public emacs-ido-vertical-mode
11186 (package
11187 (name "emacs-ido-vertical-mode")
11188 (version "0.1.6")
11189 (source
11190 (origin
11191 (method url-fetch)
11192 (uri (string-append
11193 "https://github.com/creichert/ido-vertical-mode.el/archive/"
11194 "v" version ".tar.gz"))
11195 (file-name (string-append name "-" version ".tar.gz"))
11196 (sha256
11197 (base32
11198 "0dprdxq8wvqd45dinwj92k0kixr07c8xvspa6i613mjcpxgwjg53"))))
11199 (build-system emacs-build-system)
11200 (home-page "https://github.com/creichert/ido-vertical-mode.el")
11201 (synopsis "Makes ido-mode display vertically")
11202 (description "Makes ido-mode display prospects vertically.")
11203 (license license:gpl3+)))
11204
11205(define-public emacs-wordgen
11206 (package
11207 (name "emacs-wordgen")
11208 (version "0.1.4")
11209 (source
11210 (origin
11211 (method url-fetch)
11212 (uri (string-append "https://github.com/Fanael/wordgen.el/archive/"
11213 version ".tar.gz"))
11214 (file-name (string-append name "-" version ".tar.gz"))
11215 (sha256
11216 (base32
11217 "1h2iyixdm49h53pwj9ics9gb9h3g6wa4hainpnjg6mfarf49jkmg"))))
11218 (build-system emacs-build-system)
11219 (home-page "https://github.com/Fanael/wordgen.el")
11220 (synopsis "Random word generator")
11221 (description "This package provides functions to generate random words
11222using user-provided rules.")
11223 (license license:gpl3+)))
11224
11225(define-public emacs-on-screen
11226 (package
11227 (name "emacs-on-screen")
11228 (version "1.3.2")
11229 (source
11230 (origin
11231 (method url-fetch)
11232 (uri (string-append
11233 "http://elpa.gnu.org/packages/on-screen-" version ".el"))
11234 (file-name (string-append name "-" version ".el"))
11235 (sha256
11236 (base32
11237 "15d18mjgv1pnwl6kf3pr5w64q1322p1l1qlfvnckglwmzy5sl2qv"))))
11238 (build-system emacs-build-system)
11239 (home-page
11240 "https://github.com/michael-heerdegen/on-screen.el")
11241 (synopsis "Guide your eyes while scrolling")
11242 (description
11243 "Scrolling can be distracting because your eyes may lose
11244orientation. This library implements a minor mode that highlights
11245the previously visible buffer part after each scroll.")
11246 (license license:gpl3+)))
11247
11248(define-public emacs-highlight-escape-sequences
11249 (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41")
11250 (revision "1"))
11251 (package
11252 (name "emacs-highlight-escape-sequences")
11253 (version (string-append "0.0.1" "-" revision "."
11254 (string-take commit 7)))
11255 (source
11256 (origin
11257 (method git-fetch)
11258 (uri (git-reference
11259 (url "https://github.com/dgutov/highlight-escape-sequences.git")
11260 (commit commit)))
11261 (file-name (string-append name "-" version "-checkout"))
11262 (sha256
11263 (base32
11264 "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is"))))
11265 (build-system emacs-build-system)
11266 (home-page "https://github.com/dgutov/highlight-escape-sequences")
11267 (synopsis "Highlight escape sequences in Emacs")
11268 (description "@code{highlight-escape-sequences} provides an
11269Emacs minor mode to escape sequences in code.")
11270 (license license:gpl3+))))
11271
11272(define-public emacs-dashboard
11273 (package
11274 (name "emacs-dashboard")
11275 (version "1.2.4")
11276 (source
11277 (origin
11278 (method url-fetch)
11279 (uri (string-append
11280 "https://github.com/rakanalh/emacs-dashboard/archive/"
11281 version ".tar.gz"))
11282 (file-name (string-append name "-" version ".tar.gz"))
11283 (sha256
11284 (base32
11285 "1738lmbgq6gk24hcwic0qjyajr21l5xzhya4pv58dw1bhd6vxv9g"))))
11286 (build-system emacs-build-system)
11287 (propagated-inputs
11288 `(("emacs-page-break-lines" ,emacs-page-break-lines)))
11289 (arguments '(#:include '("\\.el$" "\\.txt$" "\\.png$")))
11290 (home-page "https://github.com/rakanalh/emacs-dashboard")
11291 (synopsis "Startup screen extracted from Spacemacs")
11292 (description "This package provides an extensible Emacs dashboard, with
11293sections for bookmarks, projectil projects, org-agenda and more. ")
11294 (license license:gpl3+)))
11295
11296(define-public emacs-slime-company
11297 (package
11298 (name "emacs-slime-company")
11299 (version "1.1")
11300 (source
11301 (origin
11302 (method url-fetch)
11303 (uri (string-append "https://github.com/anwyn/slime-company/archive/"
11304 "v" version ".tar.gz"))
11305 (sha256
11306 (base32
11307 "1myl79pxj501xfr5qc5a24qddsn2l5iaamg7rf7fpny7mr9v70ar"))
11308 (file-name (string-append name "-" version ".tar.gz"))))
11309 (build-system emacs-build-system)
11310 (propagated-inputs
11311 `(("emacs-slime" ,emacs-slime)
11312 ("emacs-company" ,emacs-company)))
11313 (home-page "https://company-mode.github.io")
11314 (synopsis "SLIME completion backend for @code{company-mode}")
11315 (description
11316 "This is a backend implementation for the completion package
11317@code{company-mode} which supports the normal and the fuzzy completion
11318modes of SLIME.")
11319 (license license:gpl3+)))
11320
11321(define-public emacs-sml-mode
11322 (package
11323 (name "emacs-sml-mode")
11324 (version "6.8")
11325 (source
11326 (origin
11327 (method url-fetch)
11328 (uri (string-append "http://elpa.gnu.org/packages/sml-mode-"
11329 version ".el"))
11330 (sha256
11331 (base32
11332 "105fcrz5qp95f2n3fdm3awr6z58sbrjihjss6qnrg4lz2ggbc328"))))
11333 (build-system emacs-build-system)
11334 (home-page "http://elpa.gnu.org/packages/sml-mode.html")
11335 (synopsis "Major mode for editing (Standard) ML")
11336 (description "SML-MODE is a major Emacs mode for editing Standard ML.
11337It provides syntax highlighting and automatic indentation and
11338comes with sml-proc which allows interaction with an inferior SML
11339interactive loop.")
11340 (license license:gpl3+)))
11341
11342(define-public emacs-eros
11343 (let ((commit "a42e45c9b2397156c684330b0fc90ee0eba773f5")
11344 (revision "1"))
11345 (package
11346 (name "emacs-eros")
11347 (version (string-append "0.0.1" "-" revision "."
11348 (string-take commit 7)))
11349 (source
11350 (origin
11351 (method git-fetch)
11352 (uri (git-reference
11353 (url "https://github.com/xiongtx/eros.git")
11354 (commit commit)))
11355 (file-name (string-append name "-" version "-checkout"))
11356 (sha256
11357 (base32
11358 "0whlsq90v13fz69k3wjrwcwb9gkpfxqjd75mg3nrp85j9nwhb5i4"))))
11359 (build-system emacs-build-system)
11360 (home-page "https://github.com/xiongtx/eros")
11361 (synopsis "Evaluation result overlays")
11362 (description "@code{eros} provides evaluation result overlays.")
11363 (license license:gpl3+))))
11364
11365(define-public emacs-stickyfunc-enhance
11366 (let ((commit "13bdba51fcd83ccbc3267959d23afc94d458dcb0")
11367 (revision "1"))
11368 (package
11369 (name "emacs-stickyfunc-enhance")
11370 (version "0.1")
11371 (source
11372 (origin
11373 (method git-fetch)
11374 (uri (git-reference
11375 (url "https://github.com/tuhdo/semantic-stickyfunc-enhance.git")
11376 (commit commit)))
11377 (file-name (string-append name "-" version "-checkout"))
11378 (sha256
11379 (base32
11380 "16dxjsr5nj20blww4xpd4jzgjprzzh1nwvb810ggdmp9paf4iy0g"))))
11381 (build-system emacs-build-system)
11382 (home-page "https://github.com/tuhdo/semantic-stickyfunc-enhance")
11383 (synopsis "Enhancement to stock @code{semantic-stickyfunc-mode}")
11384 (description
11385 "@code{semantic-stickyfunc-mode} shows the function point is currently
11386in at the first line of the current buffer. This is useful when you have a
11387very long function that spreads more than a screen, and you don't have to
11388scroll up to read the function name and then scroll down to original position.")
11389 (license license:gpl3+))))
11390
11391(define-public emacs-git-auto-commit-mode
11392 (package
11393 (name "emacs-git-auto-commit-mode")
11394 (version "4.4.0")
11395 (source
11396 (origin
11397 (method url-fetch)
11398 (uri (string-append
11399 "https://github.com/ryuslash/git-auto-commit-mode/archive/"
11400 version ".tar.gz"))
11401 (file-name (string-append name "-" version ".tar.gz"))
11402 (sha256
11403 (base32
11404 "04avxmalsl3b7zi2vipfw9rb4wrwysnipsbch96skviql9axk870"))))
11405 (build-system emacs-build-system)
11406 (home-page "https://github.com/ryuslash/git-auto-commit-mode")
11407 (synopsis "Emacs Minor mode to automatically commit and push")
11408 (description "@code{git-auto-commit-mode} is an Emacs minor mode that
11409tries to commit changes to a file after every save.
11410
11411When @code{gac-automatically-push-p} is non-nil, it also tries to push to
11412the current upstream.")
11413 (license license:gpl3+)))
11414
11415(define-public emacs-company-restclient
11416 (package
11417 (name "emacs-company-restclient")
11418 (version "0.1.0")
11419 (source
11420 (origin
11421 (method url-fetch)
11422 (uri (string-append
11423 "https://github.com/iquiw/company-restclient/archive/"
11424 "v" version ".tar.gz"))
11425 (file-name (string-append name "-" version ".tar.gz"))
11426 (sha256
11427 (base32
11428 "1kr3f0wgqlk7r171bvb2kinv7fanwj2md01wdpx04qkgwcr1as00"))))
11429 (build-system emacs-build-system)
11430 (propagated-inputs
11431 `(("emacs-company" ,emacs-company)
11432 ("emacs-know-your-http-well" ,emacs-know-your-http-well)
11433 ("emacs-restclient" ,emacs-restclient)))
11434 (home-page "https://github.com/iquiw/company-restclient")
11435 (synopsis "Company-mode completion back-end for restclient-mode")
11436 (description "@code{company-mode} back-end for
11437@code{restclient-mode}.
11438
11439It provides auto-completion for HTTP methods and headers in
11440@code{restclient-mode}. Completion source is given by
11441@code{know-your-http-well}.")
11442 (license license:gpl3+)))
11443
11444(define-public emacs-noflet
11445 (let ((version "20170629")
11446 (revision "1")
11447 (commit "7ae84dc3257637af7334101456dafe1759c6b68a"))
11448 (package
11449 (name "emacs-noflet")
11450 (version (git-version version revision commit))
11451 (source
11452 (origin
11453 (method git-fetch)
11454 (uri (git-reference
11455 (url "https://github.com/nicferrier/emacs-noflet")
11456 (commit commit)))
11457 (file-name (string-append name "-" version "-checkout"))
11458 (sha256
11459 (base32
11460 "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf"))))
11461 (build-system emacs-build-system)
11462 (arguments
11463 `(#:phases
11464 (modify-phases %standard-phases
11465 (add-after 'unpack 'require-dash
11466 ;; noflet.el uses -map from dash, but (require 'dash) is
11467 ;; missing. So, add it.
11468 (lambda _
11469 (substitute* "noflet.el"
11470 ((";;; Code:") ";;; Code:\n(require 'dash)"))
11471 #t)))))
11472 (propagated-inputs
11473 `(("emacs-dash" ,emacs-dash)))
11474 (home-page "https://github.com/nicferrier/emacs-noflet")
11475 (synopsis "Locally override functions")
11476 (description "@code{emacs-noflet} let's you locally override functions,
11477in the manner of @command{flet}, but with access to the original function
11478through the symbol: @command{this-fn}.")
11479 (license license:gpl3+))))
11480
11481(define-public emacs-dumb-jump
11482 (package
11483 (name "emacs-dumb-jump")
11484 (version "0.5.2")
11485 (source
11486 (origin
11487 (method url-fetch)
11488 (uri (string-append
11489 "https://github.com/jacktasia/dumb-jump/archive/v"
11490 version ".tar.gz"))
11491 (file-name (string-append name "-" version ".tar.gz"))
11492 (sha256
11493 (base32
11494 "07n0xjgpxjpf3vp9gxchkjpydyj0zm166930as0kwiwkhjlsirsf"))))
11495 (build-system emacs-build-system)
11496 (arguments
11497 `(#:tests? #f ; FIXME: Tests freeze when run.
11498 #:test-command '("ert-runner")
11499 #:phases
11500 (modify-phases %standard-phases
11501 (add-after 'unpack 'set-shell
11502 (lambda _
11503 ;; Setting the SHELL environment variable is required for the
11504 ;; tests to find sh.
11505 (setenv "SHELL" (which "sh"))
11506 #t)))))
11507 (native-inputs
11508 `(("emacs-el-mock" ,emacs-el-mock)
11509 ("emacs-noflet" ,emacs-noflet)
11510 ("emacs-undercover" ,emacs-undercover)
11511 ("ert-runner" ,emacs-ert-runner)))
11512 (propagated-inputs
11513 `(("emacs-f" ,emacs-f)
11514 ("emacs-popup" ,emacs-popup)))
11515 (home-page "https://github.com/jacktasia/dumb-jump")
11516 (synopsis "Jump to definition for multiple languages without configuration")
11517 (description "Dumb Jump is an Emacs \"jump to definition\" package with
11518support for multiple programming languages that favors \"just working\" over
11519speed or accuracy. This means minimal --- and ideally zero --- configuration
11520with absolutely no stored indexes (tags) or persistent background processes.
11521Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep
11522@command{rg} installed.")
11523 (license license:gpl3+)))
11524
11525(define-public emacs-dts-mode
11526 (let ((commit "9ee0854446dcc6c53d2b8d2941051768dba50344")
11527 (revision "1"))
11528 (package
11529 (name "emacs-dts-mode")
11530 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
11531 (source
11532 (origin
11533 (method git-fetch)
11534 (uri (git-reference
11535 (url "https://github.com/bgamari/dts-mode.git")
11536 (commit commit)))
11537 (file-name (string-append name "-" version "-checkout"))
11538 (sha256
11539 (base32
11540 "1k8lljdbc90nd29xrhdrsscxavzdq532wq2mg7ljc94krj7538b1"))))
11541 (build-system emacs-build-system)
11542 (home-page "https://github.com/bgamari/dts-mode.git")
11543 (synopsis "Emacs minor mode for editing device tree files")
11544 (description
11545 "This package provides an Emacs minor mode for highlighting
11546device tree files.")
11547 (license license:gpl3+))))
11548
11549(define-public emacs-daemons
11550 (package
11551 (name "emacs-daemons")
11552 (version "2.0.0")
11553 (source
11554 (origin
11555 (method git-fetch)
11556 (uri (git-reference
11557 (url "https://github.com/cbowdon/daemons.el")
11558 (commit version)))
11559 (file-name (string-append name "-" version "-checkout"))
11560 (sha256
11561 (base32
11562 "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"))))
11563 (build-system emacs-build-system)
11564 (home-page "https://github.com/cbowdon/daemons.el")
11565 (synopsis "Emacs UI for managing init system services")
11566 (description
11567 "This is an Emacs mode to give you a UI for managing init system
11568daemons (services) for those getting tired of typing out @code{sudo service
11569my_thing reload} all the time. It offers a consistent UI over different init
11570systems.")
11571 (license license:gpl3+)))
11572
d2f555f5
BL
11573(define-public emacs-isearch+
11574 (let ((commit "95e49af9dbf0254e095a11f115e101b52659520a")
11575 (revision "1"))
11576 (package
11577 (name "emacs-isearch+")
11578 (version (git-version "0" revision commit))
11579 (source
11580 (origin
11581 (method git-fetch)
11582 (uri (git-reference
11583 (url "https://github.com/emacsmirror/isearch-plus.git")
11584 (commit commit)))
11585 (file-name (git-file-name name version))
11586 (sha256
11587 (base32
11588 "0xhd9zgknf4lvzyf4apirpd7spb1hbpzkvys00a7pkmd0vvahk0v"))))
11589 (build-system emacs-build-system)
11590 (home-page "https://www.emacswiki.org/emacs/isearch+.el")
11591 (synopsis "Extensions to @code{isearch.el}")
11592 (description "This package extends @code{isearch} with advice, dynamic
11593filters, highlighting of regexp group levels, and more.")
11594 (license license:gpl2+))))
11595
94a33ab8
BL
11596(define-public emacs-eshell-bookmark
11597 (package
11598 (name "emacs-eshell-bookmark")
11599 (version "2.0.0")
11600 (source
11601 (origin
11602 (method git-fetch)
11603 (uri (git-reference
11604 (url "https://github.com/Fuco1/eshell-bookmark")
11605 (commit version)))
11606 (file-name (git-file-name name version))
11607 (sha256
11608 (base32
11609 "14dmsnixf9vqdhsixw693sml0fn80zcf0b37z049fb40cmppqxdw"))))
11610 (build-system emacs-build-system)
11611 (home-page "https://github.com/Fuco1/eshell-bookmark")
11612 (synopsis "Provide @file{bookmark.el} integration for @code{eshell}")
11613 (description
11614 "This package allows for bookmarking @code{eshell} buffers. Upon
11615visiting the bookmark, a new @code{eshell} session will be opened in the
11616appropriate directory if no @code{eshell} session is active.")
11617 (license license:gpl3+)))
11618
d82bd203
BL
11619(define-public emacs-eshell-z
11620 (package
11621 (name "emacs-eshell-z")
11622 (version "0.3.2")
11623 (source
11624 (origin
11625 (method git-fetch)
11626 (uri (git-reference
11627 (url "https://github.com/xuchunyang/eshell-z")
11628 (commit (string-append "v" version))))
11629 (file-name (git-file-name name version))
11630 (sha256
11631 (base32
11632 "1aac4m814jgxwpz7lbyx5r4z5dmawp4sk7pwbx0zqpnbcsaq5wwc"))))
11633 (build-system emacs-build-system)
11634 (home-page "https://github.com/xuchunyang/eshell-z")
11635 (synopsis "Quick navigation to frequently visited directories")
11636 (description
11637 "This package is a port of @code{z}, and keeps track of visited directories
11638and commands invoked within them in order to enable navigation via input of
11639matching regexps.")
11640 (license license:gpl3+)))
11641
eeb883cb
RW
11642(define-public emacs-esh-autosuggest
11643 (package
11644 (name "emacs-esh-autosuggest")
11645 (version "2.0.0")
11646 (source
11647 (origin
11648 (method git-fetch)
11649 (uri (git-reference
11650 (url "https://github.com/dieggsy/esh-autosuggest")
11651 (commit version)))
11652 (file-name (string-append name "-" version "-checkout"))
11653 (sha256
11654 (base32
11655 "116pdjgpjy9b0psm5kzwkwy7dq8vn0p6dy75dl1zsy2xrjf1iqdw"))))
11656 (build-system emacs-build-system)
11657 (propagated-inputs `(("emacs-company" ,emacs-company)))
11658 (home-page "https://github.com/dieggsy/esh-autosuggest")
11659 (synopsis "Fish-like autosuggestions in Eshell")
11660 (description
11661 "This package assumes you use something other than company for eshell
11662completion (e.g. @code{eshell-pcomplete}, @code{completion-at-point},
11663@code{helm-esh-pcomplete}). @code{company-mode} is used solely as a mechanism
11664for history autosuggestions.
11665
11666Unless you're using @code{use-package}'s hook keyword, you can enable the
11667autosuggestions with:
11668@code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}")
11669 (license license:gpl3+)))
11670
11671(define-public emacs-desktop-environment
b8f92427
PN
11672 (let ((commit "a9eba14f2b5b8070f78dca839ca8259736e346a6"))
11673 (package
11674 (name "emacs-desktop-environment")
11675 (version (git-version "0.2.0" "1" commit))
11676 (source
11677 (origin
11678 (method git-fetch)
11679 (uri (git-reference
11680 (url "https://gitlab.petton.fr/DamienCassou/desktop-environment")
11681 (commit commit)))
11682 (file-name (string-append name "-" version "-checkout"))
11683 (sha256
11684 (base32
11685 "0x73x5hy7w55jrzy3xvqhk90rrsznmxjqvsvwhh21qznv5w269xz"))))
11686 (build-system emacs-build-system)
11687 (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
11688 (synopsis "Control your GNU/Linux desktop environment from Emacs")
11689 (description
11690 "This package helps you control your GNU/Linux desktop from Emacs.
eeb883cb
RW
11691With @code{desktop-environment}, you can control the brightness and volume as
11692well as take screenshots and lock your screen. The package depends on the
11693availability of shell commands to do the hard work for us. These commands can
11694be changed by customizing the appropriate variables.")
b8f92427 11695 (license license:gpl3+))))
eeb883cb
RW
11696
11697(define-public emacs-org-caldav
11698 (package
11699 (name "emacs-org-caldav")
11700 (version "20180403")
11701 (source
11702 (origin
11703 (method url-fetch)
11704 (uri (string-append
11705 "https://github.com/dengste/org-caldav/raw/"
11706 "8d3492c27a09f437d2d94f2736c56d7652e87aa0"
11707 "/org-caldav.el"))
11708 (sha256
11709 (base32
11710 "1fh4gh68ddj0is99z2ccyh97v6psnyda61n2dsadzqhcxn51amlc"))))
11711 (build-system emacs-build-system)
11712 (propagated-inputs `(("emacs-org" ,emacs-org)))
11713 (home-page "https://github.com/dengste/org-caldav")
11714 (synopsis
11715 "Sync Org files with external calendars via the CalDAV protocol")
11716 (description
11717 "Synchronize between events in Org-mode files and a CalDAV calendar.
11718This code is still alpha.")
11719 (license license:gpl3+)))
11720
11721(define-public emacs-zotxt
11722 (package
11723 (name "emacs-zotxt")
11724 (version "20180518")
11725 (source
11726 (origin
11727 (method url-fetch)
11728 (uri (string-append
11729 "https://github.com/egh/zotxt-emacs/archive/"
11730 "23a4a9f74a658222027d53a9a83cd4bcc583ca8b"
11731 ".tar.gz"))
11732 (sha256
11733 (base32
11734 "1qlibaciqgsva6fc7vv9krssjq00bi880396jk7llbi3c52q9n1y"))))
11735 (build-system emacs-build-system)
11736 (propagated-inputs
11737 `(("emacs-deferred" ,emacs-deferred)
11738 ("emacs-request" ,emacs-request)))
11739 (home-page "https://github.com/egh/zotxt-emacs")
11740 (synopsis "Integrate Emacs with Zotero")
11741 (description "This package provides two integration features between Emacs
11742and the Zotero research assistant: Insertion of links to Zotero items into an
11743Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
11744 (license license:gpl3+)))
11745
11746(define-public emacs-evil-ediff
11747 ;; Evil-Ediff is included in Evil Collection from 20180617.
11748 (deprecated-package "emacs-evil-ediff" emacs-evil-collection))
11749
11750(define-public emacs-evil-magit
3499638e 11751 (let ((commit "e2fec5877994c0c19f0c25fa01f3d22cb0ab38ba"))
eeb883cb
RW
11752 (package
11753 (name "emacs-evil-magit")
3499638e 11754 (version (git-version "0.4.2" "2" commit))
eeb883cb
RW
11755 (source
11756 (origin
11757 (method git-fetch)
11758 (uri (git-reference
11759 (url "https://github.com/emacs-evil/evil-magit")
11760 (commit commit)))
11761 (file-name (string-append name "-" version "-checkout"))
11762 (sha256
11763 (base32
3499638e 11764 "134v7s03jvbhm70mavwab85r09i68g2a5bvriirh0chz1av2y16v"))))
eeb883cb
RW
11765 (build-system emacs-build-system)
11766 (propagated-inputs
11767 `(("emacs-evil" ,emacs-evil)
11768 ("magit" ,emacs-magit)))
11769 (home-page
11770 "https://github.com/emacs-evil/evil-magit")
11771 (synopsis "Evil-based key bindings for Magit")
11772 (description
11773 "This Emacs library configures Magit and Evil to play well with each other.
11774For some background see @url{https://github.com/magit/evil-magit/issues/1}.
11775See the README at @url{https://github.com/justbur/evil-magit} for a table
11776describing the key binding changes.")
11777 (license license:gpl3+))))
11778
11779(define-public emacs-evil-mu4e
11780 ;; Evil-mu4e is included in Evil Collection from 20180617.
11781 (deprecated-package "emacs-evil-mu4e" emacs-evil-collection))
11782
11783(define-public emacs-evil-multiedit
11784 (package
11785 (name "emacs-evil-multiedit")
11786 (version "1.3.9")
11787 (source
11788 (origin
11789 (method git-fetch)
11790 (uri (git-reference
11791 (url "https://github.com/hlissner/evil-multiedit")
11792 (commit (string-append "v" version))))
11793 (file-name (string-append name "-" version "-checkout"))
11794 (sha256
11795 (base32
11796 "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"))))
11797 (build-system emacs-build-system)
11798 (propagated-inputs
11799 `(("emacs-evil" ,emacs-evil)
11800 ("emacs-iedit" ,emacs-iedit)))
11801 (home-page
11802 "https://github.com/hlissner/evil-multiedit")
11803 (synopsis "Multiple cursors for Evil mode")
11804 (description
11805 "This plugin was an answer to the lack of proper multiple cursor support
11806in Emacs+Evil. It allows you to select and edit matches interactively,
11807integrating @code{iedit-mode} into Evil mode with an attempt at sensible
11808defaults.")
11809 (license license:gpl3+)))
11810
11811(define-public emacs-evil-org
11812 (let ((commit "b6d652a9163d3430a9e0933a554bdbee5244bbf6"))
11813 (package
11814 (name "emacs-evil-org")
11815 (version (git-version "0.1.1" "1" commit))
11816 (source
11817 (origin
11818 (method git-fetch)
11819 (uri (git-reference
11820 (url "https://github.com/Somelauw/evil-org-mode")
11821 (commit commit)))
11822 (file-name (string-append name "-" version "-checkout"))
11823 (sha256
11824 (base32
11825 "176hrw7y7nczffbyhsa167b8rvfacsmcafm2gpkrdjqlrikbmrhl"))))
11826 (build-system emacs-build-system)
11827 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
11828 (home-page
11829 "https://github.com/Somelauw/evil-org-mode")
11830 (synopsis "Evil keybindings for Org mode")
11831 (description
11832 "This package adds supplemental Evil mode key-bindings to Emacs
11833Org-mode. It features:
11834@itemize
11835@item normal, visual and insert mode bindings;
11836@item key bindings organised in key themes;
11837@item operators like > and < to work on headings;
11838@item text objects;
11839@item table support;
11840@item calendar (date selection) support;
11841@item agenda support.
11842@end itemize\n")
11843 (license license:gpl3+))))
11844
1bc24bbf
BL
11845(define-public emacs-debpaste
11846 (package
11847 (name "emacs-debpaste")
11848 (version "0.1.5")
11849 (home-page "https://github.com/alezost/debpaste.el")
11850 (source
11851 (origin
11852 (method git-fetch)
11853 (uri (git-reference (url home-page)
11854 (commit (string-append "v" version))))
11855 (file-name (string-append name "-" version ".tar.gz"))
11856 (sha256
11857 (base32
11858 "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"))))
11859 (build-system emacs-build-system)
11860 (propagated-inputs
11861 `(("emacs-xml-rpc" ,emacs-xml-rpc)))
11862 (synopsis "Manipulate pastes from the Debian Pastezone")
11863 (description "Debpaste is an Emacs interface for the Debian Pastezone,
11864allowing you to receive, post, and delete pastes. It communicates with the
11865server using XML-RPC.")
11866 (license license:gpl3+)))
11867
6f93b525
BL
11868(define-public emacs-xml-rpc
11869 (let ((commit "8f624f8b964e9145acb504e4457c9510e87dd93c")
11870 (revision "1"))
11871 (package
11872 (name "emacs-xml-rpc")
11873 (version (git-version "1.6.12" revision commit))
11874 (source
11875 (origin
11876 (method git-fetch)
11877 (uri (git-reference
11878 (url "https://github.com/hexmode/xml-rpc-el")
11879 (commit commit)))
11880 (file-name (git-file-name name version))
11881 (sha256
11882 (base32
11883 "0xa54z52rsfl3n0xgmbycj4zazp8ksgdwcq56swzs6wp72zlalmj"))))
11884 (build-system emacs-build-system)
11885 (home-page "https://github.com/hexmode/xml-rpc-el")
11886 (synopsis "XML-RPC client for Emacs")
11887 (description "This package provides an XML-RPC client for Emacs capable
11888of both synchronous and asynchronous method calls using the @code{url}
11889package's async retrieval functionality. @file{xml-rpc.el} represents XML-RPC
11890datatypes as Lisp values, automatically converting to and from the XML
11891datastructures as needed, both for method parameters and return values, making
11892using XML-RPC methods fairly transparent to the Lisp code.")
11893 (license license:gpl3+))))
11894
eeb883cb 11895(define-public emacs-fish-completion
674d180c
PN
11896 (package
11897 (name "emacs-fish-completion")
11898 (version "1.0")
11899 (source
11900 (origin
11901 (method url-fetch)
11902 (uri (string-append
11903 "https://gitlab.com/Ambrevar/emacs-fish-completion/repository/"
11904 "archive.tar.gz?ref="
11905 version))
11906 (sha256
11907 (base32
11908 "1hpma1c5j50ja03ibr7h1xmyv7k8j3rbvqivad47kwqhlsgw0jk0"))))
11909 (build-system emacs-build-system)
11910 (inputs `(("fish" ,fish)))
11911 (arguments
11912 `(#:phases
11913 (modify-phases %standard-phases
11914 (add-after 'unpack 'configure
11915 (lambda* (#:key inputs outputs #:allow-other-keys)
11916 (let ((fish (assoc-ref inputs "fish")))
11917 ;; Specify the absolute file names of the various
11918 ;; programs so that everything works out-of-the-box.
11919 (emacs-substitute-variables
11920 "fish-completion.el"
11921 ("fish-completion-command"
11922 (string-append fish "/bin/fish")))))))))
11923 (home-page
11924 "https://gitlab.com/Ambrevar/emacs-fish-completion")
11925 (synopsis "Fish completion for Emacs pcomplete")
11926 (description
11927 "This package provides completion for the Fish shell to pcomplete (used
eeb883cb
RW
11928by shell and Eshell). You can set it up globally with:
11929
11930@example
11931(when (and (executable-find \"fish\")
11932 (require 'fish-completion nil t))
11933 (global-fish-completion-mode))
11934@end example
11935
11936Alternatively, you can call the @code{fish-completion-mode} manually or in
11937shell/Eshell mode hook.
11938
11939The package @code{emacs-bash-completion} is an optional dependency: if available,
11940@code{fish-completion-complete} can be configured to fall back on bash to further
11941try completing. See @code{fish-completion-fallback-on-bash-p}.")
674d180c 11942 (license license:gpl3+)))
eeb883cb
RW
11943
11944(define-public emacs-gif-screencast
11945 (let ((commit "12b25442b97b84abae74ecb5190a9d14ff7cfe5a"))
11946 (package
11947 (name "emacs-gif-screencast")
11948 (version (git-version "20180616" "1" commit))
11949 (source
11950 (origin
11951 (method url-fetch)
11952 (uri (string-append
11953 "https://gitlab.com/Ambrevar/emacs-gif-screencast/"
11954 "repository/archive.tar.gz?ref="
11955 commit))
11956 (sha256
11957 (base32
11958 "0lc457i78xjkn5idr2aaiadkh76zcsksj84z0qh80a9y775syrgh"))))
11959 (build-system emacs-build-system)
11960 (inputs
11961 `(("scrot" ,scrot)
11962 ("imagemagick" ,imagemagick)
11963 ("gifsicle" ,gifsicle)))
11964 (arguments
11965 `(#:phases
11966 (modify-phases %standard-phases
11967 (add-after 'unpack 'configure
11968 (lambda* (#:key inputs outputs #:allow-other-keys)
11969 (let ((scrot (assoc-ref inputs "scrot"))
11970 (imagemagick (assoc-ref inputs "imagemagick"))
11971 (gifsicle (assoc-ref inputs "gifsicle")))
11972 ;; Specify the absolute file names of the various
11973 ;; programs so that everything works out-of-the-box.
11974 (emacs-substitute-variables
11975 "gif-screencast.el"
11976 ("gif-screencast-program"
11977 (string-append scrot "/bin/scrot"))
11978 ("gif-screencast-convert-program"
11979 (string-append imagemagick "/bin/convert"))
11980 ("gif-screencast-cropping-program"
11981 (string-append imagemagick "/bin/mogrify"))
11982 ("gif-screencast-optimize-program"
11983 (string-append imagemagick "/bin/gifsicle")))))))))
11984 (home-page
11985 "https://gitlab.com/Ambrevar/emacs-gif-screencast")
11986 (synopsis "One-frame-per-action GIF recording")
11987 (description
11988 "Call @code{gif-screencast} to start a recording.
11989A screenshot is taken for every user action. Call
11990@code{gif-screencast-stop} (<f9> by default) to finish recording and create
11991the GIF result.")
11992 (license license:gpl3+))))
11993
11994(define-public emacs-google-translate
11995 (package
11996 (name "emacs-google-translate")
11997 (version "0.11.16")
11998 (source
11999 (origin
12000 (method url-fetch)
12001 (uri (string-append "https://github.com/atykhonov/google-translate/"
12002 "archive/v" version ".tar.gz"))
12003 (file-name (string-append name "-" version ".tar.gz"))
12004 (sha256
12005 (base32
12006 "01n9spj1d0gjfj39x526rl3m9c28wnx9afipmf5s8y77cx3mfwhl"))))
12007 (build-system emacs-build-system)
12008 (home-page "https://github.com/atykhonov/google-translate")
12009 (synopsis "Emacs interface to Google Translate")
12010 (description
12011 "This packages provides an Emacs interface to the Google Translate
12012on-line service.")
12013 (license license:gpl3+)))
12014
12015(define-public emacs-helm-company
12016 (let ((commit "d3fc093a0e833b4dee6561c00d6df3d62aa50f3f"))
12017 (package
12018 (name "emacs-helm-company")
12019 (version (git-version "0.2.3" "1" commit))
12020 (source
12021 (origin
12022 (method git-fetch)
12023 (uri (git-reference
12024 (url "https://github.com/Sodel-the-Vociferous/helm-company")
12025 (commit commit)))
12026 (file-name (string-append name "-" version "-checkout"))
12027 (sha256
12028 (base32
12029 "1ciirsanhajdqm5iwl8k9ywf4jha1wdv4sc4d9kslyrfr9zn4q6k"))))
12030 (build-system emacs-build-system)
12031 (propagated-inputs
12032 `(("emacs-helm" ,emacs-helm)
12033 ("emacs-company" ,emacs-company)))
12034 (home-page "https://github.com/Sodel-the-Vociferous/helm-company")
12035 (synopsis "Helm interface for company-mode")
12036 (description
12037 "This is a Helm interface to company-mode, a text completion
12038framework.")
12039 (license license:gpl3+))))
12040
12041(define-public emacs-helm-descbinds
12042 (let ((commit "033be73f21778633813264ce1634a6e1ad873d8e"))
12043 (package
12044 (name "emacs-helm-descbinds")
12045 (version (git-version "1.13" "1" commit))
12046 (source
12047 (origin
12048 (method git-fetch)
12049 (uri (git-reference
12050 (url "https://github.com/emacs-helm/helm-descbinds")
12051 (commit commit)))
12052 (file-name (string-append name "-" version "-checkout"))
12053 (sha256
12054 (base32
12055 "1n89p56qwa243w1c85i5awnaf7piwjsvfi7nmnsrwm33hix5dknk"))))
12056 (build-system emacs-build-system)
12057 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
12058 (home-page "https://github.com/emacs-helm/helm-descbinds")
12059 (synopsis "Convenient @code{describe-bindings} with Helm")
12060 (description
12061 "This package is a replacement of @code{describe-bindings} for Helm.
12062@code{describe-bindings} is replaced with @code{helm-descbinds}. As usual,
12063type @code{C-h b}, or any incomplete key sequence plus @code{C-h}, to run
12064@code{helm-descbinds}. The bindings are presented in a similar way as
12065@code{describe-bindings} does, but you can use completion to find the command
12066you searched for and execute it, or view its documentation.")
12067 (license license:gpl3+))))
12068
12069(define-public emacs-helm-emms
b6fd7f50 12070 (let ((commit "b785cb845a98a643eba9d5d53c9c0b4e6810a3cd"))
eeb883cb
RW
12071 (package
12072 (name "emacs-helm-emms")
b6fd7f50 12073 (version (git-version "1.3" "2" commit))
eeb883cb
RW
12074 (source
12075 (origin
12076 (method git-fetch)
12077 (uri (git-reference
12078 (url "https://github.com/emacs-helm/helm-emms")
12079 (commit commit)))
12080 (file-name (string-append name "-" version "-checkout"))
12081 (sha256
12082 (base32
b6fd7f50 12083 "1595r09y3rmwd46nnhvjja3hb8j2ila295ijxv61cg52ws4wginh"))))
eeb883cb
RW
12084 (build-system emacs-build-system)
12085 (propagated-inputs
12086 `(("emacs-helm" ,emacs-helm)
12087 ("emacs-emms" ,emacs-emms)))
12088 (home-page
12089 "https://github.com/emacs-helm/helm-emms")
12090 (synopsis "Emms for Helm")
12091 (description "Helm interface for Emms to browse all tracks and all folders
12092from @code{emms-source-file-default-directory}.")
12093 (license license:gpl3+))))
12094
12095(define-public emacs-helm-exwm
12096 (let ((commit "56266f261ba3b3d2753b374b50da20eb768c06f5"))
12097 (package
12098 (name "emacs-helm-exwm")
12099 (version (git-version "20180703" "2" commit))
12100 (source
12101 (origin
12102 (method url-fetch)
12103 (uri (string-append
12104 "https://github.com/emacs-helm/helm-exwm/archive/"
12105 commit
12106 ".tar.gz"))
12107 (sha256
12108 (base32
12109 "0n7hdiajw5vxl8ha2r9r4cl4i7crza25348825wb6acwhhzijxcj"))))
12110 (build-system emacs-build-system)
12111 (propagated-inputs
12112 `(("emacs-helm" ,emacs-helm)
12113 ("emacs-exwm" ,emacs-exwm)))
12114 (home-page
12115 "https://github.com/emacs-helm/helm-exwm")
12116 (synopsis "Helm for EXWM buffers")
12117 (description
12118 "@code{helm-exwm} runs a Helm session over the list of EXWM buffers.
12119@code{helm-exwm-switch} is a convenience X application launcher using Helm to
12120switch between the various windows of one or several specific applications.
12121See @code{helm-exwm-switch-browser} for an example.")
12122 (license license:gpl3+))))
12123
12124(define-public emacs-helm-flycheck
12125 (let ((commit "3cf7d3bb194acacc6395f88360588013d92675d6"))
12126 (package
12127 (name "emacs-helm-flycheck")
12128 (version (git-version "0.4" "1" commit))
12129 (source
12130 (origin
12131 (method git-fetch)
12132 (uri (git-reference
12133 (url "https://github.com/yasuyk/helm-flycheck")
12134 (commit commit)))
12135 (file-name (string-append name "-" version "-checkout"))
12136 (sha256
12137 (base32
12138 "1a2yfxhz04klwhcandqvfzysxp6b7bxyxx1xk1x3kds5hif5fkl4"))))
12139 (build-system emacs-build-system)
12140 (propagated-inputs
12141 `(("emacs-dash" ,emacs-dash)
12142 ("emacs-flycheck" ,emacs-flycheck)
12143 ("emacs-helm" ,emacs-helm)))
12144 (home-page "https://github.com/yasuyk/helm-flycheck")
12145 (synopsis "Show Flycheck errors with Helm")
12146 (description
12147 "This integrates Flycheck with Helm.")
12148 (license license:gpl3+))))
12149
12150(define-public emacs-helm-ls-git
12151 (let ((commit "76654c776a7f6e2e5290645e748aac2a746f7daa"))
12152 (package
12153 (name "emacs-helm-ls-git")
12154 (version (git-version "1.9.1" "1" commit))
12155 (source
12156 (origin
12157 (method git-fetch)
12158 (uri (git-reference
12159 (url "https://github.com/emacs-helm/helm-ls-git")
12160 (commit commit)))
12161 (file-name (string-append name "-" version "-checkout"))
12162 (sha256
12163 (base32
12164 "0vsq1n3xl3ghy5zik2scm7jrs501n4kybdqd6yw6j0cv4jxdqbr0"))))
12165 (build-system emacs-build-system)
12166 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
12167 (home-page "https://github.com/emacs-helm/helm-ls-git")
12168 (synopsis "Helm interface for listing the files in a Git repository")
12169 (description
12170 "This package provides a Helm interface for Git files.
12171@itemize
12172@item Display the open buffers in project.
12173@item Display a status source showing state of project (modified files etc.).
12174@item Display a list of all files in project under git control.
12175@item Quickly look at diffs of modified files.
12176@item Allow switching to @code{git status} with your preferred frontend
12177(vc-dir, Magit,etc.).
12178@item Full integration of git-grep, also allow usage of @code{helm-grep} (you
12179can use ack-grep instead of grep).
12180@item Integrate usage of gid from id-utils.
12181@item Full integration with @code{helm-find-files}, allow you to browse
12182projects unrelated to current-buffer.
12183@item In addition, all actions of type files and buffers are provided.
12184@end itemize\n")
12185 (license license:gpl3+))))
12186
12187(define-public emacs-helm-mu
12188 (let ((commit "77e6fea24e01481418738421dbcfe28ef1bd63cf"))
12189 (package
12190 (name "emacs-helm-mu")
12191 (version (git-version "20180513" "1" commit))
12192 (source
12193 (origin
12194 (method url-fetch)
12195 (uri (string-append
12196 "https://github.com/emacs-helm/helm-mu/archive/"
12197 commit
12198 ".tar.gz"))
12199 (sha256
12200 (base32
12201 "0qm4xi3i957scm50nar398pv4x8y03si10l77jb9ckjaviyq2hj9"))))
12202 (build-system emacs-build-system)
12203 (propagated-inputs
12204 `(("emacs-helm" ,emacs-helm)
12205 ("mu" ,mu)))
12206 (home-page
12207 "https://github.com/emacs-helm/helm-mu")
12208 (synopsis
12209 "Helm sources for searching emails and contacts")
12210 (description
12211 "Helm sources for searching emails and contacts using @code{mu} and
12212@code{mu4e}. Mu is an indexer for maildirs and mu4e is a mutt-like MUA for
12213Emacs build on top of mu. Mu is highly efficient making it possible to get
12214instant results even for huge maildirs. It also provides search operators,
12215e.g: @code{from:Peter to:Anne flag:attach search term}.")
12216 (license license:gpl3+))))
12217
12218(define-public emacs-helm-pass
034b8fd4
PN
12219 (package
12220 (name "emacs-helm-pass")
12221 (version "0.3")
12222 (source
12223 (origin
12224 (method git-fetch)
12225 (uri (git-reference
12226 (url "https://github.com/emacs-helm/helm-pass")
12227 (commit version)))
12228 (sha256
12229 (base32
12230 "0vglaknmir3yv4iwibwn8r40ran8d04gcyp99hx73ldmf3zqpnxv"))))
12231 (build-system emacs-build-system)
12232 (propagated-inputs
12233 `(("emacs-helm" ,emacs-helm)
12234 ("emacs-password-store" ,emacs-password-store)))
12235 (home-page "https://github.com/emacs-helm/helm-pass")
12236 (synopsis "Helm interface to pass, the standard Unix password manager")
12237 (description
12238 "Users of @code{helm-pass} may also be interested in functionality
eeb883cb
RW
12239provided by other Emacs packages dealing with pass:
12240@itemize
12241@item @code{emacs-password-store}, which @code{helm-pass} relies on.
12242@item @code{emacs-pass}, a major mode for @code{pass}.
12243@item @code{auth-source-pass.el}: integration of Emacs' auth-source with
12244@code{pass}, included in Emacs 26+).
12245@end itemize\n")
034b8fd4 12246 (license license:gpl3+)))
eeb883cb
RW
12247
12248(define-public emacs-image+
12249 (let ((commit "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc"))
12250 (package
12251 (name "emacs-image+")
12252 (version (git-version "0.6.2" "1" commit))
12253 (source
12254 (origin
12255 (method git-fetch)
12256 (uri (git-reference
12257 (url "https://github.com/mhayashi1120/Emacs-imagex")
12258 (commit commit)))
12259 (file-name (string-append name "-" version "-checkout"))
12260 (sha256
12261 (base32
12262 "0v66wk9nh0raih4jhrzmmyi5lbysjnmbv791vm2230ffi2hmwxnd"))))
12263 (build-system emacs-build-system)
12264 (inputs `(("imagemagick" ,imagemagick)))
12265 (arguments
12266 `(#:phases
12267 (modify-phases %standard-phases
12268 (add-after 'unpack 'configure
12269 (lambda* (#:key inputs outputs #:allow-other-keys)
12270 (let ((imagemagick (assoc-ref inputs "imagemagick")))
12271 ;; Specify the absolute file names of the various
12272 ;; programs so that everything works out-of-the-box.
12273 (chmod "image+.el" #o666)
12274 (emacs-substitute-variables
12275 "image+.el"
12276 ("imagex-convert-command"
12277 (string-append imagemagick "/bin/convert"))
12278 ("imagex-identify-command"
12279 (string-append imagemagick "/bin/identify")))))))))
12280 (home-page "https://github.com/mhayashi1120/Emacs-imagex")
12281 (synopsis "Image manipulation extensions for Emacs")
12282 (description
12283 "Image+ provides keybindings allowing you to zoom in or zoom out of an
12284image, rotate it, save modified images, and more.")
12285 (license license:gpl3+))))
12286
12287(define-public emacs-package-lint
12288 (let ((commit "69bb89d00ba212b734c676ad056aa793c450b288"))
12289 (package
12290 (name "emacs-package-lint")
12291 (version (git-version "0.5" "1" commit))
12292 (source
12293 (origin
12294 (method git-fetch)
12295 (uri (git-reference
12296 (url "https://github.com/purcell/package-lint")
12297 (commit commit)))
12298 (file-name (string-append name "-" version "-checkout"))
12299 (sha256
12300 (base32
12301 "1hfricsgmy3x9snnd2p4xq6vnnv94qdsxxnxp07b3hqc9bhw31rq"))))
12302 (build-system emacs-build-system)
12303 (home-page "https://github.com/purcell/package-lint")
12304 (synopsis "Linting library for elisp package authors")
12305 (description
12306 "This provides a list of issues with the Emacs package metadata of a file,
12307e.g. the package dependencies it requires. See function
12308@code{package-lint-buffer}. Checks will currently be enabled only if a
12309\"Package-Requires:\" or \"Package-Version:\" header is present in the
12310file.")
12311 (license license:gpl3+))))
12312
12313(define-public emacs-picpocket
12314 (let ((version "40")
12315 (commit "6fd88b8711c4370662c0f9c462170187d092a046"))
12316 (package
12317 (name "emacs-picpocket")
12318 (version version)
12319 (source
12320 (origin
12321 (method git-fetch)
12322 (uri (git-reference
12323 (url "https://github.com/johanclaesson/picpocket")
12324 (commit commit)))
12325 (file-name (git-file-name name version))
12326 (sha256
12327 (base32 "1mdzzxf7xm7zwrpnqqxa27d1cr31pd72d7ilbwljv13qp177a3yw"))))
12328 (build-system emacs-build-system)
12329 (arguments ; needed for running tests
12330 `(#:tests? #t
12331 #:emacs ,emacs
12332 #:test-command '("emacs" "--batch"
12333 "-l" "picpocket-test.el"
12334 "-f" "ert-run-tests-batch-and-exit")))
12335 (home-page "https://github.com/johanclaesson/picpocket")
12336 (synopsis "Image viewer for Emacs")
12337 (description
12338 "Picpocket is an image viewer for GNU Emacs. It has commands for:
12339
12340@itemize
12341@item File operations on the picture files (delete, move, copy, hardlink).
12342@item Scale and rotate the picture.
12343@item Associate pictures with tags which are saved to disk.
12344@item Filter pictures according to tags.
12345@item Customizing keystrokes for quick tagging and file operations.
12346@item Undo and browse history of undoable commands.
12347@end itemize")
12348 (license license:gpl3+))))
12349
12350(define-public emacs-wgrep-helm
12351 ;; `emacs-wgrep-helm' was mistakenly added.
12352 (deprecated-package "emacs-wgrep-helm" emacs-wgrep))
12353
12354(define-public emacs-mu4e-conversation
12355 (let ((commit "e7d4bfcb0d392b0aed1f705ccac2419a168d1f5e"))
12356 (package
12357 (name "emacs-mu4e-conversation")
12358 (version (git-version "20181126" "4" commit))
12359 (source
12360 (origin
12361 (method url-fetch)
12362 (uri (string-append
12363 "https://gitlab.com/Ambrevar/mu4e-conversation/"
12364 "repository/archive.tar.gz?ref="
12365 commit))
12366 (file-name (string-append name "-" version "-checkout"))
12367 (sha256
12368 (base32
12369 "0b52hf9rm2afba9pvgink9bwqm705sk0y5qikp0ff5sk53wqvy29"))))
12370 (build-system emacs-build-system)
12371 (propagated-inputs
12372 `(("mu" ,mu)))
12373 (home-page
12374 "https://gitlab.com/Ambrevar/mu4e-conversation")
12375 (synopsis
12376 "Show a complete thread in a single buffer")
12377 (description
12378 "This package offers an alternate view to mu4e's e-mail display. It
12379shows all e-mails of a thread in a single view, where each correspondent has
12380their own face. Threads can be displayed linearly (in which case e-mails are
12381displayed in chronological order) or as an Org document where the node tree
12382maps the thread tree.")
12383 (license license:gpl3+))))
12384
12385(define-public emacs-pinentry
12386 (let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
12387 (revision "1"))
12388 (package
12389 (name "emacs-pinentry")
12390 (version (git-version "0.1" revision commit))
12391 (source
12392 (origin
12393 (method url-fetch)
12394 (uri (string-append
12395 "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain"
12396 "/packages/pinentry/pinentry.el?id=" commit))
12397 (file-name (string-append "pinentry.el"))
12398 (sha256
12399 (base32
12400 "1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
12401 (build-system emacs-build-system)
12402 (propagated-inputs
12403 `(("gnupg" ,gnupg)))
12404 (home-page "https://elpa.gnu.org/packages/pinentry.html")
12405 (synopsis "GnuPG Pinentry server implementation")
12406 (description
12407 "This package allows GnuPG passphrase to be prompted through the
12408minibuffer instead of graphical dialog.
12409
12410To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
12411reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
12412server with @code{M-x pinentry-start}.")
12413 (license license:gpl3+))))
12414
12415(define-public emacs-org-brain
12416 (package
12417 (name "emacs-org-brain")
12418 (version "0.5")
12419 (source
12420 (origin
12421 (method git-fetch)
12422 (uri (git-reference
12423 (url "https://github.com/Kungsgeten/org-brain.git")
12424 (commit "3faf9303af3f2356e3444e69c22dc6c5774047d1")))
12425 (file-name (git-file-name name version))
12426 (sha256
12427 (base32
12428 "1ad681zk6kckw2zbk0r4iaj4bw8cfqrbd1s3gdwgdjlzq81q9mmj"))))
12429 (build-system emacs-build-system)
12430 (home-page "https://github.com/Kungsgeten/org-brain")
12431 (synopsis "Org-mode wiki and concept-mapping for Emacs")
12432 (description "@code{emacs-org-brain} implements a variant of concept
12433mapping in Emacs, using @code{org-mode}. An org-brain is a network of
12434org-mode entries, where each entry is a file or a headline, and you can get a
12435visual overview of the relationships between the entries: parents, children,
12436siblings and friends. This visual overview can also be used to browse your
12437entries. You can think of entries as nodes in a mind map, or pages in a
12438wiki.")
12439 (license license:expat)))
12440
12441(define-public emacs-recent-addresses
12442 (let ((commit "afbbfdc43b81e620acf827ca20d297e0c517b6eb")
12443 (revision "1"))
12444 (package
12445 (name "emacs-recent-addresses")
12446 (home-page "http://nschum.de/src/emacs/recent-addresses/")
12447 (version (git-version "0.1" revision commit))
12448 (source (origin
12449 (method git-fetch)
12450 (uri (git-reference
12451 ;; Note: Use a branch that works with Helm. Submitted
12452 ;; at <https://github.com/nschum/recent-addresses.el/pull/1>.
12453 (url "https://github.com/civodul/recent-addresses.el")
12454 (commit commit)))
12455 (sha256
12456 (base32
12457 "0ajrq0galjmdyjdjyxazykjyax3gh6hvfk4s7l657pi11g0q5zax"))
12458 (file-name (git-file-name name version))))
12459 (build-system emacs-build-system)
12460 (synopsis "Record recently-used email addressed and auto-complete them")
12461 (description
12462 "@code{recent-addresses} is an Emacs package that allows you to quickly
12463look up previously used email addresses. It can be used alongside the Gnus
12464email client.")
12465 (license license:gpl2+))))
12466
12467(define-public emacs-fold-dwim
12468 (let ((commit "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b")
12469 (revision "0"))
12470 (package
12471 (name "emacs-fold-dwim")
12472 (version (git-version "1.2" revision commit))
12473 (home-page "https://github.com/emacsattic/fold-dwim")
12474 (source (origin
12475 (method git-fetch)
12476 (uri (git-reference (url home-page) (commit commit)))
12477 (sha256
12478 (base32
12479 "1yz1wis31asw6xa5maliyd1ck2q02xnnh7dc6swgj9cb4wi7k6i1"))
12480 (file-name (git-file-name name version))))
12481 (build-system emacs-build-system)
12482 (synopsis "Unified user interface for Emacs folding modes")
12483 (description
12484 "DWIM stands for \"do what I mean\", as in the idea that one keystroke
12485can do different things depending on the context. In this package, it means
12486that, if the cursor is in a currently hidden folded construction, we want to
12487show it; if it's not, we want to hide whatever fold the cursor is in.")
12488 (license license:gpl2+))))
12489
12490(define-public emacs-markup-faces
12491 (package
12492 (name "emacs-markup-faces")
12493 (version "1.0.0")
12494 (source
12495 (origin
12496 (method url-fetch)
12497 (uri (string-append "https://stable.melpa.org/packages/markup-faces-"
12498 version ".el"))
12499 (sha256
12500 (base32
12501 "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32"))))
12502 (build-system emacs-build-system)
12503 (home-page "https://github.com/sensorflo/markup-faces")
12504 (synopsis "Collection of Emacs faces for markup language modes")
12505 (description "emacs-markup-faces is like font-lock-faces, but tailored for
12506markup languages instead programming languages. The sub group markup-faces-text
12507is also intended for 'text viewing modes' such as info or (wo)man. This gives a
12508common look and feel, or let's say theme, across different markup language modes
12509and 'text viewing modes' respectively.")
12510 (license license:gpl3+)))
12511
12512(define-public emacs-adoc-mode
12513 (package
12514 (name "emacs-adoc-mode")
12515 (version "0.6.6")
12516 (source
12517 (origin
12518 (method url-fetch)
12519 (uri (string-append "https://stable.melpa.org/packages/adoc-mode-"
12520 version ".el"))
12521 (sha256
12522 (base32
12523 "1c6hrgxxsnl2c19rgjykpm7r4xg9lp6bmk5z6bi7g8pqlrgwffcy"))))
12524 (build-system emacs-build-system)
12525 (propagated-inputs
12526 `(("emacs-markup-faces" ,emacs-markup-faces)))
12527 (home-page "https://github.com/sensorflo/adoc-mode/wiki")
12528 (synopsis "AsciiDoc mode for Emacs")
12529 (description "This package provides an Emacs major mode for editing AsciiDoc
12530files. It focuses on highlighting the document to improve readability.")
12531 (license license:gpl2+)))
12532
12533(define-public emacs-rust-mode
12534 (let ((commit
12535 ;; Last release is old (2016), use more recent commit to get bug
12536 ;; fixes.
12537 "64b4a2450e4d4c47f6307851c9b2598cd2254d68")
12538 (revision "0"))
12539 (package
12540 (name "emacs-rust-mode")
12541 (version (git-version "0.3.0" revision commit))
12542 (source (origin
12543 (method git-fetch)
12544 (uri
12545 (git-reference
12546 (url "https://github.com/rust-lang/rust-mode")
12547 (commit commit)))
12548 (file-name (git-file-name name version))
12549 (sha256
12550 (base32
12551 "0pbz36lljgb7bdgx3h3g0pq1nss1kvn8mhk1l3mknsmynd6w4nd8"))))
12552 (build-system emacs-build-system)
12553 (arguments
12554 `(#:phases
12555 (modify-phases %standard-phases
12556 (replace 'check
12557 (lambda _
12558 (invoke "sh" "run_rust_emacs_tests.sh"))))))
12559 (home-page "https://github.com/rust-lang/rust-mode")
12560 (synopsis "Major Emacs mode for editing Rust source code")
12561 (description "This package provides a major Emacs mode for editing Rust
12562source code.")
12563 (license (list license:expat
12564 license:asl2.0)))))
12565
12566(define-public emacs-ztree
12567 (let ((commit "c54425a094353ec40a8179f9eab3596f76c6cf94"))
12568 (package
12569 (name "emacs-ztree")
12570 (version (git-version "1.0.5" "1" commit))
12571 (source
12572 (origin
12573 (method git-fetch)
12574 (uri (git-reference
12575 (url "https://github.com/fourier/ztree")
12576 (commit commit)))
12577 (file-name (git-file-name name version))
12578 (sha256
12579 (base32
12580 "0j8fpxds8m1zi04nrs8vv21091abvh4n8ab76f1sgdxnp4l5cfb0"))))
12581 (build-system emacs-build-system)
12582 (home-page "https://github.com/fourier/ztree")
12583 (synopsis "Directory tree comparison mode for Emacs")
12584 (description "Ztree is a project dedicated to implementation of several
12585text-tree applications inside GNU Emacs. It consists of 2 subprojects:
12586@command{ztree-diff} and @command{ztree-dir} (the basis of
12587@command{ztree-diff}).")
12588 (license license:gpl3))))
12589
12590(define-public emacs-helm-org-contacts
12591 (let ((commit "0af703bd9a43032b89fdf5559673151d1ac2fffc"))
12592 (package
12593 (name "emacs-helm-org-contacts")
12594 (version (git-version "20180707" "1" commit))
12595 (source
12596 (origin
12597 (method git-fetch)
12598 (uri (git-reference
12599 (url "https://github.com/tmalsburg/helm-org-contacts")
12600 (commit commit)))
12601 (file-name (git-file-name name version))
12602 (sha256
12603 (base32
12604 "1cl7cm2ic9pg4vc9cdh84vzjj1x2lpd5ymimiva8h4l17kiphk4s"))))
12605 (build-system emacs-build-system)
12606 (propagated-inputs
12607 `(("emacs-dash" ,emacs-dash)
12608 ("emacs-helm" ,emacs-helm)
12609 ("emacs-s" ,emacs-s)))
12610 (home-page "https://github.com/tmalsburg/helm-org-contacts")
12611 (synopsis "Helm source for org-contacts")
12612 (description "This Helm source can be used to search contacts stored in
12613org-contacts format. There are actions for inserting postal addresses, email
12614addresses, and phone numbers in the buffer where @command{helm-org-contacts}
12615was called.")
12616 (license license:gpl3))))
12617
12618(define-public emacs-dired-du
12619 (package
12620 (name "emacs-dired-du")
12621 (version "0.5.1")
12622 (source
12623 (origin
12624 (method url-fetch)
12625 (uri (string-append
12626 "https://elpa.gnu.org/packages/dired-du-"
12627 version ".tar"))
12628 (sha256
12629 (base32
12630 "1091scnrjh0a4gja4z6jxic6ghy1yryv46qk9c76pmh50cpw6766"))))
12631 (build-system emacs-build-system)
12632 (home-page "http://elpa.gnu.org/packages/dired-du.html")
12633 (synopsis "Dired with recursive directory sizes")
12634 (description
12635 "Display the recursive size of directories in Dired.
12636This file defines a minor mode @command{dired-du-mode} to show the recursive
12637size of directories in Dired buffers. If @command{du} program is available,
12638then the directory sizes are obtained with it. Otherwise, the directory sizes
12639are obtained with Lisp. The former is faster and provide a more precise
12640value. For directories where the user doesn't have read permission, the
12641recursive size is not obtained. Once this mode is enabled, every new Dired
12642buffer displays recursive dir sizes.")
12643 (license license:gpl3+)))
12644
12645(define-public emacs-pcre2el
12646 ;; Last release is very old so we get the latest commit.
12647 (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
12648 (package
12649 (name "emacs-pcre2el")
12650 (version (git-version "1.8" "1" commit))
12651 (source
12652 (origin
12653 (method git-fetch)
12654 (uri (git-reference
12655 (url "https://github.com/joddie/pcre2el")
12656 (commit commit)))
12657 (file-name (git-file-name name version))
12658 (sha256
12659 (base32
12660 "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"))))
12661 (build-system emacs-build-system)
12662 (home-page "https://github.com/joddie/pcre2el")
12663 (synopsis "Convert between PCRE, Emacs and rx regexp syntax")
12664 (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp
12665Tools) is a utility for working with regular expressions in Emacs, based on a
12666recursive-descent parser for regexp syntax. In addition to converting (a
12667subset of) PCRE syntax into its Emacs equivalent, it can do the following:
12668
12669@itemize
12670@item convert Emacs syntax to PCRE
12671@item convert either syntax to @code{rx}, an S-expression based regexp syntax
12672@item untangle complex regexps by showing the parse tree in @code{rx} form and
12673highlighting the corresponding chunks of code
12674@item show the complete list of strings (productions) matching a regexp,
12675provided the list is finite
12676@item provide live font-locking of regexp syntax (so far only for Elisp
12677buffers – other modes on the TODO list).
12678@end itemize\n")
12679 (license license:gpl3))))
12680
12681(define-public emacs-magit-todos
12682 (package
12683 (name "emacs-magit-todos")
3a56c518 12684 (version "1.1.7")
eeb883cb
RW
12685 (source
12686 (origin
12687 (method git-fetch)
12688 (uri (git-reference
12689 (url "https://github.com/alphapapa/magit-todos")
12690 (commit version)))
12691 (file-name (git-file-name name version))
12692 (sha256
12693 (base32
3a56c518 12694 "0qagdxpik64n4rw9scy451ws5sw00v64ri9g2dcw7b66bx2c6c6w"))))
eeb883cb
RW
12695 (build-system emacs-build-system)
12696 (propagated-inputs
12697 `(("emacs-async" ,emacs-async)
12698 ("emacs-dash" ,emacs-dash)
12699 ("emacs-f" ,emacs-f)
12700 ("emacs-hl-todo" ,emacs-hl-todo)
12701 ("magit" ,emacs-magit)
12702 ("emacs-pcre2el" ,emacs-pcre2el)
12703 ("emacs-s" ,emacs-s)))
12704 (home-page "https://github.com/alphapapa/magit-todos")
12705 (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer")
12706 (description "This package displays keyword entries from source code
12707comments and Org files in the Magit status buffer. Activating an item jumps
12708to it in its file. By default, it uses keywords from @code{hl-todo}, minus a
12709few (like NOTE).")
12710 (license license:gpl3)))
12711
12712(define-public emacs-git-annex
12713 ;; Unreleased version has a fontification fix.
12714 (let ((commit "ebdb44aef1883f1b2b8058e05d30fb9315b03707")
12715 (revision "1"))
12716 (package
12717 (name "emacs-git-annex")
12718 (version (string-append "1.1-" revision "." (string-take commit 8)))
12719 (source
12720 (origin
12721 (method git-fetch)
12722 (uri (git-reference
12723 (url "https://github.com/jwiegley/git-annex-el")
12724 (commit commit)))
12725 (file-name (string-append name "-" version "-checkout"))
12726 (sha256
12727 (base32
12728 "1mzv40gj7k10h7h5s43my8msgzjpj680qprqa9pp8nbyhl49v3wh"))))
12729 (build-system emacs-build-system)
12730 (home-page "https://github.com/jwiegley/git-annex-el")
12731 (synopsis "Emacs integration for git-annex")
12732 (description "Enhances Dired and buffers visiting annex files with
12733git-annex functionality. In Dired, the names of annex files are shortened by
12734hiding the symbolic links and fontified based on whether content is present.
12735Commands for performing some common operations (e.g., unlocking and adding
12736files) are provided.")
12737 (license license:gpl2+))))
12738
12739(define-public emacs-hackernews
1e70d72b 12740 (let ((commit "916c3da8da45c757f5ec2faeed57fa370513d4ac"))
eeb883cb
RW
12741 (package
12742 (name "emacs-hackernews")
1e70d72b 12743 (version (git-version "0.5.0" "1" commit))
eeb883cb
RW
12744 (source
12745 (origin
12746 (method git-fetch)
12747 (uri (git-reference
12748 (url "https://github.com/clarete/hackernews.el")
12749 (commit commit)))
12750 (file-name (git-file-name name version))
12751 (sha256
12752 (base32
1e70d72b 12753 "09bxaaczana1cfvxyk9aagjvdszkj0j1yldl5r4xa60b59lxihsg"))))
eeb883cb
RW
12754 (build-system emacs-build-system)
12755 (home-page "https://github.com/clarete/hackernews.el")
12756 (synopsis "Hacker News client for Emacs")
12757 (description "The @command{hackernews} package is able to fetch stories
12758from six different Hacker News feeds, namely top, new, best, ask, show and job
12759stories. The default feed is top stories, which corresponds to the Hacker
12760News homepage.")
12761 (license license:gpl3))))
12762
12763(define-public emacs-youtube-dl
12764 (let ((commit "7c9d7a7d05b72a7d1b1257a36c5e2b2567b185dd"))
12765 (package
12766 (name "emacs-youtube-dl")
12767 (version (git-version "1.0" "1" commit))
12768 (source
12769 (origin
12770 (method git-fetch)
12771 (uri (git-reference
12772 (url "https://github.com/skeeto/youtube-dl-emacs/")
12773 (commit commit)))
12774 (file-name (git-file-name name version))
12775 (sha256
12776 (base32
12777 "0mh4s089a4x8s380agzb2306kdp1hl204px1n5rrrrdcls7imnh6"))))
12778 (build-system emacs-build-system)
12779 (inputs
12780 `(("youtube-dl" ,youtube-dl)))
12781 (arguments
12782 `(#:phases
12783 (modify-phases %standard-phases
12784 (add-after 'unpack 'configure
12785 (lambda* (#:key inputs #:allow-other-keys)
12786 (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
12787 ;; .el is read-only in git.
12788 (chmod "youtube-dl.el" #o644)
12789 ;; Specify the absolute file names of the various
12790 ;; programs so that everything works out-of-the-box.
12791 (emacs-substitute-variables
12792 "youtube-dl.el"
12793 ("youtube-dl-program"
12794 (string-append youtube-dl "/bin/youtube-dl")))))))))
12795 (home-page "https://github.com/skeeto/youtube-dl-emacs/")
12796 (synopsis "Emacs youtube-dl download manager")
12797 (description "This package manages a video download queue for
12798@command{youtube-dl}, which serves as the back end. It manages a single
12799@command{youtube-dl} subprocess, downloading one video at a time. New videos
12800can be queued at any time.")
12801 (license license:unlicense))))
12802
12803(define-public emacs-org-web-tools
12804 (package
12805 (name "emacs-org-web-tools")
12806 (version "1.0")
12807 (source
12808 (origin
12809 (method git-fetch)
12810 (uri (git-reference
12811 (url "https://github.com/alphapapa/org-web-tools")
12812 (commit version)))
12813 (file-name (git-file-name name version))
12814 (sha256
12815 (base32
12816 "0kak9h5ny00d39gnwspv53nadnag01brw2fq9zk5wpfc91h9bjng"))))
12817 (build-system emacs-build-system)
12818 (propagated-inputs
12819 `(("emacs-dash" ,emacs-dash)
12820 ("emacs-esxml" ,emacs-esxml)
12821 ("emacs-s" ,emacs-s)))
12822 (inputs
12823 `(("pandoc" ,ghc-pandoc)))
12824 (arguments
12825 `(#:phases
12826 (modify-phases %standard-phases
12827 (add-after 'unpack 'patch-exec-paths
12828 (lambda* (#:key inputs #:allow-other-keys)
12829 (let ((pandoc (assoc-ref inputs "pandoc")))
12830 (substitute* "org-web-tools.el"
12831 (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))
12832 #t))))))
12833 (home-page "https://github.com/alphapapa/org-web-tools")
12834 (synopsis "Display/Process web page as Org-mode content")
12835 (description "This package contains library functions and commands useful
12836for retrieving web page content and processing it into Org-mode content.
12837
12838For example, you can copy a URL to the clipboard or kill-ring, then run a
12839command that downloads the page, isolates the “readable” content with
12840@command{eww-readable}, converts it to Org-mode content with Pandoc, and
12841displays it in an Org-mode buffer. Another command does all of that but
12842inserts it as an Org entry instead of displaying it in a new buffer.")
12843 (license license:gpl3+)))
12844
12845(define-public emacs-blimp
12846 (let ((commit "e420763d6d18b5d1be552cdbc47f91418343db03"))
12847 (package
12848 (name "emacs-blimp")
12849 (version (git-version "0.0.0" "1" commit))
12850 (source
12851 (origin
12852 (method git-fetch)
12853 (uri (git-reference
12854 (url "https://github.com/walseb/blimp")
12855 (commit commit)))
12856 (file-name (git-file-name name version))
12857 (sha256
12858 (base32
12859 "09wmhpym516b81dfq8smdmysh1fn610dzlyvyl2rkx8600f0fizd"))))
12860 (build-system emacs-build-system)
12861 (propagated-inputs
12862 `(("emacs-eimp" ,emacs-eimp)))
12863 (home-page "https://github.com/walseb/blimp")
12864 (synopsis "Emacs wrapper around all Imagemagick commands")
12865 (description "Blimp (Bustling Image Manipulation Package) is a complete
12866wrapper around all Imagemagick commands with descriptions, autocompletion (for
12867some commands) and hints displayed in prompt using @command{eimp.el} to
12868execute its commands and resize images.")
12869 (license license:gpl3+))))
12870
12871(define-public emacs-synosaurus
12872 (let ((commit "8bf95b935976ec0a1964cf175ed57cc5f6f93bdb"))
12873 (package
12874 (name "emacs-synosaurus")
12875 (version (git-version "0.1.0" "1" commit))
12876 (source
12877 (origin
12878 (method git-fetch)
12879 (uri (git-reference
12880 (url "https://github.com/hpdeifel/synosaurus")
12881 (commit commit)))
12882 (file-name (git-file-name name version))
12883 (sha256
12884 (base32
12885 "15by9jccab6kyplxa6k0glzaivxkqdigl33gl2qi2cvy6f2q7gva"))))
12886 (build-system emacs-build-system)
12887 (propagated-inputs
12888 `(("wordnet" ,wordnet)))
12889 (arguments
12890 `(#:phases
12891 (modify-phases %standard-phases
12892 (add-after 'unpack 'configure
12893 (lambda* (#:key inputs outputs #:allow-other-keys)
12894 (let ((wn (assoc-ref inputs "wordnet")))
12895 ;; .el is read-only in git.
12896 (chmod "synosaurus-wordnet.el" #o644)
12897 ;; Specify the absolute file names of the various
12898 ;; programs so that everything works out-of-the-box.
12899 (emacs-substitute-variables
12900 "synosaurus-wordnet.el"
12901 ("wordnet-command"
12902 (string-append wn "/bin/wn")))))))))
12903 (home-page "https://github.com/hpdeifel/synosaurus")
12904 (synopsis "Extensible thesaurus mode for Emacs")
12905 (description "Synosaurus is a thesaurus fontend for Emacs with pluggable
12906backends, including the @command{wordnet} offline backend.")
12907 (license license:gpl3+))))
12908
a6718145
BL
12909(define-public emacs-editorconfig
12910 (package
12911 (name "emacs-editorconfig")
12912 (version "0.7.14")
12913 (source
12914 (origin
12915 (method git-fetch)
12916 (uri (git-reference
12917 (url "https://github.com/editorconfig/editorconfig-emacs")
12918 (commit (string-append "v" version))))
12919 (file-name (git-file-name name version))
12920 (sha256
12921 (base32
12922 "19j2428ij7sqvrqs7rqg1mcnv9109y6drqba40dkv3vrkk5d2yia"))))
12923 (build-system emacs-build-system)
12924 (home-page "https://github.com/editorconfig/editorconfig-emacs")
12925 (synopsis "Define and maintain consistent coding styles between different
12926editors and IDEs")
12927 (description "The EditorConfig project consists of a file format for
12928defining coding styles and a collection of text editor plugins that enable
12929editors to read the file format and adhere to defined styles. EditorConfig
12930files are easily readable and they work nicely with version control systems.")
12931 (license license:gpl3+)))
12932
eeb883cb
RW
12933(define-public emacs-all-the-icons
12934 (package
12935 (name "emacs-all-the-icons")
12936 (version "3.2.0")
12937 (source
12938 (origin
12939 (method git-fetch)
12940 (uri (git-reference
12941 (url "https://github.com/domtronn/all-the-icons.el.git")
12942 (commit version)))
12943 (file-name (git-file-name name version))
12944 (sha256
12945 (base32
12946 "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn"))))
12947 (build-system emacs-build-system)
12948 (arguments
12949 `(#:include '("\\.el$" "^data/" "^fonts/")
12950 ;; Compiling "test/" fails with "Symbol’s value as variable is void:
12951 ;; all-the-icons--root-code". Ignoring tests.
12952 #:exclude '("^test/")
12953 #:tests? #f))
12954 (propagated-inputs
12955 `(("f" ,emacs-f)
12956 ("memoize" ,emacs-memoize)))
12957 (home-page "https://github.com/domtronn/all-the-icons.el")
12958 (synopsis "Collect icon fonts and propertize them within Emacs")
12959 (description "All-the-icons is a utility package to collect various icon
12960fonts and propertize them within Emacs. Icon fonts allow you to propertize
12961and format icons the same way you would normal text. This enables things such
12962as better scaling of and anti aliasing of the icons.")
12963 ;; Package is released under Expat license. Elisp files are licensed
12964 ;; under GPL3+. Fonts come with various licenses: Expat for
12965 ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
12966 ;; "material-design-icons.ttf", and SIL OFL 1.1 for "fontawesome.ttf",
12967 ;; "ocitcons.ttf" and "weathericons.ttf".
12968 (license
12969 (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
12970
12971(define-public emacs-powerline
12972 (package
12973 (name "emacs-powerline")
12974 (version "2.4")
12975 (source
12976 (origin
12977 (method git-fetch)
12978 (uri (git-reference
12979 (url "https://github.com/milkypostman/powerline.git")
12980 (commit version)))
12981 (file-name (git-file-name name version))
12982 (sha256
12983 (base32
12984 "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"))))
12985 (build-system emacs-build-system)
12986 (home-page "https://github.com/milkypostman/powerline/")
12987 (synopsis "Mode-line plugin for Emacs")
12988 (description "Powerline is a utility plugin which allows you to create
12989a better-looking, more functional Emacs mode-line. A collection of predefined
12990themes comes with the package.")
12991 (license license:gpl3+)))
12992
12993(define-public emacs-spaceline
12994 (package
12995 (name "emacs-spaceline")
12996 (version "2.0.1")
12997 (source
12998 (origin
12999 (method git-fetch)
13000 (uri (git-reference
13001 (url "https://github.com/TheBB/spaceline.git")
13002 (commit (string-append "v" version))))
13003 (file-name (git-file-name name version))
13004 (sha256
13005 (base32
13006 "1q8r95zfrh0vxna5ml2pq9b9f66clfqcl4d2qy2aizkvzyxg6skl"))))
13007 (build-system emacs-build-system)
13008 (propagated-inputs
13009 `(("dash" ,emacs-dash)
13010 ("powerline" ,emacs-powerline)
13011 ("s" ,emacs-s)))
13012 (home-page "https://github.com/TheBB/spaceline")
13013 (synopsis "Powerline theme from Spacemacs")
13014 (description "Spaceline provides Spacemacs' mode-line theme.
13015This package provides features for three kinds of users.
13016
13017@itemize
13018@item You just want to use the Spacemacs mode-line theme and forget about it.
13019@item You want to use something similar to the Spacemacs mode-line theme, but
13020with a handful of easy tweaks.
13021@item You want an easy-to-use library for building your own mode-line from
13022scratch, and you think the Spacemacs theme looks good.
13023@end itemize")
13024 (license license:gpl3+)))
13025
13026(define-public emacs-column-marker
13027 (package
13028 (name "emacs-column-marker")
13029 (version "9")
13030 (source
13031 (origin
13032 (method url-fetch)
13033 (uri "https://www.emacswiki.org/emacs/download/column-marker.el")
13034 (sha256 (base32 "05bv198zhqw5hqq6cr11mhz02dpca74hhp1ycwq369m0yb2naxy9"))))
13035 (build-system emacs-build-system)
13036 (home-page "https://www.emacswiki.org/emacs/ColumnMarker")
13037 (synopsis "Emacs mode for highlighting columns")
13038 (description
13039 "With @code{column-marker.el} you can highlight any number of text columns.
13040Three such highlight column markers are provided by default. This is
13041especially useful for languages like COBOL or Fortran where certain columns
13042have special meaning. It is also handy for aligning text across long vertical
13043distances. Multi-column characters, such as @kbd{TAB} are treated
13044correctly.")
13045 (license license:gpl2+)))
13046
13047(define-public emacs-slime-repl-ansi-color
13048 (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
13049 (package
13050 (name "emacs-slime-repl-ansi-color")
13051 (version (git-version "0.0.0" "1" commit))
13052 (source (origin
13053 (method git-fetch)
13054 (uri (git-reference
13055 (url "https://github.com/deadtrickster/slime-repl-ansi-color")
13056 (commit commit)))
13057 (file-name (git-file-name name version))
13058 (sha256
13059 (base32
13060 "0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
13061 (build-system emacs-build-system)
13062 (home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
13063 (synopsis "Color ANSI codes in the REPL of SLIME")
13064 (description "Color ANSI codes in the REPL of SLIME")
13065 (license license:gpl2+))))
13066
13067(define-public emacs-helm-slime
f81efdcb
PN
13068 (package
13069 (name "emacs-helm-slime")
43a0db3c 13070 (version "0.3.0")
f81efdcb
PN
13071 (source (origin
13072 (method git-fetch)
13073 (uri (git-reference
13074 (url "https://github.com/emacs-helm/helm-slime")
13075 (commit version)))
13076 (file-name (git-file-name name version))
13077 (sha256
13078 (base32
43a0db3c 13079 "1qhb9446rpj17pm0hi3miy5gs5k3ld43bq29kzy0y26bf7ivfcjv"))))
f81efdcb
PN
13080 (build-system emacs-build-system)
13081 (propagated-inputs
13082 `(("emacs-helm" ,emacs-helm)
13083 ("emacs-slime" ,emacs-slime)))
13084 (home-page "https://github.com/emacs-helm/helm-slime")
13085 (synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs")
13086 (description "Helm-SLIME defines a few new commands:
eeb883cb
RW
13087
13088@itemize
13089@item helm-slime-complete: Select a symbol from the SLIME completion systems.
13090@item helm-slime-list-connections: Yet another slime-list-connections with Helm.
13091@item: helm-slime-apropos: Yet another slime-apropos with Helm.
13092@item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it.
13093@end itemize\n")
f81efdcb 13094 (license license:gpl3+)))
eeb883cb
RW
13095
13096(define-public emacs-gtk-look
13097 (package
13098 (name "emacs-gtk-look")
13099 (version "29")
13100 (source (origin
13101 (method url-fetch)
13102 (uri "https://download.tuxfamily.org/user42/gtk-look.el")
13103 (sha256
13104 (base32
13105 "14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp"))))
13106 (build-system emacs-build-system)
13107 (arguments
13108 `(#:phases
13109 (modify-phases %standard-phases
13110 (add-after 'unpack 'configure
13111 (lambda _
13112 ;; File is read-only.
13113 (chmod "gtk-look.el" #o644)
13114 (emacs-substitute-variables "gtk-look.el"
13115 ("gtk-lookup-devhelp-indices"
13116 '(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*"))))
13117 #t)))))
13118 (home-page "http://user42.tuxfamily.org/gtk-look/index.html")
13119 (synopsis "Find and display HTML documentation for GTK, GNOME and Glib")
13120 (description "@command{gtk-look} finds and displays HTML documentation for
13121GTK, GNOME and Glib functions and variables in Emacs, similar to what
13122info-lookup-symbol does for info files (C-h S). The documentation is expected
13123to be devhelp indexes with HTML files. The location of the indexes can be
13124customized. In addition to C code development @command{gtk-look} is good for
13125
13126@itemize
13127@item @command{perl-gtk2}, recognising class funcs like
13128@command{Gtk2::Label->new} and bare method names like @command{set_text}.
13129@item @command{guile-gnome}, recognising methods like @command{set-text} and
13130classes like @command{<gtk-window>}.
13131@end itemize\n")
13132 (license license:gpl3+)))
13133
13134(define-public emacs-ov
13135 (package
13136 (name "emacs-ov")
13137 (version "1.0.6")
13138 (source (origin
13139 (method git-fetch)
13140 (uri (git-reference
13141 (url "https://github.com/ShingoFukuyama/ov.el.git")
13142 (commit version)))
13143 (file-name (git-file-name name version))
13144 (sha256
13145 (base32
13146 "0qxk2rf84j86syxi8xknsq252irwg7sz396v3bb4wqz4prpj0kzc"))))
13147 (build-system emacs-build-system)
13148 (home-page "https://github.com/ShingoFukuyama/ov.el")
13149 (synopsis "Overlay library for Emacs Lisp")
13150 (description "@code{ov.el} provides a simple way to manipulate overlays in
13151Emacs.")
13152 (license license:gpl3+)))
13153
13154(define-public emacs-matrix-client
85a3d63f 13155 (let ((commit "a0623667b07a4bf60980c97b078e9faed97ace79"))
eeb883cb
RW
13156 (package
13157 (name "emacs-matrix-client")
54c9d7bb 13158 (version (git-version "0.0.0" "4" commit))
eeb883cb
RW
13159 (source (origin
13160 (method git-fetch)
13161 (uri (git-reference
13162 (url "https://github.com/jgkamat/matrix-client-el.git")
13163 (commit commit)))
13164 (file-name (git-file-name name version))
13165 (sha256
13166 (base32
85a3d63f 13167 "1zya8id3y9wzjaj7nplq7br6nhm3lsskv0fkn1xr1y77fzcfgcdb"))))
eeb883cb 13168 (build-system emacs-build-system)
54c9d7bb
NG
13169 (arguments
13170 `(#:phases
13171 (modify-phases %standard-phases
13172 (add-after 'unpack 'add-missing-require
13173 ;; Fix a filter error at runtime due to a missing require.
13174 ;; Reported upstream:
13175 ;; <https://github.com/alphapapa/matrix-client.el/issues/76>
13176 (lambda _
13177 (substitute* "matrix-client-room.el"
13178 (("\\(require 'dash-functional\\)" all)
13179 (string-append all "\n" "(require 'anaphora)")))
13180 #t)))))
eeb883cb
RW
13181 (propagated-inputs
13182 `(("a" ,emacs-a)
e6ab20f7 13183 ("anaphora" ,emacs-anaphora)
eeb883cb
RW
13184 ("dash" ,emacs-dash)
13185 ("esxml" ,emacs-esxml)
13186 ("f" ,emacs-f)
13187 ("frame-purpose" ,emacs-frame-purpose)
13188 ("ht" ,emacs-ht)
13189 ("ov" ,emacs-ov)
13190 ("rainbow-identifiers" ,emacs-rainbow-identifiers)
13191 ("request" ,emacs-request)
13192 ("s" ,emacs-s)
13193 ("tracking" ,emacs-tracking)))
13194 (home-page "https://github.com/jgkamat/matrix-client-el")
13195 (synopsis "Matrix client for Emacs")
13196 (description "@code{matrix-client} is a simple chat UI to Matrix.org
13197rooms. It also provides an API which allows Emacs to seamlessly create
13198RPC channels with users and other software.")
13199 (license license:gpl3+))))
13200
13201(define-public emacs-sesman
13202 (package
13203 (name "emacs-sesman")
13204 (version "0.3.3")
13205 (source
13206 (origin
13207 (method git-fetch)
13208 (uri (git-reference
13209 (url "https://github.com/vspinu/sesman.git")
13210 (commit (string-append "v" version))))
13211 (file-name (git-file-name name version))
13212 (sha256
13213 (base32
13214 "0r32f8ma9ddczxrrdz0nadp14j3zmk10q1ch02gb82synkx3xdra"))))
13215 (build-system emacs-build-system)
13216 (arguments
13217 `(#:tests? #t
13218 #:test-command '("make" "test")))
13219 (home-page "https://github.com/vspinu/sesman")
13220 (synopsis "Session manager for Emacs based IDEs")
13221 (description "Sesman provides facilities for session management and
13222interactive session association with the current contexts (project, directory,
13223buffers). While sesman can be used to manage arbitrary sessions, it primary
13224targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
13225 (license license:gpl3+)))
13226
13227(define-public emacs-buttercup
13228 (package
13229 (name "emacs-buttercup")
13230 (version "1.16")
13231 (source
13232 (origin
13233 (method git-fetch)
13234 (uri (git-reference
13235 (url "https://github.com/jorgenschaefer/emacs-buttercup.git")
13236 (commit (string-append "v" version))))
13237 (file-name (git-file-name name version))
13238 (sha256
13239 (base32
13240 "0dckgcyzsav6ld78bcyrrygy1cz1jvqgav6vy8f6klpmk3r8xrl1"))))
13241 (build-system emacs-build-system)
13242 (arguments
13243 `(#:tests? #t
13244 #:test-command '("make" "test")
13245 #:phases
13246 (modify-phases %standard-phases
13247 (add-after 'install 'install-bin
13248 (lambda* (#:key outputs #:allow-other-keys)
13249 (install-file "bin/buttercup"
13250 (string-append (assoc-ref outputs "out") "/bin"))
13251 #t)))))
13252 (home-page "https://github.com/jorgenschaefer/emacs-buttercup")
13253 (synopsis "Behavior driven emacs lisp testing framework")
13254 (description "Buttercup is a behavior-driven development framework for
13255testing Emacs Lisp code. It allows to group related tests so they can share
13256common set-up and tear-down code, and allows the programmer to \"spy\" on
13257functions to ensure they are called with the right arguments during testing.")
13258 (license license:gpl3+)))
13259
13260(define-public emacs-wordnut
13261 (let ((commit "feac531404041855312c1a046bde7ea18c674915")
13262 (revision "0"))
13263 (package
13264 (name "emacs-wordnut")
13265 (version (git-version "0.1" revision commit))
13266 (home-page "https://github.com/gromnitsky/wordnut")
13267 (source (origin
13268 (method git-fetch)
13269 (uri (git-reference (url home-page) (commit commit)))
13270 (sha256
13271 (base32
13272 "1jl0b6g64a9w0q7bfvwha67vgws5xd15b7mkfyb5gkz3pymqhfxn"))
13273 (patches
13274 (search-patches "emacs-wordnut-require-adaptive-wrap.patch"))
13275 (file-name (git-file-name name version))))
13276 (build-system emacs-build-system)
13277 (propagated-inputs
13278 `(("wordnet" ,wordnet)
13279 ("emacs-adaptive-wrap" ,emacs-adaptive-wrap)))
13280 (synopsis "Major mode for WordNet")
13281 (description "This Emacs package provides an interface for
13282@code{wordnet}. Features include completion, if the query is not found
13283too ambiguous and navigation in the result buffer.")
13284 (license license:gpl3+))))
13285
13286(define-public emacs-frame-purpose
13287 (package
13288 (name "emacs-frame-purpose")
13289 (version "1.0")
13290 (source (origin
13291 (method git-fetch)
13292 (uri (git-reference
13293 (url "https://github.com/alphapapa/frame-purpose.el.git")
13294 (commit version)))
13295 (sha256
13296 (base32
13297 "0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"))
13298 (file-name (git-file-name name version))))
13299 (build-system emacs-build-system)
13300 (inputs
13301 `(("dash" ,emacs-dash)))
13302 (synopsis "Purpose-specific frames for Emacs")
13303 (description "@code{frame-purpose} makes it easy to open purpose-specific
13304frames that only show certain buffers, e.g. by buffers’ major mode, their
13305filename or directory, etc, with custom frame/X-window titles, icons, and
13306other frame parameters.")
13307 (home-page "https://github.com/alphapapa/frame-purpose.el")
13308 (license license:gpl3+)))
13309
13310(define-public emacs-arduino-mode
13311 (let ((commit "3e2bad4569ad26e929e6db2cbcff0d6d36812698")) ;no release yet
13312 (package
13313 (name "emacs-arduino-mode")
13314 (version (git-version "0" "0" commit))
13315 (source (origin
13316 (method git-fetch)
13317 (uri (git-reference
13318 (url "https://github.com/bookest/arduino-mode.git")
13319 (commit commit)))
13320 (sha256
13321 (base32
13322 "1yvaqjc9hadbnnay5fprnh890xsp53kidad1zpb4a5z4a5z61n3c"))
13323 (file-name (git-file-name name version))))
13324 (build-system emacs-build-system)
13325 (synopsis "Emacs major mode for editing Arduino sketches")
13326 (description "Emacs major mode for editing Arduino sketches.")
13327 (home-page "https://github.com/bookest/arduino-mode")
13328 (license license:gpl3+))))
13329
13330(define-public emacs-general
13331 (let ((commit "675050199b5a30d54a24b58a367db32c0bdc47f5"))
13332 (package
13333 (name "emacs-general")
13334 (version (git-version "0" "0" commit))
13335 (home-page "https://github.com/noctuid/general.el")
13336 (source (origin
13337 (method git-fetch)
13338 (uri (git-reference
13339 (url (string-append home-page ".git"))
13340 (commit commit)))
13341 (sha256
13342 (base32
13343 "175yyhzk57yk1sskxh3d2jzhrh2waiibbcfsll167qxr117yji5h"))
13344 (file-name (git-file-name name version))))
13345 (build-system emacs-build-system)
13346 (synopsis "More convenient key definitions in emacs")
13347 (description "@code{general.el} provides a more convenient method for
13348binding keys in emacs (for both evil and non-evil users). Like
13349@code{use-package}, which provides a convenient, unified interface for
13350managing packages, @code{general.el} is intended to provide a convenient,
13351unified interface for key definitions. While this package does implement some
13352completely new functionality (such as the ability to make vim-style
13353keybindings under non-prefix keys with an optional timeout), its primary
13354purpose is to build on existing functionality to make key definition more
13355clear and concise. @code{general-define-key} is user-extensible and supports
13356defining multiple keys in multiple keymaps at once, implicitly wrapping key
13357strings with (@code{kbd ...}), using named prefix key sequences (like the
13358leader key in vim), and much more.")
13359 (license license:gpl3+))))
13360
13361(define-public emacs-tldr
13362 (let ((commit "398b197c8d2238628b07e1b32d0f373876279f4c"))
13363 (package
13364 (name "emacs-tldr")
13365 (version (git-version "0" "0" commit))
13366 (home-page "https://github.com/kuanyui/tldr.el")
13367 (source (origin
13368 (method git-fetch)
13369 (uri (git-reference
13370 (url (string-append home-page ".git"))
13371 (commit commit)))
13372 (sha256
13373 (base32
13374 "0iq7qlis6c6r2qkdpncrhh5vsihkhvy5x4y1y8cjb7zxkh62w33f"))
13375 (file-name (git-file-name name version))))
13376 (build-system emacs-build-system)
13377 (synopsis "Simplified and community-driven man pages for Emacs")
13378 (description "@code{emacs-tldr} allows the user to access tldr pages
13379from within emacs. The @code{tldr} pages are a community effort to simplify
13380the man pages with practical examples.")
13381 (license license:wtfpl2))))
9830f1a2
PN
13382
13383(define-public emacs-window-layout
13384 (package
13385 (name "emacs-window-layout")
13386 (version "1.4")
13387 (home-page "https://github.com/kiwanami/emacs-window-layout")
13388 (source (origin
13389 (method git-fetch)
13390 (uri (git-reference
13391 (url home-page)
13392 (commit (string-append "v" version))))
13393 (sha256
13394 (base32
13395 "0wgqi8r844lbx52fn6az8c1n8m681rp6dkfzd54wmdk1ka7zmvv6"))
13396 (file-name (git-file-name name version))))
13397 (build-system emacs-build-system)
13398 (synopsis "Simple window layout management framework for emacs")
13399 (description "A window-layout management library that can split a frame
13400or a window into some windows according to a layout recipe.")
13401 (license license:gpl3+)))
5544a07f
PN
13402
13403(define-public emacs-e2wm
13404 (package
13405 (name "emacs-e2wm")
13406 (version "1.4")
13407 (home-page "https://github.com/kiwanami/emacs-window-manager")
13408 (source (origin
13409 (method git-fetch)
13410 (uri (git-reference
13411 (url home-page)
13412 (commit (string-append "v" version))))
13413 (sha256
13414 (base32
13415 "12midsrx07pdrsr1qbl2rpi7xyhxqx08bkz7n7gf8vsmqkpfp56s"))
13416 (file-name (git-file-name name version))))
13417 (build-system emacs-build-system)
13418 (propagated-inputs
13419 `(("emacs-window-layout" ,emacs-window-layout)))
13420 (synopsis "Equilibrium Emacs Window Manager")
13421 (description "E2WM is a window manager for Emacs. It enables to
13422customize the place of pop-up window, how the windows are split, how the
13423buffers are located in the windows, keybinds to manipulate windows and
13424buffers, etc. It also has plug-ins to help your Emacs life.")
13425 (license license:gpl3+)))
3e1fcc5e
PN
13426
13427(define-public emacs-ctable
13428 (let ((commit "b8830d1ca95abb100a81bc32011bd17d5ecba000"))
13429 (package
13430 (name "emacs-ctable")
13431 (version (git-version "0.1.2" "1" commit))
13432 (home-page "https://github.com/kiwanami/emacs-ctable")
13433 (source (origin
13434 (method git-fetch)
13435 (uri (git-reference
13436 (url home-page)
13437 (commit commit)))
13438 (sha256
13439 (base32
13440 "0pg303pnqscrsbx9579hc815angszsgf9vpd2z2f8p4f4ka6a00h"))
13441 (file-name (git-file-name name version))))
13442 (build-system emacs-build-system)
13443 (synopsis "Table component for Emacs Lisp")
13444 (description "This program is a table component for Emacs Lisp. Other
13445programs can use this table component for the application UI.")
13446 (license license:gpl3+))))
8c98ce92
PN
13447
13448(define-public emacs-epc
13449 (let ((commit "e1bfa5ca163273859336e3cc89b4b6460f7f8cda"))
13450 (package
13451 (name "emacs-epc")
13452 (version (git-version "0.1.1" "1" commit))
13453 (home-page "https://github.com/kiwanami/emacs-epc")
13454 (source (origin
13455 (method git-fetch)
13456 (uri (git-reference
13457 (url home-page)
13458 (commit commit)))
13459 (sha256
13460 (base32
13461 "15nkrjgi64f829isfd6xrhl4zw8jirr8pkas7nisrbk1av868hx0"))
13462 (file-name (git-file-name name version))))
13463 (build-system emacs-build-system)
13464 (propagated-inputs
13465 `(("emacs-deferred" ,emacs-deferred)
13466 ("emacs-ctable" ,emacs-ctable)))
13467 (synopsis "RPC stack for Emacs Lisp")
13468 (description "This program is an asynchronous RPC stack for Emacs.
13469Using this RPC stack, Emacs can communicate with the peer process
13470smoothly. Because the protocol employs S-expression encoding and consists of
13471asynchronous communications, the RPC response is fairly good.")
13472 (license license:gpl3+))))
c010ec65
PN
13473
13474(define-public emacs-edbi
13475 (let ((commit "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))
13476 (package
13477 (name "emacs-edbi")
13478 (version (git-version "0.1.3" "1" commit))
13479 (home-page "https://github.com/kiwanami/emacs-edbi")
13480 (source (origin
13481 (method git-fetch)
13482 (uri (git-reference
13483 (url home-page)
13484 (commit commit)))
13485 (sha256
13486 (base32
13487 "0x0igyvdcm4863n7zndvcv6wgzwgn7324cbfjja6xd7r0k936zdy"))
13488 (file-name (git-file-name name version))))
13489 (build-system emacs-build-system)
13490 (inputs
13491 `(("perl" ,perl)
13492 ("perl-rpc-epc-service" ,perl-rpc-epc-service)
13493 ("perl-dbi" ,perl-dbi)
13494 ;; TODO: Adding support for perl-dbd-mysql and others would
13495 ;; dramatically increase the closure size. Make several packages?
13496 ("perl-dbd-sqlite" ,perl-dbd-sqlite)))
13497 (propagated-inputs
13498 `(("emacs-e2wm" ,emacs-e2wm)
13499 ("emacs-epc" ,emacs-epc)))
13500 (arguments
13501 `(#:include '("\\.el$" "\\.pl$")
13502 #:phases
13503 (modify-phases %standard-phases
13504 (add-after 'install 'patch-path
13505 (lambda* (#:key inputs outputs #:allow-other-keys)
13506 (let ((perl (assoc-ref inputs "perl"))
13507 (dir (string-append (assoc-ref outputs "out")
13508 "/share/emacs/site-lisp/guix.d/edbi-"
13509 ,version)))
13510 (substitute* (string-append dir "/edbi.el")
13511 (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
13512 (chmod (string-append dir "/edbi-bridge.pl") #o555)
13513 (wrap-program (string-append dir "/edbi-bridge.pl")
13514 `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))
13515 #t))))))
13516 (synopsis "Database Interface for Emacs Lisp")
13517 (description "This program connects the database server through Perl's
13518DBI, and provides DB-accessing API and the simple management UI.")
13519 (license license:gpl3+))))
3d540c48
PN
13520
13521(define-public emacs-edbi-sqlite
13522 (let ((commit "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f"))
13523 (package
13524 (name "emacs-edbi-sqlite")
13525 (version (git-version "0.1.1" "1" commit))
13526 (home-page "https://github.com/proofit404/edbi-sqlite")
13527 (source (origin
13528 (method git-fetch)
13529 (uri (git-reference
13530 (url home-page)
13531 (commit commit)))
13532 (sha256
13533 (base32
13534 "1vll81386fx90lq5sy4rlxcik6mvw7zx5cc51f0yaca9bkcckp51"))
13535 (file-name (git-file-name name version))))
13536 (build-system emacs-build-system)
13537 (propagated-inputs
13538 `(("emacs-edbi" ,emacs-edbi)))
13539 (synopsis "Open SQLite files in Emacs")
13540 (description "This package is a convenience wrapper for @command{edbi}
13541to open SQLite databases.")
13542 (license license:gpl3+))))
f896abc7
LC
13543
13544(define-public emacs-nix-mode
13545 (package
13546 (name "emacs-nix-mode")
13547 (version "1.2.2")
13548 (source
13549 (origin
13550 (method url-fetch)
13551 (uri (string-append "https://github.com/NixOS/nix-mode/archive/v"
13552 version ".tar.gz"))
13553 (file-name (string-append name "-" version ".tar.gz"))
13554 (sha256
13555 (base32
13556 "06aqz0czznsj8835jqnk794sy2p6pa8kxfqwh0nl5d5vxivria6z"))))
13557 (build-system emacs-build-system)
13558 (inputs
13559 `(("emacs-company" ,emacs-company)
13560 ("emacs-mmm-mode" ,emacs-mmm-mode)))
13561 (home-page "https://github.com/NixOS/nix-mode")
13562 (synopsis "Emacs major mode for editing Nix expressions")
13563 (description "@code{nixos-mode} provides an Emacs major mode for editing
13564Nix expressions. It supports syntax highlighting, indenting and refilling of
13565comments.")
13566 (license license:lgpl2.1+)))
67248962
RW
13567
13568(define-public emacs-simple-mpc
13569 ;; There have been no releases.
13570 (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
13571 (revision "1"))
13572 (package
13573 (name "emacs-simple-mpc")
13574 (version (git-version "0" revision commit))
13575 (source
13576 (origin
13577 (method git-fetch)
13578 (uri (git-reference
13579 (url "https://github.com/jorenvo/simple-mpc.git")
13580 (commit commit)))
13581 (file-name (git-file-name name version))
13582 (sha256
13583 (base32
13584 "1ja06pv007cmzjjgka95jlg31k7d29jrih1yxyblsxv85s9sg21q"))))
13585 (build-system emacs-build-system)
13586 (propagated-inputs `(("emacs-s" ,emacs-s)))
13587 (home-page "https://github.com/jorenvo/simple-mpc")
13588 (synopsis "Simple Emacs frontend to mpc")
13589 (description "This package provides an Emacs major mode which acts as a
13590front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).")
13591 (license license:gpl3+))))
43af5f9d
AI
13592
13593(define-public emacs-mkmcc-gnuplot-mode
13594 (package
13595 (name "emacs-mkmcc-gnuplot-mode")
13596 (version "1.2.0")
13597 (source
13598 (origin
13599 (method git-fetch)
13600 (uri (git-reference
13601 (url "https://github.com/mkmcc/gnuplot-mode")
13602 (commit "601f6392986f0cba332c87678d31ae0d0a496ce7")))
13603 (file-name (string-append name "-" version "-checkout"))
13604 (sha256
13605 (base32
13606 "14f0yh1rjqc3337j4sbqzfb7pjim2c8a7wk1a73xkrdkmjn82vgb"))))
13607 (build-system emacs-build-system)
13608 (home-page "https://mkmcc.github.io/software/gnuplot-mode.html")
13609 (synopsis "Minimal emacs major mode for editing gnuplot scripts")
13610 (description "@code{emacs-mkmcc-gnuplot-mode} is a minimal emacs major
13611mode for editing gnuplot scripts. It provides syntax highlighting,
13612indentation and a command to plot the file.")
13613 (license license:gpl3+)))
ba25ba90
CL
13614
13615(define-public emacs-dtrt-indent
13616 (package
13617 (name "emacs-dtrt-indent")
13618 (version "0.8")
13619 (source (origin
13620 (method git-fetch)
13621 (uri (git-reference
13622 (url "https://github.com/jscheid/dtrt-indent")
13623 (commit version)))
13624 (file-name (git-file-name name version))
13625 (sha256
13626 (base32
13627 "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z"))))
13628 (build-system emacs-build-system)
13629 (home-page "https://github.com/jscheid/dtrt-indent")
13630 (synopsis "Minor mode that guesses the indentation offset")
13631 (description "This package provides a minor mode that guesses the
13632indentation offset originally used for creating source code files and
13633transparently adjusts the corresponding settings in Emacs, making it more
13634convenient to edit foreign files.")
13635 (license license:gpl2+)))
57b663fa
CL
13636
13637(define-public emacs-repo
13638 (package
13639 (name "emacs-repo")
13640 (version "0.1.3")
13641 (source (origin
13642 (method git-fetch)
13643 (uri (git-reference
13644 (url "https://github.com/canatella/repo-el")
13645 (commit version)))
13646 (file-name (git-file-name name version))
13647 (sha256
13648 (base32
13649 "0rbvcvm7bfr6ncji7cllfxyyr6x7n9fx863byp243phsj3n93adz"))))
13650 (build-system emacs-build-system)
13651 (native-inputs
13652 `(("emacs-el-mock" ,emacs-el-mock)
13653 ("ert-runner" ,emacs-ert-runner)))
13654 (propagated-inputs
13655 `(("emacs-f" ,emacs-f)
13656 ("magit" ,emacs-magit)))
13657 (home-page "https://github.com/canatella/repo-el")
13658 (synopsis "Emacs interface for the Google Repo tool")
13659 (description "This package provides integration of the Google Repo tool
13660with emacs. It displays the output of the @code{repo status} command in a
13661buffer and launches Magit from the status buffer for the project at point.")
b2cb1613 13662 (license license:gpl3+)))
bdccd7e1
MO
13663
13664(define-public emacs-alect-themes
13665 (package
13666 (name "emacs-alect-themes")
13667 (version "0.9")
13668 (source (origin
13669 (method git-fetch)
13670 (uri (git-reference
13671 (url "https://github.com/alezost/alect-themes")
13672 (commit (string-append "v" version))))
13673 (file-name (git-file-name name version))
13674 (sha256
13675 (base32
13676 "0nffxpdm0sa7bynwi0rmlwpc4qmvbda5ankhzz7fmk4ap9fkjxv9"))))
13677 (build-system emacs-build-system)
13678 (home-page "https://github.com/alezost/alect-themes")
13679 (synopsis "Low contrast, light, dark and black color theme for Emacs")
13680 (description "@code{emacs-alect-themes} provides configurable light, dark
13681and black color themes for Emacs. The themes are intended to be used with
13682GUI.")
57b663fa 13683 (license license:gpl3+)))
71066710
MO
13684
13685(define-public emacs-google-c-style
13686 (let ((commit "6271f3f473ceb3a7fef99388a3040903b1a145f1")
13687 (revision "0"))
13688 (package
13689 (name "emacs-google-c-style")
13690 (version (git-version "0.1" revision commit))
13691 (source (origin
13692 (method git-fetch)
13693 (uri (git-reference
13694 (url "https://github.com/google/styleguide")
13695 (commit commit)))
13696 (file-name (git-file-name name version))
13697 (sha256
13698 (base32
13699 "1jghyyasdl15c4gaqaxmdn43am63k6bykn5ab83f1ahv9zi1krxk"))))
13700 (build-system emacs-build-system)
13701 (home-page "https://github.com/google/styleguide")
13702 (synopsis "Emacs settings file for Google C/C++ style")
13703 (description "@code{emacs-google-c-style} provides an Emacs settings
13704file for Google C and C++ style.")
13705 (license license:gpl1+))))
285bf324
PN
13706
13707(define-public emacs-redshank
13708 (let ((commit "f98e68f532e622bcd464292ca4a9cf5fbea14ebb")
13709 (revision "1"))
13710 (package
13711 (name "emacs-redshank")
13712 (version (git-version "0.1" revision commit))
13713 (source (origin
13714 (method git-fetch)
13715 (uri (git-reference
13716 (url "http://www.foldr.org/~michaelw/projects/redshank.git")
13717 (commit commit)))
13718 (file-name (git-file-name name version))
13719 (sha256
13720 (base32
13721 "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p"))))
13722 (build-system emacs-build-system)
13723 (propagated-inputs
13724 `(("emacs-paredit" ,emacs-paredit)))
13725 (home-page "http://www.foldr.org/~michaelw/emacs/redshank/")
13726 (synopsis "Common Lisp Editing Extensions (for Emacs)")
13727 (description "Redshank is a collection of code-wrangling Emacs macros
13728mostly geared towards Common Lisp, but some are useful for other Lisp
13729dialects, too. Redshank's code transformations aim to be expression-based (as
13730opposed to character-based).")
13731 (license license:gpl1+))))
33756922
PN
13732
13733(define-public emacs-disk-usage
13734 (package
13735 (name "emacs-disk-usage")
7e80767d 13736 (version "1.3.0")
933d810e
PN
13737 (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
13738 (source
13739 (origin
13740 (method url-fetch)
13741 (uri (string-append
13742 "https://elpa.gnu.org/packages/disk-usage-"
13743 version
13744 ".el"))
13745 (sha256
13746 (base32
7e80767d 13747 "0ky6c34z7c6hd4yvcrcsidkfk2kvffkg63v02vch2i6hg1n6n028"))))
33756922
PN
13748 (build-system emacs-build-system)
13749 (synopsis "Sort and browse disk usage listings with Emacs")
13750 (description "Disk Usage is a file system analyzer: it offers a tabulated
13751view of file listings sorted by size. Directory sizes are computed
13752recursively. The results are cached for speed.")
13753 (license license:gpl3+)))
e77c7210
PN
13754
13755(define-public emacs-orgit
7d3a78e7 13756 (let ((commit "2456436a7e64d26bcf455b3890a586acaa3e7f93"))
e77c7210
PN
13757 (package
13758 (name "emacs-orgit")
7d3a78e7 13759 (version (git-version "1.5.1" "2" commit))
e77c7210
PN
13760 (home-page "https://github.com/magit/orgit")
13761 (source (origin
13762 (method git-fetch)
13763 (uri (git-reference
13764 (url home-page)
13765 (commit commit)))
13766 (file-name (git-file-name name version))
13767 (sha256
13768 (base32
7d3a78e7 13769 "1i52dq2ynddb1irgigr5mdwfbfd3bvm1f29jnzd7nlc0nk186nvh"))))
e77c7210
PN
13770 (build-system emacs-build-system)
13771 (propagated-inputs
13772 `(("emacs-dash" ,emacs-dash)
13773 ("emacs-magit" ,emacs-magit)))
13774 (synopsis "Support for Org links to Magit buffers")
13775 (description "This package defines several Org link types, which can be
13776used to link to certain Magit buffers. Use the command
13777@command{org-store-link} while such a buffer is current to store a link.
13778Later you can insert it into an Org buffer using the command
13779@code{org-insert-link}.")
13780 (license license:gpl3+))))
089a2c51
CL
13781
13782(define-public emacs-amx
13783 (package
13784 (name "emacs-amx")
13785 (version "3.2")
13786 (source (origin
13787 (method git-fetch)
13788 (uri (git-reference
13789 (url "https://github.com/DarwinAwardWinner/amx")
13790 (commit (string-append "v" version))))
13791 (file-name (git-file-name name version))
13792 (sha256
13793 (base32
13794 "0bb8y1dmzyqkrb4mg6zndcsxppby3glridv2aap2pv05gv8kx7mj"))))
13795 (build-system emacs-build-system)
13796 (propagated-inputs `(("emacs-s" ,emacs-s)))
13797 (home-page "https://github.com/DarwinAwardWinner/amx")
13798 (synopsis "Alternative interface for M-x")
13799 (description "Amx is an alternative interface for M-x in Emacs. It
13800provides several enhancements over the ordinary
13801@code{execute-extended-command}, such as prioritizing your most-used commands
13802in the completion list and showing keyboard shortcuts, and it supports several
13803completion systems for selecting commands, such as ido and ivy.")
13804 (license license:gpl3+)))
842e66c5
PN
13805
13806(define-public emacs-lorem-ipsum
13807 (let ((commit "4b39f6fed455d67f635b3837cf5668bf74d0f6cd"))
13808 (package
13809 (name "emacs-lorem-ipsum")
13810 (version (git-version "0.2" "1" commit))
13811 (home-page "https://github.com/jschaf/emacs-lorem-ipsum/")
13812 (source (origin
13813 (method git-fetch)
13814 (uri (git-reference
13815 (url home-page)
13816 (commit commit)))
13817 (file-name (git-file-name name version))
13818 (sha256
13819 (base32
13820 "0a3b18p3vdjci89prsgdzjnfxsl8p67vjhf8ai4qdng7zvh50lir"))))
13821 (build-system emacs-build-system)
13822 (synopsis "Insert dummy pseudo Latin text in Emacs")
13823 (description "This package provides convenience functions to insert
13824dummy Latin text into a buffer. This can be useful if you need to produce
13825paragraphs or pages of text for testing purposes.")
13826 (license license:gpl3+))))
75dabac6
PN
13827
13828(define-public emacs-lisp-extra-font-lock
13829 (let ((commit "4605eccbe1a7fcbd3cacf5b71249435413b4db4f"))
13830 (package
13831 (name "emacs-lisp-extra-font-lock")
13832 (version (git-version "0.0.6" "1" commit))
13833 (home-page "https://github.com/Lindydancer/lisp-extra-font-lock")
13834 (source (origin
13835 (method git-fetch)
13836 (uri (git-reference
13837 (url home-page)
13838 (commit commit)))
13839 (file-name (git-file-name name version))
13840 (sha256
13841 (base32
13842 "152vcp3mdlv33jf5va4rinl1d0k960gnfhbrqqrafazgx9j3ya8w"))))
13843 (build-system emacs-build-system)
13844 (synopsis "Highlight bound variables and quoted expressions in Emacs")
13845 (description "This package highlight the location where local variables
13846is created (bound, for example, by let) as well as quoted and backquoted
13847constant expressions.")
13848 (license license:gpl3+))))
3899ae89
OP
13849
13850(define-public emacs-docker-tramp
13851 (package
13852 (name "emacs-docker-tramp")
13853 (version "0.1")
13854 (source
13855 (origin
13856 (method git-fetch)
13857 (uri (git-reference
13858 (url "https://github.com/emacs-pe/docker-tramp.el")
13859 (commit (string-append "v" version))))
13860 (file-name (git-file-name name version))
13861 (sha256
13862 (base32
13863 "0lxvzmfg52fhxrhbvp92zwp7cv4i1rlxnkyyzgngj3sjm7y60yvg"))))
13864 (build-system emacs-build-system)
13865 (home-page "https://github.com/emacs-pe/docker-tramp.el")
13866 (synopsis "TRAMP integration for docker containers")
13867 (description
13868 "This package provides a TRAMP method for Docker containers.")
13869 (license license:gpl3+)))
18964a60
OP
13870
13871(define-public emacs-docker
13872 (package
13873 (name "emacs-docker")
13874 (version "1.2.0")
13875 (source (origin
13876 (method git-fetch)
13877 (uri (git-reference
13878 (url "https://github.com/Silex/docker.el")
13879 (commit version)))
13880 (file-name (git-file-name name version))
13881 (sha256
13882 (base32
13883 "15kd86kaq1x6giz855q9w6zvnyc742j309j0pmm86rwx398g4rq1"))))
13884 (inputs
13885 `(("emacs-undercover" ,emacs-undercover)))
13886 (propagated-inputs
13887 `(("emacs-dash" ,emacs-dash)
13888 ("emacs-docker-tramp" ,emacs-docker-tramp)
13889 ("emacs-magit-popup" ,emacs-magit-popup)
13890 ("emacs-s" ,emacs-s)
13891 ("emacs-tablist" ,emacs-tablist)
13892 ("emacs-json-mode" ,emacs-json-mode)))
13893 (arguments
13894 `(#:phases
13895 (modify-phases %standard-phases
13896 (delete 'check)))) ;no tests
13897 (build-system emacs-build-system)
13898 (home-page "https://github.com/Silex/docker.el")
13899 (synopsis "Manage docker from Emacs")
13900 (description "This package provides an Emacs interface for Docker.")
13901 (license license:gpl3+)))
1f058ece
OP
13902
13903(define-public emacs-dockerfile-mode
13904 ;; Latest upstream release is too old.
13905 (let ((commit "7223d92718f78fa3ab15667cdb2ed90cfeb579e7"))
13906 (package
13907 (name "emacs-dockerfile-mode")
13908 (version (git-version "1.2" "1" commit))
13909 (source
13910 (origin
13911 (method git-fetch)
13912 (uri (git-reference
13913 (url "https://github.com/spotify/dockerfile-mode.git")
13914 (commit commit)))
13915 (file-name (git-file-name name version))
13916 (sha256
13917 (base32
13918 "0hmipgl4rk6aih11i8mnspwdijjiwk2y0wns6lzs8bgkvy3c064r"))))
13919 (build-system emacs-build-system)
13920 (propagated-inputs
13921 `(("emacs-s" ,emacs-s)))
13922 (home-page "https://github.com/spotify/dockerfile-mode")
13923 (synopsis "Major mode for editing Dockerfile")
13924 (description
13925 "This package provides a major mode @code{dockerfile-mode} for use with
13926the standard @code{Dockerfile} file format.")
13927 (license license:asl2.0))))
60adaae0
BG
13928
13929(define-public emacs-lsp-mode
13930 (package
13931 (name "emacs-lsp-mode")
13932 (version "6.0")
13933 (source (origin
13934 (method git-fetch)
13935 (uri (git-reference
13936 (url "https://github.com/emacs-lsp/lsp-mode.git")
13937 (commit version)))
13938 (file-name (git-file-name name version))
13939 (sha256
13940 (base32
13941 "1v1mq6ixzlgiazj8fmg4xaqhsqn3l89iqy74yndhvzh2rdf0pbkl"))))
13942 (build-system emacs-build-system)
13943 (propagated-inputs
13944 `(("emacs-dash" ,emacs-dash)
13945 ("emacs-f" ,emacs-f)
13946 ("emacs-ht" ,emacs-ht)
13947 ("emacs-spinner" ,emacs-spinner)))
13948 (home-page "https://github.com/emacs-lsp/lsp-mode")
13949 (synopsis "Emacs client and library for the Language Server Protocol")
13950 (description "@code{LSP-mode} is a client and library implmentation for
13951the Language Server Protocol. This mode aims to provide an IDE-like
13952experience by providing optional integration with other popular Emacs packages
13953like @code{company}, @code{flycheck}, and @code{projectile}.")
13954 (license license:gpl3+)))
209393a0
BG
13955
13956(define-public emacs-lsp-ui
13957 (package
13958 (name "emacs-lsp-ui")
13959 (version "6.0")
13960 (source (origin
13961 (method git-fetch)
13962 (uri (git-reference
13963 (url "https://github.com/emacs-lsp/lsp-ui.git")
13964 (commit version)))
13965 (file-name (git-file-name name version))
13966 (sha256
13967 (base32
13968 "1r4327fd8cvjxfwkddp5c4bdskyncbs4sx9m3z2w4d773y2jrakc"))))
13969 (build-system emacs-build-system)
13970 (propagated-inputs
13971 `(("emacs-dash" ,emacs-dash)
13972 ("emacs-lsp-mode" ,emacs-lsp-mode)
13973 ("emacs-markdown-mode" ,emacs-markdown-mode)
13974 ("emacs-flycheck" ,emacs-flycheck)))
13975 (home-page "https://github.com/emacs-lsp/lsp-ui")
13976 (synopsis "User interface extensions for @code{lsp-mode}")
13977 (description
13978 "@code{LSP-ui} contains several enhancements and integrations for
13979@code{lsp-mode}, such as visual flychecking, displaying references in-line,
13980and code peeking.")
13981 (license license:gpl3+)))
31960f6f
PN
13982
13983(define-public emacs-helm-notmuch
3d7a7b1d
PN
13984 (package
13985 (name "emacs-helm-notmuch")
13986 (version "1.2")
13987 (home-page "https://github.com/emacs-helm/helm-notmuch/")
13988 (source (origin
13989 (method git-fetch)
13990 (uri (git-reference
13991 (url home-page)
13992 (commit version)))
13993 (file-name (git-file-name name version))
13994 (sha256
13995 (base32
13996 "1k038dbdpaa411gl4071x19fklhnizhr346plxw23lsnxir9dhqc"))))
13997 (build-system emacs-build-system)
13998 (propagated-inputs
13999 `(("emacs-helm" ,emacs-helm)
14000 ("notmuch" ,notmuch)))
14001 (synopsis "Search emails with Emacs Notmuch and Helm")
14002 (description
14003 "This package can be used to search emails in Emacs, searching result
31960f6f
PN
14004displays as you type thanks to Helm, though @command{notmuch-search} does the
14005real search.")
3d7a7b1d 14006 (license license:gpl3+)))
4d0f20d9
PN
14007
14008(define-public emacs-elmacro
14009 (let ((commit "89b9b0feabafd01fee48111d67131c4c9b5fed9a"))
14010 (package
14011 (name "emacs-elmacro")
14012 (version (git-version "1.1.0" "1" commit))
14013 (home-page "https://github.com/Silex/elmacro")
14014 (source (origin
14015 (method git-fetch)
14016 (uri (git-reference
14017 (url home-page)
14018 (commit commit)))
14019 (file-name (git-file-name name version))
14020 (sha256
14021 (base32
14022 "06wkzafh6vbcjf0m3sl253mgcq32p8cdv7vsfmyx51baa36938ha"))))
14023 (build-system emacs-build-system)
14024 (propagated-inputs
14025 `(("emacs-s" ,emacs-s)
14026 ("emacs-dash" ,emacs-dash)))
14027 (synopsis "Convert keyboard macros to Emacs Lisp")
14028 (description
14029 "This package displays keyboard macros or latest interactive commands
14030as Emacs Lisp.")
14031 (license license:gpl3+))))
a6e4af53
PN
14032
14033(define-public emacs-transient
14034 ;; 0.1.0 depends on lv.el but not later versions.
14035 (let ((commit "7e45a57ec81185631fe763733f64c99021df2a06"))
14036 (package
14037 (name "emacs-transient")
14038 (version (git-version "0.1.0" "1" commit))
14039 (source (origin
14040 (method git-fetch)
14041 (uri (git-reference
14042 (url "https://github.com/magit/transient")
14043 (commit commit)))
14044 (file-name (git-file-name name version))
14045 (sha256
14046 (base32
14047 "0r6d4c1lga3bk0s7q7y4v4hbpxnd9h40cjxybqvax2z902931fz1"))))
14048 (build-system gnu-build-system)
14049 (native-inputs `(("texinfo" ,texinfo)
14050 ("emacs" ,emacs-minimal)))
14051 (propagated-inputs
14052 `(("dash" ,emacs-dash)))
14053 (arguments
14054 `(#:modules ((guix build gnu-build-system)
14055 (guix build utils)
14056 (srfi srfi-26)
14057 (guix build emacs-utils))
14058 #:imported-modules (,@%gnu-build-system-modules
14059 (guix build emacs-utils))
14060 #:tests? #f ; tests are not included in the release
14061 #:make-flags (list "lisp" "info"
14062 (string-append "LOAD_PATH=-L . -L "
14063 (assoc-ref %build-inputs "dash")
14064 "/share/emacs/site-lisp/guix.d/dash-"
14065 ,(package-version emacs-dash)))
14066 #:phases
14067 (modify-phases %standard-phases
14068 (delete 'configure)
14069 (replace 'install
14070 (lambda* (#:key inputs outputs #:allow-other-keys)
14071 (let* ((out (assoc-ref outputs "out"))
14072 (lisp (string-append out "/share/emacs/site-lisp/guix.d/"
14073 "transient" "-" ,version))
14074 (info (string-append out "/share/info")))
14075 (for-each (cut install-file <> lisp)
14076 (find-files "." "\\.elc*$"))
14077 (install-file "docs/transient.info" (string-append info)))
14078 #t)))))
14079 (home-page "https://magit.vc/manual/transient")
14080 (synopsis "Transient commands in Emacs")
14081 (description
14082 "Taking inspiration from prefix keys and prefix arguments in Emacs,
14083Transient implements a similar abstraction involving a prefix command, infix
14084arguments and suffix commands. We could call this abstraction a \"transient
14085command\", but because it always involves at least two commands (a prefix and
14086a suffix) we prefer to call it just a \"transient\".")
14087 (license license:gpl3+))))
da33a9e4 14088
ea4a1e5d
JH
14089(define-public emacs-semantic-refactor
14090 ;; The last release, 0.5, was made on 2015-07-26 and there have been 47
14091 ;; commits since then.
14092 (let ((commit "6f2c97d17fb70f4ca2112f5a2b99a8ec162004f5"))
14093 (package
14094 (name "emacs-semantic-refactor")
14095 (version (git-version "0.5" "1" commit))
14096 (source
14097 (origin
14098 (method git-fetch)
14099 (uri (git-reference
14100 (url "https://github.com/tuhdo/semantic-refactor")
14101 (commit commit)))
14102 (file-name (git-file-name name version))
14103 (sha256
14104 (base32
14105 "1lyz3zjkx2csh0xdy1zpx8s32qp1p3sig57mwi9xhgpqjyf0axmb"))))
14106 (build-system emacs-build-system)
14107 (home-page "https://github.com/tuhdo/semantic-refactor")
14108 (synopsis "Refactoring tool for C/C++ and Lisp dialects")
14109 (description "This package provides a refactoring tool based on the
14110Emacs Semantic parser framework. For C and C++ it supports operations such as:
14111
14112@enumerate
14113@item Generating class implementations
14114@item Generating function prototypes
14115@item Converting functions to function pointers
14116@item Moving semantic units
14117@item etc...
14118@end enumerate
14119
14120For Lisp dialects like Clojure, ELisp, and Scheme, it supports operations such
14121as:
14122
14123@enumerate
14124@item Formatting the whole buffer
14125@item Converting sexpressions to one or multiple lines
14126@item etc...
14127@end enumerate\n")
14128 (license license:gpl3+))))
14129
da33a9e4
PN
14130(define-public emacs-nhexl-mode
14131 (package
14132 (name "emacs-nhexl-mode")
14133 (version "1.2")
14134 (source
14135 (origin
14136 (method url-fetch)
14137 (uri (string-append
14138 "https://elpa.gnu.org/packages/nhexl-mode-"
14139 version ".el"))
14140 (sha256
14141 (base32
14142 "031h22p564qdvr9khs05qcba06pmsk68cr7zyc7c04hfr3y3ziaf"))))
14143 (build-system emacs-build-system)
14144 (home-page "http://elpa.gnu.org/packages/nhexl-mode.html")
14145 (synopsis "Minor mode to edit files via hex-dump format")
14146 (description
14147 "This package implements NHexl mode, a minor mode for editing files
14148in hex dump format. The mode command is called @command{nhexl-mode}.
14149
14150This minor mode implements similar functionality to @command{hexl-mode},
14151but using a different implementation technique, which makes it
14152usable as a \"plain\" minor mode. It works on any buffer, and does
14153not mess with the undo log or with the major mode.
14154
14155It also comes with:
14156
14157@itemize
14158@item @command{nhexl-nibble-edit-mode}: a \"nibble editor\" minor mode, where
14159the cursor pretends to advance by nibbles (4-bit) and the self-insertion keys
14160(which only work for hex-digits) will only modify the nibble under point.
14161@item @command{nhexl-overwrite-only-mode}: a minor mode to try and avoid
14162moving text. In this minor mode, not only self-inserting keys overwrite
14163existing text, but commands like `yank' and @command{kill-region} as well.
14164@item It overrides @code{C-u} to use hexadecimal, so you can do @code{C-u a 4
14165C-f} to advance by #xa4 characters.
14166@end itemize\n")
14167 (license license:gpl3+)))
c0aaca02
PN
14168
14169(define-public emacs-helm-wikipedia
14170 (let ((commit "126f044e0a0e1432e0791c33ce2a41875d704a9b"))
14171 (package
14172 (name "emacs-helm-wikipedia")
14173 (version (git-version "0.0.0" "1" commit))
14174 (home-page "https://github.com/emacs-helm/helm-wikipedia/")
14175 (source
14176 (origin
14177 (method git-fetch)
14178 (uri (git-reference
14179 (url home-page)
14180 (commit commit)))
14181 (file-name (git-file-name name version))
14182 (sha256
14183 (base32
14184 "148a5xsnbsiddhf9cl7yxdk41lrv38h0pip91kcflw9d7l0dp7pr"))))
14185 (build-system emacs-build-system)
14186 (inputs
14187 `(("helm" ,emacs-helm)))
14188 (synopsis "Search suggestions and article extracts from Wikipedia for Emacs")
14189 (description
14190 "This package provides an Emacs Helm interface for search suggestions
14191and article extracts for Wikipedia.")
14192 (license license:gpl3+))))
37099f58
PN
14193
14194(define-public emacs-webfeeder
14195 (package
14196 (name "emacs-webfeeder")
14197 (version "1.0.0")
14198 (source
14199 (origin
14200 (method url-fetch)
14201 (uri (string-append
14202 "https://elpa.gnu.org/packages/webfeeder-"
14203 version
14204 ".tar"))
14205 (sha256
14206 (base32
14207 "06y5vxw9m6pmbrzb8v2i3w9dnhgqxz06vyx1knmgi9cczlrj4a64"))))
14208 (build-system emacs-build-system)
14209 (home-page "https://gitlab.com/Ambrevar/emacs-webfeeder")
14210 (synopsis "Build RSS and Atom webfeeds from HTML files")
14211 (description
14212 "Webfeeder is an Emacs library to generate RSS and Atom feeds from HTML
14213files. The various elements of the HTML input are parsed with customizable
14214functions (e.g. @code{webfeeder-title-function}).")
14215 (license license:gpl3+)))
c97ad2fd
CL
14216
14217(define-public emacs-evil-numbers
14218 (let ((commit "6ea1c8c3a9b37bed63d48f1128e9a4910e68187e"))
14219 (package
14220 (name "emacs-evil-numbers")
14221 (version (git-version "0.4" "1" commit))
14222 (source (origin
14223 (method git-fetch)
14224 (uri (git-reference
14225 (url "https://github.com/dieggsy/evil-numbers")
14226 (commit commit)))
14227 (file-name (git-file-name name version))
14228 (sha256
14229 (base32
14230 "1aq95hj8x13py0pwsnc6wvd8cc5yv5qin8ym9js42y5966vwj4np"))))
14231 (build-system emacs-build-system)
14232 (home-page "https://github.com/dieggsy/evil-numbers")
14233 (synopsis "Increment and decrement numbers in Emacs")
14234 (description "This package increments and decrements binary, octal,
14235decimal and hex literals. It works like C-a/C-x in Vim, i.e. searches for
14236number up to EOL and then increments or decrements and keeps zero padding up
14237(unlike in Vim). When a region is active, as in Evil's visual mode, all the
14238numbers within that region will be incremented/decremented (unlike in Vim).
14239
14240It is a fork of https://github.com/cofi/evil-numbers, which is unmaintained.")
14241 (license license:gpl3+))))