gnu: emacs-mustache: 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")
5d8e43bb
TGR
2251 (source
2252 (origin
2253 (method git-fetch)
2254 (uri (git-reference
2255 (url "https://github.com/ZungBang/emacs-grep-a-lot.git")
2256 (commit "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad")))
2257 (file-name (git-file-name name version))
2258 (sha256
2259 (base32 "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw"))))
eeb883cb
RW
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
5234760d
TGR
2273 (method git-fetch)
2274 (uri (git-reference
2275 (url "https://github.com/nonsequitur/inf-ruby.git")
2276 (commit version)))
2277 (file-name (git-file-name name version))
eeb883cb 2278 (sha256
5234760d 2279 (base32 "1r452h6cyypqlc59q8dx5smkwhck4qjcg1pf9qdw539cpva5q77z"))))
eeb883cb
RW
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
0639d6fc
TGR
2316 (method git-fetch)
2317 (uri (git-reference
2318 (url "https://github.com/cask/shut-up.git")
2319 (commit (string-append "v" version))))
2320 (file-name (git-file-name name version))
eeb883cb 2321 (sha256
0639d6fc 2322 (base32 "103yvfgkj78i4bnv1fwk76izsa8h4wyj3vwj1vq7xggj607hkxzq"))))
eeb883cb
RW
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
d8ddc91c
TGR
2336 (method git-fetch)
2337 (uri (git-reference
2338 (url "https://github.com/sviridov/undercover.el.git")
2339 (commit (string-append "v" version))))
2340 (file-name (git-file-name name version))
eeb883cb 2341 (sha256
d8ddc91c 2342 (base32 "06qcvbp5rd0kh3ibrxj5p6r578lwsrgd7yj5c6slwmkdmna2fj33"))))
eeb883cb
RW
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
be7344be
TGR
2360 (method git-fetch)
2361 (uri (git-reference
2362 (url "https://github.com/tarsius/paren-face.git")
2363 (commit version)))
2364 (file-name (git-file-name name version))
eeb883cb 2365 (sha256
be7344be 2366 (base32 "0f128gqn170s6hl62n44i9asais75ns1mpvb4l8vzy1sc0v16c0k"))))
eeb883cb
RW
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
517da530
TGR
2385 (method git-fetch)
2386 (uri (git-reference
2387 (url "https://github.com/purcell/page-break-lines.git")
2388 (commit version)))
2389 (file-name (git-file-name name version))
eeb883cb 2390 (sha256
517da530 2391 (base32 "1wp974716ih2cz9kdmdz7xwjy1qnnfzdzlfr9kchknagw8d9nn12"))))
eeb883cb
RW
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
8d7c4b61
TGR
2406 (method git-fetch)
2407 (uri (git-reference
2408 (url "https://github.com/skeeto/emacs-web-server.git")
2409 (commit version)))
2410 (file-name (git-file-name name version))
eeb883cb 2411 (sha256
8d7c4b61 2412 (base32 "1qmkc0w28l53zzf5yd2grrk1sq222g5qnsm35ph25s1cfvc1qb2g"))))
eeb883cb
RW
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
9d0cc890
TGR
2427 (method git-fetch)
2428 (uri (git-reference
2429 (url "https://github.com/skeeto/skewer-mode.git")
2430 (commit version)))
2431 (file-name (git-file-name name version))
eeb883cb 2432 (sha256
9d0cc890 2433 (base32 "05jndz0c26q60s416vqgvr66axdmxb7qsr2g70fvl5iqavnayhpv"))))
eeb883cb
RW
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
b6a3009b
TGR
2488 (method git-fetch)
2489 (uri (git-reference
2490 (url "https://github.com/sabof/stripe-buffer.git")
2491 (commit version)))
2492 (file-name (git-file-name name version))
eeb883cb 2493 (sha256
b6a3009b 2494 (base32 "035ym1c1vzg6hjsnd258z4dkrfc11lj4c0y4gpgybhk54dq3w9dk"))))
eeb883cb
RW
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
4ae7e106
TGR
2509 (method git-fetch)
2510 (uri (git-reference
2511 (url "https://github.com/Malabarba/rich-minority.git")
2512 (commit version)))
2513 (file-name (git-file-name name version))
eeb883cb 2514 (sha256
4ae7e106 2515 (base32 "11hwf9y5ax207w6rwrsmi3pmn7pn7ap6iys0z8hni2f5zzxjrmx3"))))
eeb883cb
RW
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
ea0194fc
TGR
2530 (method git-fetch)
2531 (uri (git-reference
2532 (url "https://github.com/dgutov/robe.git")
2533 (commit version)))
2534 (file-name (git-file-name name version))
eeb883cb 2535 (sha256
ea0194fc 2536 (base32 "0ll7ivxqnglfb0i70ly6qq2yfw9cyi3vq3lmj4s6h6c1c7rm3gcq"))))
eeb883cb
RW
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
349eb1bc
TGR
2557 (method git-fetch)
2558 (uri (git-reference
2559 (url "https://github.com/pezra/rspec-mode.git")
2560 (commit (string-append "v" version))))
2561 (file-name (git-file-name name version))
eeb883cb 2562 (sha256
349eb1bc 2563 (base32 "0hrn5n7aaymwimk511kjij44vqaxbmhly1gwmlmsrnbvvma7f2mp"))))
eeb883cb
RW
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
b3093d1c
TGR
2582 (method git-fetch)
2583 (uri (git-reference
2584 (url "https://github.com/Malabarba/smart-mode-line.git")
2585 (commit version)))
2586 (file-name (git-file-name name version))
eeb883cb 2587 (sha256
b3093d1c 2588 (base32 "1gs4ay9hdg8gmia4ir74qawk80pqwv99hp4yhy108kpfry5mrq6z"))))
eeb883cb
RW
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
bf562613
TGR
2631 (method git-fetch)
2632 (uri (git-reference
2633 (url "https://github.com/DamienCassou/shell-switcher.git")
2634 (commit (string-append "v" version))))
2635 (file-name (git-file-name name version))
eeb883cb 2636 (sha256
bf562613 2637 (base32 "0ia7sdip4hl27avckv3qpqgm3k4ynvp3xxq1cy53bqfzzx0gcria"))))
eeb883cb
RW
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")))
a8193ec3 2654 (file-name (git-file-name name version))
eeb883cb
RW
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))))
b4d6107c 2725 (file-name (git-file-name name version))
eeb883cb
RW
2726 (sha256
2727 (base32
b4d6107c 2728 "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h"))))
eeb883cb
RW
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)))
7d41e373 2768 (file-name (git-file-name name version))
eeb883cb
RW
2769 (sha256
2770 (base32
7d41e373 2771 "1pii9dw4skq7nr4na6qxqasl36av8cwjp71bf1fgppqpcd9z8skj"))))
eeb883cb
RW
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
d98ac61b
TGR
2790 (method git-fetch)
2791 (uri (git-reference
2792 (url "https://github.com/company-mode/company-mode.git")
2793 (commit version)))
2794 (file-name (git-file-name name version))
eeb883cb 2795 (sha256
d98ac61b 2796 (base32 "1gpapjxs4l6fmmj22q0q1pyhj1yd9j5iqfqnjf1abskkj69lqkpj"))))
eeb883cb
RW
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))))
95903f29 2831 (file-name (git-file-name name version))
eeb883cb
RW
2832 (sha256
2833 (base32
95903f29 2834 "0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8"))))
eeb883cb
RW
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))))
50c0635a 2903 (file-name (git-file-name name version))
eeb883cb 2904 (sha256
50c0635a 2905 (base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996"))))
eeb883cb
RW
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")))
264c773e
TGR
2927 (file-name (git-file-name name version))
2928 (sha256
2929 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd"))))
eeb883cb
RW
2930 (build-system emacs-build-system)
2931 (inputs
2932 `(("irony-mode" ,emacs-irony-mode)))
2933 (synopsis "Eldoc integration for irony-mode")
2934 (description "Irony-eldoc is an eldoc extension that shows documentation
2935for the current function or variable in the minibuffer.")
2936 (home-page "https://github.com/ikirill/irony-eldoc")
2937 (license license:gpl3+)))
2938
2939(define-public emacs-company-quickhelp
2940 (package
2941 (name "emacs-company-quickhelp")
2942 (version "2.3.0")
2943 (source
2944 (origin
6859cac4
TGR
2945 (method git-fetch)
2946 (uri (git-reference
2947 (url "https://github.com/expez/company-quickhelp.git")
2948 (commit version)))
2949 (file-name (git-file-name name version))
eeb883cb 2950 (sha256
6859cac4 2951 (base32 "08ccsfvwdpzpj0gai3xrdb2bv1nl6myjkxsc5774pbvlq9nkfdvr"))))
eeb883cb
RW
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
976d475a
TGR
2968 (method git-fetch)
2969 (uri (git-reference
2970 (url "https://github.com/magnars/multiple-cursors.el.git")
2971 (commit version)))
2972 (file-name (git-file-name name version))
eeb883cb 2973 (sha256
976d475a 2974 (base32 "1ijgvzv5r44xqvz751fd5drbvrspapw6xwv47582w255j363r6ss"))))
eeb883cb
RW
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))))
d9eaecf2 2993 (file-name (git-file-name name version))
eeb883cb
RW
2994 (sha256
2995 (base32
d9eaecf2 2996 "1jhd4grch5iz12gyxwfbsgh4dmz5hj4bg4gnvphccg8dsnni05k2"))))
eeb883cb
RW
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
eeb883cb
RW
3042 (method git-fetch)
3043 (uri (git-reference
3044 (url "https://github.com/ashinn/scheme-complete.git")
3045 (commit commit)))
5d89919b 3046 (file-name (git-file-name name version))
eeb883cb
RW
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)))
f08f7419 3075 (file-name (git-file-name name version))
eeb883cb
RW
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
fd0ec422
TGR
3189 (method git-fetch)
3190 (uri (git-reference
3191 (url "https://github.com/fedeinthemix/emacs-constants.git")
3192 (commit (string-append "v" version))))
3193 (file-name (git-file-name name version))
eeb883cb 3194 (sha256
fd0ec422 3195 (base32 "0f5sh6b45a8p9kancjp9jk44ws8ww6x50a0i6zgyyvr7dbvii1a0"))))
eeb883cb
RW
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
60306e45
TGR
3209 (method git-fetch)
3210 (uri (git-reference
3211 (url "https://github.com/magnars/tagedit.git")
3212 (commit version)))
3213 (file-name (git-file-name name version))
eeb883cb 3214 (sha256
60306e45 3215 (base32 "0kq40g46s8kgiafrhdq99h79rz9h5fvgz59k7ralmf86bl4sdmdb"))))
eeb883cb
RW
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
c234cf61
TGR
3233 (method git-fetch)
3234 (uri (git-reference
3235 (url "https://github.com/slime/slime.git")
3236 (commit (string-append "v" version))))
3237 (file-name (git-file-name name version))
eeb883cb 3238 (sha256
c234cf61 3239 (base32 "0i637n0ragpbj39hqx65nx5k99xf0464c4w6w1qpzykm6z42grky"))))
eeb883cb
RW
3240 (build-system emacs-build-system)
3241 (native-inputs
3242 `(("texinfo" ,texinfo)))
3243 (arguments
3244 `(#:include '("\\.el$" "\\.lisp$" "\\.asd$" "contrib")
3245 #:exclude '("^slime-tests.el" "^contrib/test/"
3246 "^contrib/Makefile$" "^contrib/README.md$")
3247 #:phases
3248 (modify-phases %standard-phases
c234cf61
TGR
3249 (add-after 'unpack 'make-git-checkout-writable
3250 (lambda _
3251 (for-each make-file-writable (find-files "."))
3252 #t))
eeb883cb
RW
3253 (add-before 'install 'configure
3254 (lambda* _
3255 (emacs-substitute-variables "slime.el"
3256 ("inferior-lisp-program" "sbcl"))
3257 #t))
3258 (add-before 'install 'install-doc
3259 (lambda* (#:key outputs #:allow-other-keys)
3260 (let* ((out (assoc-ref outputs "out"))
3261 (info-dir (string-append out "/share/info"))
3262 (doc-dir (string-append out "/share/doc/"
3263 ,name "-" ,version))
3264 (doc-files '("doc/slime-refcard.pdf"
3265 "README.md" "NEWS" "PROBLEMS"
3266 "CONTRIBUTING.md")))
3267 (with-directory-excursion "doc"
3268 (substitute* "Makefile"
3269 (("infodir=/usr/local/info")
3270 (string-append "infodir=" info-dir)))
3271 (invoke "make" "html/index.html")
3272 (invoke "make" "slime.info")
3273 (install-file "slime.info" info-dir)
3274 (copy-recursively "html" (string-append doc-dir "/html")))
3275 (for-each (lambda (f)
3276 (install-file f doc-dir)
3277 (delete-file f))
3278 doc-files)
3279 (delete-file-recursively "doc")
3280 #t))))))
3281 (home-page "https://github.com/slime/slime")
3282 (synopsis "Superior Lisp Interaction Mode for Emacs")
3283 (description
3284 "SLIME extends Emacs with support for interactive programming in
3285Common Lisp. The features are centered around @command{slime-mode},
3286an Emacs minor mode that complements the standard @command{lisp-mode}.
3287While lisp-mode supports editing Lisp source files, @command{slime-mode}
3288adds support for interacting with a running Common Lisp process
3289for compilation, debugging, documentation lookup, and so on.")
3290 (license (list license:gpl2+ license:public-domain))))
3291
3292(define-public emacs-popup
3293 (package
3294 (name "emacs-popup")
3295 (version "0.5.3")
f2e3d0a9
TGR
3296 (source
3297 (origin
3298 (method git-fetch)
3299 (uri (git-reference
3300 (url "https://github.com/auto-complete/popup-el.git")
3301 (commit (string-append "v" version))))
3302 (file-name (git-file-name name version))
3303 (sha256
3304 (base32 "1y538siabcf1n00wr4iz5gbxfndw661kx2mn9w1g4lg7yi4n0h0h"))))
eeb883cb
RW
3305 (build-system emacs-build-system)
3306 (home-page "https://github.com/auto-complete/popup-el")
3307 (synopsis "Visual Popup User Interface for Emacs")
3308 (description
3309 "Popup.el is a visual popup user interface library for Emacs.
3310This provides a basic API and common UI widgets such as popup tooltips
3311and popup menus.")
3312 (license license:gpl3+)))
3313
16f6a75d
BL
3314(define-public emacs-python-environment
3315 (package
3316 (name "emacs-python-environment")
3317 (version "0.0.2")
95cf8077
TGR
3318 (source
3319 (origin
3320 (method git-fetch)
3321 (uri (git-reference
3322 (url "https://github.com/tkf/emacs-python-environment/")
3323 (commit version)))
3324 (file-name (git-file-name name version))
3325 (sha256
3326 (base32 "0q6bib9nr6xiq6npzbngyfcjk87yyvwzq1zirr3z1h5wadm34lsk"))))
16f6a75d
BL
3327 (build-system emacs-build-system)
3328 (propagated-inputs
3329 `(("emacs-deferred" ,emacs-deferred)))
3330 (home-page "https://github.com/tkf/emacs-python-environment")
3331 (synopsis "Provides a @code{virtualenv} API in Emacs Lisp")
3332 (description
3333 "This package permits automated installation of tools written in Python.")
3334 (license license:gpl3+)))
3335
06aff738
BL
3336(define-public emacs-jedi
3337 (package
3338 (name "emacs-jedi")
3339 (version "0.2.7")
3340 (source (origin
3341 (method git-fetch)
3342 (uri (git-reference
3343 (url "https://github.com/tkf/emacs-jedi/")
3344 (commit (string-append "v" version))))
3345 (file-name (git-file-name name version))
3346 (sha256
3347 (base32
3348 "0xbp9fcxgbf298w05hvf52z41kk7r52975ailgdn8sg60xc98fa7"))))
3349 (build-system emacs-build-system)
3350 (native-inputs
3351 `(("emacs-mocker" ,emacs-mocker)))
3352 (propagated-inputs
3353 `(("emacs-auto-complete" ,emacs-auto-complete)
3354 ("emacs-python-environment" ,emacs-python-environment)
3355 ("emacs-epc" ,emacs-epc)))
3356 (home-page "https://github.com/tkf/emacs-jedi")
3357 (synopsis "Provides Python completion in Emacs")
3358 (description
3359 "This package provides completion in Python buffers and also helps find
3360the locations of docstrings, arguments, and functions.")
3361 (license license:gpl3+)))
3362
8dc32965
BL
3363(define-public emacs-company-jedi
3364 (package
3365 (name "emacs-company-jedi")
3366 (version "0.04")
3367 (source (origin
3368 (method git-fetch)
3369 (uri (git-reference
3370 (url "https://github.com/syohex/emacs-company-jedi")
3371 (commit version)))
3372 (file-name (git-file-name name version))
3373 (sha256
3374 (base32
3375 "1ihqapp4dv92794rsgyq0rmhwika60cmradqd4bn9b72ss6plxs1"))))
3376 (build-system emacs-build-system)
3377 (propagated-inputs
3378 `(("emacs-jedi" ,emacs-jedi)
3379 ("emacs-company" ,emacs-company)))
3380 (home-page "https://github.com/syohex/emacs-company-jedi")
3381 (synopsis "Provides Python completion in @code{company-mode}")
3382 (description
3383 "This package provides a Company backend for Python.")
3384 (license license:gpl3+)))
3385
eeb883cb
RW
3386(define-public emacs-puppet-mode
3387 (let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2")
3388 (revision "1"))
3389 (package
3390 (name "emacs-puppet-mode")
3391 ;; The last release, 0.3 was several years ago, and there have been many
3392 ;; commits since
3393 (version (git-version "0.3" revision commit))
3394 (source
3395 (origin
3396 (method url-fetch)
3397 (uri (string-append
3398 "https://raw.githubusercontent.com/voxpupuli/puppet-mode/"
3399 commit "/puppet-mode.el"))
3400 (sha256
3401 (base32
3402 "1indycxawsl0p2aqqg754f6735q3cmah9vd886rpn0ncc3ipi1xm"))))
3403 (build-system emacs-build-system)
3404 (home-page "https://github.com/voxpupuli/puppet-mode")
3405 (synopsis "Emacs major mode for the Puppet configuration language")
3406 (description
3407 "This package provides support for the Puppet configuration language,
3408including syntax highlighting, indentation of expressions and statements,
3409linting of manifests and integration with Puppet Debugger.")
3410 ;; Also incorporates work covered by the Apache License, Version 2.0
3411 (license license:gpl3+))))
3412
3413(define-public emacs-god-mode
3414 (let ((commit "6cf0807b6555eb6fcf8387a4e3b667071ef38964")
3415 (revision "1"))
3416 (package
3417 (name "emacs-god-mode")
3418 (version (string-append "20151005.925."
3419 revision "-" (string-take commit 9)))
3420 (source
3421 (origin
3422 (method git-fetch)
3423 (uri (git-reference
3424 (url "https://github.com/chrisdone/god-mode.git")
3425 (commit commit)))
3426 (file-name (string-append name "-" version "-checkout"))
3427 (sha256
3428 (base32
3429 "1am415k4xxcva6y3vbvyvknzc6bma49pq3p85zmpjsdmsp18qdix"))))
3430 (build-system emacs-build-system)
3431 (home-page "https://github.com/chrisdone/god-mode")
3432 (synopsis "Minor mode for entering commands without modifier keys")
3433 (description
3434 "This package provides a global minor mode for entering Emacs commands
3435without modifier keys. It's similar to Vim's separation of commands and
3436insertion mode. When enabled all keys are implicitly prefixed with
3437@samp{C-} (among other helpful shortcuts).")
3438 (license license:gpl3+))))
3439
3440(define-public emacs-jinja2-mode
3441 (package
3442 (name "emacs-jinja2-mode")
3443 (version "0.2")
3444 (source
3445 (origin
d4d2492a
TGR
3446 (method git-fetch)
3447 (uri (git-reference
3448 (url "https://github.com/paradoxxxzero/jinja2-mode.git")
3449 (commit (string-append "v" version))))
3450 (file-name (git-file-name name version))
eeb883cb 3451 (sha256
d4d2492a 3452 (base32 "0l26wcy496k6xk7q5sf905xir0p73ziy6c44is77854lv3y0z381"))))
eeb883cb
RW
3453 (build-system emacs-build-system)
3454 (home-page "https://github.com/paradoxxxzero/jinja2-mode")
3455 (synopsis "Major mode for jinja2")
3456 (description
3457 "Emacs major mode for jinja2 with: syntax highlighting,
3458sgml/html integration, and indentation (working with sgml).")
3459 (license license:gpl3+)))
3460
6cd504ce
BL
3461(define-public emacs-company-cabal
3462 ;; The latest version is 0.3.0, but no release has been provided after 0.2.1.
3463 (let ((commit "62112a7259e24bd6c08885629a185afe512b7d3d")
3464 (revision "1"))
3465 (package
3466 (name "emacs-company-cabal")
3467 (version (git-version "0.3.0" revision commit))
3468 (source (origin
3469 (method git-fetch)
3470 (uri (git-reference
3471 (url "https://github.com/iquiw/company-cabal/")
3472 (commit commit)))
3473 (file-name (git-file-name name version))
3474 (sha256
3475 (base32
3476 "1gf45xwjzdm8i4q6c6khk4dbg1mmp2r0awz2sjr4dcr2dbd1n7mg"))))
3477 (build-system emacs-build-system)
3478 (propagated-inputs
3479 `(("emacs-company" ,emacs-company)))
3480 (home-page "https://github.com/iquiw/company-cabal/")
3481 (synopsis "Company completion for Haskell Cabal files")
3482 (description
3483 "This package allows for completion of field names, section names,
3484field values, and more within @code{haskell-cabal-mode}.")
3485 (license license:gpl3+))))
3486
eeb883cb
RW
3487(define-public emacs-rfcview
3488 (package
3489 (name "emacs-rfcview")
3490 (version "0.13")
3491 (home-page "http://www.loveshack.ukfsn.org/emacs")
3492 (source (origin
3493 (method url-fetch)
3494 (uri "http://www.loveshack.ukfsn.org/emacs/rfcview.el")
3495 (sha256
3496 (base32
3497 "0ympj5rxig383zl2jf0pzdsa80nnq0dpvjiriq0ivfi98fj7kxbz"))))
3498 (build-system emacs-build-system)
3499 (synopsis "Prettify Request for Comments (RFC) documents")
3500 (description "The Internet Engineering Task Force (IETF) and the Internet
3501Society (ISOC) publish various Internet-related protocols and specifications
3502as \"Request for Comments\" (RFC) documents and Internet Standard (STD)
3503documents. RFCs and STDs are published in a simple text form. This package
3504provides an Emacs major mode, rfcview-mode, which makes it more pleasant to
3505read these documents in Emacs. It prettifies the text and adds
3506hyperlinks/menus for easier navigation. It also provides functions for
3507browsing the index of RFC documents and fetching them from remote servers or
3508local directories.")
3509 (license license:gpl3+)))
3510
3511(define-public emacs-ffap-rfc-space
3512 (package
3513 (name "emacs-ffap-rfc-space")
3514 (version "12")
3515 (home-page "http://user42.tuxfamily.org/ffap-rfc-space/index.html")
3516 (source (origin
3517 (method url-fetch)
3518 (uri "http://download.tuxfamily.org/user42/ffap-rfc-space.el")
3519 (sha256
3520 (base32
3521 "1iv61dv57a73mdps7rn6zmgz7nqh14v0ninidyrasy45b1nv6gck"))))
3522 (build-system emacs-build-system)
3523 (synopsis "Make ffap recognize an RFC with a space before its number")
3524 (description "The Internet Engineering Task Force (IETF) and the
3525Internet Society (ISOC) publish various Internet-related protocols and
3526specifications as \"Request for Comments\" (RFC) documents. The
3527built-in Emacs module \"ffap\" (Find File at Point) has the ability to
3528recognize names at point which look like \"RFC1234\" and \"RFC-1234\"
3529and load the appropriate RFC from a remote server. However, it fails
3530to recognize a name like \"RFC 1234\". This package enhances ffap so
3531that it correctly finds RFCs even when a space appears before the
3532number.")
3533 (license license:gpl3+)))
3534
3535(define-public emacs-org-bullets
3536 (package
3537 (name "emacs-org-bullets")
3538 (version "0.2.4")
3539 (source
3540 (origin
d2cdc595
TGR
3541 (method git-fetch)
3542 (uri (git-reference
3543 (url "https://github.com/sabof/org-bullets.git")
3544 (commit version)))
3545 (file-name (git-file-name name version))
eeb883cb 3546 (sha256
d2cdc595 3547 (base32 "10nr4sjffnqbllv6gmak6pviyynrb7pi5nvrq331h5alm3xcpq0w"))))
eeb883cb
RW
3548 (build-system emacs-build-system)
3549 (home-page "https://github.com/sabof/org-bullets")
3550 (synopsis "Show bullets in org-mode as UTF-8 characters")
3551 (description
3552 "This package provides an Emacs minor mode causing bullets in
3553@code{org-mode} to be rendered as UTF-8 characters.")
3554 (license license:gpl3+)))
3555
3556(define-public emacs-org-pomodoro
3557 (package
3558 (name "emacs-org-pomodoro")
3559 (version "2.1.0")
3560 (source
3561 (origin
2e455d32
TGR
3562 (method git-fetch)
3563 (uri (git-reference
3564 (url "https://github.com/lolownia/org-pomodoro.git")
3565 (commit version)))
3566 (file-name (git-file-name name version))
eeb883cb 3567 (sha256
2e455d32 3568 (base32 "0r5shgikm34d66i2hblyknbblpg92lb2zc9x4bcb28xkh7m9d0xv"))))
eeb883cb
RW
3569 (build-system emacs-build-system)
3570 (propagated-inputs
3571 `(("emacs-alert" ,emacs-alert)))
3572 (home-page "https://github.com/lolownia/org-pomodoro")
3573 (synopsis "Pomodoro technique for org-mode")
3574 (description "@code{emacs-org-pomodoro} adds very basic support for
3575Pomodoro technique in Emacs org-mode.
3576
3577Run @code{M-x org-pomodoro} for the task at point or select one of the
3578last tasks that you clocked time for. Each clocked-in pomodoro starts
3579a timer of 25 minutes and after each pomodoro a break timer of 5
3580minutes is started automatically. Every 4 breaks a long break is
3581started with 20 minutes. All values are customizable.")
3582 (license license:gpl3+)))
3583
3584(define-public emacs-org-trello
3585 (package
3586 (name "emacs-org-trello")
3587 (version "0.8.0")
f5f72d8d
TGR
3588 (source
3589 (origin
3590 (method git-fetch)
3591 (uri (git-reference
3592 (url "https://github.com/org-trello/org-trello.git")
3593 (commit version)))
3594 (file-name (git-file-name name version))
3595 (sha256
3596 (base32 "0m5hyhb6211hdmyp1bq6f3fklfgw3957knd96bfdafj727vdnlzm"))))
eeb883cb
RW
3597 (build-system emacs-build-system)
3598 (propagated-inputs
3599 `(("emacs-dash" ,emacs-dash)
3600 ("emacs-deferred" ,emacs-deferred)
3601 ("emacs-f" ,emacs-f)
3602 ("emacs-helm" ,emacs-helm)
3603 ("emacs-request" ,emacs-request)
3604 ("emacs-s" ,emacs-s)))
3605 (home-page "https://org-trello.github.io")
3606 (synopsis "Emacs minor mode for interacting with Trello")
3607 (description "This package provides an Emacs minor mode to extend
3608@code{org-mode} with Trello abilities. Trello is an online project
3609organizer.")
3610 (license license:gpl3+)))
3611
1172d914
BL
3612(define-public emacs-company-flow
3613 (let ((commit "76ef585c70d2a3206c2eadf24ba61e59124c3a16")
3614 (revision "1"))
3615 (package
3616 (name "emacs-company-flow")
3617 (version (git-version "0.1.0" revision commit))
3618 (source (origin
3619 (method git-fetch)
3620 (uri (git-reference
3621 (url "https://github.com/aaronjensen/company-flow/")
3622 (commit commit)))
3623 (file-name (git-file-name name version))
3624 (sha256
3625 (base32
3626 "0zs9cblnbkxa0dxw4lyllmybqizxcdx96gv8jlhx20nrjpi78piw"))))
3627 (build-system emacs-build-system)
3628 (propagated-inputs
3629 `(("emacs-company" ,emacs-company)
3630 ("emacs-dash" ,emacs-dash)))
3631 (home-page "https://github.com/aaronjensen/company-flow/")
3632 (synopsis "Flow backend for @code{company-mode}")
3633 (description
3634 "This package provides completion for JavaScript files utilizing Flow.")
3635 (license license:gpl3+))))
3636
eeb883cb
RW
3637(define-public emacs-atom-one-dark-theme
3638 (let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
3639 (revision "0"))
3640 (package
3641 (name "emacs-atom-one-dark-theme")
3642 (version (git-version "0.4.0" revision commit))
3643 (source (origin
3644 (method git-fetch)
3645 (uri (git-reference
3646 (url "https://github.com/jonathanchu/atom-one-dark-theme.git")
3647 (commit commit)))
3648 (sha256
3649 (base32
3650 "1alma16hg3mfjly8a9s3mrswkjjx4lrpdnf43869hn2ibkn7zx9z"))
3651 (file-name (git-file-name name version))))
3652 (build-system emacs-build-system)
3653 (home-page "https://github.com/jonathanchu/atom-one-dark-theme")
3654 (synopsis "Atom One Dark color theme for Emacs")
3655 (description "An Emacs port of the Atom One Dark theme from Atom.io.")
3656 (license license:gpl3+))))
3657
3658(define-public emacs-zenburn-theme
3659 (package
3660 (name "emacs-zenburn-theme")
3661 (version "2.6")
e6745025
TGR
3662 (source
3663 (origin
3664 (method git-fetch)
3665 (uri (git-reference
3666 (url "https://github.com/bbatsov/zenburn-emacs.git")
3667 (commit (string-append "v" version))))
3668 (file-name (git-file-name name version))
3669 (sha256
3670 (base32 "1n87r5hs7h5r8dgfid66skpzcypl9hssr9m3npp916g6jfsi782f"))))
eeb883cb
RW
3671 (build-system emacs-build-system)
3672 (home-page "https://github.com/bbatsov/zenburn-emacs")
3673 (synopsis "Low contrast color theme for Emacs")
3674 (description
3675 "Zenburn theme is a port of the popular Vim Zenburn theme for Emacs.
3676It is built on top of the custom theme support in Emacs 24 or later.")
3677 (license license:gpl3+)))
3678
3679(define-public emacs-solarized-theme
3680 (package
3681 (name "emacs-solarized-theme")
3682 (version "1.2.2")
3683 (source (origin
3684 (method url-fetch)
3685 (uri (string-append "https://github.com/bbatsov/solarized-emacs/"
3686 "archive/v" version ".tar.gz"))
3687 (file-name (string-append name "-" version ".tar.gz"))
3688 (sha256
3689 (base32
3690 "1ha3slc6d9wi9ilkhmwrzkvf308n6ph7b0k69pk369s9304awxzx"))))
3691 (build-system emacs-build-system)
3692 (propagated-inputs
3693 `(("emacs-dash" ,emacs-dash)))
3694 (home-page "https://github.com/bbatsov/solarized-emacs")
3695 (synopsis "Port of the Solarized theme for Emacs")
3696 (description
3697 "Solarized for Emacs is a port of the Solarized theme for Vim. This
3698package provides a light and a dark variant.")
3699 (license license:gpl3+)))
3700
3701(define-public emacs-ahungry-theme
3702 (package
3703 (name "emacs-ahungry-theme")
3704 (version "1.10.0")
3705 (source
3706 (origin (method url-fetch)
3707 (uri (string-append "https://elpa.gnu.org/packages/ahungry-theme-"
3708 version ".tar"))
3709 (sha256
3710 (base32
3711 "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm"))))
3712 (build-system emacs-build-system)
3713 (home-page "https://github.com/ahungry/color-theme-ahungry")
3714 (synopsis "Ahungry color theme for Emacs")
3715 (description "Ahungry theme for Emacs provides bright and bold colors.
3716If you load it from a terminal, you will be able to make use of the
3717transparent background. If you load it from a GUI, it will default to a
3718dark background.")
3719 (license license:gpl3+)))
3720
3721(define-public emacs-2048-game
3722 (package
3723 (name "emacs-2048-game")
3724 (version "20151026.1233")
3725 (source
3726 (origin
3727 (method url-fetch)
3728 (uri (string-append "https://melpa.org/packages/2048-game-"
3729 version ".el"))
3730 (sha256
3731 (base32
3732 "0gy2pvz79whpavp4jmz8h9krzn7brmvv3diixi1d4w51pcdvaldd"))))
3733 (build-system emacs-build-system)
3734 (home-page "https://bitbucket.org/zck/2048.el")
3735 (synopsis "Implementation of the game 2048 in Emacs Lisp")
3736 (description
3737 "This program is an implementation of 2048 for Emacs.
3738The goal of this game is to create a tile with value 2048. The size of the
3739board and goal value can be customized.")
3740 (license license:gpl3+)))
3741
3742(define-public emacs-base16-theme
3743 (package
3744 (name "emacs-base16-theme")
3745 (version "2.1")
3746 (source
3747 (origin
3748 (method url-fetch)
3749 (uri (string-append "https://stable.melpa.org/packages/base16-theme-"
3750 version ".tar"))
3751 (sha256
3752 (base32
3753 "0z6hrwz2jlz6jbr381rcqcqvx6hss5cad352klx07rark7zccacj"))))
3754 (build-system emacs-build-system)
3755 (home-page "https://github.com/belak/base16-emacs")
3756 (synopsis "Base16 color themes for Emacs")
3757 (description
3758 "Base16 provides carefully chosen syntax highlighting and a default set
3759of sixteen colors suitable for a wide range of applications. Base16 is not a
3760single theme but a set of guidelines with numerous implementations.")
3761 (license license:expat)))
3762
13e99cfc
BL
3763(define-public emacs-prescient
3764 (package
3765 (name "emacs-prescient")
3766 (version "2.2.2")
3767 (source (origin
3768 (method git-fetch)
3769 (uri (git-reference
3770 (url "https://github.com/raxod502/prescient.el/")
3771 (commit (string-append "v" version))))
3772 (file-name (git-file-name name version))
3773 (sha256
3774 (base32
3775 "1ncplx5p3cffyzg9ygzqqxj0vpvwrz9rp2n4z6c375a78fyydrk0"))))
3776 (build-system emacs-build-system)
3777 (propagated-inputs
3778 `(("emacs-company" ,emacs-company)
3779 ("emacs-ivy" ,emacs-ivy)))
3780 (home-page "https://github.com/raxod502/prescient.el/")
3781 (synopsis "Library that sorts and filters lists of candidates")
3782 (description
3783 "This package provides a library for sorting and filtering, as well as
3784extensions for @code{ivy-mode} and @code{company-mode} that make use of the
3785library.")
3786 (license license:gpl3+)))
3787
eeb883cb
RW
3788(define-public emacs-smartparens
3789 (package
3790 (name "emacs-smartparens")
3791 (version "1.11.0")
d8e9ae64
TGR
3792 (source
3793 (origin
3794 (method git-fetch)
3795 (uri (git-reference
3796 (url "https://github.com/Fuco1/smartparens.git")
3797 (commit version)))
3798 (file-name (git-file-name name version))
3799 (sha256
3800 (base32 "0zij2f2rjjym98w68jkp10n1ckpfprlkk217c3fg16hz5nq4vnm6"))))
eeb883cb
RW
3801 (build-system emacs-build-system)
3802 (propagated-inputs
3803 `(("emacs-dash" ,emacs-dash)
3804 ("emacs-markdown-mode" ,emacs-markdown-mode)))
3805 (home-page "https://github.com/Fuco1/smartparens")
3806 (synopsis "Paredit-like insertion, wrapping and navigation with user
3807defined pairs")
3808 (description
3809 "Smartparens is a minor mode for Emacs that deals with parens pairs
3810and tries to be smart about it. It started as a unification effort to
3811combine functionality of several existing packages in a single,
3812compatible and extensible way to deal with parentheses, delimiters, tags
3813and the like. Some of these packages include autopair, textmate,
3814wrap-region, electric-pair-mode, paredit and others. With the basic
3815features found in other packages it also brings many improvements as
3816well as completely new features.")
3817 (license license:gpl3+)))
3818
3819(define-public emacs-highlight-symbol
3820 (package
3821 (name "emacs-highlight-symbol")
3822 (version "1.3")
8e71904a
TGR
3823 (source
3824 (origin
3825 (method git-fetch)
3826 (uri (git-reference
3827 (url "https://github.com/nschum/highlight-symbol.el.git")
3828 (commit version)))
3829 (file-name (git-file-name name version))
3830 (sha256
3831 (base32 "09z13kv2g21kjjkkm3iyaz93sdjmdy2d563r8n7r7ng94acrn7f6"))))
eeb883cb
RW
3832 (build-system emacs-build-system)
3833 (home-page "https://nschum.de/src/emacs/highlight-symbol")
3834 (synopsis "Automatic and manual symbol highlighting for Emacs")
3835 (description
3836 "Use @code{highlight-symbol} to toggle highlighting of the symbol at
3837point throughout the current buffer. Use @code{highlight-symbol-mode} to keep
3838the symbol at point highlighted.
3839
3840The functions @code{highlight-symbol-next}, @code{highlight-symbol-prev},
3841@code{highlight-symbol-next-in-defun} and
3842@code{highlight-symbol-prev-in-defun} allow for cycling through the locations
3843of any symbol at point. Use @code{highlight-symbol-nav-mode} to enable key
3844bindings @code{M-p} and @code{M-p} for navigation. When
3845@code{highlight-symbol-on-navigation-p} is set, highlighting is triggered
3846regardless of @code{highlight-symbol-idle-delay}.
3847
3848@code{highlight-symbol-query-replace} can be used to replace the symbol. ")
3849 (license license:gpl2+)))
3850
3851(define-public emacs-hl-todo
3852 (package
3853 (name "emacs-hl-todo")
3854 (version "1.9.0")
3855 (source (origin
3856 (method url-fetch)
3857 (uri (string-append
3858 "https://raw.githubusercontent.com/tarsius/hl-todo/"
3859 version "/hl-todo.el"))
3860 (file-name (string-append "hl-todo-" version ".el"))
3861 (sha256
3862 (base32
3863 "0728givzh7xv5i88ac9if8byj1p8bilrj1fnizca10s0rv100hdr"))))
3864 (build-system emacs-build-system)
3865 (home-page "https://github.com/tarsius/hl-todo")
3866 (synopsis "Emacs mode to highlight TODO and similar keywords")
3867 (description
3868 "This package provides an Emacs mode to highlight TODO and similar
3869keywords in comments and strings. This package also provides commands for
3870moving to the next or previous keyword and to invoke @code{occur} with a
3871regexp that matches all known keywords.")
3872 (license license:gpl3+)))
3873
3874(define-public emacs-perspective
3875 (package
3876 (name "emacs-perspective")
3877 (version "1.12")
3878 (source
3879 (origin
3880 (method url-fetch)
3881 (uri (string-append "https://github.com/nex3/perspective-el/"
3882 "archive/" version ".tar.gz"))
3883 (file-name (string-append name "-" version ".tar.gz"))
3884 (sha256
3885 (base32
3886 "078ahh0kmhdylq5ib9c81c76kz1n02xwc83pm729d00i84ibviic"))))
3887 (build-system emacs-build-system)
3888 (home-page "https://github.com/nex3/perspective-el")
3889 (synopsis "Switch between named \"perspectives\"")
3890 (description
3891 "This package provides tagged workspaces in Emacs, similar to workspaces in
3892windows managers such as Awesome and XMonad. @code{perspective.el} provides
3893multiple workspaces (or \"perspectives\") for each Emacs frame. Each
3894perspective is composed of a window configuration and a set of buffers.
3895Switching to a perspective activates its window configuration, and when in a
3896perspective only its buffers are available by default.")
3897 ;; This package is released under the same license as Emacs (GPLv3+) or
3898 ;; the Expat license.
3899 (license license:gpl3+)))
3900
3901(define-public emacs-test-simple
3902 (package
3903 (name "emacs-test-simple")
3904 (version "1.3.0")
3905 (source
3906 (origin
3907 (method url-fetch)
3908 (uri (string-append "https://elpa.gnu.org/packages/test-simple-"
3909 version ".el"))
3910 (sha256
3911 (base32
3912 "1yd61jc9ds95a5n09052kwc5gasy57g4lxr0jsff040brlyi9czz"))))
3913 (build-system emacs-build-system)
3914 (home-page "https://github.com/rocky/emacs-test-simple")
3915 (synopsis "Simple unit test framework for Emacs Lisp")
3916 (description
3917 "Test Simple is a simple unit test framework for Emacs Lisp. It
3918alleviates the need for context macros, enclosing specifications or required
3919test tags. It supports both interactive and non-interactive use.")
3920 (license license:gpl3+)))
3921
3922(define-public emacs-load-relative
3923 (package
3924 (name "emacs-load-relative")
3925 (version "1.3")
3926 (source
3927 (origin
3928 (method url-fetch)
3929 (uri (string-append "https://elpa.gnu.org/packages/load-relative-"
3930 version ".el"))
3931 (sha256
3932 (base32
3933 "1hfxb2436jdsi9wfmsv47lkkpa5galjf5q81bqabbsv79rv59dps"))))
3934 (build-system emacs-build-system)
3935 (home-page "http://github.com/rocky/emacs-load-relative")
3936 (synopsis "Emacs Lisp relative file loading related functions")
3937 (description
3938 "Provides functions which facilitate writing multi-file Emacs packages
3939and running from the source tree without having to \"install\" code or fiddle
3940with @{load-path}.
3941
3942The main function, @code{load-relative}, loads an Emacs Lisp file relative to
3943another (presumably currently running) Emacs Lisp file.")
3944 (license license:gpl3+)))
3945
3946(define-public emacs-loc-changes
3947 (package
3948 (name "emacs-loc-changes")
3949 (version "1.2")
3950 (source
3951 (origin
3952 (method url-fetch)
3953 (uri (string-append "https://elpa.gnu.org/packages/loc-changes-"
3954 version ".el"))
3955 (sha256
3956 (base32
3957 "1x8fn8vqasayf1rb8a6nma9n6nbvkx60krmiahyb05vl5rrsw6r3"))))
3958 (build-system emacs-build-system)
3959 (home-page "https://github.com/rocky/emacs-loc-changes")
3960 (synopsis "Keeps track of positions even after buffer changes")
3961 (description
3962 "This Emacs package provides a mean to track important buffer positions
3963after buffer changes.")
3964 (license license:gpl3+)))
3965
3966(define-public emacs-realgud
3967 (package
3968 (name "emacs-realgud")
3969 (version "1.4.5")
3970 (source
3971 (origin
3972 (method url-fetch)
3973 (uri (string-append "https://elpa.gnu.org/packages/realgud-"
3974 version ".tar"))
3975 (sha256
3976 (base32
3977 "108wgxg7fb4byaiasgvbxv2hq7b00biq9f0mh9hy6vw4160y5w24"))
3978 (patches
3979 ;; Patch awaiting inclusion upstream (see:
3980 ;; https://github.com/realgud/realgud/pull/226).
3981 (search-patches "emacs-realgud-fix-configure-ac.patch"))))
3982 (build-system emacs-build-system)
3983 (arguments
3984 `(#:tests? #t
3985 #:phases
3986 (modify-phases %standard-phases
3987 (add-after 'set-emacs-load-path 'fix-autogen-script
3988 (lambda _
3989 (substitute* "autogen.sh"
3990 (("./configure") "sh configure"))))
3991 (add-after 'fix-autogen-script 'autogen
3992 (lambda _
3993 (setenv "CONFIG_SHELL" "sh")
3994 (invoke "sh" "autogen.sh")))
3995 (add-after 'fix-autogen-script 'set-home
3996 (lambda _
3997 (setenv "HOME" (getenv "TMPDIR"))))
3998 (add-before 'patch-el-files 'remove-realgud-pkg.el
3999 (lambda _
4000 ;; XXX: This file is auto-generated at some point and causes
4001 ;; substitute* to crash during the `patch-el-files' phase with:
4002 ;; ERROR: In procedure stat: No such file or directory:
4003 ;; "./realgud-pkg.el"
4004 (delete-file "./realgud-pkg.el")
4005 ;; FIXME: `patch-el-files' crashes on this file with error:
4006 ;; unable to locate "bashdb".
4007 (delete-file "./test/test-regexp-bashdb.el"))))
4008 #:include (cons* ".*\\.el$" %default-include)))
4009 (native-inputs
4010 `(("autoconf" ,autoconf)
4011 ("automake" ,automake)
4012 ("emacs-test-simple" ,emacs-test-simple)))
4013 (propagated-inputs
4014 `(("emacs-load-relative" ,emacs-load-relative)
4015 ("emacs-loc-changes" ,emacs-loc-changes)))
4016 (home-page "https://github.com/realgud/realgud/")
4017 (synopsis
4018 "Modular front-end for interacting with external debuggers")
4019 (description
4020 "RealGUD is a modular, extensible GNU Emacs front-end for interacting
4021with external debuggers. It integrates various debuggers such as gdb, pdb,
4022ipdb, jdb, lldb, bashdb, zshdb, etc. and allows to visually step code in the
4023sources. Unlike GUD, it also supports running multiple debug sessions in
4024parallel.")
4025 (license license:gpl3+)))
4026
4027(define-public emacs-request
4028 (package
4029 (name "emacs-request")
4030 (version "0.3.0")
4031 (source (origin
4032 (method git-fetch)
4033 (uri (git-reference
4034 (url "https://github.com/tkf/emacs-request.git")
4035 (commit (string-append "v" version))))
4036 (file-name (string-append name "-" version "-checkout"))
4037 (sha256
4038 (base32
4039 "0wyxqbb35yqf6ci47531lk32d6fppamx9d8826kdz983vm87him7"))))
4040 (build-system emacs-build-system)
4041 (propagated-inputs
4042 `(("emacs-deferred" ,emacs-deferred)))
4043 (home-page "https://github.com/tkf/emacs-request")
4044 (synopsis "Package for speaking HTTP in Emacs Lisp")
4045 (description "This package provides a HTTP request library with multiple
4046backends. It supports url.el which is shipped with Emacs and the curl command
4047line program.")
4048 (license license:gpl3+)))
4049
4050(define-public emacs-rudel
4051 (package
4052 (name "emacs-rudel")
4053 (version "0.3.1")
4054 (source
4055 (origin
4056 (method url-fetch)
4057 (uri (string-append "http://elpa.gnu.org/packages/rudel-"
4058 version ".tar"))
4059 (sha256
4060 (base32
4061 "0glqa68g509p0s2vcc0i8kzlddnc9brd9jqhnm5rzxz4i050cvnz"))))
4062 (build-system emacs-build-system)
4063 (home-page "http://rudel.sourceforge.net/")
4064 (synopsis "Collaborative editing framework")
4065 (description
4066 "Rudel is a collaborative editing environment for GNU Emacs. Its purpose
4067is to share buffers with other users in order to edit the contents of those
4068buffers collaboratively. Rudel supports multiple backends to enable
4069communication with other collaborative editors using different protocols,
4070though currently Obby (for use with the Gobby editor) is the only
4071fully-functional one.")
4072 (license license:gpl3+)))
4073
4074(define-public emacs-hydra
4075 (package
4076 (name "emacs-hydra")
4077 (version "0.14.0")
4078 (source
4079 (origin
4080 (method git-fetch)
4081 (uri (git-reference
4082 (url "https://github.com/abo-abo/hydra")
4083 (commit version)))
4084 (file-name (git-file-name name version))
4085 (sha256
4086 (base32
4087 "0ln4z2796ycy33g5jcxkqvm7638qxy4sipsab7d2864hh700cikg"))))
4088 (build-system emacs-build-system)
4089 (home-page "https://github.com/abo-abo/hydra")
4090 (synopsis "Make Emacs bindings that stick around")
4091 (description
4092 "This package can be used to tie related commands into a family of short
4093bindings with a common prefix---a Hydra. Once you summon the Hydra (through
4094the prefixed binding), all the heads can be called in succession with only a
4095short extension. Any binding that isn't the Hydra's head vanquishes the
4096Hydra. Note that the final binding, besides vanquishing the Hydra, will still
4097serve its original purpose, calling the command assigned to it. This makes
4098the Hydra very seamless; it's like a minor mode that disables itself
4099automatically.")
4100 (license license:gpl3+)))
4101
4102(define-public emacs-ivy
4103 (package
4104 (name "emacs-ivy")
db2badeb 4105 (version "0.11.0")
eeb883cb
RW
4106 (source
4107 (origin
4108 (method git-fetch)
4109 (uri (git-reference
4110 (url "https://github.com/abo-abo/swiper.git")
4111 (commit version)))
6a6cfbaf 4112 (file-name (git-file-name name version))
eeb883cb
RW
4113 (sha256
4114 (base32
db2badeb 4115 "009n8zjycs62cv4i1k9adbb284wz2w3r13xki2740sj34k683v13"))))
eeb883cb
RW
4116 (build-system emacs-build-system)
4117 (arguments
4118 `(#:phases
4119 (modify-phases %standard-phases
4120 (add-after 'install 'install-doc
4121 (lambda* (#:key outputs #:allow-other-keys)
4122 (let* ((out (assoc-ref outputs "out"))
4123 (info (string-append out "/share/info")))
4124 (with-directory-excursion "doc"
4125 (invoke "makeinfo" "ivy.texi")
4126 (install-file "ivy.info" info)
4127 #t)))))))
4128 (propagated-inputs
4129 `(("emacs-hydra" ,emacs-hydra)))
4130 (native-inputs
4131 `(("texinfo" ,texinfo)))
4132 (home-page "http://oremacs.com/swiper/")
4133 (synopsis "Incremental vertical completion for Emacs")
4134 (description
4135 "This package provides @code{ivy-read} as an alternative to
4136@code{completing-read} and similar functions. No attempt is made to determine
4137the best candidate. Instead, the user can navigate candidates with
4138@code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
4139splitting the input text by spaces and re-building it into a regular
4140expression.")
4141 (license license:gpl3+)))
4142
4143(define-public emacs-ivy-yasnippet
4144 (let ((commit "32580b4fd23ebf9ca7dde96704f7d53df6e253cd")
4145 (revision "2"))
4146 (package
4147 (name "emacs-ivy-yasnippet")
4148 (version (git-version "0.1" revision commit))
4149 (source
4150 (origin
4151 (method git-fetch)
4152 (uri (git-reference
4153 (url "https://github.com/mkcms/ivy-yasnippet.git")
4154 (commit commit)))
4155 (file-name (git-file-name name version))
4156 (sha256
4157 (base32
4158 "1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"))))
4159 (build-system emacs-build-system)
4160 (propagated-inputs
4161 `(("emacs-ivy" ,emacs-ivy)
4162 ("emacs-yasnippet" ,emacs-yasnippet)
4163 ("emacs-dash" ,emacs-dash)))
4164 (home-page "https://github.com/mkcms/ivy-yasnippet")
4165 (synopsis "Preview @code{yasnippets} with @code{ivy}")
4166 (description "This package allows you to select @code{yasnippet}
4167snippets using @code{ivy} completion. When current selection changes in the
4168minibuffer, the snippet contents are temporarily expanded in the buffer. To
4169use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
4170@code{yas-minor-mode} first).")
4171 (license license:gpl3+))))
4172
4173(define-public emacs-ivy-rich
4174 (package
4175 (name "emacs-ivy-rich")
4176 (version "0.1.0")
4177 (source
4178 (origin
9273ae24
TGR
4179 (method git-fetch)
4180 (uri (git-reference
4181 (url "https://github.com/Yevgnen/ivy-rich.git")
4182 (commit version)))
4183 (file-name (git-file-name name version))
eeb883cb 4184 (sha256
9273ae24 4185 (base32 "0ayf3dwfhafcbqnckm65zy8nc1rv9ji939qfn53wbhxkrgqdicgz"))))
eeb883cb
RW
4186 (build-system emacs-build-system)
4187 (propagated-inputs
4188 `(("emacs-ivy" ,emacs-ivy)))
4189 (home-page "https://github.com/Yevgnen/ivy-rich")
4190 (synopsis "More friendly interface for @code{ivy}")
4191 (description
4192 "This package extends @code{ivy} by showing more information in the
4193minibuffer for each candidate. It adds columns showing buffer modes, file
4194sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can
4195show icons as well.")
4196 (license license:gpl3+)))
4197
4198(define-public emacs-avy
4199 (package
4200 (name "emacs-avy")
4201 (version "0.4.0")
4202 (source
4203 (origin
5fe21149
TGR
4204 (method git-fetch)
4205 (uri (git-reference
4206 (url "https://github.com/abo-abo/avy.git")
4207 (commit version)))
4208 (file-name (git-file-name name version))
eeb883cb 4209 (sha256
5fe21149 4210 (base32 "0rq9ab264565z83cly743nbhrd9m967apmnlhqr1gy8dm4hcy7nm"))))
eeb883cb
RW
4211 (build-system emacs-build-system)
4212 (home-page "https://github.com/abo-abo/avy")
4213 (synopsis "Tree-based completion for Emacs")
4214 (description
4215 "This package provides a generic completion method based on building a
4216balanced decision tree with each candidate being a leaf. To traverse the tree
4217from the root to a desired leaf, typically a sequence of @code{read-key} can
4218be used.
4219
4220In order for @code{read-key} to make sense, the tree needs to be visualized
4221appropriately, with a character at each branch node. So this completion
4222method works only for things that you can see on your screen, all at once,
4223such as the positions of characters, words, line beginnings, links, or
4224windows.")
4225 (license license:gpl3+)))
4226
4227(define-public emacs-ace-window
4228 (package
4229 (name "emacs-ace-window")
4230 (version "0.9.0")
4231 (source
4232 (origin
d3253d73
TGR
4233 (method git-fetch)
4234 (uri (git-reference
4235 (url "https://github.com/abo-abo/ace-window.git")
4236 (commit version)))
4237 (file-name (git-file-name name version))
eeb883cb 4238 (sha256
d3253d73 4239 (base32 "07mcdzjmgrqdvjs94f2n5bkrf5vrq2fwzz256wbm3wzqxqkfy1q6"))))
eeb883cb
RW
4240 (build-system emacs-build-system)
4241 (propagated-inputs
4242 `(("emacs-avy" ,emacs-avy)))
4243 (home-page "https://github.com/abo-abo/ace-window")
4244 (synopsis "Quickly switch windows in Emacs")
4245 (description
4246 "@code{ace-window} is meant to replace @code{other-window}.
4247In fact, when there are only two windows present, @code{other-window} is
4248called. If there are more, each window will have its first character
4249highlighted. Pressing that character will switch to that window.")
4250 (license license:gpl3+)))
4251
4252(define-public emacs-iedit
4253 (package
4254 (name "emacs-iedit")
4255 (version "0.9.9.9")
4256 (source
4257 (origin
f646bf1a
TGR
4258 (method git-fetch)
4259 (uri (git-reference
4260 (url "https://github.com/victorhge/iedit.git")
4261 (commit (string-append "v" version))))
4262 (file-name (git-file-name name version))
eeb883cb 4263 (sha256
f646bf1a 4264 (base32 "1pwkrm98vlpzsy5iwwfksdaz3zzyi7bvdf5fglhsn4ssf47p787g"))))
eeb883cb
RW
4265 (build-system emacs-build-system)
4266 (home-page "http://www.emacswiki.org/emacs/Iedit")
4267 (synopsis "Edit multiple regions in the same way simultaneously")
4268 (description
4269 "This package is an Emacs minor mode and allows you to edit one
4270occurrence of some text in a buffer (possibly narrowed) or region, and
4271simultaneously have other occurrences edited in the same way.
4272
4273You can also use Iedit mode as a quick way to temporarily show only the buffer
4274lines that match the current text being edited. This gives you the effect of
4275a temporary @code{keep-lines} or @code{occur}.")
4276 (license license:gpl3+)))
4277
4278(define-public emacs-zoutline
4279 (let ((commit "b3ee0f0e0b916838c2d2c249beba74ffdb8d5699")
4280 (revision "0"))
4281 (package
4282 (name "emacs-zoutline")
4283 (version (git-version "0.1" revision commit))
4284 (home-page "https://github.com/abo-abo/zoutline")
4285 (source (origin
4286 (method git-fetch)
4287 (uri (git-reference (url home-page) (commit commit)))
4288 (sha256
4289 (base32
4290 "0sd0017piw0dis6dhpq5dkqd3acisxqgipl7dj8gmc1vnswhdwr8"))
4291 (file-name (git-file-name name version))))
4292 (build-system emacs-build-system)
4293 (synopsis "Simple outline library")
4294 (description
4295 "This library provides helpers for outlines. Outlines allow users to
4296navigate code in a tree-like fashion.")
4297 (license license:gpl3+))))
4298
4299(define-public emacs-lispy
4300 ;; Release 0.26.0 was almost 3 years ago, and there have been ~772 commits
4301 ;; since.
caf810d3
PN
4302 (let ((commit "f94cfc6b8f9c3afe7d028c366928049c011023de")
4303 (revision "1"))
eeb883cb
RW
4304 (package
4305 (name "emacs-lispy")
4306 (version (git-version "0.26.0" revision commit))
4307 (home-page "https://github.com/abo-abo/lispy")
4308 (source (origin
4309 (method git-fetch)
4310 (uri (git-reference (url home-page) (commit commit)))
4311 (sha256
4312 (base32
caf810d3 4313 "1bm2cpwizg1qfpm377gpx1af1hm5maw69if1csnk5vwaphmv8c4g"))
eeb883cb
RW
4314 (file-name (git-file-name name version))))
4315 (build-system emacs-build-system)
4316 (propagated-inputs
4317 `(("emacs-ace-window" ,emacs-ace-window)
4318 ("emacs-iedit" ,emacs-iedit)
4319 ("emacs-ivy" ,emacs-ivy)
4320 ("emacs-hydra" ,emacs-hydra)
4321 ("emacs-zoutline" ,emacs-zoutline)))
4322 (synopsis "Modal S-expression editing")
4323 (description
4324 "Due to the structure of Lisp syntax it's very rare for the programmer
4325to want to insert characters right before \"(\" or right after \")\". Thus
4326unprefixed printable characters can be used to call commands when the point is
4327at one of these special locations. Lispy provides unprefixed keybindings for
4328S-expression editing when point is at the beginning or end of an
4329S-expression.")
4330 (license license:gpl3+))))
4331
4332(define-public emacs-lispyville
808136bd
PN
4333 (let ((commit "d28b937f0cabd8ce61e2020fe9a733ca80d82c74")
4334 (revision "1"))
eeb883cb
RW
4335 (package
4336 (name "emacs-lispyville")
4337 (version (git-version "0.1" revision commit))
4338 (home-page "https://github.com/noctuid/lispyville")
4339 (source (origin
4340 (method git-fetch)
4341 (uri (git-reference (url home-page) (commit commit)))
4342 (sha256
4343 (base32
808136bd 4344 "0f6srwj1qqkfkbmp5n5pjvi6gm7b7xav05p5hrs2i83rjrakzzqx"))
eeb883cb
RW
4345 (file-name (git-file-name name version))))
4346 (propagated-inputs
4347 `(("emacs-evil" ,emacs-evil)
4348 ("emacs-lispy" ,emacs-lispy)))
4349 (build-system emacs-build-system)
4350 (synopsis "Minor mode for integrating Evil with lispy")
4351 (description
4352 "LispyVille's main purpose is to provide a Lisp editing environment
4353suited towards Evil users. It can serve as a minimal layer on top of lispy
4354for better integration with Evil, but it does not require the use of lispy’s
4355keybinding style. The provided commands allow for editing Lisp in normal
4356state and will work even without lispy being enabled.")
4357 (license license:gpl3+))))
4358
4359(define-public emacs-clojure-mode
4360 (package
4361 (name "emacs-clojure-mode")
4362 (version "5.6.1")
eba7c513
TGR
4363 (source
4364 (origin
4365 (method git-fetch)
4366 (uri (git-reference
4367 (url "https://github.com/clojure-emacs/clojure-mode.git")
4368 (commit version)))
4369 (file-name (git-file-name name version))
4370 (sha256
4371 (base32 "1qadymqzs5fn1sb347xzfw8lqq6s85vvkh4kzm35m61g5i2lm86y"))))
eeb883cb
RW
4372 (build-system emacs-build-system)
4373 (native-inputs
4374 `(("emacs-dash" ,emacs-dash)
4375 ("emacs-s" ,emacs-s)
4376 ("ert-runner" ,emacs-ert-runner)))
4377 (arguments
4378 `(#:tests? #t
4379 #:test-command '("ert-runner")))
4380 (home-page "https://github.com/clojure-emacs/clojure-mode")
4381 (synopsis "Major mode for Clojure code")
4382 (description
4383 "This Emacs package provides font-lock, indentation, navigation and basic
4384refactoring for the @uref{http://clojure.org, Clojure programming language}.
4385It is recommended to use @code{clojure-mode} with paredit or smartparens.")
4386 (license license:gpl3+)))
4387
4388(define-public emacs-epl
4389 (package
4390 (name "emacs-epl")
4391 (version "0.8")
d95ec770
TGR
4392 (source
4393 (origin
4394 (method git-fetch)
4395 (uri (git-reference
4396 (url "https://github.com/cask/epl.git")
4397 (commit version)))
4398 (file-name (git-file-name name version))
4399 (sha256
4400 (base32 "0sjxd5y5hxhrbgfkpwx6m724r3841b53hgc61a0g5zwispw5pmrr"))))
eeb883cb
RW
4401 (build-system emacs-build-system)
4402 (home-page "https://github.com/cask/epl")
4403 (synopsis "Emacs Package Library")
4404 (description
4405 "A package management library for Emacs, based on @code{package.el}.
4406
4407The purpose of this library is to wrap all the quirks and hassle of
4408@code{package.el} into a sane API.")
4409 (license license:gpl3+)))
4410
29a9eb9e
BL
4411(define-public emacs-counsel-projectile
4412 (package
4413 (name "emacs-counsel-projectile")
4414 (version "0.3.0")
4415 (source (origin
4416 (method git-fetch)
4417 (uri (git-reference
4418 (url "https://github.com/ericdanan/counsel-projectile")
4419 (commit version)))
4420 (file-name (git-file-name name version))
4421 (sha256
4422 (base32
4423 "1inc4ndl0ysfwvxk4avbgpj4qi9rc93da6476a5c81xmwpsv8wmq"))))
4424 (build-system emacs-build-system)
4425 (propagated-inputs
4426 `(("emacs-ivy" ,emacs-ivy)
4427 ("emacs-projectile" ,emacs-projectile)))
4428 (home-page "https://github.com/ericdanan/counsel-projectile")
4429 (synopsis "Enhance Projectile with Ivy")
4430 (description
4431 "This package uses Ivy to provide additional actions for Projectile
4432commands and replacements for existing functions.")
4433 (license license:gpl3+)))
4434
eeb883cb
RW
4435(define-public emacs-queue
4436 (package
4437 (name "emacs-queue")
4438 (version "0.2")
4439 (source (origin
4440 (method url-fetch)
4441 (uri (string-append "https://elpa.gnu.org/packages/queue-"
4442 version ".el"))
4443 (sha256
4444 (base32
4445 "0cx2848sqnnkkr4zisvqadzxngjyhmb36mh0q3if7q19yjjhmrkb"))))
4446 (build-system emacs-build-system)
4447 (home-page "http://www.dr-qubit.org/tags/computing-code-emacs.html")
4448 (synopsis "Queue data structure for Emacs")
4449 (description
4450 "This Emacs library provides queue data structure. These queues can be
4451used both as a first-in last-out (FILO) and as a first-in first-out (FIFO)
4452stack, i.e. elements can be added to the front or back of the queue, and can
4453be removed from the front. This type of data structure is sometimes called an
4454\"output-restricted deque\".")
4455 (license license:gpl3+)))
4456
4457(define-public emacs-pkg-info
4458 (package
4459 (name "emacs-pkg-info")
4460 (version "0.6")
45c6a664
TGR
4461 (source
4462 (origin
4463 (method git-fetch)
4464 (uri (git-reference
4465 (url "https://github.com/lunaryorn/pkg-info.el.git")
4466 (commit version)))
4467 (file-name (git-file-name name version))
4468 (sha256
4469 (base32 "0nk12dcppdyhav6m6yf7abpywyd7amxd4237zsfd32w4zxsx39k1"))))
eeb883cb
RW
4470 (build-system emacs-build-system)
4471 (propagated-inputs `(("emacs-epl" ,emacs-epl)))
4472 (home-page "https://github.com/lunaryorn/pkg-info.el")
4473 (synopsis "Information about Emacs packages")
4474 (description
4475 "This library extracts information from the installed Emacs packages.")
4476 (license license:gpl3+)))
4477
4478(define-public emacs-spinner
4479 (package
4480 (name "emacs-spinner")
4481 (version "1.7.3")
4482 (source (origin
4483 (method url-fetch)
4484 (uri (string-append "https://elpa.gnu.org/packages/spinner-"
4485 version ".el"))
4486 (sha256
4487 (base32
4488 "19kp1mmndbmw11sgvv2ggfjl4pyf5zrsbh3871f0965pw9z8vahd"))))
4489 (build-system emacs-build-system)
4490 (home-page "https://github.com/Malabarba/spinner.el")
4491 (synopsis "Emacs mode-line spinner for operations in progress")
4492 (description
4493 "This Emacs package adds spinners and progress-bars to the mode-line for
4494ongoing operations.")
4495 (license license:gpl3+)))
4496
4497(define-public emacs-sparql-mode
4498 (package
4499 (name "emacs-sparql-mode")
4500 (version "2.0.1")
2d965d82
TGR
4501 (source
4502 (origin
4503 (method git-fetch)
4504 (uri (git-reference
4505 (url "https://github.com/ljos/sparql-mode.git")
4506 (commit (string-append "v" version))))
4507 (file-name (git-file-name name version))
4508 (sha256
4509 (base32 "0ywhqk6n5k0l85zjwbnrivnvxjzqipqrggv06lify6yv18qmyl6s"))))
eeb883cb
RW
4510 (build-system emacs-build-system)
4511 (home-page "https://github.com/ljos/sparql-mode")
4512 (synopsis "SPARQL mode for Emacs")
4513 (description "This package provides a major mode for Emacs that provides
4514syntax highlighting for SPARQL. It also provides a way to execute queries
4515against a SPARQL HTTP endpoint, such as is provided by Fuseki. It is also
4516possible to query other endpoints like DBPedia.")
4517 (license license:gpl3+)))
4518
4519(define-public emacs-better-defaults
4520 (package
4521 (name "emacs-better-defaults")
4522 (version "0.1.3")
4523 (source
4524 (origin
4525 (method url-fetch)
4526 (uri (string-append "https://github.com/technomancy/better-defaults"
4527 "/archive/" version ".tar.gz"))
4528 (file-name (string-append name "-" version ".tar.gz"))
4529 (sha256
4530 (base32
4531 "08fg4zslzlxbvyil5g4gwvwd22fh4zsgqprs5wh9hv1rgc6757m2"))))
4532 (build-system emacs-build-system)
4533 (home-page "https://github.com/technomancy/better-defaults")
4534 (synopsis "Better defaults for Emacs")
4535 (description
4536 "Better defaults attempts to address the most obvious deficiencies of the
4537Emacs default configuration in uncontroversial ways that nearly everyone can
4538agree upon.")
4539 (license license:gpl3+)))
4540
3dbd2409
BL
4541(define-public emacs-undohist-el
4542 (let ((commit "d2239a5f736724ceb9e3b6bcaa86f4064805cda0")
4543 (revision "1"))
4544 (package
4545 (name "emacs-undohist-el")
4546 (version (git-version "0" revision commit))
4547 (source
4548 (origin
4549 (method git-fetch)
4550 (uri (git-reference
4551 (url "https://github.com/m2ym/undohist-el")
4552 (commit commit)))
4553 (file-name (git-file-name name version))
4554 (sha256
4555 (base32
37aaf9a8
OP
4556 "1c0daw246ky7b1x5b8h55x79pl1pjqk1k348l487bdd8zdj4w9wx"))
4557 (patches
4558 (search-patches "emacs-undohist-ignored.patch"))))
3dbd2409
BL
4559 (build-system emacs-build-system)
4560 (home-page "https://github.com/m2ym/undohist-el")
4561 (synopsis "Save undo history between sessions")
4562 (description "This package allows persistent use of undo history for
4563individual file buffers.")
4564 (license license:gpl3+))))
4565
eeb883cb
RW
4566(define-public emacs-eprime
4567 (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f"))
4568 (package
4569 (name "emacs-eprime")
4570 (version (string-append "20140513-" (string-take commit 7)))
4571 (source (origin
4572 (method url-fetch)
4573 (uri (string-append "https://raw.githubusercontent.com"
4574 "/AndrewHynes/eprime-mode/"
4575 commit "/eprime-mode.el"))
4576 (file-name (string-append "eprime-" version ".el"))
4577 (sha256
4578 (base32
4579 "0v68lggkyq7kbcr9zyi573m2g2x251xy3jadlaw8kx02l8krwq8d"))))
4580 (build-system emacs-build-system)
4581 (home-page "https://github.com/AndrewHynes/eprime-mode")
4582 (synopsis "E-prime checking mode for Emacs")
4583 (description "This package provides an E-prime checking mode for Emacs
4584that highlights non-conforming text. The subset of the English language called
4585E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
4586 (license license:gpl3+))))
4587
4588(define-public emacs-julia-mode
4589 ;; XXX: Upstream version remained stuck at 0.3. See
4590 ;; <https://github.com/JuliaEditorSupport/julia-emacs/issues/46>.
4591 (let ((commit "115d4dc8a07445301772da8376b232fa8c7168f4")
4592 (revision "1"))
4593 (package
4594 (name "emacs-julia-mode")
4595 (version (string-append "0.3-" revision "." (string-take commit 8)))
4596 (source
4597 (origin
4598 (method git-fetch)
4599 (uri (git-reference
4600 (url "https://github.com/JuliaEditorSupport/julia-emacs.git")
4601 (commit commit)))
4602 (file-name (string-append name "-" version "-checkout"))
4603 (sha256
4604 (base32
4605 "1is4dcv6blslpzbjcg8l2jpxi8xj96q4cm0nxjxsyswpm8bw8ki0"))))
4606 (build-system emacs-build-system)
4607 (arguments
4608 `(#:tests? #t
4609 #:test-command '("emacs" "--batch"
4610 "-l" "julia-mode-tests.el"
4611 "-f" "ert-run-tests-batch-and-exit")))
4612 (home-page "https://github.com/JuliaEditorSupport/julia-emacs")
4613 (synopsis "Major mode for Julia")
4614 (description "This Emacs package provides a mode for the Julia
4615programming language.")
4616 (license license:expat))))
4617
4618(define-public emacs-smex
4619 (package
4620 (name "emacs-smex")
4621 (version "3.0")
4622 (source (origin
4623 (method url-fetch)
4624 (uri (string-append "https://raw.githubusercontent.com"
4625 "/nonsequitur/smex/" version "/smex.el"))
4626 (file-name (string-append "smex-" version ".el"))
4627 (sha256
4628 (base32
4629 "0ar310zx9k5y4i1vl2rawvi712xj9gx77160860jbs691p77cxqp"))))
4630 (build-system emacs-build-system)
4631 (home-page "https://github.com/nonsequitur/smex/")
4632 (synopsis "M-x interface with Ido-style fuzzy matching")
4633 (description
4634 "Smex is a M-x enhancement for Emacs. Built on top of Ido, it provides a
4635convenient interface to your recently and most frequently used commands. And
4636to all the other commands, too.")
4637 (license license:gpl3+)))
4638
4639(define-public emacs-js2-mode
4640 (package
4641 (name "emacs-js2-mode")
b8a5c108 4642 (version "20190219")
0fe46015
TGR
4643 (source
4644 (origin
4645 (method git-fetch)
4646 (uri (git-reference
4647 (url "https://github.com/mooz/js2-mode.git")
4648 (commit version)))
4649 (file-name (git-file-name name version))
4650 (sha256
4651 (base32 "0766bbr4piia9vfr4ivd2gwi8dxah654adv6h28ylz4q8xmfzm1b"))))
eeb883cb
RW
4652 (build-system emacs-build-system)
4653 (home-page "https://github.com/mooz/js2-mode/")
4654 (synopsis "Improved JavaScript editing mode for Emacs")
4655 (description
4656 "Js2-mode provides a JavaScript major mode for Emacs that is more
4657advanced than the built-in javascript-mode. Features include accurate syntax
4658highlighting using a recursive-descent parser, on-the-fly reporting of syntax
4659errors and strict-mode warnings, smart line-wrapping within comments and
4660strings, and code folding.")
4661 (license license:gpl3+)))
4662
4663(define-public emacs-nodejs-repl
4664 (package
4665 (name "emacs-nodejs-repl")
4666 (version "0.2.0")
4667 (source (origin
4668 (method url-fetch)
4669 (uri (string-append "https://github.com/abicky/nodejs-repl.el"
4670 "/archive/" version ".tar.gz"))
4671 (sha256
4672 (base32
4673 "0hq2cqdq2668yf48g7qnkci90nhih1gnhacsgz355jnib56lhmkz"))
4674 (file-name (string-append name "-" version ".tar.gz"))))
4675 (build-system emacs-build-system)
4676 (home-page "https://github.com/abicky/nodejs-repl.el")
4677 (synopsis "Node.js REPL inside Emacs")
4678 (description
4679 "This program is derived from comint-mode and provides the following
4680features:
4681
4682@itemize
4683@item TAB completion same as Node.js REPL
4684@item file name completion in string
4685@item incremental history search
4686@end itemize")
4687 (license license:gpl3+)))
4688
4689(define-public emacs-typescript-mode
4690 (package
4691 (name "emacs-typescript-mode")
4692 (version "0.3")
4693 (source (origin
4694 (method url-fetch)
4695 (uri (string-append
4696 "https://github.com/ananthakumaran/typescript.el"
4697 "/archive/v" version ".tar.gz"))
4698 (sha256
4699 (base32
4700 "1gqjirm8scf0wysm7x97zdfbs4qa5nqdl64jfbkd18iskv5mg3rj"))
4701 (file-name (string-append name "-" version ".tar.gz"))))
4702 (build-system emacs-build-system)
4703 (home-page "https://github.com/ananthakumaran/typescript.el")
4704 (synopsis "Emacs major mode for editing Typescript code")
4705 (description
4706 "This is based on Karl Landstrom's barebones @code{typescript-mode}.
4707This is much more robust and works with @code{cc-mode}'s comment
4708filling (mostly). The modifications to the original @code{javascript.el} mode
4709mainly consisted in replacing \"javascript\" with \"typescript\"
4710
4711The main features of this Typescript mode are syntactic highlighting (enabled
4712with @code{font-lock-mode} or @code{global-font-lock-mode}), automatic
4713indentation and filling of comments and C preprocessor fontification.")
4714 (license license:gpl3+)))
4715
4716(define-public emacs-tide
4717 (package
4718 (name "emacs-tide")
608b922f 4719 (version "3.2.3")
eeb883cb
RW
4720 (source (origin
4721 (method url-fetch)
4722 (uri (string-append "https://github.com/ananthakumaran/tide"
4723 "/archive/v" version ".tar.gz"))
4724 (sha256
4725 (base32
608b922f 4726 "1c600myr2yqbkmy9lify38lz0zzjdqk1733db5n7vsay16vn6fzi"))
eeb883cb
RW
4727 (file-name (string-append name "-" version ".tar.gz"))))
4728 (build-system emacs-build-system)
4729 (propagated-inputs
4730 `(("emacs-dash" ,emacs-dash)
4731 ("emacs-s" ,emacs-s)
4732 ("emacs-flycheck" ,emacs-flycheck)
4733 ("emacs-typescript-mode" ,emacs-typescript-mode)))
4734 (home-page "https://github.com/ananthakumaran/tide")
4735 (synopsis "Typescript IDE for Emacs")
4736 (description
4737 "Tide is an Interactive Development Environment (IDE) for Emacs which
4738provides the following features:
4739
4740@itemize
4741@item ElDoc
4742@item Auto complete
4743@item Flycheck
4744@item Jump to definition, Jump to type definition
4745@item Find occurrences
4746@item Rename symbol
4747@item Imenu
4748@item Compile On Save
4749@item Highlight Identifiers
4750@item Code Fixes
4751@item Code Refactor
4752@item Organize Imports
4753@end itemize")
4754 (license license:gpl3+)))
4755
4756(define-public emacs-markdown-mode
4757 (package
4758 (name "emacs-markdown-mode")
4759 (version "2.3")
4760 (source (origin
4761 (method url-fetch)
4762 (uri (string-append "https://raw.githubusercontent.com/jrblevin"
4763 "/markdown-mode/v" version
4764 "/markdown-mode.el"))
4765 (file-name (string-append "markdown-mode-" version ".el"))
4766 (sha256
4767 (base32
4768 "152whyrq3dqlqy5wv4mdd94kmal19hs5kwaxjcp2gp2r97lsmdmi"))))
4769 (build-system emacs-build-system)
4770 (home-page "http://jblevins.org/projects/markdown-mode/")
4771 (synopsis "Emacs Major mode for Markdown files")
4772 (description
4773 "Markdown-mode is a major mode for editing Markdown-formatted text files
4774in Emacs.")
4775 (license license:gpl3+)))
4776
4777(define-public emacs-edit-indirect
4778 (package
4779 (name "emacs-edit-indirect")
4780 (version "0.1.5")
4781 (source
4782 (origin
4783 (method git-fetch)
4784 (uri (git-reference
4785 (url "https://github.com/Fanael/edit-indirect")
4786 (commit version)))
4787 (file-name (git-file-name name version))
4788 (sha256
4789 (base32
4790 "0by1x53pji39fjrj5bd446kz831nv0vdgw2jqasbym4pc1p2947r"))))
4791 (build-system emacs-build-system)
4792 (home-page "https://github.com/Fanael/edit-indirect")
4793 (synopsis "Edit regions in separate buffers")
4794 (description "This package allows you to edit regions in separate buffers,
4795like @code{org-edit-src-code} but for arbitrary regions.")
4796 (license license:gpl3+)))
4797
4798(define-public emacs-projectile
4799 (package
4800 (name "emacs-projectile")
d97283c3 4801 (version "2.0.0")
eeb883cb
RW
4802 (source (origin
4803 (method url-fetch)
4804 (uri (string-append "https://raw.githubusercontent.com/bbatsov"
4805 "/projectile/v" version "/projectile.el"))
4806 (file-name (string-append "projectile-" version ".el"))
4807 (sha256
4808 (base32
d97283c3 4809 "149hablms6n9b4wp78dz4pjz1rzyylfw9ayghq5p9d7k661mvyby"))))
eeb883cb
RW
4810 (build-system emacs-build-system)
4811 (propagated-inputs
4812 `(("emacs-dash" ,emacs-dash)
4813 ("emacs-pkg-info" ,emacs-pkg-info)))
4814 (home-page "https://github.com/bbatsov/projectile")
4815 (synopsis "Manage and navigate projects in Emacs easily")
4816 (description
4817 "This library provides easy project management and navigation. The
4818concept of a project is pretty basic - just a folder containing special file.
4819Currently git, mercurial and bazaar repos are considered projects by default.
4820If you want to mark a folder manually as a project just create an empty
4821.projectile file in it.")
4822 (license license:gpl3+)))
4823
4824(define-public emacs-elfeed
4825 (package
4826 (name "emacs-elfeed")
4827 (version "3.0.0")
bde24d5e
TGR
4828 (source
4829 (origin
4830 (method git-fetch)
4831 (uri (git-reference
4832 (url "https://github.com/skeeto/elfeed.git")
4833 (commit version)))
4834 (file-name (git-file-name name version))
4835 (sha256
4836 (base32 "01x4ww63lvn04c7f3ab5vx2s20xqisvv8213qwswz7vr9nxja5yi"))))
eeb883cb
RW
4837 (build-system emacs-build-system)
4838 (arguments
4839 `(#:tests? #t
4840 #:test-command '("make" "test")))
4841 (home-page "https://github.com/skeeto/elfeed")
4842 (synopsis "Atom/RSS feed reader for Emacs")
4843 (description
4844 "Elfeed is an extensible web feed reader for Emacs, supporting both Atom
4845and RSS, with a user interface inspired by notmuch.")
4846 (license license:gpl3+)))
4847
4848(define-public emacs-el-x
4849 (package
4850 (name "emacs-el-x")
4851 (version "0.3.1")
4852 (source (origin
4853 (method git-fetch)
4854 (uri (git-reference
4855 (url "https://github.com/sigma/el-x.git")
4856 (commit (string-append "v" version))))
4857 (file-name (string-append name "-" version "-checkout"))
4858 (sha256
4859 (base32
4860 "1i6j44ssxm1xdg0mf91nh1lnprwsaxsx8vsrf720nan7mfr283h5"))))
4861 (build-system emacs-build-system)
4862 (arguments
4863 `(#:phases
4864 (modify-phases %standard-phases
4865 ;; Move the source files to the top level, which is included in
4866 ;; the EMACSLOADPATH.
4867 (add-after 'unpack 'move-source-files
4868 (lambda _
4869 (let ((el-files (find-files "./lisp" ".*\\.el$")))
4870 (for-each (lambda (f)
4871 (rename-file f (basename f)))
4872 el-files))
4873 #t)))))
4874 (home-page "https://github.com/sigma/el-x")
4875 (synopsis "Emacs Lisp extensions")
4876 (description "command@{emacs-el-x} defines the @code{dflet} macro to
4877provide the historic behavior of @code{flet}, as well as
4878@code{declare-function} stub for older Emacs.")
4879 (license license:gpl2+)))
4880
4881(define-public emacs-mocker
4882 (package
4883 (name "emacs-mocker")
4884 (version "0.3.1")
4885 (source (origin
4886 (method git-fetch)
4887 (uri (git-reference
4888 (url "https://github.com/sigma/mocker.el.git")
4889 (commit (string-append "v" version))))
4890 (file-name (string-append name "-" version "-checkout"))
4891 (sha256
4892 (base32
4893 "1lav7am41v63xgavq8pr88y828jmd1cxd4prjq7jlbxm6nvrwxh2"))))
4894 (build-system emacs-build-system)
4895 (arguments
4896 `(#:tests? #t
4897 #:test-command '("ert-runner")))
4898 (native-inputs
4899 `(("ert-runner" ,emacs-ert-runner)))
4900 (propagated-inputs
4901 `(("emacs-el-x" ,emacs-el-x)))
4902 (home-page "https://github.com/sigma/mocker.el")
4903 (synopsis "Mocking framework for Emacs Lisp")
4904 (description "Mocker.el is a framework for writing tests in Emacs Lisp.
4905It uses regular Lisp rather than a domain specific language (DSL), which
4906maximizes flexibility (at the expense of conciseness).")
4907 (license license:gpl2+)))
4908
4909(define-public emacs-find-file-in-project
4910 (package
4911 (name "emacs-find-file-in-project")
4912 (version "5.4.7")
4913 (source (origin
4914 (method git-fetch)
4915 (uri (git-reference
4916 (url "https://github.com/technomancy/find-file-in-project.git")
4917 (commit version)))
4918 (file-name (string-append name "-" version "-checkout"))
4919 (sha256
4920 (base32
4921 "1sdnyqv69mipbgs9yax88m9b6crsa59rjhwrih197pifl4089awr"))))
4922 (build-system emacs-build-system)
4923 (arguments
4924 `(#:phases
4925 (modify-phases %standard-phases
4926 (add-before 'check 'set-shell
4927 ;; Otherwise Emacs shell-file-name is set to "/bin/sh", which doesn't
4928 ;; work.
4929 (lambda _
4930 (setenv "SHELL" (which "sh"))
4931 #t)))
4932 #:tests? #t
4933 #:test-command '("./tests/test.sh")))
4934 (home-page "https://github.com/technomancy/find-file-in-project")
4935 (synopsis "File/directory finder for Emacs")
4936 (description "@code{find-file-in-project} allows to find files or
4937directories quickly in the current project. The project root is detected
4938automatically when Git, Subversion or Mercurial are used. It also provides
4939functions to assist in reviewing changes on files.")
4940 (license license:gpl3+)))
4941
4942(define-public emacs-pyvenv
4943 (package
4944 (name "emacs-pyvenv")
1275f9ef 4945 (version "1.20")
eeb883cb
RW
4946 (source (origin
4947 (method git-fetch)
4948 (uri (git-reference
4949 (url "https://github.com/jorgenschaefer/pyvenv.git")
4950 (commit (string-append "v" version))))
4951 (file-name (string-append name "-" version "-checkout"))
4952 (sha256
4953 (base32
1275f9ef 4954 "1x052fsavb94x3scpqd6n9spqgzaahzbdxhg4qa5sy6hqsabn6zh"))))
eeb883cb
RW
4955 (build-system emacs-build-system)
4956 (arguments
4957 `(#:phases
4958 (modify-phases %standard-phases
4959 ;; This phase incorrectly attempts to substitute "activate" and fails
4960 ;; doing so.
4961 (delete 'patch-el-files))
4962 #:tests? #t
4963 #:test-command '("ert-runner")))
4964 (native-inputs
4965 `(("ert-runner" ,emacs-ert-runner)
4966 ("emacs-mocker" ,emacs-mocker)))
4967 (home-page "https://github.com/jorgenschaefer/pyvenv")
1275f9ef 4968 (synopsis "Python virtual environment interface for Emacs")
eeb883cb
RW
4969 (description "pyvenv.el is a minor mode to support using Python virtual
4970environments (virtualenv) inside Emacs.")
4971 (license license:gpl3+)))
4972
4973(define-public emacs-highlight-indentation
4974 (package
4975 (name "emacs-highlight-indentation")
4976 (version "0.7.0")
4977 (source (origin
4978 (method git-fetch)
4979 (uri (git-reference
4980 (url "https://github.com/antonj/Highlight-Indentation-for-Emacs.git")
4981 (commit (string-append "v" version))))
4982 (file-name (string-append name "-" version "-checkout"))
4983 (sha256
4984 (base32
4985 "00l54k75qk24a0znzl4ij3s3nrnr2wy9ha3za8apphzlm98m907k"))))
4986 (build-system emacs-build-system)
4987 (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/")
4988 (synopsis "Highlighting indentation for Emacs")
4989 (description "Provides two minor modes to highlight indentation guides in Emacs:
4990@enumerate
4991@item @code{highlight-indentation-mode}, which displays guidelines
4992indentation (space indentation only).
4993@item @code{highlight-indentation-current-column-mode}, which displays guidelines for the current-point indentation (space indentation only).
4994@end enumerate")
4995 (license license:gpl2+)))
4996
4997(define-public emacs-elpy
4998 (package
4999 (name "emacs-elpy")
d79e0b3a 5000 (version "1.28.0")
eeb883cb
RW
5001 (source (origin
5002 (method git-fetch)
5003 (uri (git-reference
5004 (url "https://github.com/jorgenschaefer/elpy.git")
5005 (commit version)))
5006 (file-name (string-append name "-" version "-checkout"))
5007 (sha256
5008 (base32
d79e0b3a 5009 "073bwxwjzcbmvpcz9q2xjwzx9x7hkvjni6fwvikh6yawzjp56jis"))))
eeb883cb
RW
5010 (build-system emacs-build-system)
5011 (arguments
5012 `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
5013 #:phases
5014 ;; TODO: Make `elpy-config' display Guix commands :)
5015 (modify-phases %standard-phases
5016 ;; One elpy test depends on being run inside a Python virtual
5017 ;; environment to pass. We have nothing to gain from doing so here,
5018 ;; so we just trick Elpy into thinking we are (see:
5019 ;; https://github.com/jorgenschaefer/elpy/pull/1293).
5020 (add-before 'check 'fake-virtualenv
5021 (lambda _
5022 (setenv "VIRTUAL_ENV" "/tmp")
5023 #t))
5024 (add-before 'check 'build-doc
5025 (lambda _
5026 (with-directory-excursion "docs"
5027 (invoke "make" "info" "man"))
5028 ;; Move .info file at the root so that it can installed by the
5029 ;; 'move-doc phase.
5030 (rename-file "docs/_build/texinfo/Elpy.info" "Elpy.info")
5031 #t))
5032 (add-after 'build-doc 'install-manpage
5033 (lambda* (#:key outputs #:allow-other-keys)
5034 (let* ((out (assoc-ref outputs "out"))
5035 (man1 (string-append out "/share/man/man1")))
5036 (mkdir-p man1)
5037 (copy-file "docs/_build/man/elpy.1"
5038 (string-append man1 "/elpy.1")))
5039 #t)))
5040 #:tests? #t
5041 #:test-command '("ert-runner")))
5042 (propagated-inputs
5043 `(("emacs-company" ,emacs-company)
5044 ("emacs-find-file-in-project" ,emacs-find-file-in-project)
5045 ("emacs-highlight-indentation" ,emacs-highlight-indentation)
5046 ("emacs-yasnippet" ,emacs-yasnippet)
5047 ("pyvenv" ,emacs-pyvenv)
5048 ("s" ,emacs-s)))
5049 (native-inputs
5050 `(("ert-runner" ,emacs-ert-runner)
5051 ("emacs-f" ,emacs-f)
5052 ("python" ,python-wrapper)
5053 ("python-autopep8" ,python-autopep8)
5054 ("python-black" ,python-black)
5055 ("python-flake8" ,python-flake8)
5056 ("python-jedi" ,python-jedi)
5057 ("python-yapf" ,python-yapf)
5058 ;; For documentation.
5059 ("python-sphinx" ,python-sphinx)
5060 ("texinfo" ,texinfo)))
5061 (home-page "https://github.com/jorgenschaefer/elpy")
5062 (synopsis "Python development environment for Emacs")
5063 (description "Elpy brings powerful Python editing to Emacs. It combines
5064and configures a number of other packages written in Emacs Lisp as well as
5065Python, together offering features such as navigation, documentation,
5066completion, interactive development and more.")
5067 (license license:gpl3+)))
5068
5069(define-public emacs-rainbow-delimiters
5070 (package
5071 (name "emacs-rainbow-delimiters")
5072 (version "2.1.3")
5073 (source (origin
5074 (method url-fetch)
5075 (uri (string-append "https://raw.githubusercontent.com/Fanael"
5076 "/rainbow-delimiters/" version
5077 "/rainbow-delimiters.el"))
5078 (file-name (string-append "rainbow-delimiters-" version ".el"))
5079 (sha256
5080 (base32
5081 "1b3kampwsjabhcqdp0khgff13wc5jqhy3rbvaa12vnv7qy22l9ck"))))
5082 (build-system emacs-build-system)
5083 (home-page "https://github.com/Fanael/rainbow-delimiters")
5084 (synopsis "Highlight brackets according to their depth")
5085 (description
5086 "Rainbow-delimiters is a \"rainbow parentheses\"-like mode for Emacs which
5087highlights parentheses, brackets, and braces according to their depth. Each
5088successive level is highlighted in a different color, making it easy to spot
5089matching delimiters, orient yourself in the code, and tell which statements
5090are at a given level.")
5091 (license license:gpl3+)))
5092
5093(define-public emacs-rainbow-identifiers
5094 (package
5095 (name "emacs-rainbow-identifiers")
5096 (version "0.2.2")
5097 (source (origin
5098 (method url-fetch)
5099 (uri (string-append "https://raw.githubusercontent.com/Fanael"
5100 "/rainbow-identifiers/" version
5101 "/rainbow-identifiers.el"))
5102 (file-name (string-append "rainbow-identifiers-" version ".el"))
5103 (sha256
5104 (base32
5105 "0325abxj47k0g1i8nqrq70w2wr6060ckhhf92krv1s072b3jzm31"))))
5106 (build-system emacs-build-system)
5107 (home-page "https://github.com/Fanael/rainbow-identifiers")
5108 (synopsis "Highlight identifiers in source code")
5109 (description
5110 "Rainbow identifiers mode is an Emacs minor mode providing highlighting of
5111identifiers based on their names. Each identifier gets a color based on a hash
5112of its name.")
5113 (license license:bsd-2)))
5114
5115(define-public emacs-rainbow-mode
5116 (package
5117 (name "emacs-rainbow-mode")
5118 (version "1.0.1")
5119 (source (origin
5120 (method url-fetch)
5121 (uri (string-append
5122 "http://elpa.gnu.org/packages/rainbow-mode-" version ".el"))
5123 (sha256
5124 (base32
5125 "0cpga4ax635rfpj7y2vmh7ank0yw00dcy20gjg1mj74r97by8csf"))))
5126 (build-system emacs-build-system)
5127 (home-page "http://elpa.gnu.org/packages/rainbow-mode.html")
5128 (synopsis "Colorize color names in buffers")
5129 (description
5130 "This minor mode sets background color to strings that match color
5131names, e.g. #0000ff is displayed in white with a blue background.")
5132 (license license:gpl3+)))
5133
5134(define-public emacs-visual-fill-column
5135 (package
5136 (name "emacs-visual-fill-column")
5137 (version "1.11")
5138 (source (origin
5139 (method url-fetch)
5140 (uri (string-append "https://codeload.github.com/joostkremers/"
5141 "visual-fill-column/tar.gz/" version))
5142 (file-name (string-append name "-" version ".tar.gz"))
5143 (sha256
5144 (base32
5145 "13jnviakp607zcms7f8ams56mr8wffnq1pghlc6fvqs39663pgwh"))))
5146 (build-system emacs-build-system)
5147 (home-page "https://github.com/joostkremers/visual-fill-column")
5148 (synopsis "Fill-column for visual-line-mode")
5149 (description
5150 "@code{visual-fill-column-mode} is a small Emacs minor mode that mimics
5151the effect of @code{fill-column} in @code{visual-line-mode}. Instead of
5152wrapping lines at the window edge, which is the standard behaviour of
5153@code{visual-line-mode}, it wraps lines at @code{fill-column}. If
5154@code{fill-column} is too large for the window, the text is wrapped at the
5155window edge.")
5156 (license license:gpl3+)))
5157
5158(define-public emacs-writeroom
5159 (package
5160 (name "emacs-writeroom")
5161 (version "3.7")
3610a056
TGR
5162 (source
5163 (origin
5164 (method git-fetch)
5165 (uri (git-reference
5166 (url "https://github.com/joostkremers/writeroom-mode.git")
5167 (commit version)))
5168 (file-name (git-file-name name version))
5169 (sha256
5170 (base32 "13nbls5qxz5z8firjxaip8m9vzfbbpxmwrmr01njbk4axpwrpj0z"))))
eeb883cb
RW
5171 (build-system emacs-build-system)
5172 (propagated-inputs
5173 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)))
5174 (home-page "https://github.com/joostkremers/writeroom-mode")
5175 (synopsis "Distraction-free writing for Emacs")
5176 (description
5177 "This package defines a minor mode for distraction-free writing. Some of
5178the default effects include entering fullscreen, deleting other windows of the
5179current frame, disabling the mode line, and adding margins to the buffer that
5180restrict the text width to 80 characters.")
5181 (license license:bsd-3)))
5182
5183(define-public emacs-ido-completing-read+
5184 (package
5185 (name "emacs-ido-completing-read+")
5186 (version "3.12")
5187 (source (origin
5188 (method url-fetch)
5189 (uri (string-append "https://raw.githubusercontent.com"
5190 "/DarwinAwardWinner/ido-ubiquitous/v"
5191 version "/ido-completing-read+.el"))
5192 (file-name (string-append "ido-completing-read+-" version ".el"))
5193 (sha256
5194 (base32
5195 "1cyalb0p7nfsm4n6n9q6rjmvn6adqc0fq8ybnlj3n41n289dkfjf"))))
5196 (build-system emacs-build-system)
5197 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
5198 (synopsis "Replacement for completing-read using ido")
5199 (description
5200 "The ido-completing-read+ function is a wrapper for ido-completing-read.
5201Importantly, it detects edge cases that ordinary ido cannot handle and either
5202adjusts them so ido can handle them, or else simply falls back to the standard
5203Emacs completion function instead.")
5204 (license license:gpl3+)))
5205
5206(define-public emacs-ido-ubiquitous
5207 (package
5208 (name "emacs-ido-ubiquitous")
5209 (version "3.12")
5210 (source (origin
5211 (method url-fetch)
5212 (uri (string-append "https://raw.githubusercontent.com"
5213 "/DarwinAwardWinner/ido-ubiquitous/v"
5214 version "/ido-ubiquitous.el"))
5215 (file-name (string-append "ido-ubiquitous-" version ".el"))
5216 (sha256
5217 (base32
5218 "197ypji0fb6jsdcq40rpnknwlh3imas6s6jbsvkfm0pz9988c3q2"))))
5219 (build-system emacs-build-system)
5220 (propagated-inputs
5221 `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
5222 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
5223 (synopsis "Use ido (nearly) everywhere")
5224 (description
5225 "Ido-ubiquitous enables ido-style completion for almost every function
5226that uses the standard completion function completing-read.")
5227 (license license:gpl3+)))
5228
5229(define-public emacs-yaml-mode
5230 (package
5231 (name "emacs-yaml-mode")
5232 (version "0.0.13")
5233 (source (origin
5234 (method url-fetch)
5235 (uri (string-append "https://raw.githubusercontent.com/yoshiki"
5236 "/yaml-mode/v" version "/yaml-mode.el"))
5237 (file-name (string-append "yaml-mode-" version ".el"))
5238 (sha256
5239 (base32
5240 "0im88sk9dqw03x6d6zaspgvg9i0pfpgb8f2zygrmbifh2w4pwmvj"))))
5241 (build-system emacs-build-system)
5242 (home-page "https://github.com/yoshiki/yaml-mode")
5243 (synopsis "Major mode for editing YAML files")
5244 (description
5245 "Yaml-mode is an Emacs major mode for editing files in the YAML data
5246serialization format. It was initially developed by Yoshiki Kurihara and many
5247features were added by Marshall Vandegrift. As YAML and Python share the fact
5248that indentation determines structure, this mode provides indentation and
5249indentation command behavior very similar to that of python-mode.")
5250 (license license:gpl3+)))
5251
5252(define-public emacs-web-mode
5253 (package
5254 (name "emacs-web-mode")
5255 (version "16")
5256 (source (origin
5257 (method url-fetch)
5258 (uri (string-append "https://raw.githubusercontent.com/fxbois"
5259 "/web-mode/v" version "/web-mode.el"))
5260 (file-name (string-append "web-mode-" version ".el"))
5261 (sha256
5262 (base32
5263 "1hs5w7kdvcyn4ihyw1kfjg48djn5p7lz4rlbhzzdqv1g56xqx3gw"))))
5264 (build-system emacs-build-system)
5265 (synopsis "Major mode for editing web templates")
5266 (description "Web-mode is an Emacs major mode for editing web templates
5267aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by
5268client/server side engines). Web-mode is compatible with many template
5269engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker,
5270Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template,
5271Dust.js, React/JSX, Angularjs, ejs, etc.")
5272 (home-page "http://web-mode.org/")
5273 (license license:gpl3+)))
5274
5275(define-public emacs-wgrep
48b58245
BL
5276 (package
5277 (name "emacs-wgrep")
5278 (version "2.3.0")
5279 (source (origin
5280 (method url-fetch)
5281 (uri (string-append
5282 "https://github.com/mhayashi1120/Emacs-wgrep/archive/"
5283 version ".tar.gz"))
5284 (file-name (string-append name "-" version ".tar.gz"))
5285 (sha256
5286 (base32
5287 "1cssqbg03fjb6xwf7idv1l3jjsh9r5r232ryi11czqlxfiv658bj"))))
5288 (build-system emacs-build-system)
5289 (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
5290 (synopsis "Edit a grep buffer and apply those changes to the files")
5291 (description
5292 "Emacs wgrep allows you to edit a grep buffer and apply those changes
eeb883cb
RW
5293to the file buffer. Several backends are supported beside the classic grep:
5294ack, ag, helm and pt.")
48b58245 5295 (license license:gpl3+)))
eeb883cb
RW
5296
5297(define-public emacs-helm
5298 (package
5299 (name "emacs-helm")
a922b2ae 5300 (version "3.1")
fb2f89b6
TGR
5301 (source
5302 (origin
5303 (method git-fetch)
5304 (uri (git-reference
5305 (url "https://github.com/emacs-helm/helm.git")
5306 (commit (string-append "v" version))))
5307 (file-name (git-file-name name version))
5308 (sha256
5309 (base32 "1x3nv8zvp8vvl30bm2d83hd7zxb0ca64pc8kwb81ml9al6r3mm01"))))
eeb883cb
RW
5310 (build-system emacs-build-system)
5311 (propagated-inputs
5312 `(("emacs-async" ,emacs-async)
5313 ("emacs-popup" ,emacs-popup)))
5314 (home-page "https://emacs-helm.github.io/helm/")
5315 (synopsis "Incremental completion and selection narrowing
5316framework for Emacs")
5317 (description "Helm is incremental completion and selection narrowing
5318framework for Emacs. It will help steer you in the right direction when
5319you're looking for stuff in Emacs (like buffers, files, etc). Helm is a fork
5320of @code{anything.el} originally written by Tamas Patrovic and can be
5321considered to be its successor. Helm sets out to clean up the legacy code in
5322@code{anything.el} and provide a cleaner, leaner and more modular tool, that's
5323not tied in the trap of backward compatibility.")
5324 (license license:gpl3+)))
5325
5326(define-public emacs-helm-swoop
5327 (package
5328 (name "emacs-helm-swoop")
5329 (version "1.7.4")
3abaae57
TGR
5330 (source
5331 (origin
5332 (method git-fetch)
5333 (uri (git-reference
5334 (url "https://github.com/ShingoFukuyama/helm-swoop.git")
5335 (commit version)))
5336 (file-name (git-file-name name version))
5337 (sha256
5338 (base32 "0b23j1bkpg4pm310hqdhgnl4mxsj05gpl08b6kb2ja4fzrg6adsk"))))
eeb883cb
RW
5339 (build-system emacs-build-system)
5340 (propagated-inputs
5341 `(("emacs-helm" ,emacs-helm)))
5342 (home-page "https://github.com/ShingoFukuyama/helm-swoop")
5343 (synopsis "Filter and jump to lines in an Emacs buffer using Helm")
5344 (description
5345 "This package builds on the Helm interface to provide several commands
5346for search-based navigation of buffers.")
5347 (license license:gpl2+)))
5348
5349(define-public emacs-helm-projectile
5350 (package
5351 (name "emacs-helm-projectile")
5352 (version "0.14.0")
b625752d
TGR
5353 (source
5354 (origin
5355 (method git-fetch)
5356 (uri (git-reference
5357 (url "https://github.com/bbatsov/helm-projectile.git")
5358 (commit (string-append "v" version))))
5359 (file-name (git-file-name name version))
5360 (sha256
5361 (base32 "0lph38p112fridighqcizpsyzjbv7qr3d8prbfj6w6q6gfl6cna4"))))
eeb883cb
RW
5362 (build-system emacs-build-system)
5363 (propagated-inputs
5364 `(("emacs-dash" ,emacs-dash)
5365 ("emacs-helm" ,emacs-helm)
5366 ("emacs-projectile" ,emacs-projectile)))
5367 (home-page "https://github.com/bbatsov/helm-projectile")
5368 (synopsis "Helm integration for Projectile")
5369 (description
5370 "This Emacs library provides a Helm interface for Projectile.")
5371 (license license:gpl3+)))
5372
5373(define-public emacs-helm-make
5374 (let ((commit "feae8df22bc4b20705ea08ac9adfc2b43bb348d0")
5375 (revision "1"))
5376 (package
5377 (name "emacs-helm-make")
5378 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
5379 (source
5380 (origin
5381 (method git-fetch)
5382 (uri (git-reference
5383 (url "https://github.com/abo-abo/helm-make.git")
5384 (commit commit)))
5385 (file-name (string-append name "-" version "-checkout"))
5386 (sha256
5387 (base32
5388 "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam"))))
5389 (build-system emacs-build-system)
5390 (propagated-inputs
5391 `(("emacs-helm" ,emacs-helm)
5392 ("emacs-projectile" ,emacs-projectile)))
5393 (home-page "https://github.com/abo-abo/helm-make")
5394 (synopsis "Select a Makefile target with helm")
5395 (description "@code{helm-make} or @code{helm-make-projectile} will give
5396you a @code{helm} selection of directory Makefile's targets. Selecting a
5397target will call @code{compile} on it.")
5398 (license license:gpl3+))))
5399
5400(define-public emacs-cider
5401 (package
5402 (name "emacs-cider")
208946e1 5403 (version "0.21.0")
eeb883cb
RW
5404 (source
5405 (origin
5406 (method git-fetch)
5407 (uri (git-reference
5408 (url "https://github.com/clojure-emacs/cider.git")
5409 (commit (string-append "v" version))))
5410 (file-name (git-file-name name version))
5411 (sha256
5412 (base32
208946e1 5413 "0lbrwj67fnvynkdkzvnzp3p8vqlz0ldrcs317vg60bqfhx7hvqkj"))))
eeb883cb
RW
5414 (build-system emacs-build-system)
5415 (arguments
5416 '(#:exclude ; Don't exclude 'cider-test.el'.
5417 '("^\\.dir-locals\\.el$" "^test/")))
5418 (propagated-inputs
5419 `(("emacs-clojure-mode" ,emacs-clojure-mode)
5420 ("emacs-sesman" ,emacs-sesman)
5421 ("emacs-spinner" ,emacs-spinner)
5422 ("emacs-pkg-info" ,emacs-pkg-info)
5423 ("emacs-queue" ,emacs-queue)))
5424 (home-page "https://cider.readthedocs.io/")
5425 (synopsis "Clojure development environment for Emacs")
5426 (description
5427 "CIDER (Clojure Interactive Development Environment that Rocks) aims to
5428provide an interactive development experience similar to the one you'd get
5429when programming in Emacs Lisp, Common Lisp (with SLIME or Sly), Scheme (with
5430Geiser) and Smalltalk.
5431
5432CIDER is the successor to the now deprecated combination of using SLIME +
5433swank-clojure for Clojure development.
5434
5435There are plenty of differences between CIDER and SLIME, but the core ideas
5436are pretty much the same (and SLIME served as the principle inspiration for
5437CIDER).")
5438 (license license:gpl3+)))
5439
5440;; There hasn't been a tag or release since 2015, so we take the latest
5441;; commit.
5442(define-public emacs-sly
5443 (let ((commit "486bfbe95612bcdc0960c490207970a188e0fbb9")
5444 (revision "1"))
5445 (package
5446 (name "emacs-sly")
5447 (version (string-append "1.0.0-" revision "." (string-take commit 9)))
5448 (source
5449 (origin
5450 (method git-fetch)
5451 (uri (git-reference
5452 (url "https://github.com/joaotavora/sly.git")
5453 (commit commit)))
5454 (file-name (git-file-name name version))
5455 (sha256
5456 (base32
5457 "0ib4q4k3h3qn88pymyjjmlmnpizdn1mfg5gpk5a715nqsgxlg09l"))))
5458 (build-system emacs-build-system)
5459 (arguments
5460 `(#:include (cons "^lib\\/" %default-include)
5461 #:phases
5462 ;; The package provides autoloads.
5463 (modify-phases %standard-phases
5464 (delete 'make-autoloads))))
5465 (home-page "https://github.com/joaotavora/sly")
5466 (synopsis "Sylvester the Cat's Common Lisp IDE")
5467 (description
5468 "SLY is Sylvester the Cat's Common Lisp IDE. SLY is a fork of SLIME, and
5469contains the following improvements over it:
5470
5471@enumerate
5472@item Completely redesigned REPL based on Emacs's own full-featured
5473 @code{comint.el}
5474@item Live code annotations via a new @code{sly-stickers} contrib
5475@item Consistent interactive button interface. Everything can be copied to
5476 the REPL.
5477@item Multiple inspectors with independent history
5478@item Regexp-capable @code{M-x sly-apropos}
5479@item Contribs are first class SLY citizens and enabled by default
5480@item Use ASDF to loads contribs on demand.
5481@end enumerate
5482
5483SLY tracks SLIME's bugfixes and all its familar features (debugger, inspector,
5484xref, etc...) are still available, but with better integration.")
5485 (license license:gpl3+))))
5486
5487(define-public emacs-lua-mode
5488 (let ((commit "652e299cb967fccca827dda381d61a9c144d97de")
5489 (revision "1"))
5490 (package
5491 (name "emacs-lua-mode")
5492 (version (string-append "20151025." revision "-" (string-take commit 9)))
5493 (home-page "https://github.com/immerrr/lua-mode/")
5494 (source (origin
5495 (method git-fetch)
5496 (uri (git-reference
5497 (url home-page)
5498 (commit commit)))
5499 (file-name (string-append name "-" version ".checkout"))
5500 (sha256
5501 (base32
5502 "053025k930wh0lak6rc1973ynfrmm8zsyzfqhhd39x7abkl41hc9"))))
5503 (build-system emacs-build-system)
5504 (synopsis "Major mode for lua")
5505 (description
5506 "This Emacs package provides a mode for @uref{https://www.lua.org/,
5507Lua programing language}.")
5508 (license license:gpl2+))))
5509
5510(define-public emacs-ebuild-mode
5511 (package
5512 (name "emacs-ebuild-mode")
5513 (version "1.37")
5514 (source (origin
5515 (method url-fetch)
5516 (uri (string-append
5517 "https://dev.gentoo.org/~ulm/emacs/ebuild-mode"
5518 "-" version ".tar.xz"))
5519 (file-name (string-append name "-" version ".tar.xz"))
5520 (sha256
5521 (base32
5522 "07dzrdjjczkxdfdgi60h4jjkvzi4p0k9rij2wpfp8s03ay3qldpp"))))
5523 (build-system emacs-build-system)
5524 (home-page "https://devmanual.gentoo.org")
5525 (synopsis "Major modes for Gentoo package files")
5526 (description
5527 "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
5528news items, openrc and runscripts.")
5529 (license license:gpl2+)))
5530
5531(define-public emacs-evil
b6a76979
PN
5532 (package
5533 (name "emacs-evil")
5534 (version "1.2.14")
5535 (source
5536 (origin
5537 (method git-fetch)
5538 (uri (git-reference
5539 (url "https://github.com/emacs-evil/evil")
5540 (commit version)))
5541 (file-name (string-append name "-" version "-checkout"))
5542 (sha256
5543 (base32
5544 "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"))))
5545 (build-system emacs-build-system)
5546 (propagated-inputs
5547 `(("emacs-undo-tree" ,emacs-undo-tree)
5548 ("emacs-goto-chg" ,emacs-goto-chg)))
5549 (home-page "https://github.com/emacs-evil/evil")
5550 (synopsis "Extensible Vi layer for Emacs")
5551 (description
5552 "Evil is an extensible vi layer for Emacs. It emulates the
eeb883cb
RW
5553main features of Vim, and provides facilities for writing custom
5554extensions.")
b6a76979 5555 (license license:gpl3+)))
eeb883cb
RW
5556
5557(define-public emacs-evil-collection
2390e0d4
PN
5558 (let ((commit "baa9c6880779d416a91bf5bde3589673a7403612")
5559 (revision "8"))
eeb883cb
RW
5560 (package
5561 (name "emacs-evil-collection")
5562 (version (git-version "0.0.1" revision commit))
5563 (source (origin
5564 (method git-fetch)
5565 (uri (git-reference
5566 (url "https://github.com/emacs-evil/evil-collection")
5567 (commit commit)))
5568 (file-name (string-append name "-" version "-checkout"))
5569 (sha256
5570 (base32
2390e0d4 5571 "09v97nk7qawphfijzqxzi2y63ydmfq7hsgpljjxwkykrc5h0kdlj"))))
eeb883cb
RW
5572 (build-system emacs-build-system)
5573 (propagated-inputs
5574 `(("emacs-evil" ,emacs-evil)))
5575 (home-page "https://github.com/emacs-evil/evil-collection")
5576 (synopsis "Collection of Evil bindings for many major and minor modes")
5577 (description "This is a collection of Evil bindings for the parts of
5578Emacs that Evil does not cover properly by default, such as @code{help-mode},
5579@code{M-x calendar}, Eshell and more.")
5580 (license license:gpl3+))))
5581
5582(define-public emacs-goto-chg
5583 (package
5584 (name "emacs-goto-chg")
5585 (version "1.6")
5586 (source
5587 (origin
5588 (method url-fetch)
5589 ;; There is no versioned source.
5590 (uri "https://www.emacswiki.org/emacs/download/goto-chg.el")
5591 (file-name (string-append "goto-chg-" version ".el"))
5592 (sha256
5593 (base32
5594 "078d6p4br5vips7b9x4v6cy0wxf6m5ij9gpqd4g33bryn22gnpij"))))
5595 (build-system emacs-build-system)
5596 ;; There is no other home page.
5597 (home-page "https://www.emacswiki.org/emacs/goto-chg.el")
5598 (synopsis "Go to the last change in the Emacs buffer")
5599 (description
5600 "This package provides @code{M-x goto-last-change} command that goes to
5601the point of the most recent edit in the current Emacs buffer. When repeated,
5602go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is
5603used for reverse direction.")
5604 (license license:gpl2+)))
5605
5606(define-public emacs-monroe
5607 (package
5608 (name "emacs-monroe")
5609 (version "0.3.1")
5610 (source
4f8fd64c
TGR
5611 (origin
5612 (method git-fetch)
5613 (uri (git-reference
5614 (url "https://github.com/sanel/monroe.git")
5615 (commit version)))
5616 (file-name (git-file-name name version))
5617 (sha256
5618 (base32 "101lfrykdbv37spkbw7zihhx26bc1lhjyxbanrcp9880bxj04jiy"))))
eeb883cb
RW
5619 (build-system emacs-build-system)
5620 (home-page "https://github.com/sanel/monroe")
5621 (synopsis "Clojure nREPL client for Emacs")
5622 (description
4f8fd64c 5623 "Monroe is a nREPL client for Emacs, focused on simplicity and easy
eeb883cb
RW
5624distribution, primarily targeting Clojure users")
5625 (license license:gpl3+)))
5626
5627(define-public emacs-orgalist
5628 (package
5629 (name "emacs-orgalist")
5630 (version "1.9")
5631 (source
5632 (origin
5633 (method url-fetch)
5634 (uri (string-append "https://elpa.gnu.org/packages/"
5635 "orgalist-" version ".el"))
5636 (sha256
5637 (base32
5638 "1rmmcyiiqkq54hn74nhzxzl4nvd902hv6gq341jwhrm7yiagffi6"))))
5639 (build-system emacs-build-system)
5640 (home-page "http://elpa.gnu.org/packages/orgalist.html")
5641 (synopsis "Manage Org-like lists in non-Org buffers")
5642 (description "Write Org mode's plain lists in non-Org buffers. More
5643specifically, Orgalist supports the syntax of Org mode for numbered,
5644unnumbered, description items, checkboxes, and counter cookies.
5645
5646The library also implements radio lists, i.e., lists written in Org
5647syntax later translated into the host format, e.g., LaTeX or HTML.")
5648 (license license:gpl3+)))
5649
5650(define-public emacs-writegood-mode
5651 (package
5652 (name "emacs-writegood-mode")
5653 (version "2.0.2")
5654 (home-page "https://github.com/bnbeckwith/writegood-mode")
5655 (source (origin
5656 (method git-fetch)
5657 (uri (git-reference
5658 (url home-page)
5659 (commit (string-append "v" version))))
5660 (sha256
5661 (base32
5662 "1nnjn1r669hvvzfycllwap4w04m8rfsk4nzcg8057m1f263kj31b"))
5663 (file-name (string-append name "-checkout"))))
5664 (build-system emacs-build-system)
5665 (synopsis "Polish up poor writing on the fly")
5666 (description
5667 "This minor mode tries to find and highlight problems with your writing
5668in English as you type. It primarily detects \"weasel words\" and abuse of
5669passive voice.")
5670 (license license:gpl3+)))
5671
5672(define-public emacs-neotree
5673 (package
5674 (name "emacs-neotree")
5675 (version "0.5.2")
5676 (home-page "https://github.com/jaypei/emacs-neotree")
5677 (source (origin
5678 (method url-fetch)
5679 (uri (string-append
5680 "https://github.com/jaypei/" name
5681 "/archive/" version ".tar.gz"))
5682 (sha256
5683 (base32
5684 "1zd6dchwyijnf7kgchfcp51gs938l204dk9z6mljrfqf2zy0gp12"))
5685 (file-name (string-append name "-" version ".tar.gz"))))
5686 (build-system emacs-build-system)
5687 (synopsis "Folder tree view for Emacs")
5688 (description "This Emacs package provides a folder tree view.")
5689 (license license:gpl3+)))
5690
5691(define-public emacs-org
5692 (package
5693 (name "emacs-org")
5694 ;; emacs-org-contrib inherits from this package. Please update its sha256
5695 ;; checksum as well.
ec898776 5696 (version "9.2.3")
eeb883cb
RW
5697 (source (origin
5698 (method url-fetch)
5699 (uri (string-append "http://elpa.gnu.org/packages/org-"
5700 version ".tar"))
5701 (sha256
5702 (base32
ec898776 5703 "0hqy4lns9q5p0l1ylgmlckqprn9sbasszhznanmv0rsh0gzhsbyw"))))
eeb883cb
RW
5704 (build-system emacs-build-system)
5705 (home-page "https://orgmode.org/")
5706 (synopsis "Outline-based notes management and organizer")
5707 (description "Org is an Emacs mode for keeping notes, maintaining TODO
5708lists, and project planning with a fast and effective lightweight markup
5709language. It also is an authoring system with unique support for literate
5710programming and reproducible research.")
5711 (license license:gpl3+)))
5712
5713(define-public emacs-org-contrib
5714 (package
5715 (inherit emacs-org)
5716 (name "emacs-org-contrib")
c4cea853 5717 (version "20190402")
eeb883cb
RW
5718 (source (origin
5719 (method url-fetch)
5720 (uri (string-append "https://orgmode.org/elpa/org-plus-contrib-"
5721 version ".tar"))
5722 (sha256
5723 (base32
c4cea853 5724 "0hbrhhq6sa0gz4ylzr54raxandqs4y953894b0hlr553b8sfl1wk"))))
eeb883cb
RW
5725 (arguments
5726 `(#:modules ((guix build emacs-build-system)
5727 (guix build utils)
5728 (guix build emacs-utils)
5729 (ice-9 ftw)
5730 (srfi srfi-1))
5731 #:phases
5732 (modify-phases %standard-phases
5733 (add-after 'install 'delete-org-files
5734 (lambda* (#:key inputs outputs #:allow-other-keys)
5735 (let* ((out (assoc-ref outputs "out"))
5736 (org (assoc-ref inputs "org"))
5737 (contrib-files
5738 (map basename (find-files out)))
5739 (org+contrib-files
5740 (map basename (find-files org)))
5741 (duplicates (lset-intersection
5742 string=? contrib-files org+contrib-files)))
5743 (with-directory-excursion
5744 (string-append
5745 out "/share/emacs/site-lisp/guix.d/org-contrib-" ,version)
5746 (for-each delete-file duplicates))
5747 #t))))))
5748 (propagated-inputs
5749 `(("arduino-mode" ,emacs-arduino-mode)
5750 ("cider" ,emacs-cider)
5751 ("org" ,emacs-org)
5752 ("scel" ,emacs-scel)))
5753 (synopsis "Contributed packages to Org mode")
5754 (description "Org is an Emacs mode for keeping notes, maintaining TODO
5755lists, and project planning with a fast and effective plain-text system.
5756
5757This package is equivalent to org-plus-contrib, but only includes additional
5758files that you would find in @file{contrib/} from the git repository.")))
5759
5760(define-public emacs-flx
5761 (package
5762 (name "emacs-flx")
5763 (version "0.6.1")
5764 (source
5765 (origin
5766 (method url-fetch)
5767 (uri (string-append "https://github.com/lewang/"
5768 "flx/archive/v" version ".tar.gz"))
5769 (sha256
5770 (base32
5771 "0bkcpnf1j4i2fcc2rllwbz62l00sw2mcia6rm5amgwvlkqavmkv6"))
5772 (file-name (string-append name "-" version ".tar.gz"))))
5773 (build-system emacs-build-system)
5774 (home-page "https://github.com/lewang/flx")
5775 (synopsis "Fuzzy matching for Emacs")
5776 (description
5777 "Flx provides fuzzy matching for emacs a la sublime text.
5778The sorting algorithm is a balance between word beginnings (abbreviation)
5779and contiguous matches (substring). The longer the substring match,
5780the higher it scores. This maps well to how we think about matching.
5781Flx has support for ido (interactively do things) through flx-ido.")
5782 (license license:gpl3+)))
5783
5784(define-public emacs-cyberpunk-theme
5785 (package
5786 (name "emacs-cyberpunk-theme")
5787 (version "1.19")
5788 (source
5789 (origin
5790 (method url-fetch)
5791 (uri (string-append "https://github.com/n3mo/cyberpunk-theme.el/"
5792 "archive/" version ".tar.gz"))
5793 (sha256
5794 (base32
5795 "05l5fxw1mn5py6mfhxrzyqjq0d8m5m1akfi46vrgh13r414jffvv"))
5796 (file-name (string-append name "-" version ".tar.gz"))))
5797 (build-system emacs-build-system)
5798 (home-page "https://github.com/n3mo/cyberpunk-theme.el")
5799 (synopsis "Cyberpunk theme for emacs built-in color theme support")
5800 (description
5801 "Cyberpunk color theme for the emacs 24+ built-in color theme support
5802known loosely as deftheme. Many mode-specific customizations are included.")
5803 (license license:gpl3+)))
5804
5805(define-public emacs-danneskjold-theme
5806 (let* ((commit "8733d2fe8743e8a01826ea6d4430ef376c727e57")
5807 (revision "1"))
5808 (package
5809 (name "emacs-danneskjold-theme")
5810 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
5811 (home-page "https://github.com/rails-to-cosmos/danneskjold-theme")
5812 (source
5813 (origin
5814 (method git-fetch)
5815 (uri (git-reference
5816 (url home-page)
5817 (commit commit)))
5818 (file-name (string-append name "-" version "-checkout"))
5819 (sha256
5820 (base32
5821 "0s6rbsb0y8i8m5b9xm4gw1p1cxsxdqnqxqqb638pygz9f76mbir1"))))
5822 (build-system emacs-build-system)
5823 (arguments
5824 `(#:phases
5825 (modify-phases %standard-phases
5826 (add-after 'unpack 'delete-screenshots
5827 (lambda _
5828 (delete-file-recursively "screenshots") #t)))))
5829 (synopsis "High-contrast Emacs theme")
5830 (description
5831 "@code{danneskjold-theme} is a high-contrast theme for Emacs.")
5832 (license license:gpl3+))))
5833
5834(define-public emacs-dream-theme
5835 (let* ((commit "107a11d74365046f28a1802a2bdb5e69e4a7488b")
5836 (revision "1"))
5837 (package
5838 (name "emacs-dream-theme")
5839 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
5840 (source
5841 (origin
5842 (method git-fetch)
5843 (uri (git-reference
5844 (url "https://github.com/djcb/dream-theme")
5845 (commit commit)))
5846 (file-name (string-append name "-" version "-checkout"))
5847 (sha256
5848 (base32
5849 "0za18nfkq4xqm35k6006vsixcbmvmxqgma4iw5sw37h8vmcsdylk"))))
5850 (build-system emacs-build-system)
5851 (home-page "https://github.com/djcb/dream-theme")
5852 (synopsis "High-contrast Emacs theme")
5853 (description
5854 "@code{dream-theme} is a dark, clean theme for Emacs. It is inspired
5855by zenburn, sinburn and similar themes, but slowly diverging from them.")
5856 (license license:gpl3+))))
5857
5858(define-public emacs-auto-complete
5859 (package
5860 (name "emacs-auto-complete")
5861 (version "1.5.1")
5862 (source
5863 (origin
5864 (method url-fetch)
5865 (uri (string-append "https://github.com/auto-complete/"
5866 "auto-complete/archive/v" version ".tar.gz"))
5867 (sha256
5868 (base32
5869 "1jvq4lj00hwml75lpmlciazy8f3bbg13gffsfnl835p4qd8l7yqv"))
5870 (file-name (string-append name "-" version ".tar.gz"))))
5871 (build-system emacs-build-system)
5872 (propagated-inputs
5873 `(("emacs-popup" ,emacs-popup)))
5874 (home-page "https://github.com/auto-complete/auto-complete")
5875 (synopsis "Intelligent auto-completion extension for Emacs")
5876 (description
5877 "Auto-Complete is an intelligent auto-completion extension for Emacs.
5878It extends the standard Emacs completion interface and provides an environment
5879that allows users to concentrate more on their own work. Its features are:
5880a visual interface, reduce overhead of completion by using statistic method,
5881extensibility.")
5882 (license license:gpl3+)))
5883
5884(define-public emacs-nginx-mode
5885 (package
5886 (name "emacs-nginx-mode")
5887 (version "1.1.9")
5888 (source
5889 (origin
4ccf99d6
TGR
5890 (method git-fetch)
5891 (uri (git-reference
5892 (url "https://github.com/ajc/nginx-mode.git")
5893 (commit (string-append "v" version))))
5894 (file-name (git-file-name name version))
eeb883cb 5895 (sha256
4ccf99d6 5896 (base32 "17dh5pr3gh6adrbqx588gimxbb2fr7iv2qrxv6r48w2727l344xs"))))
eeb883cb
RW
5897 (build-system emacs-build-system)
5898 (home-page "https://github.com/ajc/nginx-mode")
5899 (synopsis "Emacs major mode for editing nginx config files")
5900 (description "This package provides an Emacs major mode for
5901editing nginx config files.")
5902 (license license:gpl2+)))
5903
5904(define-public emacs-stream
5905 (package
5906 (name "emacs-stream")
5907 (version "2.2.0")
5908 (home-page "https://github.com/NicolasPetton/stream")
5909 (source
5910 (origin
5911 (method url-fetch)
5912 (file-name (string-append name "-" version ".tar.gz"))
5913 (uri (string-append home-page "/archive/"version ".tar.gz"))
5914 (sha256
5915 (base32 "03ql4nqfz5pn55mjly6clhvc3g7x2d28kj7mrlqmigvjbql39xxc"))))
5916 (build-system emacs-build-system)
5917 (synopsis "Implementation of streams for Emacs")
5918 (description "This library provides an implementation of streams for Emacs.
5919Streams are implemented as delayed evaluation of cons cells.")
5920 (license license:gpl3+)))
5921
5922(define-public emacs-el-search
5923 (let ((commit "f26277bfbb3fc3fc74beea6592f294c439796bd4")
5924 (revision "1"))
5925 (package
5926 (name "emacs-el-search")
5927 ;; No ufficial release.
5928 (version (string-append "0.0-" revision "." (string-take commit 7)))
5929 (home-page "https://github.com/emacsmirror/el-search")
5930 (source
5931 (origin
5932 (method git-fetch)
5933 (file-name (string-append name "-" version ".tar.gz"))
5934 (uri (git-reference
5935 (commit commit)
5936 (url (string-append home-page ".git"))))
5937 (sha256
5938 (base32 "12xf40h9sb7xxg2r97gsia94q02543mgiiiw46fzh1ac7b7993g6"))))
5939 (build-system emacs-build-system)
5940 (inputs `(("emacs-stream" ,emacs-stream)))
5941 (synopsis "Expression based interactive search for emacs-lisp-mode")
5942 (description "This package provides expression based interactive search
5943procedures for emacs-lisp-mode.")
5944 (license license:gpl3+))))
5945
5946(define-public emacs-ht
5947 (package
5948 (name "emacs-ht")
b6ecf3d7 5949 (version "2.2")
eeb883cb
RW
5950 (source
5951 (origin
76a18a0c
TGR
5952 (method git-fetch)
5953 (uri (git-reference
5954 (url "https://github.com/Wilfred/ht.el.git")
5955 (commit version)))
5956 (file-name (git-file-name name version))
eeb883cb 5957 (sha256
76a18a0c 5958 (base32 "1p3qa7g0wa0wbviv2f8bda39cjys3naayk5xjm3nxxmqsyy8papx"))))
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
4f37ade0
TGR
5974 (method git-fetch)
5975 (uri (git-reference
5976 (url "https://github.com/aki2o/log4e.git")
5977 (commit (string-append "v" version))))
5978 (file-name (git-file-name name version))
eeb883cb 5979 (sha256
4f37ade0 5980 (base32 "1l28n7a0v2zkknc70i1wn6qb5i21dkhfizzk8wcj28v44cgzk022"))))
eeb883cb
RW
5981 (build-system emacs-build-system)
5982 (arguments
5983 `(#:phases
5984 (modify-phases %standard-phases
5985 (add-after 'unpack 'remove-tests
5986 ;; Guile builder complains about null characters in some
5987 ;; strings of test files. Remove "test" directory (it is not
5988 ;; needed anyway).
5989 (lambda _
5990 (delete-file-recursively "test"))))))
5991 (home-page "https://github.com/aki2o/log4e")
5992 (synopsis "Logging framework for elisp")
5993 (description
5994 "This package provides a logging framework for elisp. It allows
5995you to deal with multiple log levels.")
5996 (license license:gpl3+)))
5997
5998(define-public emacs-gntp
5999 (package
6000 (name "emacs-gntp")
6001 (version "0.1")
6002 (source
6003 (origin
ecf940ea
TGR
6004 (method git-fetch)
6005 (uri (git-reference
6006 (url "https://github.com/tekai/gntp.el.git")
6007 (commit (string-append "v" version))))
6008 (file-name (git-file-name name version))
eeb883cb 6009 (sha256
ecf940ea 6010 (base32 "1nvyjjjydrimpxy4cpg90si7sr8lmldbhlcm2mx8npklp9pn5y3a"))))
eeb883cb
RW
6011 (build-system emacs-build-system)
6012 (home-page "https://github.com/tekai/gntp.el")
6013 (synopsis "Growl Notification Protocol for Emacs")
6014 (description
6015 "This package implements the Growl Notification Protocol GNTP
6016described at @uref{http://www.growlforwindows.com/gfw/help/gntp.aspx}.
6017It is incomplete as it only lets you send but not receive
6018notifications.")
6019 (license license:bsd-3)))
6020
6021(define-public emacs-alert
6022 (package
6023 (name "emacs-alert")
6024 (version "1.2")
6025 (source
6026 (origin
09f0c45d
TGR
6027 (method git-fetch)
6028 (uri (git-reference
6029 (url "https://github.com/jwiegley/alert.git")
6030 (commit (string-append "v" version))))
6031 (file-name (git-file-name name version))
eeb883cb 6032 (sha256
09f0c45d 6033 (base32 "1vpc3q40m6dcrslki4bg725j4kv6c6xfxwjjl1ilg7la49fwwf26"))))
eeb883cb
RW
6034 (build-system emacs-build-system)
6035 (propagated-inputs
6036 `(("emacs-gntp" ,emacs-gntp)
6037 ("emacs-log4e" ,emacs-log4e)))
6038 (home-page "https://github.com/jwiegley/alert")
6039 (synopsis "Growl-style notification system for Emacs")
6040 (description
6041 "Alert is a Growl-workalike for Emacs which uses a common notification
6042interface and multiple, selectable \"styles\", whose use is fully
6043customizable by the user.")
6044 (license license:gpl2+)))
6045
c881ed86
BL
6046(define-public emacs-zones
6047 (let ((commit "353fc38a6544eb59887bee045e373406f1d038a5")
6048 (revision "1"))
6049 (package
6050 (name "emacs-zones")
6051 (version (git-version "0" revision commit))
6052 (source
6053 (origin
6054 (method git-fetch)
6055 (uri (git-reference
6056 (url "https://github.com/emacsmirror/zones.git")
6057 (commit commit)))
6058 (file-name (git-file-name name version))
6059 (sha256
6060 (base32
f125c5a5
BL
6061 "0gwnw2giii2a14nlh62xp45f47cw6ikqphhzpmcw6c7mn9x5z2ar"))
6062 (patches
6063 (search-patches
6064 "emacs-zones-called-interactively.patch"))))
c881ed86
BL
6065 (build-system emacs-build-system)
6066 (home-page "https://www.emacswiki.org/emacs/Zones")
6067 (synopsis "Define and act on multiple zones of buffer text")
6068 (description "Library @file{zones.el} lets you easily define and
6069subsequently act on multiple zones of buffer text. You can think of this as
6070enlarging the notion of region. In effect, it can remove the requirement of
6071target text being a contiguous sequence of characters. A set of buffer zones
6072is, in effect, a (typically) noncontiguous set of text.")
6073 (license license:gpl3+))))
6074
eeb883cb
RW
6075(define-public emacs-mu4e-alert
6076 (package
6077 (name "emacs-mu4e-alert")
6078 (version "1.0")
6079 (source
6080 (origin
86f18e4e
TGR
6081 (method git-fetch)
6082 (uri (git-reference
6083 (url "https://github.com/iqbalansari/mu4e-alert.git")
6084 (commit (string-append "v" version))))
6085 (file-name (git-file-name name version))
eeb883cb 6086 (sha256
86f18e4e 6087 (base32 "1nvsfbfsma59ilf7c3vjngnmx3aapwvvvaafdy5szm5r6lkicqvg"))))
eeb883cb
RW
6088 (build-system emacs-build-system)
6089 (propagated-inputs
6090 `(("emacs-alert" ,emacs-alert)
6091 ("emacs-s" ,emacs-s)
6092 ("emacs-ht" ,emacs-ht)
6093 ("mu" ,mu)))
6094 (home-page "https://github.com/iqbalansari/mu4e-alert")
6095 (synopsis "Desktop notification for mu4e")
6096 (description
6097 "This package provides desktop notifications for mu4e.
6098Additionally it can display the number of unread emails in the
6099mode-line.")
6100 (license license:gpl3+)))
6101
6102(define-public emacs-pretty-mode
6103 (package
6104 (name "emacs-pretty-mode")
6105 (version "2.0.3")
6106 (source
6107 (origin
6108 (method url-fetch)
6109 (uri (string-append "https://github.com/akatov/pretty-mode/"
6110 "archive/" version ".tar.gz"))
6111 (file-name (string-append name "-" version ".tar.gz"))
6112 (sha256
6113 (base32
6114 "1fan7m4vnqs8kpg7r54kx3g7faadkpkf9kzarfv8n57kq8w157pl"))))
6115 (build-system emacs-build-system)
6116 (home-page "https://github.com/akatov/pretty-mode")
6117 (synopsis "Redisplay parts of the buffer as Unicode symbols")
6118 (description
6119 "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
6120 (license license:gpl3+)))
6121
6122(define-public emacs-yasnippet
6123 (package
6124 (name "emacs-yasnippet")
6125 (version "0.13.0")
6126 (source (origin
6127 (method url-fetch)
6128 (uri (string-append "https://github.com/joaotavora/yasnippet/"
6129 "archive/" version ".tar.gz"))
6130 (file-name (string-append name "-" version ".tar.gz"))
6131 (sha256
6132 (base32
6133 "12ls2x17agzbrj1xynjbmfa11igqxia4hj4fv6fpr66yci2r1plc"))
6134 (modules '((guix build utils)))
6135 (snippet
6136 '(begin
6137 ;; YASnippet expects a "snippets" subdirectory in the same
6138 ;; directory as yasnippet.el, but we don't install it
6139 ;; because it's a git submodule pointing to an external
6140 ;; repository. Adjust `yas-snippet-dirs' to prevent
6141 ;; warnings about a missing directory.
6142 (substitute* "yasnippet.el"
6143 (("^ +'yas-installed-snippets-dir\\)\\)\n")
6144 "))\n"))
6145 #t))))
6146 (build-system emacs-build-system)
6147 (home-page "https://github.com/joaotavora/yasnippet")
6148 (synopsis "Yet another snippet extension for Emacs")
6149 (description
6150 "YASnippet is a template system for Emacs. It allows you to type an
6151abbreviation and automatically expand it into function templates.")
6152 (license license:gpl3+)))
6153
6154(define-public emacs-yasnippet-snippets
6155 (let ((commit "885050d34737e2fb36a3e7759d60c09347bd4ce0")
6156 (revision "1"))
6157 (package
6158 (name "emacs-yasnippet-snippets")
6159 (version (string-append "1-" revision "." (string-take commit 8)))
6160 (source
6161 (origin
6162 (method git-fetch)
6163 (uri (git-reference
6164 (url "https://github.com/AndreaCrotti/yasnippet-snippets")
6165 (commit commit)))
6166 (file-name (string-append name "-" version "-checkout"))
6167 (sha256
6168 (base32
6169 "1m935zgglw0iakzrixld5rcjz3wnj84f8wy2mvc3pggjri9l0qr9"))))
6170 (build-system trivial-build-system)
6171 (arguments
6172 `(#:modules ((ice-9 ftw)
6173 (ice-9 regex)
6174 (guix build utils))
6175 #:builder
6176 (begin
6177 (use-modules (ice-9 ftw)
6178 (ice-9 regex)
6179 (guix build utils))
6180 (with-directory-excursion (assoc-ref %build-inputs "source")
6181 (for-each (lambda (dir)
6182 (copy-recursively
6183 dir
6184 (string-append %output
6185 "/share/emacs/yasnippet-snippets/"
6186 dir)))
6187 (scandir "." (lambda (fname)
6188 (and (string-match "-mode$" fname)
6189 (directory-exists? fname))))))
6190 #t)))
6191 (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
6192 (synopsis "Collection of YASnippet snippets for many languages")
6193 (description
6194 "Provides Andrea Crotti's collection of YASnippet snippets. After installation,
6195the snippets will be in \"~/.guix-profile/share/emacs/yasnippet-snippets/\".
6196To make YASnippet aware of these snippets, add the above directory to
6197@code{yas-snippet-dirs}.")
6198 (license license:expat))))
6199
6200(define-public emacs-helm-c-yasnippet
6201 (let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")
6202 (revision "1"))
6203 (package
6204 (name "emacs-helm-c-yasnippet")
6205 (version (string-append "0.6.7" "-" revision "."
6206 (string-take commit 7)))
6207 (source (origin
6208 (method git-fetch)
6209 (uri (git-reference
6210 (url "https://github.com/emacs-jp/helm-c-yasnippet")
6211 (commit commit)))
6212 (file-name (string-append name "-" version "-checkout"))
6213 (sha256
6214 (base32
6215 "1cbafjqlzxbg19xfdqsinsh7afq58gkf44rsg1qxfgm8g6zhr7f8"))))
6216 (build-system emacs-build-system)
6217 (propagated-inputs
6218 `(("emacs-helm" ,emacs-helm)
6219 ("emacs-yasnippet" ,emacs-yasnippet)))
6220 (home-page "https://github.com/emacs-jp/helm-c-yasnippet")
6221 (synopsis "Helm integration for Yasnippet")
6222 (description "This Emacs library provides Helm interface for
6223Yasnippet.")
6224 (license license:gpl2+))))
6225
6226(define-public emacs-helm-system-packages
703a095e
PN
6227 ;; There won't be a new release after 1.10.1 until
6228 ;; https://github.com/emacs-helm/helm-system-packages/issues/25 is fixed,
6229 ;; and latest commits fix import issues with Guix.
6230 (let ((commit "6572340f41611ef1991e9612d34d59130957ee4a"))
6231 (package
6232 (name "emacs-helm-system-packages")
6233 (version (git-version "1.10.1" "1" commit))
6234 (source (origin
6235 (method git-fetch)
6236 (uri (git-reference
6237 (url "https://github.com/emacs-helm/helm-system-packages")
6238 (commit commit)))
6239 (file-name (git-file-name name version))
6240 (sha256
6241 (base32
6242 "0mcz6vkpk12vsyd37xv1rbg4v442sxc3lj8yxskqg294xbdaclz4"))))
6243 (build-system emacs-build-system)
6244 (inputs
6245 `(("recutils" ,recutils)))
6246 (propagated-inputs
6247 `(("emacs-helm" ,emacs-helm)))
6248 (arguments
6249 `(#:phases
6250 (modify-phases %standard-phases
6251 (add-after 'unpack 'configure
6252 (lambda* (#:key inputs outputs #:allow-other-keys)
6253 (let ((recutils (assoc-ref inputs "recutils")))
6254 ;; Specify the absolute file names of the various
6255 ;; programs so that everything works out-of-the-box.
6256 (substitute* "helm-system-packages-guix.el"
6257 (("recsel") (string-append recutils "/bin/recsel")))))))))
6258 (home-page "https://github.com/emacs-helm/helm-system-packages")
6259 (synopsis "Helm System Packages is an interface to your package manager")
6260 (description "List all available packages in Helm (with installed
eeb883cb
RW
6261packages displayed in their own respective face). Fuzzy-search, mark and
6262execute the desired action over any selections of packages: Install,
6263uninstall, display packages details (in Org Mode) or insert details at point,
6264find files owned by packages... And much more, including performing all the
6265above over the network.")
703a095e 6266 (license license:gpl3+))))
eeb883cb
RW
6267
6268(define-public emacs-memoize
6269 (package
6270 (name "emacs-memoize")
6271 (version "1.1")
6272 (source
6273 (origin
54b29af0
TGR
6274 (method git-fetch)
6275 (uri (git-reference
6276 (url "https://github.com/skeeto/emacs-memoize.git")
6277 (commit version)))
6278 (file-name (git-file-name name version))
eeb883cb 6279 (sha256
54b29af0 6280 (base32 "04qgnlg4x6va7x364dhj1wbjmz8p5iq2vk36mn9198k2vxmijwzk"))))
eeb883cb
RW
6281 (build-system emacs-build-system)
6282 (arguments
6283 `(#:tests? #t
6284 #:test-command '("emacs" "--batch"
6285 "-l" "memoize-test.el"
6286 "-f" "ert-run-tests-batch-and-exit")))
6287 (home-page "https://github.com/skeeto/emacs-memoize")
6288 (synopsis "Emacs lisp memoization library")
6289 (description "@code{emacs-memoize} is an Emacs library for
6290memoizing functions.")
6291 (license license:unlicense)))
6292
6293(define-public emacs-linum-relative
6294 (package
6295 (name "emacs-linum-relative")
6296 (version "0.5")
6297 (source
6298 (origin
7896c19c
TGR
6299 (method git-fetch)
6300 (uri (git-reference
6301 (url "https://github.com/coldnew/linum-relative.git")
6302 (commit version)))
6303 (file-name (git-file-name name version))
eeb883cb 6304 (sha256
7896c19c 6305 (base32 "11bjnqqwvr9zrvz5dlm8a0yw4zg9ysh3jdiq5a6iw09d3f0h1v2s"))))
eeb883cb
RW
6306 (build-system emacs-build-system)
6307 (home-page "https://github.com/coldnew/linum-relative")
6308 (synopsis "Relative line numbering for Emacs")
6309 (description "@code{emacs-linum-relative} displays the relative line
6310number on the left margin in Emacs.")
6311 (license license:gpl2+)))
6312
6313(define-public emacs-idle-highlight
6314 (package
6315 (name "emacs-idle-highlight")
6316 (version "1.1.3")
6317 (source
6318 (origin
f782bf4a
TGR
6319 (method git-fetch)
6320 (uri (git-reference
6321 (url "https://github.com/nonsequitur/idle-highlight-mode.git")
6322 (commit version)))
6323 (file-name (git-file-name name version))
eeb883cb 6324 (sha256
f782bf4a 6325 (base32 "0x4w1ksrw7dicl84zpf4d4scg672dyan9g95jkn6zvri0lr8xciv"))))
eeb883cb
RW
6326 (build-system emacs-build-system)
6327 (home-page "https://www.emacswiki.org/emacs/IdleHighlight")
6328 (synopsis "Highlights all occurrences of the word the point is on")
6329 (description
6330 "This Emacs package provides @code{idle-highlight-mode} that sets
6331 an idle timer to highlight all occurrences in the buffer of the word under
6332 the point.")
6333 (license license:gpl3+)))
6334
6335(define-public emacs-ox-twbs
6336 (package
6337 (name "emacs-ox-twbs")
6338 (version "1.1.1")
6339 (source
6340 (origin
aad5c928
TGR
6341 (method git-fetch)
6342 (uri (git-reference
6343 (url "https://github.com/marsmining/ox-twbs.git")
6344 (commit (string-append "v" version))))
6345 (file-name (git-file-name name version))
eeb883cb 6346 (sha256
aad5c928 6347 (base32 "0kd45p8y7ykadmai4jn1x1pgpafyqggwb1ccbjzalxw4k9wmd45f"))))
eeb883cb
RW
6348 (build-system emacs-build-system)
6349 (home-page "https://github.com/marsmining/ox-twbs")
6350 (synopsis "Export org-mode docs as HTML compatible with Twitter Bootstrap")
6351 (description
6352 "This Emacs package outputs your org-mode docs with a simple, clean and
6353modern look. It implements a new HTML back-end for exporting org-mode docs as
6354HTML compatible with Twitter Bootstrap. By default, HTML is exported with
6355jQuery and Bootstrap resources included via osscdn.")
6356 (license license:gpl3+)))
6357
6358(define-public emacs-highlight-sexp
6359 (package
6360 (name "emacs-highlight-sexp")
6361 (version "1.0")
6362 (source
6363 (origin
d82680e6
TGR
6364 (method git-fetch)
6365 (uri (git-reference
6366 (url "https://github.com/daimrod/highlight-sexp.git")
6367 (commit (string-append "v" version))))
6368 (file-name (git-file-name name version))
eeb883cb 6369 (sha256
d82680e6 6370 (base32 "12cyk2q5g6p4ac2hykw1cag7dp1prjjnck5f7nalwwaklmy62y79"))))
eeb883cb
RW
6371 (build-system emacs-build-system)
6372 (home-page "https://github.com/daimrod/highlight-sexp")
6373 (synopsis "Minor mode that highlights the s-exp at the current position")
6374 (description
6375 "This Emacs package highlights the s-exp at the current position.")
6376 (license license:gpl3+)))
6377
6378(define-public emacs-highlight-stages
6379 (let ((commit "29cbc5b78261916da042ddb107420083da49b271")
6380 (revision "1"))
6381 (package
6382 (name "emacs-highlight-stages")
6383 (version (string-append "1.1.0" "-" revision "." (string-take commit 7)))
6384 (source
6385 (origin
6386 (method git-fetch)
6387 (uri (git-reference
6388 (url "https://github.com/zk-phi/highlight-stages.git")
6389 (commit commit)))
6390 (file-name (string-append name "-" version "-checkout"))
6391 (sha256
6392 (base32
6393 "0r6nbcrr0dqpgm8dir8ahzjy7rw4nrac48byamzrq96r7ajlxlv0"))
6394 (patches
6395 (search-patches "emacs-highlight-stages-add-gexp.patch"))))
6396 (build-system emacs-build-system)
6397 (home-page "https://github.com/wigust/highlight-stages")
6398 (synopsis "Minor mode that highlights (quasi-quoted) expressions")
6399 (description "@code{highlight-stages} provides an Emacs minor mode that
6400highlights quasi-quoted expressions.")
6401 (license license:gpl3+))))
6402
6403(define-public emacspeak
6404 (package
6405 (name "emacspeak")
ea32c946 6406 (version "49.0")
eeb883cb
RW
6407 (source
6408 (origin
6409 (method url-fetch)
6410 (uri (string-append
6411 "https://github.com/tvraman/emacspeak/releases/download/"
6412 version "/emacspeak-" version ".tar.bz2"))
6413 (sha256
6414 (base32
ea32c946 6415 "1smf26m7201z0bk49lzbw9zhbjfi6wylidfjixb8ylp6g0wnh8dx"))))
eeb883cb
RW
6416 (build-system gnu-build-system)
6417 (arguments
6418 '(#:make-flags (list (string-append "prefix="
6419 (assoc-ref %outputs "out")))
6420 #:phases
6421 (modify-phases %standard-phases
6422 (replace 'configure
6423 (lambda* (#:key outputs #:allow-other-keys)
6424 (let* ((out (assoc-ref outputs "out"))
6425 (lisp (string-append out
6426 "/share/emacs/site-lisp/emacspeak")))
6427 (setenv "SHELL" (which "sh"))
6428 ;; Configure Emacspeak according to etc/install.org.
6429 (invoke "make" "config"))))
6430 (add-after 'build 'build-espeak
6431 (lambda _
6432 (invoke "make" "espeak")))
6433 (replace 'install
6434 (lambda* (#:key inputs outputs #:allow-other-keys)
6435 (let* ((out (assoc-ref outputs "out"))
6436 (bin (string-append out "/bin"))
6437 (lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
6438 (info (string-append out "/share/info"))
6439 (emacs (string-append (assoc-ref inputs "emacs")
6440 "/bin/emacs")))
6441 ;; According to etc/install.org, the Emacspeak directory should
6442 ;; be copied to its installation destination.
6443 (for-each
6444 (lambda (file)
6445 (copy-recursively file (string-append lisp "/" file)))
6446 '("etc" "info" "js" "lisp" "media" "scapes" "servers" "sounds"
6447 "stumpwm" "xsl"))
6448 ;; Make sure emacspeak is loaded from the correct directory.
6449 (substitute* "etc/emacspeak.sh"
ea32c946
KK
6450 (("/lisp/emacspeak-setup.el")
6451 (string-append lisp "/lisp/emacspeak-setup.el")))
eeb883cb
RW
6452 ;; Install the convenient startup script.
6453 (mkdir-p bin)
6454 (copy-file "etc/emacspeak.sh" (string-append bin "/emacspeak")))
6455 #t))
6456 (add-after 'install 'wrap-program
6457 (lambda* (#:key inputs outputs #:allow-other-keys)
6458 (let* ((out (assoc-ref outputs "out"))
6459 (emacspeak (string-append out "/bin/emacspeak"))
6460 (espeak (string-append (assoc-ref inputs "espeak")
6461 "/bin/espeak")))
6462 ;; The environment variable DTK_PROGRAM tells emacspeak what
6463 ;; program to use for speech.
6464 (wrap-program emacspeak
6465 `("DTK_PROGRAM" ":" prefix (,espeak)))
6466 #t))))
6467 #:tests? #f)) ; no check target
6468 (inputs
6469 `(("emacs" ,emacs)
6470 ("espeak" ,espeak)
6471 ("perl" ,perl)
6472 ("tcl" ,tcl)
6473 ("tclx" ,tclx)))
6474 (home-page "http://emacspeak.sourceforge.net")
6475 (synopsis "Audio desktop interface for Emacs")
6476 (description
6477 "Emacspeak is a speech interface that allows visually impaired users to
6478interact independently and efficiently with the computer. Audio formatting
6479--a technique pioneered by AsTeR-- and full support for W3C's Aural CSS (ACSS)
6480allows Emacspeak to produce rich aural presentations of electronic information.
6481By seamlessly blending all aspects of the Internet such as Web-surfing and
6482messaging, Emacspeak speech-enables local and remote information via a
6483consistent and well-integrated user interface.")
6484 (license license:gpl2+)))
6485
6486(define-public emacs-adaptive-wrap
6487 (package
6488 (name "emacs-adaptive-wrap")
6489 (version "0.5.1")
6490 (source (origin
6491 (method url-fetch)
6492 (uri (string-append
6493 "http://elpa.gnu.org/packages/adaptive-wrap-"
6494 version ".el"))
6495 (sha256
6496 (base32
6497 "0qi7gjprcpywk2daivnlavwsx53hl5wcqvpxbwinvigg42vxh3ll"))))
6498 (build-system emacs-build-system)
6499 (home-page "http://elpa.gnu.org/packages/adaptive-wrap.html")
6500 (synopsis "Smart line-wrapping with wrap-prefix")
6501 (description
6502 "This Emacs package provides the @code{adaptive-wrap-prefix-mode}
6503minor mode which sets the wrap-prefix property on the fly so that
6504single-long-line paragraphs get word-wrapped in a way similar to what
6505you'd get with @kbd{M-q} using @code{adaptive-fill-mode}, but without
6506actually changing the buffer's text.")
6507 (license license:gpl3+)))
6508
6509(define-public emacs-diff-hl
6510 (package
6511 (name "emacs-diff-hl")
6512 (version "1.8.5")
6513 (source
6514 (origin
6515 (method url-fetch)
6516 (uri (string-append "https://elpa.gnu.org/packages/diff-hl-"
6517 version ".tar"))
6518 (sha256
6519 (base32
6520 "1vxc7z7c2qs0mx7l5sa4sybi5qbzv0s79flj74p1ynw8dl3qxg3d"))))
6521 (build-system emacs-build-system)
6522 (home-page "https://github.com/dgutov/diff-hl")
6523 (synopsis
6524 "Highlight uncommitted changes using VC")
6525 (description
6526 "@code{diff-hl-mode} highlights uncommitted changes on the side of the
6527window (using the fringe, by default), allows you to jump between
6528the hunks and revert them selectively.")
6529 (license license:gpl3+)))
6530
6531(define-public emacs-diminish
6532 (package
6533 (name "emacs-diminish")
6534 (version "0.45")
6535 (source
6536 (origin
6e469344
TGR
6537 (method git-fetch)
6538 (uri (git-reference
6539 (url "https://github.com/myrjola/diminish.el.git")
6540 (commit (string-append "v" version))))
6541 (file-name (git-file-name name version))
eeb883cb 6542 (sha256
6e469344 6543 (base32 "0qpgfgp8hrzz4vdifxq8h25n0a0jlzgf7aa1fpy6r0080v5rqbb6"))))
eeb883cb
RW
6544 (build-system emacs-build-system)
6545 (home-page "https://github.com/myrjola/diminish.el")
6546 (synopsis "Diminish minor modes with no modeline display")
6547 (description "@code{emacs-diminish} implements hiding or
6548abbreviation of the mode line displays (lighters) of minor modes.")
6549 (license license:gpl2+)))
6550
6551(define-public emacs-use-package
6552 (let ((commit "da8c9e2840343906e732f9699e43d35a1f06481d")
6553 (revision "1"))
6554 (package
6555 (name "emacs-use-package")
6556 (version (git-version "2.3" revision commit))
6557 (source (origin
6558 (method git-fetch)
6559 (uri (git-reference
6560 (url "https://github.com/jwiegley/use-package")
6561 (commit commit)))
6562 (file-name (git-file-name name version))
6563 (sha256
6564 (base32
6565 "0jz38pbq1p9h85i6qcsh3sfzkd103y6mw3rg5zd14dxigp8ir3xz"))))
6566 (build-system emacs-build-system)
6567 (propagated-inputs
6568 `(("emacs-diminish" ,emacs-diminish)))
6569 (arguments
6570 `(#:tests? #t
6571 #:test-command '("emacs" "--batch"
6572 "-l" "use-package-tests.el"
6573 "-f" "ert-run-tests-batch-and-exit")))
6574 (home-page "https://github.com/jwiegley/use-package")
6575 (synopsis "Declaration for simplifying your .emacs")
6576 (description "The use-package macro allows you to isolate package
6577configuration in your @file{.emacs} file in a way that is both
6578performance-oriented and tidy.")
6579 (license license:gpl2+))))
6580
6581(define-public emacs-strace-mode
6582 (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
6583 (revision "1"))
6584 (package
6585 (name "emacs-strace-mode")
6586 (version (string-append "0.0.2-" revision "." (string-take commit 7)))
6587 (source (origin
6588 (method git-fetch)
6589 (uri (git-reference
6590 (url "https://github.com/pkmoore/strace-mode")
6591 (commit commit)))
6592 (file-name (string-append name "-" version "-checkout"))
6593 (sha256
6594 (base32
6595 "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f"))))
6596 (build-system emacs-build-system)
6597 (home-page "https://github.com/pkmoore/strace-mode")
6598 (synopsis "Emacs major mode to highlight strace outputs")
6599 (description "@code{emacs-strace-mode} provides an Emacs major mode
6600 highlighting strace outputs.")
6601 (license license:gpl3+))))
6602
6603(define-public emacs-default-encrypt
6604 (package
6605 (name "emacs-default-encrypt")
6606 (version "4.3")
6607 (source
6608 (origin
6609 (method url-fetch)
6610 (uri (string-append
6611 "https://www.informationelle-selbstbestimmung-im-internet.de"
6612 "/emacs/jl-encrypt" version "/jl-encrypt.el"))
6613 (file-name (string-append "jl-encrypt-" version ".el"))
6614 (sha256
6615 (base32
6616 "16i3rlfp3jxlqvndn8idylhmczync3gwmy8a019v29vyr48rnnr0"))))
6617 (build-system emacs-build-system)
6618 (home-page "https://www.informationelle-selbstbestimmung-im-internet.de/Emacs.html")
6619 (synopsis "Automatically encrypt or sign Gnus messages in Emacs")
6620 (description
6621 "DefaultEncrypt is designed to be used with Gnus in Emacs. It
6622automatically encrypts messages that you send (e.g., email) when public keys
6623for all recipients are available, and it protects you from accidentally
6624sending un-encrypted messages. It can also be configured to automatically
6625sign messages that you send. For details and instructions on how to use
6626DefaultEncrypt, please refer to the home page or read the comments in the
6627source file, @file{jl-encrypt.el}.")
6628 (license license:gpl3+)))
6629
6630(define-public emacs-htmlize
6631 (package
6632 (name "emacs-htmlize")
6633 (version "1.53")
6634 (source
6635 (origin
eb930573
TGR
6636 (method git-fetch)
6637 (uri (git-reference
6638 (url "https://github.com/hniksic/emacs-htmlize.git")
6639 (commit (string-append "release/" version))))
6640 (file-name (git-file-name name version))
eeb883cb 6641 (sha256
eb930573 6642 (base32 "0dr235c0z8is3pi5xdgqyqljg6px0b2aya6qb79zkyi477bmz4ip"))))
eeb883cb
RW
6643 (build-system emacs-build-system)
6644 (home-page "https://github.com/hniksic/emacs-htmlize")
6645 (synopsis "Convert buffer text and decorations to HTML")
6646 (description "@code{emacs-htmlize} converts the buffer text and
6647the associated decorations to HTML. Output to CSS, inline CSS and
6648fonts is supported.")
6649 (license license:gpl2+)))
6650
6651(define-public emacs-xmlgen
6652 (package
6653 (name "emacs-xmlgen")
6654 (version "0.5")
6655 (source
6656 (origin
02248231
TGR
6657 (method git-fetch)
6658 (uri (git-reference
6659 (url "https://github.com/philjackson/xmlgen.git")
6660 (commit version)))
6661 (file-name (git-file-name name version))
eeb883cb 6662 (sha256
02248231 6663 (base32 "096i29v0badx0a6339h9ckdz78zj59gbjdp7vj7vhkq9d830392s"))))
eeb883cb
RW
6664 (build-system emacs-build-system)
6665 (arguments
6666 `(#:tests? #t
6667 #:test-command '("emacs" "--batch"
6668 "-l" "xmlgen-test.el"
6669 "-f" "ert-run-tests-batch-and-exit")))
6670 (home-page "https://github.com/philjackson/xmlgen")
6671 (synopsis "S-expression to XML domain specific language (DSL) in
6672Emacs Lisp")
6673 (description "@code{emacs-xmlgen} provides S-expression to XML
6674conversion for Emacs Lisp.")
6675 (license license:gpl2+)))
6676
6677(define-public emacs-cdlatex
6678 (package
6679 (name "emacs-cdlatex")
6680 (version "4.7")
6681 (source
6682 (origin
96a15c65
TGR
6683 (method git-fetch)
6684 (uri (git-reference
6685 (url "https://github.com/cdominik/cdlatex.git")
6686 (commit version)))
6687 (file-name (git-file-name name version))
eeb883cb 6688 (sha256
96a15c65 6689 (base32 "1jj9vmhc4s3ych08bjm1c2xwi81z1p20rj7bvxrgvb5aga2ghi9d"))))
eeb883cb
RW
6690 (build-system emacs-build-system)
6691 (propagated-inputs
6692 `(("emacs-auctex" ,emacs-auctex)))
6693 (home-page "https://github.com/cdominik/cdlatex")
6694 (synopsis "Fast Emacs input methods for LaTeX environments and
6695math")
6696 (description "CDLaTeX is an Emacs minor mode supporting fast
6697insertion of environment templates and math in LaTeX. Similar
6698commands are also offered as part of the AUCTeX package, but it is not
6699the same - CDLaTeX focuses on speediness for inserting LaTeX
6700constructs.")
6701 (license license:gpl3+)))
6702
6703(define-public emacs-cnfonts
6704 (package
6705 (name "emacs-cnfonts")
6706 (version "0.9.1")
64f8e50c
TGR
6707 (source
6708 (origin
6709 (method git-fetch)
6710 (uri (git-reference
6711 (url "https://github.com/tumashu/cnfonts.git")
6712 (commit (string-append "v" version))))
6713 (file-name (git-file-name name version))
6714 (sha256
6715 (base32 "11d44lf0m0kbzq1mvyqkl4aprys0xqaarp08nij57xnynin1rynx"))))
eeb883cb
RW
6716 (build-system emacs-build-system)
6717 (home-page "https://github.com/tumashu/cnfonts")
6718 (synopsis "Emacs Chinese fonts setup tool")
6719 (description "cnfonts is a Chinese fonts setup tool, allowing for easy
6720configuration of Chinese fonts.")
6721 (license license:gpl2+)))
6722
6723(define-public emacs-php-mode
6724 (package
6725 (name "emacs-php-mode")
6726 (version "20171225.342")
6727 (source (origin
6728 (method url-fetch)
6729 (uri (string-append
6730 "https://melpa.org/packages/php-mode-"
6731 version ".tar"))
6732 (sha256
6733 (base32
6734 "1zz682f34v4wsm2dyj1gnrnvsrqdq1cy7j8p6cvc398w2fziyg3q"))))
6735 (build-system emacs-build-system)
6736 (home-page "https://github.com/ejmr/php-mode")
6737 (synopsis "Major mode for editing PHP code")
6738 (description "@code{php-mode} is a major mode for editing PHP source
6739code. It's an extension of C mode; thus it inherits all C mode's navigation
6740functionality. But it colors according to the PHP grammar and indents
6741according to the PEAR coding guidelines. It also includes a couple handy
6742IDE-type features such as documentation search and a source and class
6743browser.")
6744 (license license:gpl3+)))
6745
6746(define-public emacs-pos-tip
6747 (package
6748 (name "emacs-pos-tip")
6749 (version "0.4.6")
b206798d
TGR
6750 (source
6751 (origin
6752 (method git-fetch)
6753 (uri (git-reference
6754 (url "https://github.com/pitkali/pos-tip.git")
6755 (commit version)))
6756 (file-name (git-file-name name version))
6757 (sha256
6758 (base32 "0w8bnspnk871qndp18hs0wk4x9x31xr9rwbvf5dc8mcbnj29ch33"))))
eeb883cb
RW
6759 (build-system emacs-build-system)
6760 ;; The following functions and variables needed by emacs-pos-tip are
6761 ;; not included in emacs-minimal:
6762 ;; x-display-pixel-width, x-display-pixel-height, x-show-tip
6763 (arguments `(#:emacs ,emacs))
6764 (home-page "https://github.com/pitkali/pos-tip")
6765 (synopsis "Show tooltip at point")
6766 (description "The standard library tooltip.el provides a function for
6767displaying a tooltip at the mouse position. However, locating a tooltip at an
6768arbitrary buffer position in a window is not easy. Pos-tip provides such a
6769function to be used by other frontend programs.")
6770 (license license:gpl2+)))
6771
6772(define-public emacs-pyim-basedict
6773 (package
6774 (name "emacs-pyim-basedict")
6775 (version "0.3.1")
ef138474
TGR
6776 (source
6777 (origin
6778 (method git-fetch)
6779 (uri (git-reference
6780 (url "https://github.com/tumashu/pyim-basedict.git")
6781 (commit (string-append "v" version))))
6782 (file-name (git-file-name name version))
6783 (sha256
6784 (base32 "0576r8ap9gp91ycjf1d47pn13kxp0f9fysn09zlq44hr0s1y2y5d"))))
eeb883cb
RW
6785 (build-system emacs-build-system)
6786 (home-page "https://github.com/tumashu/pyim-basedict")
6787 (synopsis "Input method dictionary of pyim")
6788 (description "Pyim-basedict is the default pinyin input method dictionary,
6789containing words from the rime project.")
6790 (license license:gpl2+)))
6791
6792(define-public emacs-pyim
6793 (package
6794 (name "emacs-pyim")
6795 (version "1.8")
6796 (source
6797 (origin
6798 (method git-fetch)
6799 (uri (git-reference
6800 (url "https://github.com/tumashu/pyim")
6801 (commit (string-append "v" version))))
6802 (file-name (git-file-name name version))
6803 (sha256
6804 (base32
6805 "16rma4cv7xgky0g3x4an27v30jdi6i1sqw43cl99zhkqvp43l3f9"))))
6806 (build-system emacs-build-system)
6807 (propagated-inputs
6808 `(("emacs-async" ,emacs-async)
6809 ("emacs-pyim-basedict" ,emacs-pyim-basedict)
6810 ("emacs-popup" ,emacs-popup)
6811 ("emacs-posframe" ,emacs-posframe)))
6812 (home-page "https://github.com/tumashu/pyim")
6813 (synopsis "Chinese input method")
6814 (description "Chinese input method which supports quanpin, shuangpin, wubi
6815and cangjie.")
6816 (license license:gpl2+)))
6817
6818(define-public emacs-posframe
6819 (package
6820 (name "emacs-posframe")
6821 (version "0.4.2")
6822 (source
6823 (origin
6824 (method url-fetch)
6825 (uri (string-append
6826 "https://elpa.gnu.org/packages/posframe-" version ".el"))
6827 (sha256
6828 (base32
6829 "1h8vvxvsg41vc1nnglqjs2q0k1yzfsn72skga9s76qa3zxmx6kds"))))
6830 (build-system emacs-build-system)
6831 ;; emacs-minimal does not include the function font-info
6832 (arguments `(#:emacs ,emacs))
6833 (home-page "https://github.com/tumashu/posframe")
6834 (synopsis "Pop a posframe (a child frame) at point")
6835 (description "@code{emacs-posframe} can pop a posframe at point. A
6836posframe is a child frame displayed within its root window's buffer.
6837@code{emacs-posframe} is fast and works well with CJK languages.")
6838 (license license:gpl3+)))
6839
6840(define-public emacs-el2org
6841 (package
6842 (name "emacs-el2org")
6843 (version "0.6.0")
ca8ddaaa
TGR
6844 (source
6845 (origin
6846 (method git-fetch)
6847 (uri (git-reference
6848 (url "https://github.com/tumashu/el2org.git")
6849 (commit (string-append "v" version))))
6850 (file-name (git-file-name name version))
6851 (sha256
6852 (base32 "0mzddqny6wpg1fv99xrvlv7rxmaifvmy5bvj4in4pldhm4cx4q1b"))))
eeb883cb
RW
6853 (build-system emacs-build-system)
6854 (home-page "https://github.com/tumashu/el2org")
6855 (synopsis "Convert Emacs-lisp file to org file")
6856 (description "El2org is a simple tool, which can convert Emacs-lisp file
6857to org file, you can use this tool to write orgify commentary.")
6858 (license license:gpl2+)))
6859
6860(define-public emacs-mustache
6861 (package
6862 (name "emacs-mustache")
6863 (version "0.23")
26ff7a32
TGR
6864 (source
6865 (origin
6866 (method git-fetch)
6867 (uri (git-reference
6868 (url "https://github.com/Wilfred/mustache.el.git")
6869 (commit version)))
6870 (file-name (git-file-name name version))
6871 (sha256
6872 (base32 "1n2ymd92qpvsby6ms0l3kjhdzzc47rri2aiscc6bs07hm4mjpr9q"))))
eeb883cb
RW
6873 (build-system emacs-build-system)
6874 (propagated-inputs
6875 `(("emacs-dash" ,emacs-dash)
6876 ("emacs-ht" ,emacs-ht)
6877 ("emacs-s" ,emacs-s)))
6878 (home-page "https://github.com/Wilfred/mustache.el")
6879 (synopsis "Mustache templating library for Emacs")
6880 (description "Mustache templating library for Emacs, mustache is
6881a simple web template system, which is described as a logic-less system
6882because it lacks any explicit control flow statements, both looping and
6883conditional evaluation can be achieved using section tags processing lists
6884and lambdas.")
6885 (license license:gpl3+)))
6886
6887(define-public emacs-org2web
6888 (package
6889 (name "emacs-org2web")
6890 (version "0.9.1")
6891 (source (origin
6892 (method url-fetch)
6893 (uri (string-append
6894 "https://github.com/tumashu/org2web/archive/v"
6895 version ".tar.gz"))
6896 (file-name (string-append name "-" version ".tar.gz"))
6897 (sha256
6898 (base32
6899 "1c0ixcphlhp4c4qdiwq40bc3yp1gp1llp8pxrk4s7ny9n68s52zp"))))
6900 (build-system emacs-build-system)
6901 (propagated-inputs
6902 `(("emacs-dash" ,emacs-dash)
6903 ("emacs-el2org" ,emacs-el2org)
6904 ("emacs-ht" ,emacs-ht)
6905 ("emacs-mustache" ,emacs-mustache)
6906 ("emacs-simple-httpd" ,emacs-simple-httpd)))
6907 (home-page "https://github.com/tumashu/org2web")
6908 (synopsis "Static site generator based on org-mode ")
6909 (description "Org2web is a static site generator based on org-mode,
6910which code derived from Kelvin H's org-page.")
6911 (license license:gpl2+)))
6912
6913(define-public emacs-xelb
6914 (package
6915 (name "emacs-xelb")
e3da630b 6916 (version "0.17")
eeb883cb
RW
6917 (source (origin
6918 (method url-fetch)
6919 (uri (string-append "https://elpa.gnu.org/packages/xelb-"
6920 version ".tar"))
6921 (sha256
6922 (base32
e3da630b 6923 "0k98580vq253fjdgklgqlwl450saninfw39fbq8lv3xsnp3dcgml"))))
eeb883cb
RW
6924 (build-system emacs-build-system)
6925 ;; The following functions and variables needed by emacs-xelb are
6926 ;; not included in emacs-minimal:
6927 ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym
6928 ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region
6929 ;; x-display-pixel-width, x-display-pixel-height
6930 (arguments
6931 `(#:emacs ,emacs
6932 #:phases
6933 (modify-phases %standard-phases
6934 (add-after 'unpack 'regenerate-el-files
6935 (lambda* (#:key inputs #:allow-other-keys)
6936 (invoke "make"
6937 (string-append "PROTO_PATH="
6938 (assoc-ref inputs "xcb-proto")
6939 "/share/xcb")
6940 (string-append "EMACS_BIN="
6941 (assoc-ref inputs "emacs")
6942 "/bin/emacs -Q")))))))
6943 (native-inputs `(("xcb-proto" ,xcb-proto)))
6944 (home-page "https://github.com/ch11ng/xelb")
6945 (synopsis "X protocol Emacs Lisp binding")
6946 (description "@code{emacs-xelb} is a pure Emacs Lisp implementation of the
6947X11 protocol based on the XML description files from the XCB project. It
6948features an object-oriented API and permits a certain degree of concurrency.
6949It should enable you to implement low-level X11 applications.")
6950 (license license:gpl3+)))
6951
6952(define-public emacs-exwm
6953 (package
6954 (name "emacs-exwm")
451a5ae9 6955 (version "0.22")
eeb883cb
RW
6956 (synopsis "Emacs X window manager")
6957 (source (origin
6958 (method url-fetch)
6959 (uri (string-append "https://elpa.gnu.org/packages/exwm-"
6960 version ".tar"))
6961 (sha256
6962 (base32
451a5ae9 6963 "0lppm8ng37i5s4x7xdrxhjbdcnpl6pyvn4g7w52zbckjsn8qnqh0"))))
eeb883cb
RW
6964 (build-system emacs-build-system)
6965 (propagated-inputs
6966 `(("emacs-xelb" ,emacs-xelb)))
6967 (inputs
6968 `(("xhost" ,xhost)
6969 ("dbus" ,dbus)))
6970 ;; The following functions and variables needed by emacs-exwm are
6971 ;; not included in emacs-minimal:
6972 ;; scroll-bar-mode, fringe-mode
6973 ;; x-display-pixel-width, x-display-pixel-height
6974 (arguments
6975 `(#:emacs ,emacs
6976 #:phases
6977 (modify-phases %standard-phases
6978 (add-after 'build 'install-xsession
6979 (lambda* (#:key inputs outputs #:allow-other-keys)
6980 (let* ((out (assoc-ref outputs "out"))
6981 (xsessions (string-append out "/share/xsessions"))
6982 (bin (string-append out "/bin"))
6983 (exwm-executable (string-append bin "/exwm")))
6984 ;; Add a .desktop file to xsessions
6985 (mkdir-p xsessions)
6986 (mkdir-p bin)
6987 (with-output-to-file
6988 (string-append xsessions "/exwm.desktop")
6989 (lambda _
6990 (format #t "[Desktop Entry]~@
6991 Name=~a~@
6992 Comment=~a~@
6993 Exec=~a~@
f7d011d2 6994 TryExec=~:*~a~@
eeb883cb
RW
6995 Type=Application~%" ,name ,synopsis exwm-executable)))
6996 ;; Add a shell wrapper to bin
6997 (with-output-to-file exwm-executable
6998 (lambda _
6999 (format #t "#!~a ~@
7000 ~a +SI:localuser:$USER ~@
7001 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
7002 (string-append (assoc-ref inputs "bash") "/bin/sh")
7003 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
7004 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
7005 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
7006 '(cond
7007 ((file-exists-p "~/.exwm")
7008 (load-file "~/.exwm"))
7009 ((not (featurep 'exwm))
7010 (require 'exwm)
7011 (require 'exwm-config)
7012 (exwm-config-default)
7013 (message (concat "exwm configuration not found. "
7014 "Falling back to default configuration...")))))))
7015 (chmod exwm-executable #o555)
7016 #t))))))
7017 (home-page "https://github.com/ch11ng/exwm")
7018 (description "EXWM is a full-featured tiling X window manager for Emacs
7019built on top of XELB.")
7020 (license license:gpl3+)))
7021
7022(define-public emacs-switch-window
7023 (package
7024 (name "emacs-switch-window")
7025 (version "1.6.2")
7026 (source
7027 (origin
7028 (method git-fetch)
7029 (uri (git-reference
7030 (url "https://github.com/dimitri/switch-window")
7031 (commit (string-append "v" version))))
7032 (file-name (git-file-name name version))
7033 (sha256
7034 (base32
7035 "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"))))
7036 (build-system emacs-build-system)
7037 (home-page "https://github.com/dimitri/switch-window")
7038 (synopsis "Emacs window switch tool")
7039 (description "Switch-window is an emacs window switch tool, which
7040offer a visual way to choose a window to switch to, delete, split or
7041other operations.")
7042 (license license:wtfpl2)))
7043
7044(define-public emacs-exwm-x
7045 (package
7046 (name "emacs-exwm-x")
7047 (version "1.9.0")
7048 (synopsis "Derivative window manager based on EXWM")
7049 (source
7050 (origin
7051 (method git-fetch)
7052 (uri (git-reference
7053 (url "https://github.com/tumashu/exwm-x")
7054 (commit (string-append "v" version))))
7055 (file-name (git-file-name name version))
7056 (sha256
7057 (base32
7058 "03l3dl7s1qys1kkh40rm1sfx7axy1b8sf5f6nyksj9ps6d30p5i4"))))
7059 (build-system emacs-build-system)
7060 (propagated-inputs
7061 `(("emacs-exwm" ,emacs-exwm)
7062 ("emacs-switch-window" ,emacs-switch-window)
7063 ("emacs-ivy" ,emacs-ivy)
7064 ("emacs-use-package" ,emacs-use-package)))
7065 (inputs
7066 `(("xhost" ,xhost)
7067 ("dbus" ,dbus)))
7068 ;; Need emacs instead of emacs-minimal,
7069 ;; for emacs's bin path will be inserted into bin/exwm-x file.
7070 (arguments
7071 `(#:emacs ,emacs
7072 #:phases
7073 (modify-phases %standard-phases
7074 (add-after 'build 'install-xsession
7075 (lambda* (#:key inputs outputs #:allow-other-keys)
7076 (let* ((out (assoc-ref outputs "out"))
7077 (xsessions (string-append out "/share/xsessions"))
7078 (bin (string-append out "/bin"))
7079 (exwm-executable (string-append bin "/exwm-x")))
7080 ;; Add a .desktop file to xsessions
7081 (mkdir-p xsessions)
7082 (mkdir-p bin)
7083 (with-output-to-file
7084 (string-append xsessions "/exwm-x.desktop")
7085 (lambda _
7086 (format #t "[Desktop Entry]~@
7087 Name=~a~@
7088 Comment=~a~@
7089 Exec=~a~@
7090 TryExec=~@*~a~@
7091 Type=Application~%" ,name ,synopsis exwm-executable)))
7092 ;; Add a shell wrapper to bin
7093 (with-output-to-file exwm-executable
7094 (lambda _
7095 (format #t "#!~a ~@
7096 ~a +SI:localuser:$USER ~@
7097 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
7098 (string-append (assoc-ref inputs "bash") "/bin/sh")
7099 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
7100 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
7101 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
7102 '(require 'exwmx-loader))))
7103 (chmod exwm-executable #o555)
7104 #t))))))
7105 (home-page "https://github.com/tumashu/exwm-x")
7106 (description "EXWM-X is a derivative window manager based on EXWM, with focus
7107on mouse-control.")
7108 (license license:gpl3+)))
7109
7110(define-public emacs-gnuplot
7111 (package
7112 (name "emacs-gnuplot")
7113 (version "0.7.0")
7114 (source
7115 (origin
7116 (method url-fetch)
7117 (uri (string-append
7118 "https://github.com/bruceravel/gnuplot-mode/archive/"
7119 version ".tar.gz"))
7120 (file-name (string-append name "-" version ".tar.gz"))
7121 (sha256
7122 (base32
7123 "0glzymrn138lwig7p4cj17x4if5jisr6l4g6wcbxisqkqgc1h01i"))))
7124 (build-system gnu-build-system)
7125 (native-inputs `(("emacs" ,emacs-minimal)))
7126 (arguments
7127 (let ((elisp-dir (string-append "/share/emacs/site-lisp/guix.d"
7128 "/gnuplot-" version)))
7129 `(#:modules ((guix build gnu-build-system)
7130 (guix build utils)
7131 (guix build emacs-utils))
7132 #:imported-modules (,@%gnu-build-system-modules
7133 (guix build emacs-utils))
7134 #:configure-flags
7135 (list (string-append "EMACS=" (assoc-ref %build-inputs "emacs")
7136 "/bin/emacs")
7137 (string-append "--with-lispdir=" %output ,elisp-dir))
7138 #:phases
7139 (modify-phases %standard-phases
7140 (add-after 'install 'generate-autoloads
7141 (lambda* (#:key outputs #:allow-other-keys)
7142 (emacs-generate-autoloads
7143 "gnuplot"
7144 (string-append (assoc-ref outputs "out") ,elisp-dir))
7145 #t))))))
7146 (home-page "https://github.com/bruceravel/gnuplot-mode")
7147 (synopsis "Emacs major mode for interacting with gnuplot")
7148 (description "@code{emacs-gnuplot} is an emacs major mode for interacting
7149with gnuplot.")
7150 (license license:gpl2+)))
7151
7152(define-public emacs-transpose-frame
7153 (package
7154 (name "emacs-transpose-frame")
7155 (version "0.1.0")
7156 (source
7157 (origin
7158 (method url-fetch)
7159 (uri "http://www.emacswiki.org/emacs/download/transpose-frame.el")
7160 (file-name (string-append "transpose-frame-" version ".el"))
7161 (sha256
7162 (base32
7163 "1f67yksgw9s6j0033hmqzaxx2a93jm11sd5ys7cc3li5gfh680m4"))))
7164 (build-system emacs-build-system)
7165 (home-page "https://www.emacswiki.org/emacs/TransposeFrame")
7166 (synopsis "Transpose window arrangement in current frame")
7167 (description "@code{emacs-transpose-frame} provides some interactive
7168functions which allows users to transpose windows arrangement in currently
7169selected frame.")
7170 (license license:bsd-2)))
7171
7172(define-public emacs-key-chord
7173 (package
7174 (name "emacs-key-chord")
7175 (version "0.6")
7176 (source
7177 (origin
7178 (method url-fetch)
7179 (uri "https://www.emacswiki.org/emacs/download/key-chord.el")
7180 (file-name (string-append "key-chord-" version ".el"))
7181 (sha256
7182 (base32
7183 "03m44pqggfrd53nh9dvpdjgm0rvca34qxmd30hr33hzprzjambxg"))))
7184 (build-system emacs-build-system)
7185 (home-page "https://www.emacswiki.org/emacs/key-chord.el")
7186 (synopsis "Map pairs of simultaneously pressed keys to Emacs commands")
7187 (description "@code{emacs-key-chord} provides @code{key-chord-mode}, a
7188mode for binding key chords to commands. A key chord is defined as two keys
7189pressed simultaneously or a single key quickly pressed twice.")
7190 (license license:gpl2+)))
7191
7192(define-public emacs-evil-surround
7193 (package
7194 (name "emacs-evil-surround")
7195 (version "1.0.0")
7196 (source
7197 (origin
7198 (method url-fetch)
7199 (uri (string-append
7200 "https://github.com/timcharper/evil-surround/archive/v"
7201 version ".tar.gz"))
7202 (file-name (string-append name "-" version ".tar.gz"))
7203 (sha256
7204 (base32
7205 "0p572jgic3q1ia1nz37kclir729ay6i2f4sa7wnaapyxly2lwb3r"))))
7206 (build-system emacs-build-system)
7207 (propagated-inputs
7208 `(("emacs-evil" ,emacs-evil)))
7209 (home-page "https://github.com/timcharper/evil-surround")
7210 (synopsis "Easily modify surrounding parantheses and quotes")
7211 (description "@code{emacs-evil-surround} allows easy deletion, change and
7212addition of surrounding pairs, such as parantheses and quotes, in evil mode.")
7213 (license license:gpl3+)))
7214
7215(define-public emacs-evil-commentary
7216 (package
7217 (name "emacs-evil-commentary")
7218 (version "2.1.1")
7219 (source
7220 (origin
7221 (method url-fetch)
7222 (uri (string-append
7223 "https://github.com/linktohack/evil-commentary/archive/v"
7224 version ".tar.gz"))
7225 (file-name (string-append name "-" version ".tar.gz"))
7226 (sha256
7227 (base32
7228 "1jdya0i921nwskwrzdsj0vrr3m7gm49dy6f6pk9p5nxaarfxk230"))))
7229 (build-system emacs-build-system)
7230 (propagated-inputs
7231 `(("emacs-evil" ,emacs-evil)))
7232 (home-page "https://github.com/linktohack/evil-commentary")
7233 (synopsis "Comment out code in evil mode")
7234 (description "@code{emacs-evil-commentary} adds keybindings to easily
7235comment out lines of code in evil mode. It provides @code{gcc} to comment out
7236lines, and @code{gc} to comment out the target of a motion.")
7237 (license license:gpl3+)))
7238
7239;; Tests for emacs-ansi have a circular dependency with ert-runner, and
7240;; therefore cannot be run
7241(define-public emacs-ansi
7242 (package
7243 (name "emacs-ansi")
7244 (version "0.4.1")
7245 (source
7246 (origin
7247 (method url-fetch)
7248 (uri (string-append "https://github.com/rejeep/ansi.el/archive/v"
7249 version ".tar.gz"))
7250 (file-name (string-append name "-" version ".tar.gz"))
7251 (sha256
7252 (base32
7253 "13jj4vbi98j3p17hs99bmy7g21jd5h4v3wpxk4pkvhylm3bfwjw8"))))
7254 (build-system emacs-build-system)
7255 (propagated-inputs
7256 `(("emacs-dash" ,emacs-dash)
7257 ("emacs-s" ,emacs-s)))
7258 (home-page "https://github.com/rejeep/ansi.el")
7259 (synopsis "Convert strings to ANSI")
7260 (description "@code{emacs-ansi} defines functions that turns simple
7261strings to ANSI strings. Turning a string into an ANSI string can be to add
7262color to a text, add color in the background of a text or adding a style, such
7263as bold, underscore or italic.")
7264 (license license:gpl3+)))
7265
7266;; Tests for emacs-commander have a circular dependency with ert-runner, and
7267;; therefore cannot be run
7268(define-public emacs-commander
7269 (package
7270 (name "emacs-commander")
7271 (version "0.7.0")
7272 (source
7273 (origin
7274 (method url-fetch)
7275 (uri (string-append "https://github.com/rejeep/commander.el/archive/v"
7276 version ".tar.gz"))
7277 (file-name (string-append name "-" version ".tar.gz"))
7278 (sha256
7279 (base32
7280 "196s2i15z7gwxa97l1wkxvjnfmj5n38wwm6d3g4zz15l2vqggc2y"))))
7281 (build-system emacs-build-system)
7282 (propagated-inputs
7283 `(("emacs-dash" ,emacs-dash)
7284 ("emacs-f" ,emacs-f)
7285 ("emacs-s" ,emacs-s)))
7286 (home-page "https://github.com/rejeep/commander.el")
7287 (synopsis "Emacs command line parser")
7288 (description "@code{emacs-commander} provides command line parsing for
7289Emacs.")
7290 (license license:gpl3+)))
7291
7292;; Tests for ert-runner have a circular dependency with ecukes, and therefore
7293;; cannot be run
7294(define-public emacs-ert-runner
82328c01
MC
7295 (let ((version "0.7.0")
7296 (revision "1")
7297 (commit "90b8fdd5970ef76a4649be60003b37f82cdc1a65"))
7298 (package
7299 (name "emacs-ert-runner")
7300 (version (git-version "0.7.0" revision commit))
7301 (source
7302 (origin
7303 (method git-fetch)
7304 (uri (git-reference
7305 (url "https://github.com/rejeep/ert-runner.el.git")
7306 (commit commit)))
7307 (file-name (git-file-name name version))
7308 (sha256
7309 (base32
7310 "04nxmyzncacj2wmzd84vv9wkkr2dk9lcb10dvygqmg3p1gadnwzz"))))
7311 (build-system emacs-build-system)
7312 (inputs
7313 `(("emacs-ansi" ,emacs-ansi)
7314 ("emacs-commander" ,emacs-commander)
7315 ("emacs-dash" ,emacs-dash)
7316 ("emacs-f" ,emacs-f)
7317 ("emacs-s" ,emacs-s)
7318 ("emacs-shut-up" ,emacs-shut-up)))
7319 (arguments
7320 `(#:phases
7321 (modify-phases %standard-phases
7322 (add-after 'install 'install-executable
7323 (lambda* (#:key inputs outputs #:allow-other-keys)
f9dff4f7
MC
7324 (let ((out (assoc-ref outputs "out"))
7325 (source-directory (string-append
7326 (getenv "TMPDIR") "/source")))
82328c01
MC
7327 (substitute* "bin/ert-runner"
7328 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
7329 (string-append "ERT_RUNNER=\"" out
7330 "/share/emacs/site-lisp/guix.d/ert-runner-"
7331 ,version)))
7332 (install-file "bin/ert-runner" (string-append out "/bin"))
7333 (wrap-program (string-append out "/bin/ert-runner")
7334 (list "EMACSLOADPATH" ":" 'prefix
f9dff4f7
MC
7335 ;; Do not capture the transient source directory in
7336 ;; the wrapper.
7337 (delete source-directory
7338 (string-split (getenv "EMACSLOADPATH") #\:))))
82328c01
MC
7339 #t))))
7340 #:include (cons* "^reporters/.*\\.el$" %default-include)))
7341 (home-page "https://github.com/rejeep/ert-runner.el")
7342 (synopsis "Opinionated Ert testing workflow")
7343 (description "@code{ert-runner} is a tool for Emacs projects tested
eeb883cb
RW
7344using ERT. It assumes a certain test structure setup and can therefore make
7345running tests easier.")
82328c01 7346 (license license:gpl3+))))
eeb883cb
RW
7347
7348(define-public ert-runner
7349 (deprecated-package "ert-runner" emacs-ert-runner))
7350
7351(define-public emacs-disable-mouse
7352 (package
7353 (name "emacs-disable-mouse")
7354 (version "0.2")
7355 (source
7356 (origin
7357 (method url-fetch)
7358 (uri (string-append
7359 "https://github.com/purcell/disable-mouse/archive/"
7360 version ".tar.gz"))
7361 (file-name (string-append name "-" version ".tar.gz"))
7362 (sha256
7363 (base32
7364 "0haqpq23r1wx04lsqrrg3p5visg9hx5i36dg55ab003wfsrlrzbc"))))
7365 (build-system emacs-build-system)
7366 (home-page "https://github.com/purcell/disable-mouse")
7367 (synopsis "Disable mouse commands globally")
7368 (description
7369 "Provides @code{disable-mouse-mode} and @code{global-disable-mouse-mode},
7370pair of minor modes which suppress all mouse events by intercepting them and
7371running a customisable handler command (@code{ignore} by default). ")
7372 (license license:gpl3+)))
7373
7374(define-public emacs-json-reformat
7375 (package
7376 (name "emacs-json-reformat")
7377 (version "0.0.6")
7378 (source
7379 (origin
7380 (method url-fetch)
7381 (uri (string-append "https://github.com/gongo/json-reformat/archive/"
7382 version ".tar.gz"))
7383 (file-name (string-append name "-" version ".tar.gz"))
7384 (sha256
7385 (base32
7386 "11fbq4scrgr7m0iwnzcrn2g7xvqwm2gf82sa7zy1l0nil7265p28"))
7387 (patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
7388 (build-system emacs-build-system)
7389 (propagated-inputs
7390 `(("emacs-undercover" ,emacs-undercover)))
7391 (native-inputs
7392 `(("emacs-dash" ,emacs-dash)
7393 ("emacs-shut-up" ,emacs-shut-up)
7394 ("ert-runner" ,emacs-ert-runner)))
7395 (arguments
7396 `(#:tests? #t
34e3d028
OP
7397 #:test-command '("ert-runner")
7398 #:phases
7399 (modify-phases %standard-phases
7400 (add-before 'check 'delete-json-objects-order-test
7401 (lambda _
7402 (emacs-batch-edit-file "test/json-reformat-test.el"
7403 `(progn (progn (goto-char (point-min))
7404 (re-search-forward
7405 "ert-deftest json-reformat-test:json-reformat-region")
7406 (beginning-of-line)
7407 (kill-sexp))
7408 (basic-save-buffer)))
7409 #t)))))
eeb883cb
RW
7410 (home-page "https://github.com/gongo/json-reformat")
7411 (synopsis "Reformatting tool for JSON")
7412 (description "@code{json-reformat} provides a reformatting tool for
7413@url{http://json.org/, JSON}.")
7414 (license license:gpl3+)))
7415
7416(define-public emacs-json-snatcher
7417 (package
7418 (name "emacs-json-snatcher")
7419 (version "1.0.0")
7420 (source
7421 (origin
7422 (method url-fetch)
7423 (uri (string-append "https://github.com/Sterlingg/json-snatcher/archive/"
7424 version ".tar.gz"))
7425 (file-name (string-append name "-" version ".tar.gz"))
7426 (sha256
7427 (base32
7428 "1nfiwsifpdiz0lbrqa77nl0crnfrv5h85ans9b0g5rggnmyshcfb"))))
7429 (build-system emacs-build-system)
7430 (home-page "https://github.com/sterlingg/json-snatcher")
7431 (synopsis "Grabs the path to JSON values in a JSON file")
7432 (description "@code{emacs-json-snatcher} grabs the path to JSON values in
7433a @url{http://json.org/, JSON} file.")
7434 (license license:gpl3+)))
7435
7436(define-public emacs-json-mode
7437 (package
7438 (name "emacs-json-mode")
7439 (version "1.7.0")
7440 (source
7441 (origin
7442 (method url-fetch)
7443 (uri (string-append "https://github.com/joshwnj/json-mode/archive/"
7444 "v" version ".tar.gz"))
7445 (file-name (string-append name "-" version ".tar.gz"))
7446 (sha256
7447 (base32
7448 "06h45p4cn767pk9sqi2zb1c65wy5gyyijqxzpglp80zwxhvajdz5"))))
7449 (build-system emacs-build-system)
7450 (propagated-inputs
7451 `(("emacs-json-reformat" ,emacs-json-reformat)
7452 ("emacs-json-snatcher" ,emacs-json-snatcher)))
7453 (home-page "https://github.com/joshwnj/json-mode")
7454 (synopsis "Major mode for editing JSON files")
7455 (description "@code{json-mode} extends the builtin js-mode syntax
7456highlighting.")
7457 (license license:gpl3+)))
7458
7459(define-public emacs-restclient
7460 (let ((commit "07a3888bb36d0e29608142ebe743b4362b800f40")
7461 (revision "1")) ;Guix package revision,
7462 ;upstream doesn't have official releases
7463 (package
7464 (name "emacs-restclient")
7465 (version (string-append revision "."
7466 (string-take commit 7)))
7467 (source (origin
7468 (method git-fetch)
7469 (uri (git-reference
7470 (url "https://github.com/pashky/restclient.el.git")
7471 (commit commit)))
7472 (sha256
7473 (base32
7474 "00lmjhb5im1kgrp54yipf1h9pshxzgjlg71yf2rq5n973gvb0w0q"))
7475 (file-name (git-file-name name version))))
7476 (build-system emacs-build-system)
7477 (propagated-inputs
7478 `(("emacs-helm" ,emacs-helm)))
7479 (home-page "https://github.com/pashky/restclient.el")
7480 (synopsis "Explore and test HTTP REST webservices")
7481 (description
7482 "This tool allows for testing and exploration of HTTP REST Web services
7483from within Emacs. Restclient runs queries from a plan-text query sheet,
7484displays results pretty-printed in XML or JSON with @code{restclient-mode}")
7485 (license license:public-domain))))
7486
7487(define-public emacs-eimp
7488 (let ((version "1.4.0")
7489 (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
7490 (revision "1"))
7491 (package
7492 (name "emacs-eimp")
7493 (version (git-version version revision commit))
7494 (source
7495 (origin
7496 (method git-fetch)
7497 (uri (git-reference
7498 (url "https://github.com/nicferrier/eimp.git")
7499 (commit commit)))
7500 (file-name (git-file-name name version))
7501 (sha256
7502 (base32
7503 "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra"))))
7504 (build-system emacs-build-system)
7505 (arguments
7506 `(#:phases
7507 (modify-phases %standard-phases
7508 (add-after 'unpack 'configure
7509 (lambda* (#:key inputs #:allow-other-keys)
7510 (let ((imagemagick (assoc-ref inputs "imagemagick")))
7511 ;; eimp.el is read-only in git.
7512 (chmod "eimp.el" #o644)
7513 (emacs-substitute-variables "eimp.el"
7514 ("eimp-mogrify-program"
7515 (string-append imagemagick "/bin/mogrify"))))
7516 #t)))))
7517 (inputs
7518 `(("imagemagick" ,imagemagick)))
7519 (home-page "https://github.com/nicferrier/eimp")
7520 (synopsis "Interactive image manipulation utility for Emacs")
7521 (description "@code{emacs-eimp} allows interactive image manipulation
7522from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do
7523the actual transformations.")
7524 (license license:gpl2+))))
7525
7526(define-public emacs-dired-hacks
29e3fd34 7527 (let ((commit "2c1234592aee91dcd9401bcd67213e6a4a464fd9")
eeb883cb
RW
7528 (revision "1"))
7529 (package
7530 (name "emacs-dired-hacks")
7531 (version (string-append "0.0.1-" revision "."
7532 (string-take commit 7)))
7533 (source (origin
7534 (method git-fetch)
7535 (uri (git-reference
7536 (url "https://github.com/Fuco1/dired-hacks.git")
7537 (commit commit)))
7538 (file-name (string-append name "-" version "-checkout"))
7539 (sha256
7540 (base32
29e3fd34 7541 "1g7mky41cahpryzj6frdgzdymknpqq7pidzfjj9304887kijmhj3"))))
eeb883cb
RW
7542 (build-system emacs-build-system)
7543 (propagated-inputs
7544 `(("emacs-dash" ,emacs-dash)
7545 ("emacs-eimp" ,emacs-eimp)
7546 ("emacs-f" ,emacs-f)
7547 ("emacs-s" ,emacs-s)))
7548 (home-page "https://github.com/Fuco1/dired-hacks")
7549 (synopsis
7550 "Collection of useful dired additions")
7551 (description
7552 "Collection of Emacs dired mode additions:
7553@itemize
7554@item dired-avfs
7555@item dired-columns
7556@item dired-filter
7557@item dired-hacks-utils
7558@item dired-images
7559@item dired-list
7560@item dired-narrow
7561@item dired-open
7562@item dired-rainbow
7563@item dired-ranger
7564@item dired-subtree
7565@item dired-tagsistant
7566@end itemize\n")
7567 (license license:gpl3+))))
7568
7569(define-public emacs-dired-sidebar
7570 (let ((commit "06bd0d40bab812c61a668129daf29ba359424454")
7571 (revision "0"))
7572 (package
7573 (name "emacs-dired-sidebar")
7574 (home-page "https://github.com/jojojames/dired-sidebar")
7575 (version (git-version "0.0.1" revision commit))
7576 (source (origin
7577 (method git-fetch)
7578 (uri (git-reference (url home-page) (commit commit)))
7579 (sha256
7580 (base32
7581 "0lvwvq6sl80sha9fq5m4568sg534dhmifyjqw75bqddcbf3by84x"))))
7582 (build-system emacs-build-system)
7583 (propagated-inputs
7584 `(("emacs-dired-subtree" ,emacs-dired-hacks)))
7585 (synopsis "Sidebar for Emacs using Dired")
7586 (description
7587 "This package provides a sidebar for Emacs similar to @code{NeoTree}
7588or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
7589 (license license:gpl3+))))
7590
7591(define-public emacs-which-key
7592 (package
7593 (name "emacs-which-key")
498eb769 7594 (version "3.3.1")
eeb883cb
RW
7595 (source
7596 (origin
7597 (method url-fetch)
7598 (uri (string-append
7599 "https://github.com/justbur/emacs-which-key/archive/v"
7600 version ".tar.gz"))
7601 (sha256
7602 (base32
498eb769 7603 "1g8k0js21bc8mlw6hvmg93zgfjhil77c30cv1hf85y4qb9ldvika"))
eeb883cb
RW
7604 (file-name (string-append name "-" version ".tar.gz"))))
7605 (build-system emacs-build-system)
7606 (arguments
7607 `(#:tests? #t
7608 #:test-command '("emacs" "--batch"
7609 "-l" "which-key-tests.el"
7610 "-f" "ert-run-tests-batch-and-exit")))
7611 (home-page "https://github.com/justbur/emacs-which-key")
7612 (synopsis "Display available key bindings in popup")
7613 (description
7614 "@code{emacs-which-key} is a minor mode for Emacs that displays the key
7615bindings following your currently entered incomplete command (a prefix) in a
7616popup. For example, after enabling the minor mode if you enter C-x and wait
7617for the default of 1 second, the minibuffer will expand with all of the
7618available key bindings that follow C-x (or as many as space allows given your
7619settings).")
7620 (license license:gpl3+)))
7621
7622(define-public emacs-ws-butler
7623 (package
7624 (name "emacs-ws-butler")
7625 (version "0.6")
7626 (source (origin
7627 (method git-fetch)
7628 (uri (git-reference
7629 (url "https://github.com/lewang/ws-butler.git")
7630 (commit "323b651dd70ee40a25accc940b8f80c3a3185205")))
7631 (file-name (string-append name "-" version "-checkout"))
7632 (sha256
7633 (base32
7634 "1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb"))))
7635 (build-system emacs-build-system)
7636 (native-inputs
7637 `(("ert-runner" ,emacs-ert-runner)))
7638 (arguments
7639 `(#:tests? #t
7640 #:test-command '("ert-runner" "tests")))
7641 (home-page "https://github.com/lewang/ws-butler")
7642 (synopsis "Trim spaces from end of lines")
7643 (description
7644 "This Emacs package automatically and unobtrusively trims whitespace
7645characters from end of lines.")
7646 (license license:gpl3+)))
7647
7648(define-public emacs-org-edit-latex
7649 (package
7650 (name "emacs-org-edit-latex")
7651 (version "0.8.0")
7652 (source
7653 (origin
7654 (method url-fetch)
7655 (uri (string-append
7656 "https://github.com/et2010/org-edit-latex/archive/v"
7657 version ".tar.gz"))
7658 (file-name (string-append name "-" version ".tar.gz"))
7659 (sha256
7660 (base32
7661 "1y4h6wrs8286h9pbsv4d8fr67a885vz8b2k80qgv5qddipi2i78p"))))
7662 (build-system emacs-build-system)
7663 (propagated-inputs
7664 `(("emacs-auctex" ,emacs-auctex)
7665 ;; The version of org in Emacs 25.2 is not sufficient, because the
7666 ;; `org-latex-make-preamble' function is required.
7667 ("emacs-org" ,emacs-org)))
7668 (home-page "https://github.com/et2010/org-edit-latex")
7669 (synopsis "Edit a latex fragment just like editing a src block")
7670 (description "@code{emacs-org-edit-latex} is an extension for org-mode.
7671It lets you edit a latex fragment in a dedicated buffer just like editing a
7672src block.")
7673 (license license:gpl3+)))
7674
7675(define-public emacs-emamux
7676 (package
7677 (name "emacs-emamux")
7678 (version "0.14")
7679 (source (origin
7680 (method url-fetch)
7681 (uri (string-append
7682 "https://github.com/syohex/emacs-emamux/archive/"
7683 version ".tar.gz"))
7684 (file-name (string-append name "-" version ".tar.gz"))
7685 (sha256
7686 (base32
7687 "0wlqg4icy037bj70b0qmhvwvmiwhagpnx6pnxhq6gzy1hvwlilkx"))))
7688 (build-system emacs-build-system)
7689 (home-page "https://github.com/syohex/emacs-emamux")
7690 (synopsis "Manipulate Tmux from Emacs")
7691 (description
7692 "@code{emacs-emamux} lets Emacs interact with the @code{tmux} terminal
7693multiplexer.")
7694 (license license:gpl3+)))
7695
7696(define-public emacs-rpm-spec-mode
7697 (package
7698 (name "emacs-rpm-spec-mode")
7699 (version "0.16")
7700 (source
7701 (origin
7702 (method url-fetch)
7703 ;; URI has the Fedora release number instead of the version
7704 ;; number. This will have to updated manually every new release.
7705 (uri (string-append
7706 "https://src.fedoraproject.org/cgit/rpms"
7707 "/emacs-rpm-spec-mode.git/snapshot"
7708 "/emacs-rpm-spec-mode-f26.tar.gz"))
7709 (sha256
7710 (base32
7711 "17dz80lhjrc89fj17pysl8slahzrqdkxgcjdk55zls6jizkr6kz3"))))
7712 (build-system emacs-build-system)
7713 (home-page "http://pkgs.fedoraproject.org/cgit/rpms/emacs-rpm-spec-mode.git")
7714 (synopsis "Emacs major mode for editing RPM spec files")
7715 (description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
7716editing RPM spec files.")
7717 (license license:gpl2+)))
7718
7719(define-public emacs-git-messenger
7720 (package
7721 (name "emacs-git-messenger")
7722 (version "0.18")
7723 (source
7724 (origin
7725 (method url-fetch)
7726 (uri (string-append
7727 "https://github.com/syohex/emacs-git-messenger/archive/"
7728 version ".tar.gz"))
7729 (file-name (string-append name "-" version ".tar.gz"))
7730 (sha256
7731 (base32
7732 "17mqki6g0wx46fn7dcbcc2pjxik7vvrcb1j9jzxim8b9psbsbnp9"))))
7733 (build-system emacs-build-system)
7734 (propagated-inputs
7735 `(("emacs-popup" ,emacs-popup)))
7736 (arguments
7737 `(#:tests? #t
7738 #:test-command '("emacs" "--batch" "-l" "test/test.el"
7739 "-f" "ert-run-tests-batch-and-exit")))
7740 (home-page "https://github.com/syohex/emacs-git-messenger")
7741 (synopsis "Popup commit message at current line")
7742 (description "@code{emacs-git-messenger} provides
7743@code{git-messenger:popup-message}, a function that when called, will popup
7744the last git commit message for the current line. This uses git-blame
7745internally.")
7746 (license license:gpl3+)))
7747
7748(define-public emacs-gitpatch
7749 (package
7750 (name "emacs-gitpatch")
7751 (version "0.5.0")
7752 (source
7753 (origin
7754 (method url-fetch)
7755 (uri (string-append "https://github.com/tumashu/gitpatch/archive/"
7756 "v" version ".tar.gz"))
7757 (file-name (string-append name "-" version ".tar.gz"))
7758 (sha256
7759 (base32
7760 "1yj6pmic541lcnscjin300k380qp9xdfprs55xg1q57jrkq6f6k7"))))
7761 (build-system emacs-build-system)
7762 (home-page "https://github.com/tumashu/gitpatch")
7763 (synopsis "Mail git patch from Emacs")
7764 (description "@code{emacs-gitpatch} lets users easily send git patches,
7765created by @code{git format-patch}, from @code{magit}, @code{dired} and
7766@code{ibuffer} buffers.")
7767 (license license:gpl3+)))
7768
7769(define-public emacs-erc-hl-nicks
7770 (package
7771 (name "emacs-erc-hl-nicks")
7772 (version "1.3.3")
7773 (source
7774 (origin
7775 (method url-fetch)
7776 (uri (string-append "https://github.com/leathekd/erc-hl-nicks"
7777 "/archive/" version ".tar.gz"))
7778 (file-name (string-append name "-" version ".tar.gz"))
7779 (sha256
7780 (base32
7781 "1a1r2kc3688g8c2ybkpwh88kgmnqhg3h3032g2yn4zr9m0n3vpkr"))))
7782 (build-system emacs-build-system)
7783 (synopsis "Nickname highlighting for Emacs ERC")
7784 (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
7785client for Emacs. The main features are:
7786@itemize
7787@item Auto-colorizes nicknames without having to specify colors
7788@item Ignores certain characters that IRC clients add to nicknames to avoid
7789duplicates (nickname, nickname’, nickname\", etc.)
7790@item Attempts to produce colors with a sufficient amount of contrast between
7791the nick color and the background color
7792@end itemize\n")
7793 (home-page "https://github.com/leathekd/erc-hl-nicks")
7794 (license license:gpl3+)))
7795
7796(define-public emacs-engine-mode
7797 (package
7798 (name "emacs-engine-mode")
7799 (version "2.0.0")
7800 (source
7801 (origin
7802 (method url-fetch)
7803 (uri (string-append "https://github.com/hrs/engine-mode/archive/"
7804 "v" version ".tar.gz"))
7805 (file-name (string-append name "-" version ".tar.gz"))
7806 (sha256
7807 (base32
7808 "1vm4p7pcp1vnwwxvps1bhm7i7hkabqqxl898knxf2hqvxys76684"))))
7809 (build-system emacs-build-system)
7810 (synopsis "Minor mode for defining and querying search engines")
7811 (description "@code{engine-mode} is a global minor mode for Emacs. It
7812enables you to easily define search engines, bind them to keybindings, and
7813query them from the comfort of your editor.")
7814 (home-page "https://github.com/hrs/engine-mode")
7815 (license license:gpl3+)))
7816
7817(define-public emacs-prop-menu
7818 (package
7819 (name "emacs-prop-menu")
7820 (version "0.1.2")
7821 (source
7822 (origin
7823 (method url-fetch)
7824 (uri (string-append
7825 "http://stable.melpa.org/packages/prop-menu-"
7826 version ".el"))
7827 (sha256
7828 (base32
7829 "01bk4sjafzz7gqrkv9jg0pa85qr34vbk3q8ga2b0m61bndywzgpr"))))
7830 (build-system emacs-build-system)
7831 (home-page
7832 "https://github.com/david-christiansen/prop-menu-el")
7833 (synopsis
7834 "Create and display a context menu based on text and overlay properties")
7835 (description
7836 "This is a library for computing context menus based on text
7837properties and overlays. The intended use is to have tools that
7838annotate source code and others that use these annotations, without
7839requiring a direct coupling between them, but maintaining
7840discoverability.
7841
7842Major modes that wish to use this library should first define an
7843appropriate value for @code{prop-menu-item-functions}. Then, they should
7844bind @code{prop-menu-by-completing-read} to an appropriate
7845key. Optionally, a mouse pop-up can be added by binding
7846@code{prop-menu-show-menu} to a mouse event.")
7847 (license license:gpl3+)))
7848
7849(define-public emacs-idris-mode
7850 (package
7851 (name "emacs-idris-mode")
7852 (version "0.9.19")
7853 (source
7854 (origin
7855 (method url-fetch)
7856 (uri (string-append
7857 "http://stable.melpa.org/packages/idris-mode-"
7858 version ".tar"))
7859 (sha256
7860 (base32
7861 "02r1qqsxi6qk7q4cj6a6pygbj856dcw9vcmhfh0ib92j41v77q6y"))))
7862 (build-system emacs-build-system)
7863 (propagated-inputs
7864 `(("emacs-prop-menu" ,emacs-prop-menu)))
7865 (home-page
7866 "https://github.com/idris-hackers/idris-mode")
7867 (synopsis "Major mode for editing Idris code")
7868 (description
7869 "This is an Emacs mode for editing Idris code. It requires the latest
7870version of Idris, and some features may rely on the latest Git version of
7871Idris.")
7872 (license license:gpl3+)))
7873
7874(define-public emacs-browse-at-remote
7875 (package
7876 (name "emacs-browse-at-remote")
7877 (version "0.10.0")
7878 (source
7879 (origin
7880 (method url-fetch)
7881 (uri (string-append
7882 "https://github.com/rmuslimov/browse-at-remote/archive/"
7883 version ".tar.gz"))
7884 (file-name (string-append name "-" version ".tar.gz"))
7885 (sha256
7886 (base32
7887 "0ymslsp6i1naw25zckv25bf4aaq6qwkbkn95qyzlwg869l802686"))))
7888 (build-system emacs-build-system)
7889 (propagated-inputs
7890 `(("emacs-f" ,emacs-f)
7891 ("emacs-s" ,emacs-s)))
7892 (native-inputs
7893 `(("ert-runner" ,emacs-ert-runner)))
7894 (arguments
7895 `(#:tests? #t
7896 #:test-command '("ert-runner")))
7897 (home-page "https://github.com/rmuslimov/browse-at-remote")
7898 (synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
7899 (description
7900 "This Emacs package allows you to open a target page on
7901github/gitlab (or bitbucket) by calling @code{browse-at-remote} command.
7902It supports dired buffers and opens them in tree mode at destination.")
7903 (license license:gpl3+)))
7904
7905(define-public emacs-tiny
7906 (package
7907 (name "emacs-tiny")
7908 (version "0.2.1")
7909 (source
7910 (origin
7911 (method url-fetch)
7912 (uri (string-append "http://elpa.gnu.org/packages/tiny-" version ".tar"))
7913 (sha256
7914 (base32
7915 "1cr73a8gba549ja55x0c2s554f3zywf69zbnd7v82jz5q1k9wd2v"))))
7916 (build-system emacs-build-system)
7917 (home-page "https://github.com/abo-abo/tiny")
7918 (synopsis "Quickly generate linear ranges in Emacs")
7919 (description
7920 "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}.
7921It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp
7922proficiency is an advantage, since you can transform your numeric range with
7923an elisp expression.")
7924 (license license:gpl3+)))
7925
7926(define-public emacs-emojify
7927 (package
7928 (name "emacs-emojify")
7929 (version "0.4")
7930 (source
7931 (origin
7932 (method url-fetch)
7933 (uri (string-append "https://github.com/iqbalansari/emacs-emojify/"
7934 "releases/download/v" version "/emojify-"
7935 version ".tar"))
7936 (sha256
7937 (base32
7938 "0k84v2d2bkiwcky9fi1yyprgkj46g7wh6pyl9gzmcd7sqv051d5n"))))
7939 (build-system emacs-build-system)
7940 (arguments
7941 `(#:phases
7942 (modify-phases %standard-phases
7943 (add-after 'install 'install-data
7944 (lambda* (#:key outputs #:allow-other-keys)
7945 (copy-recursively "data"
7946 (string-append (assoc-ref outputs "out")
7947 "/share/emacs/site-lisp/guix.d/"
7948 "emojify-" ,version "/data"))
7949 #t)))))
7950 (propagated-inputs
7951 `(("emacs-ht" ,emacs-ht)))
7952 (home-page "https://github.com/iqbalansari/emacs-emojify")
7953 (synopsis "Display emojis in Emacs")
7954 (description "This package displays emojis in Emacs similar to how Github,
7955Slack, and other websites do. It can display plain ASCII like @code{:)} as
7956well as Github-style emojis like @code{:smile:}. It provides a minor mode
7957@code{emojify-mode} to enable the display of emojis in a buffer.")
7958 (license license:gpl3+)))
7959
7960(define-public emacs-websocket
7961 (package
7962 (name "emacs-websocket")
7963 (version "1.10")
7964 (source
7965 (origin
7966 (method git-fetch)
7967 (uri (git-reference
7968 (url "https://github.com/ahyatt/emacs-websocket.git")
7969 (commit version)))
7970 (file-name (string-append name "-" version "-checkout"))
7971 (sha256
7972 (base32
7973 "1dgrf7na6r6mmkknphzshlbd5fnzisg0qn0j7vfpa38wgsymaq52"))))
7974 (build-system emacs-build-system)
7975 (home-page "http://elpa.gnu.org/packages/websocket.html")
7976 (synopsis "Emacs WebSocket client and server")
7977 (description "This is an Elisp library for WebSocket clients to talk to
7978WebSocket servers, and for WebSocket servers to accept connections from
7979WebSocket clients. This library is designed to be used by other library
7980writers, to write applications that use WebSockets, and is not useful by
7981itself.")
7982 (license license:gpl3+)))
7983
7984(define-public emacs-oauth2
7985 (package
7986 (name "emacs-oauth2")
7987 (version "0.11")
7988 (source
7989 (origin
7990 (method url-fetch)
7991 (uri (string-append "https://elpa.gnu.org/packages/oauth2-"
7992 version ".el"))
7993 (sha256
7994 (base32
7995 "0ydkc9jazsnbbvfhd47mql52y7k06n3z7r0naqxkwb99j9blqsmp"))))
7996 (build-system emacs-build-system)
7997 (home-page "http://elpa.gnu.org/packages/oauth2.html")
7998 (synopsis "OAuth 2.0 authorization protocol implementation")
7999 (description
8000 "This package provides an Elisp implementation of the OAuth 2.0 draft.
8001The main entry point is @code{oauth2-auth-and-store} which will return a token
8002structure. This token structure can be then used with
8003@code{oauth2-url-retrieve-synchronously} or @code{oauth2-url-retrieve} to
8004retrieve any data that need OAuth authentication to be accessed. If the token
8005needs to be refreshed, the code handles it automatically and stores the new
8006value of the access token.")
8007 (license license:gpl3+)))
8008
8009(define-public emacs-circe
8010 (package
8011 (name "emacs-circe")
8012 (version "2.10")
8013 (source
8014 (origin
8015 (method git-fetch)
8016 (uri (git-reference
8017 (url "https://github.com/jorgenschaefer/circe.git")
8018 (commit (string-append "v" version))))
8019 (file-name (git-file-name name version))
8020 (sha256
8021 (base32
8022 "10gi14kwxd81blddpvqh95lgmpbfgp0m955naxix3bs3r6a75n4s"))))
8023 (build-system emacs-build-system)
8024 (arguments
8025 `(#:tests? #t
8026 #:test-command '("buttercup" "-L" ".")
8027 #:phases
8028 (modify-phases %standard-phases
8029 ;; The HOME environment variable should be set to an existing
8030 ;; directory for the tests to succeed.
8031 (add-before 'check 'set-home
8032 (lambda _
8033 (setenv "HOME" "/tmp")
8034 #t)))))
8035 (native-inputs
8036 `(("emacs-buttercup" ,emacs-buttercup)))
8037 ;; In order to securely connect to an IRC server using TLS, Circe requires
8038 ;; the GnuTLS binary.
8039 (propagated-inputs
8040 `(("gnutls" ,gnutls)))
8041 (home-page "https://github.com/jorgenschaefer/circe")
8042 (synopsis "Client for IRC in Emacs")
8043 (description "Circe is a Client for IRC in Emacs. It integrates well with
8044the rest of the editor, using standard Emacs key bindings and indicating
8045activity in channels in the status bar so it stays out of your way unless you
8046want to use it.")
8047 (license license:gpl3+)))
8048
8049(define-public emacs-tracking
8050 (package
8051 (inherit emacs-circe)
8052 (name "emacs-tracking")
8053 (arguments
8054 ;; "tracking.el" is a library extracted from Circe package. It requires
8055 ;; "shorten.el".
8056 `(#:include '("^shorten.el$" "^tracking.el$")
8057 ,@(package-arguments emacs-circe)))
8058 (home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
8059 (synopsis "Buffer tracking library")
8060 (description "@code{tracking.el} provides a way for different modes to
8061notify the user that a buffer needs attention. The user then can cycle
8062through them using @key{C-c C-SPC}.")
8063 (license license:gpl3+)))
8064
8065(define-public emacs-slack
8066 (let ((commit "99a57501629a0329a9ca090c1ea1296462eda02d")
8067 (revision "5"))
8068 (package
8069 (name "emacs-slack")
8070 (version (git-version "0.0.2" revision commit))
8071 (source (origin
8072 (method git-fetch)
8073 (uri (git-reference
8074 (url "https://github.com/yuya373/emacs-slack.git")
8075 (commit commit)))
8076 (file-name (git-file-name name commit))
8077 (sha256
8078 (base32
8079 "0jw1diypfw8pmzkq0napgxmfc0gqka7zcccgnw359604lr30k2z2"))))
8080 (build-system emacs-build-system)
8081 (propagated-inputs
8082 `(("emacs-alert" ,emacs-alert)
8083 ("emacs-emojify" ,emacs-emojify)
8084 ("emacs-helm" ,emacs-helm)
8085 ("emacs-request" ,emacs-request)
8086 ("emacs-websocket" ,emacs-websocket)
8087 ("emacs-oauth2" ,emacs-oauth2)
8088 ("emacs-circe" ,emacs-circe)))
8089 (home-page "https://github.com/yuya373/emacs-slack")
8090 (synopsis "Slack client for Emacs")
8091 (description "This package provides an Emacs client for the Slack
8092messaging service.")
8093 (license license:gpl3+))))
8094
8095(define-public emacs-bash-completion
8096 (package
8097 (name "emacs-bash-completion")
8098 (version "2.1.0")
8099 (source
8100 (origin
8101 (method url-fetch)
8102 (uri (string-append
8103 "https://github.com/szermatt/emacs-bash-completion/archive/v"
8104 version ".tar.gz"))
8105 (file-name (string-append name "-" version ".tar.gz"))
8106 (sha256
8107 (base32
8108 "1z0qck3v3ra6ivacn8n04w1v33a4xn01xx860761q31qzsv3sksq"))))
8109 (inputs `(("bash" ,bash)))
8110 (build-system emacs-build-system)
8111 (arguments
8112 `(#:phases
8113 (modify-phases %standard-phases
8114 (add-before 'install 'configure
8115 (lambda* (#:key inputs #:allow-other-keys)
8116 (let ((bash (assoc-ref inputs "bash")))
8117 (emacs-substitute-variables "bash-completion.el"
8118 ("bash-completion-prog" (string-append bash "/bin/bash"))))
8119 #t)))))
8120 (home-page "https://github.com/szermatt/emacs-bash-completion")
8121 (synopsis "Bash completion for the shell buffer")
8122 (description
8123 "@code{bash-completion} defines dynamic completion hooks for shell-mode
8124and shell-command prompts that are based on Bash completion.")
8125 (license license:gpl2+)))
8126
8127(define-public emacs-easy-kill
8128 (package
8129 (name "emacs-easy-kill")
8130 (version "0.9.3")
8131 (source (origin
8132 (method url-fetch)
8133 (uri (string-append "https://elpa.gnu.org/packages/easy-kill-"
8134 version ".tar"))
8135 (sha256
8136 (base32
8137 "17nw0mglmg877axwg1d0gs03yc0p04lzmd3pl0nsnqbh3303fnqb"))))
8138 (build-system emacs-build-system)
8139 (home-page "https://github.com/leoliu/easy-kill")
8140 (synopsis "Kill and mark things easily in Emacs")
8141 (description
8142 "This package provides commands @code{easy-kill} and @code{easy-mark} to
8143let users kill or mark things easily.")
8144 (license license:gpl3+)))
8145
8146(define-public emacs-csv-mode
8147 (package
8148 (name "emacs-csv-mode")
8149 (version "1.7")
8150 (source
8151 (origin
8152 (method url-fetch)
8153 (uri (string-append "http://elpa.gnu.org/packages/csv-mode-"
8154 version ".el"))
8155 (sha256
8156 (base32
8157 "0r4bip0w3h55i8h6sxh06czf294mrhavybz0zypzrjw91m1bi7z6"))))
8158 (build-system emacs-build-system)
8159 (home-page
8160 "http://elpa.gnu.org/packages/csv-mode.html")
8161 (synopsis
8162 "Major mode for editing comma/char separated values")
8163 (description
8164 "This Emacs package implements CSV mode, a major mode for editing records
8165in a generalized CSV (character-separated values) format.")
8166 (license license:gpl3+)))
8167
8168(define-public emacs-transmission
8169 (package
8170 (name "emacs-transmission")
8171 (version "0.12.1")
8172 (source (origin
8173 (method url-fetch)
8174 (uri (string-append
8175 "https://github.com/holomorph/transmission/archive/"
8176 version ".tar.gz"))
8177 (file-name (string-append name "-" version ".tar.gz"))
8178 (sha256
8179 (base32
8180 "1rrlgn96gi1ljfwbwvlyyxbq75xzamlbdhq1bpyadxxmxcvlmk3n"))))
8181 (build-system emacs-build-system)
8182 (home-page "https://github.com/holomorph/transmission")
8183 (synopsis "Emacs interface to a Transmission session")
8184 (description "This package provides an Emacs interface to interact with a
8185running session of the Transmission Bittorrent client.
8186
8187Features:
8188
8189@itemize
8190@item List, add, start/stop, verify, remove torrents.
8191@item Set speed limits, ratio limits, bandwidth priorities, trackers.
8192@item Navigate to the corresponding file list, torrent info, peer info
8193contexts.
8194@item Toggle downloading and set priorities for individual files.
8195@end itemize\n")
8196 (license license:gpl3+)))
8197
8198(define-public emacs-polymode
8199 (package
8200 (name "emacs-polymode")
8201 (version "0.1.5")
8202 (source (origin
8203 (method git-fetch)
8204 (uri (git-reference
8205 (url "https://github.com/vspinu/polymode.git")
8206 (commit (string-append "v" version))))
8207 (file-name (git-file-name name version))
8208 (sha256
8209 (base32
8210 "0wwphs54jx48a3ca6x1qaz56j3j9bg4mv8g2akkffrzbdcb8sbc7"))))
8211 (build-system emacs-build-system)
8212 (arguments
8213 `(#:include (cons* "^modes/.*\\.el$" %default-include)
8214 #:phases
8215 (modify-phases %standard-phases
8216 (add-after 'set-emacs-load-path 'add-modes-subdir-to-load-path
8217 (lambda _
8218 (setenv "EMACSLOADPATH"
8219 (string-append (getenv "EMACSLOADPATH")
8220 ":" (getcwd) "/modes" ":")))))))
8221 (home-page "https://github.com/vspinu/polymode")
8222 (synopsis "Framework for multiple Emacs modes based on indirect buffers")
8223 (description "Polymode is an Emacs package that offers generic support
8224for multiple major modes inside a single Emacs buffer. It is lightweight,
8225object oriented and highly extensible. Creating a new polymode typically
8226takes only a few lines of code. Polymode also provides extensible facilities
8227for external literate programming tools for exporting, weaving and tangling.")
8228 (license license:gpl3+)))
8229
8230(define-public emacs-polymode-ansible
8231 (let ((commit "b26094d029e25dc797b94254f797e7807a57e4c8"))
8232 (package
8233 (name "emacs-polymode-ansible")
8234 ;; No upstream version release yet.
8235 (version (git-version "0.1" "1" commit))
8236 (source
8237 (origin
8238 (method git-fetch)
8239 (uri (git-reference
8240 (url "https://gitlab.com/mavit/poly-ansible")
8241 (commit commit)))
8242 (file-name (git-file-name name version))
8243 (sha256
8244 (base32
8245 "055shddqibib3hx2ykwdz910nrqws40cd407mq946l2bf6v87gj6"))))
8246 (build-system emacs-build-system)
8247 (propagated-inputs
8248 `(("emacs-ansible-doc" ,emacs-ansible-doc)
8249 ("emacs-jinja2-mode" ,emacs-jinja2-mode)
8250 ("emacs-polymode" ,emacs-polymode)
8251 ("emacs-yaml-mode" ,emacs-yaml-mode)))
8252 (properties '((upstream-name . "poly-ansible")))
8253 (home-page "https://gitlab.com/mavit/poly-ansible/")
8254 (synopsis "Polymode for Ansible - Jinja2 in YAML")
8255 (description
8256 "Edit YAML files for Ansible containing embedded Jinja2 templating.")
8257 (license license:gpl3+))))
8258
8259(define-public eless
8260 (package
8261 (name "eless")
8262 (version "0.3")
8263 (source (origin
8264 (method url-fetch)
8265 (uri (string-append
8266 "https://github.com/kaushalmodi/eless/archive/"
8267 "v" version ".tar.gz"))
8268 (file-name (string-append name "-" version ".tar.gz"))
8269 (sha256
8270 (base32
8271 "0gjnnhgw5xs1w3qfnkvwa2nv44gnxr8pkhx3c7qig45p8nh1461h"))))
8272 (build-system trivial-build-system)
8273 (inputs
8274 `(("bash" ,bash)))
8275 (native-inputs
8276 `(("tar" ,tar)
8277 ("gzip" ,gzip)))
8278 (arguments
8279 `(#:modules ((guix build utils))
8280 #:builder
8281 (begin
8282 (use-modules (guix build utils))
8283 (setenv "PATH" (string-append
8284 (assoc-ref %build-inputs "tar") "/bin" ":"
8285 (assoc-ref %build-inputs "gzip") "/bin"))
8286 (invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
8287 (chdir (string-append "eless" "-" ,version))
8288 (substitute* "eless" (("/usr/bin/env bash")
8289 (string-append (assoc-ref %build-inputs "bash")
8290 "/bin/bash")))
8291 (install-file "eless" (string-append %output "/bin"))
8292 (install-file "doc/eless.info" (string-append %output "/share/info"))
8293 #t)))
8294 (home-page "https://github.com/kaushalmodi/eless")
8295 (synopsis "Use Emacs as a paginator")
8296 (description "@code{eless} provides a combination of Bash script
8297and a minimal Emacs view-mode.
8298
8299Feautures:
8300
8301@itemize
8302@item Independent of a user’s Emacs config.
8303@item Customizable via the @code{(locate-user-emacs-file \"elesscfg\")} config.
8304@item Not require an Emacs server to be already running.
8305@item Syntax highlighting.
8306@item Org-mode file rendering.
8307@item @code{man} page viewer.
8308@item Info viewer.
8309@item Dired, wdired, (batch edit symbolic links).
8310@item Colored diffs, git diff, git log, ls with auto ANSI detection.
8311@item Filter log files lines matching a regexp.
8312@item Auto-revert log files similar to @code{tail -f}.
8313@item Quickly change frame and font sizes.
8314@end itemize\n")
8315 (license license:expat)))
8316
8317(define-public emacs-evil-matchit
8318 (package
8319 (name "emacs-evil-matchit")
96c822a3 8320 (version "2.2.9")
eeb883cb
RW
8321 (source
8322 (origin
8323 (method url-fetch)
8324 (uri (string-append
8325 "https://github.com/redguardtoo/evil-matchit/archive/"
8326 version ".tar.gz"))
8327 (file-name (string-append name "-" version ".tar.gz"))
8328 (sha256
8329 (base32
96c822a3 8330 "1i5a7szl0m3xnqyjq6zhg5j68x9fgf9ffxghj918c4brj4436sjb"))))
eeb883cb
RW
8331 (build-system emacs-build-system)
8332 (propagated-inputs
8333 `(("emacs-evil" ,emacs-evil)))
8334 (home-page "https://github.com/redguardtoo/evil-matchit")
8335 (synopsis "Vim matchit ported into Emacs")
8336 (description
8337 "@code{evil-matchit} is a minor mode for jumping between matching tags in
8338evil mode using @kbd{%}. It is a port of @code{matchit} for Vim.")
8339 (license license:gpl3+)))
8340
8341(define-public emacs-evil-smartparens
8342 (package
8343 (name "emacs-evil-smartparens")
8344 (version "0.4.0")
8345 (source
8346 (origin
8347 (method url-fetch)
8348 (uri (string-append
8349 "https://github.com/expez/evil-smartparens/archive/"
8350 version ".tar.gz"))
8351 (file-name (string-append name "-" version ".tar.gz"))
8352 (sha256
8353 (base32
8354 "1bwzdd3054d407d5j4m3njsbvmc9r8zzp33m32pj3b3irxrl68q0"))))
8355 (build-system emacs-build-system)
8356 (propagated-inputs
8357 `(("emacs-evil" ,emacs-evil)
8358 ("emacs-smartparens" ,emacs-smartparens)))
8359 (home-page "https://github.com/expez/evil-smartparens")
8360 (synopsis "Emacs Evil integration for Smartparens")
8361 (description "@code{emacs-evil-smartparens} is an Emacs minor mode which
8362makes Evil play nice with Smartparens. Evil is an Emacs minor mode that
8363emulates Vim features and provides Vim-like key bindings.")
8364 (license license:gpl3+)))
8365
8366(define-public emacs-evil-quickscope
8367 (package
8368 (name "emacs-evil-quickscope")
8369 (version "0.1.4")
8370 (source
8371 (origin
8372 (method url-fetch)
8373 (uri (string-append "https://github.com/blorbx/evil-quickscope/archive/v"
8374 version ".tar.gz"))
8375 (file-name (string-append name "-" version ".tar.gz"))
8376 (sha256
8377 (base32
8378 "1r26a412mmar7vbf89zcifswiwpdg30mjzj32xdyqss57aqi83ma"))))
8379 (build-system emacs-build-system)
8380 (propagated-inputs
8381 `(("emacs-evil" ,emacs-evil)))
8382 (arguments
8383 `(#:tests? #t
8384 #:test-command '("emacs" "--batch"
8385 "-l" "evil-quickscope-tests.el"
8386 "-f" "ert-run-tests-batch-and-exit")))
8387 (home-page "https://github.com/blorbx/evil-quickscope")
8388 (synopsis "Target highlighting for emacs evil-mode f,F,t and T commands")
8389 (description "@code{emacs-evil-quickscope} highlights targets for Evil
8390mode’s f,F,t,T keys, allowing for quick navigation within a line. It is a
8391port of quick-scope for Vim. Evil is an Emacs minor mode that emulates Vim
8392features and provides Vim-like key bindings.")
8393 (license license:gpl3+)))
8394
8395(define-public emacs-bongo
8396 (package
8397 (name "emacs-bongo")
8398 (version "1.0")
8399 (source
8400 (origin
8401 (method url-fetch)
8402 (uri (string-append
8403 "https://github.com/dbrock/bongo/archive/"
8404 version ".tar.gz"))
8405 (file-name (string-append name "-" version ".tar.gz"))
8406 (sha256
8407 (base32
8408 "1pcsyyrvj7djjjwpaswd1i782hvqvlvs39cy9ns0k795si6xd64d"))))
8409 (build-system emacs-build-system)
8410 (home-page "https://github.com/dbrock/bongo")
8411 (synopsis "Media player for Emacs")
8412 (description
8413 "This package provides a flexible media player for Emacs. @code{Bongo}
8414supports multiple backends such as @code{vlc}, @code{mpg123},
8415@code{ogg123}, @code{speexdec}, @code{timidity}, @code{mikmod} and
8416@code{afplay}.")
8417 (license license:gpl2+)))
8418
8419(define-public emacs-groovy-modes
8420 (package
8421 (name "emacs-groovy-modes")
8422 (version "2.0")
8423 (source (origin
8424 (method url-fetch)
8425 (uri (string-append
8426 "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes"
8427 "/archive/" version ".tar.gz"))
8428 (file-name (string-append name "-" version ".tar.gz"))
8429 (sha256
8430 (base32
8431 "15j0hnkx9nppjzda5cqsxxz5f3bq9hc4xfyjcdypzqiypcvmpa39"))))
8432 (build-system emacs-build-system)
8433 (propagated-inputs
8434 `(("emacs-s" ,emacs-s)))
8435 (home-page "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
8436 (synopsis "Groovy related modes for Emacs")
8437 (description
8438 "This package provides @code{groovy-mode} for syntax highlighing in
8439Groovy source files, REPL integration with run-groovy and Grails project
8440navigation with the grails mode.")
8441 (license license:gpl3+)))
8442
8443(define-public groovy-emacs-modes
8444 (deprecated-package "groovy-emacs-modes" emacs-groovy-modes))
8445
8446(define-public emacs-org-tree-slide
8447 (let ((commit "dff8f1a4a64c8dd0a1fde0b0131e2fe186747134")
8448 (revision "0"))
8449 (package
8450 (name "emacs-org-tree-slide")
8451 (version (git-version "0.1" revision commit))
8452 (home-page "https://github.com/takaxp/org-tree-slide")
8453 (source (origin
8454 (method git-fetch)
8455 (uri (git-reference (url home-page) (commit commit)))
8456 (sha256
8457 (base32
8458 "153bg0x7ypla11pq51jmsgzfjklwwnrq56xgpbfhk1j16xwz9hyf"))
8459 (file-name (git-file-name name version))))
8460 (build-system emacs-build-system)
8461 (synopsis "Presentation tool for org-mode")
8462 (description
8463 "Org-tree-slide provides a slideshow mode to view org-mode files. Use
8464@code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
8465@kbd{C-<} to jump to the next and previous slide.")
8466 (license license:gpl3+))))
8467
8468(define-public emacs-scratch-el
8469 (let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897")
8470 (revision "1"))
8471 (package
8472 (name "emacs-scratch-el")
8473 (version (git-version "1.2" revision commit))
8474 (source (origin
8475 (method git-fetch)
8476 (uri (git-reference
8477 (url "https://github.com/ieure/scratch-el.git")
8478 (commit commit)))
8479 (file-name (git-file-name name version))
8480 (sha256
8481 (base32
8482 "0wscsndynjmnliajqaz28r1ww81j8wh84zwaaswx51abhwgl0idf"))))
8483 (build-system emacs-build-system)
8484 (native-inputs
8485 `(("texinfo" ,texinfo)))
8486 (arguments
8487 '(#:phases
8488 (modify-phases %standard-phases
8489 (add-after 'install 'install-doc
8490 (lambda* (#:key outputs #:allow-other-keys)
8491 (unless (invoke "makeinfo" "scratch.texi")
8492 (error "makeinfo failed"))
8493 (install-file "scratch.info"
8494 (string-append (assoc-ref outputs "out")
8495 "/share/info"))
8496 #t)))))
8497 (home-page "https://github.com/ieure/scratch-el/")
8498 (synopsis "Create scratch buffers with the same mode as current buffer")
8499 (description "Scratch is an extension to Emacs that enables one to create
8500scratch buffers that are in the same mode as the current buffer. This is
8501notably useful when working on code in some language; you may grab code into a
8502scratch buffer, and, by virtue of this extension, do so using the Emacs
8503formatting rules for that language.")
8504 (license license:bsd-2))))
8505
8506(define-public emacs-kv
8507 (package
8508 (name "emacs-kv")
8509 (version "0.0.19")
8510 (source
8511 (origin
8512 (method git-fetch)
8513 (uri (git-reference
8514 (url "https://github.com/nicferrier/emacs-kv.git")
8515 (commit "721148475bce38a70e0b678ba8aa923652e8900e")))
cff11770 8516 (file-name (git-file-name name version))
eeb883cb
RW
8517 (sha256
8518 (base32
8519 "0r0lz2s6gvy04fwnafai668jsf4546h4k6zd6isx5wpk0n33pj5m"))))
8520 (build-system emacs-build-system)
8521 (arguments
8522 `(#:tests? #t
8523 #:test-command '("emacs" "--batch" "-l" "kv-tests.el"
8524 "-f" "ert-run-tests-batch-and-exit")))
8525 (home-page "https://github.com/nicferrier/emacs-kv")
8526 (synopsis "Key/Value data structures library for Emacs Lisp")
8527 (description "@code{emacs-kv} is a collection of tools for dealing with
8528key/value data structures such as plists, alists and hash-tables in Emacs
8529Lisp.")
8530 (license license:gpl3+)))
8531
8532(define-public emacs-esxml
8533 (package
8534 (name "emacs-esxml")
8535 (version "0.3.4")
8536 (source (origin
8537 (method git-fetch)
8538 (uri (git-reference
8539 (url "https://github.com/tali713/esxml.git")
8540 (commit version)))
8541 (file-name (git-file-name name version))
8542 (sha256
8543 (base32
8544 "00vv8a75wdklygdyr4km9mc2ismxak69c45jmcny41xl44rp9x8m"))))
8545 (build-system emacs-build-system)
8546 (arguments
8547 `(#:phases
8548 (modify-phases %standard-phases
8549 (add-after 'unpack 'fix-sources
8550 (lambda _
8551 ;; See: https://github.com/tali713/esxml/pull/28.
8552 (substitute* "css-lite.el"
8553 ((";;; main interface")
8554 (string-append ";;; main interface\n"
8555 "(require 'cl-lib)"))
8556 (("mapcan")
8557 "cl-mapcan")
8558 (("',\\(cl-mapcan #'process-css-rule rules\\)")
8559 "(cl-mapcan #'process-css-rule ',rules)"))
8560 (substitute* "esxml-form.el"
8561 ((",esxml-form-field-defn")
8562 "#'esxml-form-field-defn"))
8563 ;; See: https://github.com/tali713/esxml/issues/25
8564 (delete-file "esxpath.el")
8565 #t)))))
8566 (propagated-inputs
8567 `(("emacs-kv" ,emacs-kv)))
8568 (home-page "https://github.com/tali713/esxml/")
8569 (synopsis "SXML for EmacsLisp")
8570 (description "This is XML/XHTML done with S-Expressions in EmacsLisp.
8571Simply, this is the easiest way to write HTML or XML in Lisp. This library
8572uses the native form of XML representation as used by many libraries already
8573included within Emacs. See @code{esxml-to-xml} for a concise description of
8574the format.")
8575 (license license:gpl3+)))
8576
8577(define-public emacs-nov-el
8578 (package
8579 (name "emacs-nov-el")
8580 (version "0.2.6")
8581 (source (origin
8582 (method git-fetch)
8583 (uri (git-reference
8584 (url "https://github.com/wasamasa/nov.el.git")
8585 (commit version)))
8586 (file-name (git-file-name name version))
8587 (sha256
8588 (base32
8589 "188h5gzn1zf443g0b7q5bpmvvpr6ds5h8aci8vxc92py56rhyrvc"))))
8590 (build-system emacs-build-system)
8591 (arguments
8592 `(#:phases
8593 (modify-phases %standard-phases
8594 (add-after 'unpack 'embed-path-to-unzip
8595 (lambda _
8596 (substitute* "nov.el"
8597 (("\\(executable-find \"unzip\"\\)")
8598 (string-append "\"" (which "unzip") "\"")))
8599 #t)))))
8600 (propagated-inputs
8601 `(("emacs-dash" ,emacs-dash)
8602 ("emacs-esxml" ,emacs-esxml)))
8603 (inputs
8604 `(("unzip" ,unzip)))
8605 (home-page "https://github.com/wasamasa/nov.el/")
8606 (synopsis "Major mode for reading EPUBs in Emacs")
8607 (description "@code{nov.el} provides a major mode for reading EPUB
8608documents.
8609
8610Features:
8611
8612@itemize
8613@item Basic navigation (jump to TOC, previous/next chapter)
8614@item Remembering and restoring the last read position
8615@item Jump to next chapter when scrolling beyond end
8616@item Renders EPUB2 (@code{.ncx}) and EPUB3 (@code{<nav>}) TOCs
8617@item Hyperlinks to internal and external targets
8618@item Supports textual and image documents
8619@item View source of document files
8620@item Metadata display
8621@item Image rescaling
8622@end itemize
8623")
8624 (license license:gpl3+)))
8625
8626(define-public epipe
8627 (package
8628 (name "epipe")
8629 (version "0.1.0")
8630 (source
8631 (origin
8632 (method url-fetch)
8633 (uri (string-append "https://github.com/cute-jumper/epipe/archive/"
8634 version ".tar.gz"))
8635 (file-name (string-append name "-" version ".tar.gz"))
8636 (sha256
8637 (base32
8638 "05a036852g4j63k1mhvyfrcsgkl9lczayi7x61570ysw3cli5wp5"))))
8639 (build-system trivial-build-system)
8640 (inputs
8641 `(("bash" ,bash)
8642 ("perl" ,perl)))
8643 (native-inputs
8644 `(("tar" ,tar)
8645 ("gzip" ,gzip)))
8646 (arguments
8647 `(#:modules
8648 ((guix build utils))
8649 #:builder
8650 (begin
8651 (use-modules (guix build utils))
8652 ;; Extract source
8653 (setenv "PATH" (string-append
8654 (assoc-ref %build-inputs "tar") "/bin" ":"
8655 (assoc-ref %build-inputs "gzip") "/bin"))
8656 (invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
8657 (chdir (string-append ,name "-" ,version))
8658 ;; Patch shebangs
8659 (substitute* "epipe"
8660 (("/usr/bin/env bash")
8661 (string-append (assoc-ref %build-inputs "bash") "/bin/bash")))
8662 (patch-shebang "epipe.pl"
8663 (list (string-append (assoc-ref %build-inputs "perl")
8664 "/bin")))
8665 ;; Installation
8666 (for-each (lambda (file)
8667 (install-file file (string-append %output "/bin")))
8668 '("epipe" "epipe.pl"))
8669 #t)))
8670 (home-page "https://github.com/cute-jumper/epipe")
8671 (synopsis "Pipe to the @code{emacsclient}")
8672 (description "@code{epipe} provides an utility to use your editor in
8673the pipeline, featuring the support for running @code{emacsclient}.")
8674 (license license:gpl3+)))
8675
8676(define-public emacs-hcl-mode
8677 (package
8678 (name "emacs-hcl-mode")
8679 (version "0.03")
8680 (source
8681 (origin
8682 (method url-fetch)
8683 (uri (string-append
8684 "https://github.com/syohex/emacs-hcl-mode/archive/"
8685 version ".tar.gz"))
8686 (file-name (string-append name "-" version ".tar.gz"))
8687 (sha256
8688 (base32
8689 "0pvw74qpwh0znqzp6syp4wxjqs7dp1hbn5h7xfk97mff9l5d8k6x"))))
8690 (build-system emacs-build-system)
8691 (home-page "https://github.com/syohex/emacs-hcl-mode")
8692 (synopsis "Major mode for the Hashicorp Configuration Language")
8693 (description
8694 "@code{emacs-hcl-mode} provides an Emacs major mode for working with
8695@acronym{HCL, Hashicorp Configuration Language}. It provides syntax
8696highlighting and indentation support.")
8697 (license license:gpl3+)))
8698
8699(define-public emacs-terraform-mode
8700 (package
8701 (name "emacs-terraform-mode")
8702 (version "0.06")
8703 (source
8704 (origin
8705 (method url-fetch)
8706 (uri (string-append
8707 "https://github.com/syohex/emacs-terraform-mode/archive/"
8708 version ".tar.gz"))
8709 (file-name (string-append name "-" version ".tar.gz"))
8710 (sha256
8711 (base32
8712 "0h9267ifdjmcin4sj8slxydbacx4bqicbvg8pa1qq2l72h9m5381"))))
8713 (build-system emacs-build-system)
8714 (propagated-inputs
8715 `(("emacs-hcl-mode" ,emacs-hcl-mode)))
8716 (home-page "https://github.com/syohex/emacs-terraform-mode")
8717 (synopsis "Major mode for Terraform")
8718 (description
8719 "@code{emacs-terraform-mode} provides a major mode for working with
8720@uref{https://www.terraform.io/, Terraform} configuration files. Most of the
8721functionality is inherited from @code{hcl-mode}.")
8722 (license license:gpl3+)))
8723
8724(define-public emacs-exec-path-from-shell
8725 (package
8726 (name "emacs-exec-path-from-shell")
8727 (version "1.11")
8728 (source
8729 (origin
8730 (method url-fetch)
8731 (uri (string-append
8732 "https://stable.melpa.org/packages/exec-path-from-shell-"
8733 version ".el"))
8734 (sha256
8735 (base32
8736 "03qjgb81cq1l3j54lvlf98r75vmmgd06mj6qh5wa6mz4xzp4w26r"))))
8737 (build-system emacs-build-system)
8738 (home-page "https://github.com/purcell/exec-path-from-shell")
8739 (synopsis "Get environment variables such as @var{PATH} from the shell")
8740 (description
8741 "This library allows the user to set Emacs @var{exec-path} and @var{PATH}
8742from the shell @var{PATH}, so that @code{shell-command}, @code{compile} and
8743the like work as expected on systems on which Emacs is not guaranteed to
8744inherit a login shell's environment variables. It also allows other
8745environment variables to be retrieved from the shell, so that Emacs will see
8746the same values you get in a terminal.")
8747 (license license:gpl3+)))
8748
8749(define-public emacs-deft
8750 (package
8751 (name "emacs-deft")
8752 (version "0.8")
8753 (source
8754 (origin
8755 (method url-fetch)
8756 (uri (string-append "https://stable.melpa.org/packages/deft-"
8757 version ".el"))
8758 (sha256
8759 (base32
8760 "1vb9cjxskc7c0yyf9pvxy1fzypg1vrcgwnjz0m3hslinsgdyig58"))))
8761 (build-system emacs-build-system)
8762 (home-page "https://jblevins.org/projects/deft/")
8763 (synopsis "Quickly browse, filter, and edit plain text notes")
8764 (description
8765 "Deft is an Emacs mode for quickly browsing, filtering, and editing
8766directories of plain text notes, inspired by Notational Velocity.")
8767 (license license:bsd-3)))
8768
8769(define-public emacs-anzu
8770 (package
8771 (name "emacs-anzu")
8772 (version "0.62")
8773 (source
8774 (origin
8775 (method url-fetch)
8776 (uri (string-append "https://github.com/syohex/emacs-anzu/archive/"
8777 version ".tar.gz"))
8778 (file-name (string-append name "-" version ".tar.gz"))
8779 (sha256
8780 (base32
8781 "16cg3897x5znbmgk7sdy0qyd0fbic9dmmz0dchq2vz5z29yhg4cz"))))
8782 (build-system emacs-build-system)
8783 (home-page "https://github.com/syohex/emacs-anzu")
8784 (synopsis "Show number of matches in mode-line while searching")
8785 (description
8786 "Anzu provides a minor mode which displays \"current match/total
8787matches\" in the mode line in various search modes. This is an Emacs port of
8788Anzu.zim.")
8789 (license license:gpl3+)))
8790
8791(define-public emacs-emmet-mode
8792 (package
8793 (name "emacs-emmet-mode")
8794 (version "1.0.8")
8795 (source (origin
d8de2c01
EF
8796 (method git-fetch)
8797 (uri (git-reference
8798 (url "https://github.com/smihica/emmet-mode.git")
8799 (commit version)))
8800 (file-name (git-file-name name version))
8801 (sha256
8802 (base32
8803 "1dsa85bk33j90h1ypaz1ylqh9yp2xvlga237h3kwa5y3sb0d5ydi"))))
eeb883cb
RW
8804 (build-system emacs-build-system)
8805 (home-page "https://github.com/smihica/emmet-mode")
8806 (synopsis "Unofficial Emmet's support for Emacs")
8807 (description
8808 "Unfold CSS-selector-like expressions to markup. It is intended to be
8809used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
8810 (license license:gpl3+)))
8811
8812(define-public emacs-ergoemacs-mode
8813 (let ((commit "3ce23bba3cb50562693860f87f3528c471d603ba")
8814 (revision "1"))
8815 (package
8816 (name "emacs-ergoemacs-mode")
8817 (version (git-version "5.16.10.12" revision commit))
8818 (source
8819 (origin
8820 (method git-fetch)
8821 (uri (git-reference
8822 (url "https://github.com/ergoemacs/ergoemacs-mode.git")
8823 (commit commit)))
8824 (sha256
8825 (base32
8826 "1s3b9bridl78hh1mxmdk9nqlmqhibbaxk0a1cixmsf23s06w8w6l"))))
8827 (build-system emacs-build-system)
8828 (propagated-inputs
8829 `(("emacs-undo-tree" ,emacs-undo-tree)))
8830 (home-page "https://ergoemacs.github.io/")
8831 (synopsis "Emacs mode based on common modern interface and ergonomics")
8832 (description
8833 "This package provides an efficient Emacs keybinding set based on
8834statistics of command frequency, and supports common shortcuts for open,
8835close, copy, cut, paste, undo, redo.")
8836 (license license:gpl3+))))
8837
8838(define-public emacs-password-store
8839 (package
8840 (name "emacs-password-store")
8841 (version "1.7.3")
8842 (source (origin
8843 (method url-fetch)
8844 (uri
8845 (string-append "https://git.zx2c4.com/password-store/snapshot/"
8846 "password-store-" version ".tar.xz"))
8847 (sha256
8848 (base32
8849 "1x53k5dn3cdmvy8m4fqdld4hji5n676ksl0ql4armkmsds26av1b"))))
8850 (build-system emacs-build-system)
8851 (arguments
8852 `(#:phases
8853 (modify-phases %standard-phases
8854 (add-after 'unpack 'extract-el-file
8855 (lambda _
8856 (copy-file "contrib/emacs/password-store.el" "password-store.el")
8857 (delete-file-recursively "contrib")
8858 (delete-file-recursively "man")
8859 (delete-file-recursively "src")
8860 (delete-file-recursively "tests"))))))
8861 (propagated-inputs
8862 `(("emacs-f" ,emacs-f)
8863 ("emacs-s" ,emacs-s)
8864 ("emacs-with-editor" ,emacs-with-editor)
8865 ("password-store" ,password-store)))
8866 (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
8867 (synopsis "Password store (pass) support for Emacs")
8868 (description
8869 "This package provides functions for working with pass (\"the
8870standard Unix password manager\").")
8871 (license license:gpl2+)))
8872
8873(define-public emacs-pass
8874 (package
8875 (name "emacs-pass")
8876 (version "1.8")
8877 (source (origin
8878 (method url-fetch)
8879 (uri (string-append
8880 "https://github.com/NicolasPetton/pass/archive/"
8881 version ".tar.gz"))
8882 (sha256
8883 (base32
8884 "0aiz90gklk0cb8n4v1s3l0mx6pp2b7f4k2c0fjpihwmga13yklwn"))
8885 (file-name (string-append name "-" version ".tar.gz"))))
8886 (build-system emacs-build-system)
8887 (propagated-inputs
8888 `(("emacs-password-store" ,emacs-password-store)
8889 ("emacs-f" ,emacs-f)))
8890 (home-page "https://github.com/NicolasPetton/pass")
8891 (synopsis "Major mode for @file{password-store.el}")
8892 (description "This is a major mode for managing password-store (pass)
8893keychains. The keychain entries are displayed in a directory-like structure
8894and can be consulted and modified.")
8895 (license license:gpl3+)))
8896
8897(define-public emacs-evil-anzu
8898 (package
8899 (name "emacs-evil-anzu")
8900 (version "0.03")
8901 (source
8902 (origin
8903 (method url-fetch)
8904 (uri (string-append "https://github.com/syohex/emacs-evil-anzu"
8905 "/archive/" version ".tar.gz"))
8906 (file-name (string-append name "-" version ".tar.gz"))
8907 (sha256
8908 (base32 "032hh2946z529cizqsg8pm6cpn5qdj8lfk3qskmx6xv3g2ra56ns"))))
8909 (build-system emacs-build-system)
8910 (propagated-inputs
8911 `(("emacs-evil" ,emacs-evil)
8912 ("emacs-anzu" ,emacs-anzu)))
8913 (home-page "https://github.com/syohex/emacs-evil-anzu")
8914 (synopsis "Anzu for evil-mode")
8915 (description "@code{anzu} provides a minor mode that displays the current
8916match and total match information in the mode-line in various search modes.")
8917 (license license:gpl3+)))
8918
8919(define-public emacs-pg
8920 (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d"))
8921 (package
8922 (name "emacs-pg")
8923 (version (git-version "0.1" "1" commit))
8924 (source (origin
8925 (method git-fetch)
8926 (uri (git-reference (url "https://github.com/cbbrowne/pg.el")
8927 (commit commit)))
8928 (file-name (git-file-name name version))
8929 (sha256
8930 (base32
8931 "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0"))))
8932 (build-system emacs-build-system)
8933 (home-page "https://github.com/cbbrowne/pg.el")
8934 (synopsis "Emacs Lisp interface for PostgreSQL")
8935 (description
8936 "This package provides an Emacs Lisp interface for PostgreSQL.")
8937 (license license:gpl3+))))
8938
8939(define-public emacs-cl-generic
8940 (package
8941 (name "emacs-cl-generic")
8942 (version "0.3")
8943 (source
8944 (origin
8945 (method url-fetch)
8946 (uri (string-append "https://elpa.gnu.org/packages/cl-generic-"
8947 version ".el"))
8948 (sha256
8949 (base32
8950 "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq"))))
8951 (build-system emacs-build-system)
8952 (home-page "https://elpa.gnu.org/packages/seq.html")
8953 (synopsis
8954 "Forward @code{cl-generic} compatibility for Emacs before version 25")
8955 (description "This package provides a subset of the features of the
8956@code{cl-generic} package introduced in Emacs-25, for use on previous
8957@code{emacsen}.")
8958 (license license:gpl3+)))
8959
8960(define-public emacs-finalize
8961 (package
8962 (name "emacs-finalize")
8963 (version "2.0.0")
8964 (source
8965 (origin
8966 (method url-fetch)
8967 (uri (string-append "https://github.com/skeeto/elisp-finalize/archive/"
8968 version ".tar.gz"))
8969 (file-name (string-append name "-" version ".tar.gz"))
8970 (sha256
8971 (base32
8972 "077fycy3i5f0kjw5z3rhf4kld5lbk2idz690nkwhkz04vppk4q4x"))))
8973 (build-system emacs-build-system)
8974 (propagated-inputs
8975 `(("emacs-cl-generic" ,emacs-cl-generic)))
8976 (home-page "https://github.com/skeeto/elisp-finalize")
8977 (synopsis "Finalizers for Emacs Lisp")
8978 (description
8979 "This package will allows to immediately run a callback (a finalizer)
8980after its registered lisp object has been garbage collected. This allows for
8981extra resources, such as buffers and processes, to be cleaned up after the
8982object has been freed.")
8983 (license license:unlicense)))
8984
8985(define-public emacs-emacsql
8986 (package
8987 (name "emacs-emacsql")
8988 (version "3.0.0")
8989 (source (origin
8990 (method git-fetch)
8991 (uri (git-reference
8992 (url "https://github.com/skeeto/emacsql.git")
8993 (commit (string-append version))))
8994 (file-name (git-file-name name version))
8995 (sha256
8996 (base32
8997 "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"))))
8998 (build-system emacs-build-system)
8999 (arguments
9000 `(#:modules ((guix build emacs-build-system)
9001 (guix build utils)
9002 (guix build emacs-utils)
9003 (srfi srfi-26))
9004 #:phases
9005 (modify-phases %standard-phases
9006 (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files.
9007 (add-before 'install 'patch-elisp-shell-shebangs
9008 (lambda _
9009 (substitute* (find-files "." "\\.el")
9010 (("/bin/sh") (which "sh")))
9011 #t))
9012 (add-after 'patch-elisp-shell-shebangs 'setenv-shell
9013 (lambda _
9014 (setenv "SHELL" "sh")))
9015 (add-after 'setenv-shell 'build-emacsql-sqlite
9016 (lambda _
9017 (invoke "make" "binary" "CC=gcc")))
9018 (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
9019 ;; This build phase installs emacs-emacsql binary.
9020 (lambda* (#:key outputs #:allow-other-keys)
9021 (install-file "sqlite/emacsql-sqlite"
9022 (string-append (assoc-ref outputs "out")
9023 "/bin"))
9024 #t))
9025 (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
9026 ;; This build phase removes interactive prompts
9027 ;; and makes sure Emacs look for binaries in the right places.
9028 (lambda* (#:key outputs #:allow-other-keys)
9029 (let ((file "emacsql-sqlite.el"))
9030 (chmod file #o644)
9031 (emacs-substitute-sexps file
9032 ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
9033 ("(executable-find" (which "gcc"))
9034 ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary
9035 ;; in the right place.
9036 ("(defvar emacsql-sqlite-executable"
9037 (string-append (assoc-ref outputs "out")
9038 "/bin/emacsql-sqlite"))))))
9039 (replace 'install
9040 (lambda* (#:key outputs #:allow-other-keys)
9041 (let* ((out (assoc-ref outputs "out")))
9042 (install-file "sqlite/emacsql-sqlite"
9043 (string-append out "/bin"))
9044 (for-each (cut install-file <>
9045 (string-append out "/share/emacs/site-lisp/guix.d/"
9046 "emacsql" "-" ,version))
9047 (find-files "." "\\.elc*$")))
9048 #t)))))
9049 (inputs
9050 `(("emacs-minimal" ,emacs-minimal)
9051 ("mariadb" ,mariadb)
9052 ("postgresql" ,postgresql)))
9053 (propagated-inputs
9054 `(("emacs-finalize" ,emacs-finalize)
9055 ("emacs-pg" ,emacs-pg)))
9056 (home-page "https://github.com/skeeto/emacsql")
9057 (synopsis "Emacs high-level SQL database front-end")
9058 (description "Any readable Lisp value can be stored as a value in EmacSQL,
9059including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
9060has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
9061object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
9062 (license license:gpl3+)))
9063
9064(define-public emacs-closql
9065 (package
9066 (name "emacs-closql")
9067 (version "1.0.0")
9068 (source
9069 (origin
9070 (method git-fetch)
9071 (uri (git-reference
9072 (url "https://github.com/emacscollective/closql.git")
9073 (commit (string-append "v" version))))
9074 (file-name (git-file-name name version))
9075 (sha256
9076 (base32
9077 "1xhpfjjkjqfc1k2rj77cscclz5r7gpvv3hi202x178vdcpipjwar"))))
9078 (build-system emacs-build-system)
9079 (propagated-inputs
9080 `(("emacs-emacsql" ,emacs-emacsql)))
9081 (home-page "https://github.com/emacscollective/closql")
9082 (synopsis "Store EIEIO objects using EmacSQL")
9083 (description
9084 "This package allows to store uniform EIEIO objects in an EmacSQL
9085database. SQLite is used as backend. This library imposes some restrictions
9086on what kind of objects can be stored; it isn't intended to store arbitrary
9087objects. All objects have to share a common superclass and subclasses cannot
9088add any additional instance slots.")
9089 (license license:gpl3)))
9090
9091(define-public emacs-epkg
9092 ;; The release version is to old for the current database scheme.
9093 (let ((commit "432312b9583ed7b88ad9644fd1bf2183765a892e"))
9094 (package
9095 (name "emacs-epkg")
9096 (version (git-version "3.0.0" "1" commit))
9097 (source
9098 (origin
9099 (method git-fetch)
9100 (uri (git-reference
9101 (url "https://github.com/emacscollective/epkg.git")
9102 (commit commit)))
9103 (file-name (git-file-name name version))
9104 (sha256
9105 (base32
9106 "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k"))))
9107 (build-system emacs-build-system)
9108 (propagated-inputs
9109 `(("emacs-closql" ,emacs-closql)
9110 ("emacs-dash" ,emacs-dash)))
9111 (home-page "https://emacsmirror.net")
9112 (synopsis "Browse the Emacsmirror package database")
9113 (description "This package provides access to a local copy of the
9114Emacsmirror package database. It provides low-level functions for querying
9115the database and a @file{package.el} user interface for browsing the database.
9116Epkg itself is not a package manager.
9117
9118Getting a local copy:
9119
9120@example
9121git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs
9122cd ~/.emacs.d/epkgs
9123git submodule init
9124git config --global url.https://github.com/.insteadOf git@@github.com:
9125git submodule update
9126@end example
9127
9128Some submodule may be missing. In this case Git will prompt for a GitHub user
9129name and password. To skip it press a @key{Return} key.
9130
9131You could get a Epkg package list by invoking @code{epkg-list-packages} in
9132Emacs.")
9133 (license license:gpl3+))))
9134
9135(define-public emacs-elisp-slime-nav
9136 (package
9137 (name "emacs-elisp-slime-nav")
9138 (version "0.9")
9139 (source
9140 (origin
9141 (method url-fetch)
9142 (uri (string-append "https://github.com/purcell/elisp-slime-nav/archive/"
9143 version ".tar.gz"))
9144 (file-name (string-append name "-" version ".tar.gz"))
9145 (sha256
9146 (base32
9147 "1vq7ym1q47p97gxrv45c9gm96d23xbp237vkmakikj6grngxjfb2"))))
9148 (build-system emacs-build-system)
9149 (home-page "https://github.com/purcell/elisp-slime-nav")
9150 (synopsis "Make @code{M-.} and @code{M-,} work for elisp like they do in SLIME")
9151 (description
9152 "This package provides SLIME's convenient @code{M-.}and @code{M-,} navigation
9153in @code{emacs-lisp-mode}, together with an elisp equivalent of
9154@code{slime-describe-symbol}.")
9155 (license license:gpl3+)))
9156
9157(define-public emacs-dedicated
9158 (package
9159 (name "emacs-dedicated")
9160 (version "1.0.0")
9161 (source (origin
9162 (method url-fetch)
9163 (uri (string-append
9164 "https://github.com/emacsorphanage/dedicated/archive/"
9165 version
9166 ".tar.gz"))
9167 (sha256
9168 (base32
9169 "0nhbkp278cvcznb5rp3jp9ii3mjgb79zx8iwfrw7zfk3yg8688ni"))
9170 (file-name (string-append name "-" version ".tar.gz"))))
9171 (build-system emacs-build-system)
9172 (home-page "https://github.com/emacsorphanage/dedicated")
9173 (synopsis "Emacs minor mode for toggling a windows's \"dedicated\" flag")
9174 (description
9175 "This simple Emacs minor mode allows you to toggle a window's
9176\"dedicated\" flag. When a window is \"dedicated\", Emacs will not select
9177files into that window. This can be quite handy since many commands will use
9178another window to show results (compilation mode, starting info, and so on).
9179A dedicated window won't be used for such a purpose. For details, please read
9180the source file.")
9181 (license license:gpl2+)))
9182
9183(define-public emacs-nnreddit
9184 (let ((commit "9843f99d01fd8f1eea2fc685965a7c7f4eeb187a")
9185 (revision "1"))
9186 (package
9187 (name "emacs-nnreddit")
9188 (version (string-append "0.0.1-" revision "."
9189 (string-take commit 7)))
9190 (source (origin
9191 (method git-fetch)
9192 (uri (git-reference
9193 (url "https://github.com/paul-issartel/nnreddit.git")
9194 (commit commit)))
9195 (file-name (string-append name "-" version "-checkout"))
9196 (sha256
9197 (base32
9198 "0j4h3bnga640250jdq8bwyja49r41ssrsjd6lba4gzzllqk02nbn"))))
9199 (build-system emacs-build-system)
9200 (home-page "https://github.com/paul-issartel/nnreddit")
9201 (synopsis "Reddit backend for the Gnus newsreader")
9202 (description "@url{https://www.reddit.com} backend for the Gnus
9203newsreader.")
9204 (license license:gpl3+))))
9205
9206(define-public emacs-makey
9207 (package
9208 (name "emacs-makey")
9209 (version "0.3")
9210 (source
9211 (origin
9212 (method url-fetch)
9213 (uri (string-append "https://github.com/mickeynp/makey/archive/"
9214 version ".tar.gz"))
9215 (file-name (string-append name "-" version ".tar.gz"))
9216 (sha256
9217 (base32
9218 "0kzl4q1wf2zhkx9nrymxa67n99iq0bj7zqhpaz4byksna1hsxfmv"))))
9219 (build-system emacs-build-system)
9220 (home-page "https://github.com/mickeynp/makey")
9221 (synopsis "Emacs interactive command-line mode")
9222 (description
9223 "This package provides an Emacs interactive command-line mode.")
9224 (license license:gpl3+)))
9225
9226(define-public emacs-outorg
9227 (let ((commit "78b0695121fb974bc4e971eb4ef7f8afd6d89d64"))
9228 (package
9229 (name "emacs-outorg")
9230 (version (git-version "2.0" "1" commit))
9231 (source
9232 (origin
9233 (method git-fetch)
9234 (uri (git-reference
9235 (url "https://github.com/alphapapa/outorg")
9236 (commit commit)))
9237 (file-name (git-file-name name version))
9238 (sha256
9239 (base32
9240 "03aclh4m3f7rb821gr9pwvnqkkl91px3qxdcarpf3ypa1x4fxvlj"))))
9241 (build-system emacs-build-system)
9242 (home-page "https://github.com/alphapapa/outorg")
9243 (synopsis "Org-style comment editing")
9244 (description "Outorg is for editing comment-sections of source-code
9245files in temporary Org-mode buffers. It turns conventional
9246literate-programming upside-down in that the default mode is the
9247programming-mode, and special action has to be taken to switch to the
9248text-mode (i.e. Org-mode).")
9249 (license license:gpl3+))))
9250
9251(define-public emacs-outshine
9252 (let ((commit "5f1a6b70231d2811c522e4e5e8c89ff461b311d6"))
9253 (package
9254 (name "emacs-outshine")
9255 (version (git-version "2.0" "1" commit))
9256 (source (origin
9257 (method git-fetch)
9258 (uri (git-reference
9259 (url "https://github.com/alphapapa/outshine.git")
9260 (commit commit)))
9261 (file-name (git-file-name name version))
9262 (sha256
9263 (base32
9264 "1l9v1dfhgg7il11ifbhvcvrg3acfjk9sdxlc3lja1k54d7dp60jv"))))
9265 (build-system emacs-build-system)
9266 (propagated-inputs
9267 `(("emacs-outorg" ,emacs-outorg)))
9268 (home-page "https://github.com/alphapapa/outshine")
9269 (synopsis "Emacs outline with outshine")
9270 (description "Outshine attempts to bring the look and feel of
9271@code{org-mode} to an Emacs outside of the Org major-mode. It is an extension
9272of @code{outline-minor-mode} (@code{org-mode} itself derives from
9273outline-mode), so there is no such thing like an outshine mode, only
9274@code{outline-minor-mode} with outshine extensions loaded.")
9275 (license license:gpl3+))))
9276
9277(define-public emacs-parsebib
9278 (package
9279 (name "emacs-parsebib")
9280 (version "2.3.1")
9281 (source
9282 (origin
9283 (method url-fetch)
9284 (uri (string-append "https://github.com/joostkremers/parsebib/archive/"
9285 version ".tar.gz"))
9286 (file-name (string-append name "-" version ".tar.gz"))
9287 (sha256
9288 (base32
9289 "0cxagnmc5ab6idmb26axpizhr4sqglkncc59768yavn3p04jyq63"))))
9290 (build-system emacs-build-system)
9291 (home-page "https://github.com/joostkremers/parsebib")
9292 (synopsis "Library for parsing bib files")
9293 (description
9294 "This package provides an Emacs library for parsing bib files.")
9295 (license license:gpl3+)))
9296
9297(define-public emacs-biblio
9298 (package
9299 (name "emacs-biblio")
c7cf43dd 9300 (version "0.2")
eeb883cb
RW
9301 (source
9302 (origin
9303 (method url-fetch)
9304 (uri (string-append "https://github.com/cpitclaudel/biblio.el/archive/"
9305 version ".tar.gz"))
9306 (file-name (string-append name "-" version ".tar.gz"))
9307 (sha256
9308 (base32
c7cf43dd 9309 "0vwrljmab8m1z83048gxx5mryml9f5pb3h0jpwkvqcl0ra152lzx"))))
eeb883cb
RW
9310 (build-system emacs-build-system)
9311 (propagated-inputs
9312 `(("emacs-seq" ,emacs-seq)
9313 ("emacs-dash" ,emacs-dash)
9314 ("emacs-let-alist" ,emacs-let-alist)))
9315 (home-page "https://github.com/cpitclaudel/biblio.el")
9316 (synopsis "Browse and import bibliographic references")
9317 (description "This package provides an extensible Emacs package for
9318browsing and fetching references.
9319
9320@file{biblio.el} makes it easy to browse and gather bibliographic references
9321and publications from various sources, by keywords or by DOI. References are
9322automatically fetched from well-curated sources, and formatted as BibTeX.")
9323 (license license:gpl3+)))
9324
9325(define-public emacs-helm-bibtex
9326 (let ((commit "8ed898fb5a68f18e9bb9973832a5c1f8abcfc463")
9327 (revision "1"))
9328 (package
9329 (name "emacs-helm-bibtex")
9330 (version (string-append "2.0.0" "-" revision "."
9331 (string-take commit 7)))
9332 (source
9333 (origin
9334 (method git-fetch)
9335 (uri (git-reference
9336 (url "https://github.com/tmalsburg/helm-bibtex.git")
9337 (commit commit)))
9338 (file-name (string-append name "-" version "-checkout"))
9339 (sha256
9340 (base32
9341 "14lyx0vbqr97p3anzrsp7m3q0kqclyjcdwplpraim403fcklzbnz"))))
9342 (build-system emacs-build-system)
9343 (propagated-inputs
9344 `(("emacs-helm" ,emacs-helm)
9345 ("emacs-parsebib" ,emacs-parsebib)
9346 ("emacs-s" ,emacs-s)
9347 ("emacs-dash" ,emacs-dash)
9348 ("emacs-f" ,emacs-f)
9349 ("emacs-biblio" ,emacs-biblio)
9350 ("emacs-ivy" ,emacs-ivy)))
9351 (home-page "https://github.com/tmalsburg/helm-bibtex")
9352 (synopsis "Bibliography manager based on Helm")
9353 (description "This package provides bibliography manager for Emacs,
9354based on Helm and the bibtex-completion backend.
9355
9356Key features:
9357
9358@itemize
9359@item Quick access to your bibliography from within Emacs
9360@item Powerful search capabilities
9361@item Provides instant search results as you type
9362@item Tightly integrated with LaTeX authoring, emails, Org mode, etc.
9363@item Open the PDFs, URLs, or DOIs associated with an entry
9364@item Insert LaTeX cite commands, Ebib links, or Pandoc citations,
9365BibTeX entries, or plain text references at point, attach PDFs to emails
9366@item Support for note taking
9367@item Quick access to online bibliographic databases such as Pubmed,
9368arXiv, Google Scholar, Library of Congress, etc.
9369@item Imports BibTeX entries from CrossRef and other sources.
9370@end itemize\n")
9371 (license license:gpl3+))))
9372
9373(define-public emacs-ewmctrl
9374 (let ((commit "3d0217c4d6cdb5c308b6cb4293574f470d4faacf"))
9375 (package
9376 (name "emacs-ewmctrl")
9377 (version (git-version "0.0.1" "1" commit))
9378 (source
9379 (origin
9380 (method git-fetch)
9381 (uri (git-reference
9382 (url "https://github.com/flexibeast/ewmctrl.git")
9383 (commit commit)))
9384 (file-name (git-file-name name version))
9385 (sha256
9386 (base32
9387 "0ilwvx0qryv3v6xf0gxqwnfm6pf96gxap8h9g3f6z6lk9ff4n1wi"))))
9388 (build-system emacs-build-system)
9389 (arguments
9390 '(#:phases
9391 (modify-phases %standard-phases
9392 (add-after 'unpack 'patch-ewmctrl
9393 ;; This build phase makes sure ‘ewmctrl’ looks
9394 ;; for ‘wmctrl’ in the right place.
9395 (lambda _
9396 (let ((file "ewmctrl.el"))
9397 (chmod file #o644)
9398 (emacs-substitute-sexps file
9399 ("(defcustom ewmctrl-wmctrl-path" (which "wmctrl")))))))))
9400 (inputs
9401 `(("wmctrl" ,wmctrl)))
9402 (home-page "https://github.com/flexibeast/ewmctrl")
9403 (synopsis "Emacs interface to @code{wmctrl}")
9404 (description "@code{ewmctrl} provides an Emacs interface to
9405@code{wmctrl} command-line window-management program.")
9406 (license license:gpl3+))))
9407
2d164c9e
BL
9408(define-public emacs-erc-image
9409 (let ((commit "82fb3871f02e24b1e880770b9a3d187aab43d0f0")
9410 (revision "1"))
9411 (package
9412 (name "emacs-erc-image")
9413 (version (git-version "0" revision commit))
9414 (source
9415 (origin
9416 (method git-fetch)
9417 (uri (git-reference
9418 (url "https://github.com/kidd/erc-image.el")
9419 (commit commit)))
9420 (file-name (git-file-name name version))
9421 (sha256
9422 (base32
9423 "1q8mkf612fb4fjp8h4kbr107wn083iqfdgv8f80pcmil8y33dw9i"))))
9424 (build-system emacs-build-system)
9425 (home-page "https://github.com/kidd/erc-image.el")
9426 (synopsis "Show inlined images (png/jpg/gif/svg) in ERC buffers")
9427 (description "This plugin subscribes to hooks @code{erc-insert-modify-hook}
9428and @code{erc-send-modify-hook} to download and show images.")
9429 (license license:gpl3+))))
9430
eeb883cb
RW
9431(define-public emacs-helm-gtags
9432 (package
9433 (name "emacs-helm-gtags")
9434 (version "1.5.6")
9435 (source (origin
9436 (method url-fetch)
9437 (uri (string-append
9438 "https://github.com/syohex/emacs-helm-gtags/archive/"
9439 version ".tar.gz"))
9440 (file-name (string-append name "-" version ".tar.gz"))
9441 (sha256
9442 (base32
9443 "1a10snhg6nnnan6w9a7mcziy26vxbsr3c35i0gcarnkdp2yqng36"))))
9444 (build-system emacs-build-system)
9445 (propagated-inputs
9446 `(("emacs-helm" ,emacs-helm)))
9447 (home-page "https://github.com/syohex/emacs-helm-gtags")
9448 (synopsis "Emacs Helm interface to GNU Global")
9449 (description
9450 "@code{emacs-helm-gtags} provides a Emacs Helm interface to GNU Global.")
9451 (license license:gpl3+)))
9452
9453(define-public emacs-list-utils
9454 (package
9455 (name "emacs-list-utils")
9456 (version "0.4.4")
9457 (source
9458 (origin
9459 (method url-fetch)
9460 (uri (string-append "https://github.com/rolandwalker/list-utils/archive/"
9461 "v" version ".tar.gz"))
9462 (file-name (string-append name "-" version ".tar.gz"))
9463 (sha256
9464 (base32
9465 "1xc1xh8c82h5gdjbgpdsdclgwxkxbb7h3x3a2bscpm41g8pnan4p"))))
9466 (build-system emacs-build-system)
9467 (home-page "https://github.com/rolandwalker/list-utils")
9468 (synopsis "List-manipulation utility functions")
9469 (description "This package provides a list manipulation library for Emacs.")
9470 (license license:gpl3+)))
9471
9472(define-public emacs-move-text
9473 (package
9474 (name "emacs-move-text")
9475 (version "2.0.8")
9476 (source
9477 (origin
9478 (method url-fetch)
9479 (uri (string-append "https://github.com/emacsfodder/move-text/archive/"
9480 version ".tar.gz"))
9481 (file-name (string-append name "-" version ".tar.gz"))
9482 (sha256
9483 (base32
9484 "1sjfja9r25692pgcldgnjzkapzy970m14jh9l4pajysiqcdk72g0"))))
9485 (build-system emacs-build-system)
9486 (home-page "https://github.com/emacsfodder/move-text")
9487 (synopsis "Move current line or region with M-up or M-down")
9488 (description "This package provide functions to move the current line
9489using @kbd{M-up} or @kbd{M-down} if a region is marked, it will move the
9490region instead.")
9491 (license license:gpl3+)))
9492
9493(define-public emacs-validate
9494 (package
9495 (name "emacs-validate")
9496 (version "1.0.5")
9497 (source (origin
9498 (method url-fetch)
9499 (uri (string-append "https://github.com/Malabarba/validate.el"
9500 "/archive/" version ".tar.gz"))
9501 (file-name (string-append name "-" version ".tar.gz"))
9502 (sha256
9503 (base32
9504 "125mbd111f1h1baw0z3fzm48y1bvaigljyzvvnqgrn0shxbj0khg"))))
9505 (build-system emacs-build-system)
9506 (home-page "https://github.com/Malabarba/validate.el")
9507 (synopsis "Emacs library for scheme validation")
9508 (description "This Emacs library provides two functions that perform
9509schema validation.")
9510 (license license:gpl3+)))
9511
9512(define-public emacs-rainbow-blocks
9513 (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842"))
9514 (package
9515 (name "emacs-rainbow-blocks")
9516 (version (git-version "1.0.0" "1" commit))
9517 (source (origin
9518 (method git-fetch)
9519 (uri (git-reference
9520 (url "https://github.com/istib/rainbow-blocks.git")
9521 (commit commit)))
9522 (file-name (git-file-name name version))
9523 (sha256
9524 (base32
9525 "06yfb3i7wzvqrhkb61zib9xvpb5i00s4frizkzff66im05k0n795"))))
9526 (build-system emacs-build-system)
9527 (home-page "https://github.com/istib/rainbow-blocks")
9528 (synopsis "Highlight sexp blocks")
9529 (description "Rainbow-blocks is an Emacs mode that highlights blocks
9530made of parentheses, brackets, and braces according to their depth. Each
9531successive level is highlighted in a different color. This makes it easy to
9532orient yourself in the code, and tell which statements are at a given level.")
9533 (license license:gpl3+))))
9534
9535(define-public emacs-hierarchy
9536 (package
9537 (name "emacs-hierarchy")
9538 (version "0.7.0")
9539 (source
9540 (origin
9541 (method url-fetch)
9542 (uri (string-append
9543 "https://github.com/DamienCassou/hierarchy/archive/"
9544 "v" version ".tar.gz"))
9545 (file-name (string-append name "-" version ".tar.gz"))
9546 (sha256
9547 (base32
9548 "1a463v5zk6zis2p8cs4mads3iyxh266yahi6j6y0paggfl2yhkc8"))))
9549 (build-system emacs-build-system)
9550 (home-page "https://github.com/DamienCassou/hierarchy")
9551 (synopsis "Library to create and display hierarchy structures")
9552 (description "This package provides an Emacs library to create, query,
9553navigate and display hierarchy structures.")
9554 (license license:gpl3+)))
9555
9556(define-public emacs-tree-mode
9557 (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534")
9558 (revision "1"))
9559 (package
9560 (name "emacs-tree-mode")
9561 (version (string-append "0.0.1" "-" revision "."
9562 (string-take commit 7)))
9563 (source
9564 (origin
9565 (method git-fetch)
9566 (uri (git-reference
9567 (url "https://github.com/emacsorphanage/tree-mode.git")
9568 (commit commit)))
9569 (file-name (string-append name "-" version "-checkout"))
9570 (sha256
9571 (base32
9572 "13bbdhdmqg4x9yghanhr8fsbsxbnypzxdxgicz31sjjm675kpnix"))))
9573 (build-system emacs-build-system)
9574 (home-page "https://github.com/emacsorphanage/tree-mode")
9575 (synopsis "Emacs mode to manage tree widgets")
9576 (description
9577 "This package provides an Emacs library to manage tree widgets.")
9578 (license license:gpl3+))))
9579
9580(define-public emacs-md4rd
9581 (let ((commit "c55512c2f7680db2a1e73db6bdf93adecaf40fec")
9582 (revision "1"))
9583 (package
9584 (name "emacs-md4rd")
9585 (version (string-append "0.0.2" "-" revision "."
9586 (string-take commit 7)))
9587 (source (origin
9588 (method git-fetch)
9589 (uri (git-reference
9590 (url "https://github.com/ahungry/md4rd.git")
9591 (commit commit)))
9592 (file-name (string-append name "-" version "-checkout"))
9593 (sha256
9594 (base32
9595 "0mvv1mvsrpkrmikcpfqf2zbawnzgq33j6zjdrlv48mcw57xb2ak9"))))
9596 (propagated-inputs
9597 `(("emacs-hierarchy" ,emacs-hierarchy)
9598 ("emacs-request" ,emacs-request)
9599 ("emacs-dash" ,emacs-dash)
9600 ("emacs-s" ,emacs-s)
9601 ("emacs-tree-mode" ,emacs-tree-mode)))
9602 (build-system emacs-build-system)
9603 (home-page "https://github.com/ahungry/md4rd")
9604 (synopsis "Emacs Mode for Reddit")
9605 (description
9606 "This package allows to read Reddit from within Emacs interactively.")
9607 (license license:gpl3+))))
9608
9609(define-public emacs-pulseaudio-control
e83d46f0
PN
9610 (let ((commit "7e1a87068379075a5e9ce36c64c686c03d20d379")
9611 (revision "3"))
eeb883cb
RW
9612 (package
9613 (name "emacs-pulseaudio-control")
9614 (version (git-version "0.0.1" revision commit))
9615 (source
9616 (origin
9617 (method git-fetch)
9618 (uri (git-reference
9619 (url "https://github.com/flexibeast/pulseaudio-control.git")
9620 (commit commit)))
9621 (file-name (git-file-name name version))
9622 (sha256
9623 (base32
e83d46f0 9624 "0wcaqyh15x56255rrj350089z15pnwixa2vf0ly6dv0hjmzmh3mr"))))
eeb883cb
RW
9625 (build-system emacs-build-system)
9626 (arguments
9627 '(#:phases (modify-phases %standard-phases
9628 (add-after 'unpack 'patch-file-name
9629 (lambda* (#:key inputs #:allow-other-keys)
9630 (let ((pulseaudio (assoc-ref inputs "pulseaudio")))
9631 (chmod "pulseaudio-control.el" #o600)
9632 (emacs-substitute-variables "pulseaudio-control.el"
9633 ("pulseaudio-control-pactl-path"
9634 (string-append pulseaudio "/bin/pactl")))
9635 #t))))))
9636 (inputs `(("pulseaudio" ,pulseaudio)))
9637 (home-page "https://github.com/flexibeast/pulseaudio-control")
9638 (synopsis "Control @code{pulseaudio} from Emacs")
9639 (description
9640 "This package allows to control @code{pulseaudio} from Emacs.")
9641 (license license:gpl3+))))
9642
9643(define-public emacs-datetime
9644 (package
9645 (name "emacs-datetime")
9646 (version "0.3")
9647 (source (origin
9648 (method url-fetch)
9649 (uri (string-append
9650 "https://github.com/doublep/datetime/archive/"
9651 version ".tar.gz"))
9652 (file-name (string-append name "-" version ".tar.gz"))
9653 (sha256
9654 (base32
9655 "12wqpj67rjij2ki7nmw38rz3k2bsq68pk6zswknlcn9qhp1zd9w9"))))
9656 (build-system emacs-build-system)
9657 (home-page "https://github.com/doublep/datetime/")
9658 (synopsis "Library to work with dates in Emacs")
9659 (description "Parsing, formatting, matching and recoding
9660timestamps and date-time format strings library for Emacs.")
9661 (license license:gpl3+)))
9662
9663(define-public emacs-org-mind-map
9664 (let ((commit "9d6e262bedd94daf9de269f4d56de277275677cb")
9665 (revision "1"))
9666 (package
9667 (name "emacs-org-mind-map")
9668 (version (string-append "0.0.1" "-" revision "."
9669 (string-take commit 7)))
9670 (source
9671 (origin
9672 (method git-fetch)
9673 (uri (git-reference
9674 (url "https://github.com/theodorewiles/org-mind-map.git")
9675 (commit commit)))
9676 (file-name (string-append name "-" version "-checkout"))
9677 (sha256
9678 (base32
9679 "0jgkkgq7g64zckrmjib0hvz0qy3ynz5vz13qbmlpf096l3bb65wn"))))
9680 (propagated-inputs
9681 `(("emacs-dash" ,emacs-dash)))
9682 (build-system emacs-build-system)
9683 (home-page "https://github.com/theodorewiles/org-mind-map")
9684 (synopsis "Create Graphviz directed graphs from Org files")
9685 (description
9686 "This package creates Graphviz directed graphs from Org files.")
9687 (license license:gpl3+))))
9688
9689(define-public emacs-npm-mode
9690 (package
9691 (name "emacs-npm-mode")
9692 (version "0.6.0")
9693 (source
9694 (origin
9695 (method url-fetch)
9696 (uri (string-append "https://github.com/mojochao/npm-mode/archive/"
9697 version ".tar.gz"))
9698 (file-name (string-append name "-" version ".tar.gz"))
9699 (sha256
9700 (base32
9701 "1kq1ww22dwf8c2i2b4z2ldbbmnihj65kb7n5vzvwkch9h4hxpqh5"))))
9702 (build-system emacs-build-system)
9703 (home-page "https://github.com/mojochao/npm-mode")
9704 (synopsis "Minor mode for working with @code{npm} projects")
9705 (description
9706 "@code{npm-mode} provides a minor mode to work with @code{npm} projects.")
9707 (license license:gpl3+)))
9708
9709(define-public emacs-seq
9710 (package
9711 (name "emacs-seq")
9712 (version "2.20")
9713 (source
9714 (origin
9715 (method url-fetch)
9716 (uri (string-append "http://elpa.gnu.org/packages/seq-" version ".tar"))
9717 (sha256
9718 (base32
9719 "0vrpx6nnyjb0gsypknzagimlhvcvi5y1rcdkpxyqr42415zr8d0n"))))
9720 (build-system emacs-build-system)
9721 (home-page "http://elpa.gnu.org/packages/seq.html")
9722 (synopsis "Sequence manipulation functions")
9723 (description "Sequence-manipulation functions that complement basic
9724functions provided by @file{subr.el}.")
9725 (license license:gpl3+)))
9726
9727(define-public emacs-itail
9728 (let ((commit "6e43c20da03be3b9c6ece93b7dc3495975ec1888")
9729 (revision "1"))
9730 (package
9731 (name "emacs-itail")
9732 (version (string-append "0.0.1" "-" revision "."
9733 (string-take commit 7)))
9734 (source
9735 (origin
9736 (method git-fetch)
9737 (uri (git-reference
9738 (url "https://github.com/re5et/itail.git")
9739 (commit commit)))
9740 (file-name (string-append name "-" version "-checkout"))
9741 (sha256
9742 (base32
9743 "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv"))))
9744 (build-system emacs-build-system)
9745 (home-page "https://github.com/re5et/itail")
9746 (synopsis "Interactive @code{tail} Emacs mode")
9747 (description "@code{itail} provides interactive @code{tail} mode
9748that allows you to filter the tail with unix pipes and highlight the
9749contents of the tailed file. Works locally or on remote files using
9750tramp.")
9751 (license license:gpl3+))))
9752
9753(define-public emacs-loop
9754 (package
9755 (name "emacs-loop")
9756 (version "1.3")
9757 (source
9758 (origin
9759 (method url-fetch)
9760 (uri (string-append "https://github.com/Wilfred/loop.el/archive/"
9761 version ".tar.gz"))
9762 (file-name (string-append name "-" version ".tar.gz"))
9763 (sha256
9764 (base32
9765 "1z3rhh3zyjabz36410yz0lp4a0qwwj0387as662wvx3z9y54jia9"))))
9766 (build-system emacs-build-system)
9767 (home-page "https://github.com/Wilfred/loop.el")
9768 (synopsis "Imperative loop structures for Emacs")
9769 (description "Loop structures familiar to users of other languages. This
9770library adds a selection of popular loop structures as well as break and
9771continue.")
9772 (license license:gpl3+)))
9773
9774(define-public emacs-elisp-refs
9775 (package
9776 (name "emacs-elisp-refs")
9777 (version "1.3")
9778 (source
9779 (origin
9780 (method url-fetch)
9781 (uri (string-append "https://github.com/Wilfred/elisp-refs/archive/"
9782 version ".tar.gz"))
9783 (file-name (string-append name "-" version ".tar.gz"))
9784 (sha256
9785 (base32
9786 "02nzcn3v14n7mp7q32j5r4wdlpsw3zixzh6cf0cdyarfir6dly3p"))))
9787 (build-system emacs-build-system)
9788 (propagated-inputs
9789 `(("emacs-dash" ,emacs-dash)
9790 ("emacs-f" ,emacs-f)
9791 ("emacs-list-utils" ,emacs-list-utils)
9792 ("emacs-loop" ,emacs-loop)
9793 ("emacs-s" ,emacs-s)
9794 ("emacs-shut-up" ,emacs-shut-up)))
9795 (home-page "https://github.com/Wilfred/elisp-refs")
9796 (synopsis "Find callers of elisp functions or macros")
9797 (description "Find references to functions, macros or variables. Unlike a
9798dumb text search, @code{elisp-refs} actually parses the code, so it's never
9799confused by comments or @code{foo-bar} matching @code{foo}.")
9800 (license license:gpl3+)))
9801
9802(define-public emacs-crux
9803 (let ((commit "4f5c8fefd5a6aa52e128c4a0401cc86410d6ac8f")
9804 (revision "1"))
9805 (package
9806 (name "emacs-crux")
9807 (version (string-append "0.3.0" "-" revision "."
9808 (string-take commit 7)))
9809 (source
9810 (origin
9811 (method git-fetch)
9812 (uri (git-reference
9813 (url "https://github.com/bbatsov/crux.git")
9814 (commit commit)))
9815 (file-name (string-append name "-" version "-checkout"))
9816 (sha256
9817 (base32
9818 "1fdxvv25cs01sg6fmvmzxpzvs50i6v8n2jya60lbavxqqhi0sbxd"))))
9819 (build-system emacs-build-system)
9820 (home-page "https://github.com/bbatsov/crux")
9821 (synopsis "Collection of useful functions for Emacs")
9822 (description
9823 "@code{crux} provides a collection of useful functions for Emacs.")
9824 (license license:gpl3+))))
9825
9826(define-public emacs-edit-server
9827 (package
9828 (name "emacs-edit-server")
9829 (version "1.13")
9830 (source
9831 (origin
9832 (method url-fetch)
9833 (uri (string-append "https://github.com/stsquad/emacs_chrome/archive/"
9834 "v" version ".tar.gz"))
9835 (file-name (string-append name "-" version ".tar.gz"))
9836 (sha256
9837 (base32
9838 "1r92kqggslqasza718z4ka883mqfbnibdm43f0j9gaipk0msm2wf"))))
9839 (build-system emacs-build-system)
9840 (arguments
9841 `(#:phases
9842 (modify-phases %standard-phases
9843 (add-after 'unpack 'chdir-elisp
9844 ;; Elisp directory is not in root of the source.
9845 (lambda _
9846 (chdir "servers"))))))
9847 (home-page "https://github.com/stsquad/emacs_chrome")
9848 (synopsis "Server that responds to edit requests from Chromium")
9849 (description
9850 "This package provides an edit server to respond to requests from Emacs.")
9851 (license license:gpl3+)))
9852
9853(define-public emacs-m-buffer-el
9854 (package
9855 (name "emacs-m-buffer-el")
9856 (version "0.15")
9857 (source
9858 (origin
9859 (method url-fetch)
9860 (uri (string-append "https://github.com/phillord/m-buffer-el"
9861 "/archive/" "v" version ".tar.gz"))
9862 (file-name (string-append name "-" version ".tar.gz"))
9863 (sha256
9864 (base32
9865 "17vdcc8q37q9db98jyww1c0ivinmwfcw4l04zccfacalra63a214"))))
9866 (arguments
9867 `(#:phases
9868 (modify-phases %standard-phases
9869 (add-before 'install 'check
9870 (lambda* (#:key inputs #:allow-other-keys)
9871 (invoke "emacs" "--batch" "-L" "."
9872 "-l" "test/m-buffer-test.el"
9873 "-l" "test/m-buffer-at-test.el"
9874 "-f" "ert-run-tests-batch-and-exit"))))))
9875 (build-system emacs-build-system)
9876 (home-page "https://github.com/phillord/m-buffer-el")
9877 (synopsis "List oriented buffer operations for Emacs")
9878 (description "@code{m-buffer} provides a set of list-orientated functions
9879for operating over the contents of Emacs buffers.")
9880 (license license:gpl3+)))
9881
9882(define-public emacs-let-alist
9883 (package
9884 (name "emacs-let-alist")
9885 (version "1.0.5")
9886 (source
9887 (origin
9888 (method url-fetch)
9889 (uri (string-append
9890 "https://elpa.gnu.org/packages/let-alist-" version ".el"))
9891 (sha256
9892 (base32
9893 "0r7b9jni50la1m79kklml11syg8d2fmdlr83pv005sv1wh02jszw"))))
9894 (build-system emacs-build-system)
9895 (home-page "https://elpa.gnu.org/packages/let-alist.html")
9896 (synopsis "Easily let-bind values of an assoc-list by their names")
9897 (description "This package offers a single macro, @code{let-alist}. This
9898macro takes a first argument (whose value must be an alist) and a body.")
9899 (license license:gpl3+)))
9900
9901(define-public emacs-esup
9902 (let ((commit "a589005a9a888537deef94d6fe38a9b8790c97c7")
9903 (revision "1"))
9904 (package
9905 (name "emacs-esup")
9906 (version (string-append "0.6" "-" revision "."
9907 (string-take commit 7)))
9908 (source
9909 (origin
9910 (method git-fetch)
9911 (uri (git-reference
9912 (url "https://github.com/jschaf/esup.git")
9913 (commit commit)))
9914 (file-name (string-append name "-" version "-checkout"))
9915 (sha256
9916 (base32
9917 "04lxmd0h7mfjjl0qghrycgff0vcv950j1wqv0dbkr61jxp64n5fv"))))
9918 ;; TODO: Add tests
9919 (build-system emacs-build-system)
9920 (home-page "https://github.com/jschaf/esup")
9921 (synopsis "Emacs start up profiler")
9922 (description "Benchmark Emacs Startup time without ever leaving
9923your Emacs.")
9924 (license license:gpl2+))))
9925
9926(define-public emacs-sourcemap
9927 (package
9928 (name "emacs-sourcemap")
9929 (version "0.03")
9930 (source
9931 (origin
9932 (method url-fetch)
9933 (uri (string-append "https://github.com/syohex/emacs-sourcemap/archive/"
9934 version ".tar.gz"))
9935 (file-name (string-append name "-" version ".tar.gz"))
9936 (sha256
9937 (base32
9938 "0bmd5l3cx2iyl7vxn84xdhs80b07kpdpfwki28lh5d0kmm5qs6m6"))))
9939 (build-system emacs-build-system)
9940 (home-page "https://github.com/syohex/emacs-sourcemap")
9941 (synopsis "Sourcemap parser")
9942 (description "Sourcemap parser")
9943 (license license:gpl3+)))
9944
9945(define-public emacs-macrostep
9946 (let ((commit "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267"))
9947 (package
9948 (name "emacs-macrostep")
9949 (version (git-version "0.9" "1" commit))
9950 (source (origin
9951 (method git-fetch)
9952 (uri (git-reference
9953 (url "https://github.com/joddie/macrostep.git")
9954 (commit commit)))
9955 (file-name (string-append name "-" version "-checkout"))
9956 (sha256
9957 (base32
9958 "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"))))
9959 (build-system emacs-build-system)
9960 (arguments
9961 '(#:phases
9962 (modify-phases %standard-phases
9963 (add-before 'check 'remove-test
9964 ;; Fails because of requirement ‘/bin/sh’.
9965 (lambda _
9966 (let ((file "macrostep-test.el"))
9967 (chmod file #o644)
9968 (emacs-batch-edit-file file
9969 `(progn (progn (goto-char (point-min))
9970 (re-search-forward
9971 "(ert-deftest macrostep-expand-c-macros")
9972 (beginning-of-line)
9973 (kill-sexp))
9974 (basic-save-buffer))))))
9975 (add-before 'install 'check
9976 (lambda _
9977 (invoke "emacs" "--batch" "-L" "."
9978 "-l" "macrostep-test.el"
9979 "-f" "ert-run-tests-batch-and-exit"))))))
9980 (home-page "https://github.com/joddie/macrostep")
9981 (synopsis "Interactive macro-expander for Emacs")
9982 (description "@code{macrostep} is an Emacs minor mode for interactively
9983stepping through the expansion of macros in Emacs Lisp source code. It lets
9984you see exactly what happens at each step of the expansion process by
9985pretty-printing the expanded forms inline in the source buffer, which is
9986temporarily read-only while macro expansions are visible. You can expand and
9987collapse macro forms one step at a time, and evaluate or instrument the
9988expansions for debugging with Edebug as normal (but see “Bugs and known
9989limitations”, below). Single-stepping through the expansion is particularly
9990useful for debugging macros that expand into another macro form. These can be
9991difficult to debug with Emacs’ built-in macroexpand, which continues expansion
9992until the top-level form is no longer a macro call.")
9993 (license license:gpl3+))))
9994
9995(define-public emacs-parent-mode
9996 (package
9997 (name "emacs-parent-mode")
9998 (version "2.3")
9999 (source
10000 (origin
10001 (method url-fetch)
10002 (uri (string-append "https://github.com/Fanael/parent-mode/archive/"
10003 version ".tar.gz"))
10004 (file-name (string-append name "-" version ".tar.gz"))
10005 (sha256
10006 (base32
10007 "0gxbl5s1w96v6v55b7aaansgw4sxhzfx9nrsvpk3pfhsibs6yqjd"))))
10008 (build-system emacs-build-system)
10009 (home-page "https://github.com/Fanael/parent-mode")
10010 (synopsis "Get major mode's parent modes")
10011 (description "Get major mode's parent modes")
10012 (license license:gpl3+)))
10013
10014(define-public emacs-lacarte
10015 (package
10016 (name "emacs-lacarte")
10017 (version "0.1")
10018 (source (origin
10019 (method url-fetch)
10020 (uri "https://www.emacswiki.org/emacs/download/lacarte.el")
10021 (sha256
10022 (base32
10023 "1sbmk37ljq5j7dsw5c37sbxvlfgdqswh7bi4dknyjzfxlq50f4am"))))
10024 (build-system emacs-build-system)
10025 (home-page "https://www.emacswiki.org/emacs/lacarte.el")
10026 (synopsis "Execute menu items as commands, with completion")
10027 (description "Execute menu items as commands, with completion.")
10028 (license license:gpl3)))
10029
48211de6 10030(define-public emacs-isearch-prop
10031 (let ((commit "5e9dc44cf582d998aaa73ccd4d07cbda01248156")
10032 (revision "1"))
10033 (package
10034 (name "emacs-isearch-prop")
10035 (version (git-version "0" revision commit))
10036 (source
10037 (origin
10038 (method git-fetch)
10039 (uri (git-reference
10040 (url "https://github.com/emacsmirror/isearch-prop.git")
10041 (commit commit)))
10042 (file-name (git-file-name name version))
10043 (sha256
10044 (base32
10045 "1xawppy705ybsgx566zvj8zk2aajq0sqvhvfs7nijqq32lx0a2zl"))))
10046 (build-system emacs-build-system)
10047 (home-page "https://www.emacswiki.org/emacs/isearch-prop.el")
10048 (synopsis "Extensions to @code{isearch.el}")
10049 (description "The Emacs library @code{isearch-prop.el} lets you search within
10050 contexts. You can limit incremental search to a set of zones of
10051 buffer text, search contexts that in effect constitute a multi-region.
10052 These zones can be defined in various ways, including some ways
10053 provided specially by this library.")
10054 (license license:gpl3+))))
10055
eeb883cb
RW
10056(define-public emacs-company-lua
10057 (let ((commit "0be8122f3adf57ad27953bf4b03545d6298d3da4"))
10058 (package
10059 (name "emacs-company-lua")
10060 (version (git-version "0.1" "1" commit))
10061 (source
10062 (origin
10063 (method git-fetch)
10064 (uri (git-reference
10065 (url "https://github.com/ptrv/company-lua.git")
10066 (commit commit)))
10067 (file-name (git-file-name name version))
10068 (sha256
10069 (base32
10070 "1d9i165apgmwns7b2fd5wcpjpkah3dyj20v5sb8ynvz6qhhr5r9c"))))
10071 (build-system emacs-build-system)
10072 (propagated-inputs
10073 `(("emacs-company" ,emacs-company)
10074 ("emacs-s" ,emacs-s)
10075 ("emacs-f" ,emacs-f)
10076 ("emacs-lua-mode" ,emacs-lua-mode)))
10077 (home-page "https://github.com/ptrv/company-lua")
10078 (synopsis "Company backend for Lua")
10079 (description
10080 "This package provides Company backend for Lua programming language.")
10081 (license license:gpl3+))))
10082
10083(define-public emacs-beginend
10084 (package
10085 (name "emacs-beginend")
10086 (version "2.0.0")
10087 (source
10088 (origin
10089 (method url-fetch)
10090 (uri (string-append "https://github.com/DamienCassou/beginend/archive/"
10091 "v" version ".tar.gz"))
10092 (file-name (string-append name "-" version ".tar.gz"))
10093 (sha256
10094 (base32
10095 "0z4rbwffh9vxfvcrlvym4p73z7gf72q0b5iv33llbpcpbijknnrq"))))
10096 ;; TODO: Run tests.
10097 (build-system emacs-build-system)
10098 (inputs
10099 `(("emacs-undercover" ,emacs-undercover))) ; For tests.
10100 (home-page "https://github.com/DamienCassou/beginend")
10101 (synopsis "Redefine @code{M-<} and @code{M->} for Emacs modes")
10102 (description "@code{beginend} redefines @code{M-<} and @code{M->}
10103keybindings for Emacs modes so that point moves to meaningful
10104locations. Redefined keys are still accessible by pressing the same
10105key again.")
10106 (license license:gpl3+)))
10107
10108(define-public emacs-mbsync
10109 (let ((commit "42077e83ae2db778ce0f8e22f8357b40355526b3")
10110 (revision "1"))
10111 (package
10112 (name "emacs-mbsync")
10113 (version (string-append "0.0.1" "-" revision "."
10114 (string-take commit 7)))
10115 (source
10116 (origin
10117 (method git-fetch)
10118 (uri (git-reference
10119 (url "https://github.com/dimitri/mbsync-el.git")
10120 (commit commit)))
10121 (file-name (string-append name "-" version "-checkout"))
10122 (sha256
10123 (base32
10124 "0yj93y2mpxlir8x73znlg1slxlv4blm1vjv5h2w3j8lxg8bxvmn6"))))
10125 (build-system emacs-build-system)
10126 (home-page "https://github.com/dimitri/mbsync-el")
10127 (synopsis "Interface to mbsync for Emacs")
10128 (description "This package allows to call the @code{mbsync} from
10129within Emacs.")
10130 (license license:gpl3+))))
10131
10132(define-public emacs-ibuffer-projectile
10133 (let ((commit "c18ac540ee46cb759fc5df18747f6e8d23563011")
10134 (revision "1"))
10135 (package
10136 (name "emacs-ibuffer-projectile")
10137 (version (string-append "0.2" "-" revision "."
10138 (string-take commit 7)))
10139 (source
10140 (origin
10141 (method git-fetch)
10142 (uri (git-reference
10143 (url "https://github.com/purcell/ibuffer-projectile.git")
10144 (commit commit)))
10145 (file-name (string-append name "-" version "-checkout"))
10146 (sha256
10147 (base32
10148 "1nd26cwwdpnwj0g4w393rd59klpyr6wqrnyr6scmwb5d06bsm44n"))))
10149 (build-system emacs-build-system)
10150 (propagated-inputs
10151 `(("emacs-projectile" ,emacs-projectile)))
10152 (home-page "https://github.com/purcell/ibuffer-projectile")
10153 (synopsis "Group ibuffer's list by projectile root")
10154 (description "Adds functionality to Emacs @code{ibuffer} for
10155grouping buffers by their projectile root directory.")
10156 (license license:gpl3+))))
10157
10158(define-public emacs-helm-mode-manager
10159 (package
10160 (name "emacs-helm-mode-manager")
10161 (version "1.0.0")
10162 (source
10163 (origin
10164 (method url-fetch)
10165 (uri (string-append "https://github.com/istib/helm-mode-manager/"
10166 "archive/" version ".tar.gz"))
10167 (file-name (string-append name "-" version ".tar.gz"))
10168 (sha256
10169 (base32
10170 "0wllj321z16hgrx0ddwzk5wz4mnnx5am7w5nclqclfc5dfdn92wm"))))
10171 (build-system emacs-build-system)
10172 (propagated-inputs
10173 `(("emacs-helm" ,emacs-helm)))
10174 (home-page "https://github.com/istib/helm-mode-manager/")
10175 (synopsis "Switch and toggle Emacs major and minor modes using Helm")
10176 (description "This package provides a Helm interface for toggling Emacs
10177major or minor mode.
10178
10179@itemize
10180@item @code{helm-switch-major-mode} list of all major modes
10181@item @code{helm-enable-minor-mode} list of all inactive minor modes
10182@item @code{helm-disable-minor-mode} list of all ACTIVE minor modes
10183@end itemize\n
10184
10185Hitting @code{RET} enables the mode, @code{C-z} shows the mode
10186documentation.")
10187 (license license:gpl3+)))
10188
10189(define-public emacs-hy-mode
10190 (package
10191 (name "emacs-hy-mode")
10192 (version "1.0.3")
10193 (source
10194 (origin
10195 (method url-fetch)
10196 (uri (string-append "https://github.com/hylang/hy-mode/archive/"
10197 "v" version ".tar.gz"))
10198 (file-name (string-append name "-" version ".tar.gz"))
10199 (sha256
10200 (base32
10201 "0b4pvbr2hf77bq2vsyfsv653q0dab7qzq85wc7kdziw7687jdf2z"))))
10202 (build-system emacs-build-system)
10203 (propagated-inputs
10204 `(("emacs-dash" ,emacs-dash)
10205 ("emacs-s" ,emacs-s)))
10206 (home-page "https://github.com/hylang/hy-mode")
10207 (synopsis "Major mode for Hylang")
10208 (description "This package provides a major mode for Hylang.")
10209 (license license:gpl3+)))
10210
10211(define-public emacs-web-beautify
10212 (package
10213 (name "emacs-web-beautify")
10214 (version "0.3.2")
10215 (source
10216 (origin
10217 (method url-fetch)
10218 (uri (string-append "https://github.com/yasuyk/web-beautify/archive/"
10219 version ".tar.gz"))
10220 (file-name (string-append name "-" version ".tar.gz"))
10221 (sha256
10222 (base32
10223 "1j57hwid74id4swkx2g0iljfawx0k9c7qjrwqc0mv657x9p78hcs"))))
10224 (build-system emacs-build-system)
10225 (home-page "https://github.com/yasuyk/web-beautify")
10226 (synopsis "Format HTML, CSS and JavaScript, JSON")
10227 (description "This package provides an Emacs functions to format HTML,
10228CSS, JavaScript, JSON.")
10229 (license license:gpl3+)))
10230
10231(define-public emacs-helm-shell-history
10232 (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1"))
10233 (package
10234 (name "emacs-helm-shell-history")
10235 (version (git-version "0.1" "1" commit))
10236 (source
10237 (origin
10238 (method git-fetch)
10239 (uri (git-reference
10240 (url "https://github.com/yuutayamada/helm-shell-history.git")
10241 (commit commit)))
10242 (file-name (git-file-name name version))
10243 (sha256
10244 (base32
10245 "18fkjcz69g4dyaxhf9j8svr5x6dhsdnglddwisis8hdn504scpfj"))))
10246 (build-system emacs-build-system)
10247 (arguments
10248 '(#:phases
10249 (modify-phases %standard-phases
10250 (add-before 'check 'patch-helm-shell-history-file
10251 (lambda _
10252 (let ((file "helm-shell-history.el"))
10253 (chmod file #o644)
10254 (emacs-substitute-sexps file
10255 ("(defvar helm-shell-history-file"
10256 `(expand-file-name "~/.bash_history"))))
10257 #t)))))
10258 (propagated-inputs
10259 `(("emacs-helm" ,emacs-helm)))
10260 (home-page "https://github.com/yuutayamada/helm-shell-history")
10261 (synopsis "Find shell history with Emacs Helm")
10262 (description "This package provides an Emacs Helm interface to search
10263throw a shell history.")
10264 (license license:gpl3+))))
10265
10266(define-public emacs-discover-my-major
10267 (package
10268 (name "emacs-discover-my-major")
10269 (version "1.0")
10270 (source
10271 (origin
10272 (method url-fetch)
10273 (uri
10274 (string-append "https://github.com/steckerhalter/discover-my-major"
10275 "/archive/" version ".tar.gz"))
10276 (file-name (string-append name "-" version ".tar.gz"))
10277 (sha256
10278 (base32
10279 "0nah41f92rrl2l405kpqr6iaks11jyclgl4z7ilfymbr4ifmsiyl"))))
10280 (build-system emacs-build-system)
10281 (propagated-inputs
10282 `(("emacs-makey" ,emacs-makey)))
10283 (home-page "https://github.com/steckerhalter/discover-my-major")
10284 (synopsis "Discover key bindings for the current Emacs major mode")
10285 (description "This package provides allows to discover key bindings and
10286their meaning for the current Emacs major-mode.")
10287 (license license:gpl3+)))
10288
10289(define-public emacs-org-ref
10290 (let ((commit "8c9b5d7efb9f0c1ad5186b8203bdd017f4249129")
10291 (revision "1"))
10292 (package
10293 (name "emacs-org-ref")
10294 (version (string-append "1.1.1" "-" revision "."
10295 (string-take commit 7)))
10296 (source
10297 (origin
10298 (method git-fetch)
10299 (uri (git-reference
10300 (url "https://github.com/jkitchin/org-ref.git")
10301 (commit commit)))
10302 (file-name (string-append name "-" version "-checkout"))
10303 (sha256
10304 (base32
10305 "1rxz0bjdsayk0slv23i07d9xhj2m7s4hsc81wc2d1cs52dkr5zmz"))))
10306 (build-system emacs-build-system)
10307 (propagated-inputs
10308 `(("emacs-dash" ,emacs-dash)
10309 ("emacs-helm" ,emacs-helm)
10310 ("emacs-helm-bibtex" ,emacs-helm-bibtex)
10311 ("emacs-ivy" ,emacs-ivy)
10312 ("emacs-hydra" ,emacs-hydra)
10313 ("emacs-key-chord" ,emacs-key-chord)
10314 ("emacs-s" ,emacs-s)
10315 ("emacs-f" ,emacs-f)
10316 ("emacs-pdf-tools" ,emacs-pdf-tools)))
10317 (home-page "https://github.com/jkitchin/org-ref")
10318 (synopsis "Citations, cross-references and bibliographies in org-mode")
10319 (description
10320 "Lisp code to setup bibliography, cite, ref and label org-mode links.
10321Also sets up reftex and helm for org-mode citations. The links are
10322clickable and do things that are useful.
10323
10324The default setup uses helm-bibtex.
10325
10326You should really read org-ref.org in this package for details.")
10327 (license license:gpl3+))))
10328
3e0df6cd 10329;; This project is unmaintained. Please use emacs-org-re-reveal instead.
eeb883cb 10330(define-public emacs-org-reveal
dfb49d78 10331 (let ((commit "1cdd088ec5fab631c564dca7f9f74fd3e9b7d4d4"))
6e4a5b9e
CL
10332 (package
10333 (name "emacs-org-reveal")
dfb49d78 10334 (version (git-version "0.1" "2" commit))
6e4a5b9e
CL
10335 (source (origin
10336 (method git-fetch)
10337 (uri (git-reference
10338 (url "https://github.com/yjwen/org-reveal.git")
10339 (commit commit)))
10340 (file-name (git-file-name name version))
10341 (sha256
10342 (base32
dfb49d78 10343 "1vjxjadq2i74p96y9jxnqj1yb86fsgxzmn7bjgnb88ay6nvc1l72"))))
6e4a5b9e
CL
10344 (build-system emacs-build-system)
10345 (home-page "https://github.com/yjwen/org-reveal")
10346 (synopsis "Org and Reveal.js powered HTML presentation tool")
10347 (description "Org-Reveal is a command@{org-mode} extension that allows
10348to create beautiful presentations (slides) with 3D effects from simple but
eeb883cb 10349powerful Org contents.")
6e4a5b9e 10350 (license license:gpl3+))))
eeb883cb 10351
3e0df6cd
CL
10352(define-public emacs-org-re-reveal
10353 (package
10354 (name "emacs-org-re-reveal")
10355 (version "1.0.3")
10356 (source (origin
10357 (method git-fetch)
10358 (uri (git-reference
10359 (url "https://gitlab.com/oer/org-re-reveal.git")
10360 (commit "50cc6574c77f12d423f6cd096d8f76feb3673abc")))
10361 (file-name (git-file-name name version))
10362 (sha256
10363 (base32
10364 "1v3z30gpimg4spf6zzqwp9b597zxk89h0vpq6xp58js4rjg4ixk8"))))
10365 (build-system emacs-build-system)
10366 (propagated-inputs
10367 `(("emacs-htmlize" ,emacs-htmlize)
10368 ("emacs-org" ,emacs-org)))
10369 (home-page "https://gitlab.com/oer/org-re-reveal")
10370 (synopsis "Build HTML presentations with reveal.js from Org source files")
10371 (description "This project started as fork of org-reveal. It provides an
10372export back-end for HTML presentations with reveal.js from Org mode source
10373files.")
10374 (license license:gpl3+)))
10375
eeb883cb
RW
10376(define-public emacs-add-hooks
10377 (package
10378 (name "emacs-add-hooks")
10379 (version "3.1.1")
10380 (source (origin
10381 (method url-fetch)
10382 (uri (string-append
10383 "https://github.com/nickmccurdy/add-hooks/archive/"
10384 version ".tar.gz"))
10385 (file-name (string-append name "-" version ".tar.gz"))
10386 (sha256
10387 (base32
10388 "03a28gb3298g7pc2qji9hi44p4d99ljp5mpi9cmg42ldv8fl6549"))))
10389 (build-system emacs-build-system)
10390 (home-page "https://github.com/nickmccurdy/add-hooks/")
10391 (synopsis "Emacs function for setting multiple hooks")
10392 (description "This package provides a @code{add-hooks} function tidies up
10393duplicate hook and function names further into a single declarative call.")
10394 (license license:gpl3+)))
10395
10396(define-public emacs-fancy-narrow
10397 (package
10398 (name "emacs-fancy-narrow")
10399 (version "0.9.5")
10400 (source
10401 (origin
10402 (method url-fetch)
10403 (uri (string-append "https://github.com/Malabarba/fancy-narrow/archive/"
10404 version ".tar.gz"))
10405 (file-name (string-append name "-" version ".tar.gz"))
10406 (sha256
10407 (base32
10408 "0rf2rnzg82pdqch041yyx3f9ddixffkk9s2ydzg8hwy66sg3385n"))))
10409 (build-system emacs-build-system)
10410 (home-page "https://github.com/Malabarba/fancy-narrow/releases")
10411 (synopsis "Imitate @code{narrow-to-region} with more eye candy")
10412 (description
10413 "Unlike @code{narrow-to-region}, which completely hides text outside
10414the narrowed region, this package simply de-emphasizes the text, makes it
10415read-only, and makes it unreachable. This leads to a much more natural
10416feeling where the region stays static (instead of being brutally moved to a
10417blank slate) and is clearly highlighted with respect to the rest of the
10418buffer.")
10419 (license license:gpl2+)))
10420
10421(define-public emacs-know-your-http-well
10422 (package
10423 (name "emacs-know-your-http-well")
10424 (version "0.5.0")
10425 (source
10426 (origin
10427 (method url-fetch)
10428 (uri (string-append
10429 "https://github.com/for-GET/know-your-http-well/archive/"
10430 "v" version ".tar.gz"))
10431 (file-name (string-append name "-" version ".tar.gz"))
10432 (sha256
10433 (base32
10434 "1y3kwz88awcgwaivlswq0q4g2i02762r23lpwg61bfqy5lrjjqnj"))))
10435 (arguments
10436 `(#:phases
10437 (modify-phases %standard-phases
10438 (add-after 'unpack 'install-json-files
10439 (lambda* (#:key outputs #:allow-other-keys)
10440 (for-each (lambda (directory)
10441 (copy-recursively directory
10442 (string-append
10443 (assoc-ref outputs "out")
10444 directory)))
10445 '("js" "json"))))
10446 (add-after 'unpack 'chdir-elisp
10447 ;; Elisp directory is not in root of the source.
10448 (lambda _
10449 (chdir "emacs"))))))
10450 (build-system emacs-build-system)
10451 (home-page "https://github.com/for-GET/know-your-http-well")
10452 (synopsis "Meaning of HTTP headers codes")
10453 (description "Meaning of HTTP headers codes.")
10454 (license license:gpl3+)))
10455
10456(define-public emacs-navi-mode
10457 (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674"))
10458 (package
10459 (name "emacs-navi-mode")
10460 (version (git-version "2.0" "1" commit))
10461 (source
10462 (origin
10463 (method git-fetch)
10464 (uri (git-reference
10465 (url "https://github.com/alphapapa/navi.git")
10466 (commit commit)))
10467 (file-name (git-file-name name version))
10468 (sha256
10469 (base32
10470 "0jj5spk14hgb7zb1cd2n8whcw4k1kd5zb6llwj96v178yaws7l8k"))))
10471 (build-system emacs-build-system)
10472 (propagated-inputs
10473 `(("emacs-outshine" ,emacs-outshine)
10474 ("emacs-outorg" ,emacs-outorg)))
10475 (home-page "https://github.com/alphapapa/navi")
10476 (synopsis "Emacs major-mode for easy buffer-navigation")
10477 (description
10478 "This package provides an Emacs major-mode for easy buffer-navigation")
10479 (license license:gpl3+))))
10480
10481(define-public emacs-download-region
10482 (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa")
10483 (revision "1"))
10484 (package
10485 (name "emacs-download-region")
10486 (version (string-append "0.0.1" "-" revision "."
10487 (string-take commit 7)))
10488 (source
10489 (origin
10490 (method git-fetch)
10491 (uri (git-reference
10492 (url "https://github.com/zk-phi/download-region.git")
10493 (commit commit)))
10494 (file-name (string-append name "-" version "-checkout"))
10495 (sha256
10496 (base32
10497 "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc"))))
10498 (build-system emacs-build-system)
10499 (home-page "https://github.com/zk-phi/download-region")
10500 (synopsis "In buffer download manager for Emacs")
10501 (description "@code{download-region} provides in buffer
10502downloading manager for Emacs.")
10503 (license license:gpl3+))))
10504
10505(define-public emacs-helpful
10506 (package
10507 (name "emacs-helpful")
10508 (version "0.15")
10509 (source (origin
10510 (method url-fetch)
10511 (uri (string-append
10512 "https://github.com/Wilfred/helpful/archive/"
10513 version ".tar.gz"))
10514 (file-name (string-append name "-" version ".tar.gz"))
10515 (sha256
10516 (base32
10517 "1xmvhphzb4hbg647dz4lafy6hd19b7bk3lxni6irqrzdsrclhzn6"))))
10518 (build-system emacs-build-system)
10519 (propagated-inputs
10520 `(("emacs-elisp-refs" ,emacs-elisp-refs)))
10521 (home-page "https://github.com/Wilfred/helpful")
10522 (synopsis "More contextual information in Emacs help")
10523 (description "@code{helpful} is an alternative to the built-in Emacs help
10524that provides much more contextual information.
10525
10526@itemize
10527@item Show the source code for interactively defined functions (unlike the
10528built-in Help).
10529@item Fall back to the raw sexp if no source is available.
10530@item Show where a function is being called.
10531@item Docstrings will Highlight the summary (the first sentence), include
10532cross-references, hide superfluous puncuation.
10533@item Show you the properties that have been applied to the current
10534symbol. This provides visibility of features like edebug or byte-code
10535optimisation.
10536@item Provide a separate @code{helpful-command} function to view interactive
10537functions.
10538@item Display any keybindings that apply to interactive functions.
10539@item Trace, disassemble functions from inside Helpful. This is discoverable
10540and doesn't require memorisation of commands.
10541@end itemize\n")
10542 (license license:gpl3+)))
10543
10544(define-public emacs-logview
10545 (package
10546 (name "emacs-logview")
10547 (version "0.9")
10548 (source (origin
10549 (method url-fetch)
10550 (uri (string-append
10551 "https://github.com/doublep/logview/archive/"
10552 version ".tar.gz"))
10553 (file-name (string-append name "-" version ".tar.gz"))
10554 (sha256
10555 (base32
10556 "1vd11ppm46ldqsiwhqgw91p34gbjh1y82r9mxcn9r2gj65nvhxcp"))))
10557 (propagated-inputs
10558 `(("emacs-datetime" ,emacs-datetime)))
10559 (build-system emacs-build-system)
10560 (home-page "https://github.com/doublep/logview/")
10561 (synopsis "Emacs mode for viewing log files")
10562 (description "@code{logview} provides an Emacs mode to view log files.")
10563 (license license:gpl3+)))
10564
10565(define-public emacs-suggest
10566 (package
10567 (name "emacs-suggest")
b6180f93
PN
10568 (version "0.7")
10569 (home-page "https://github.com/Wilfred/suggest.el")
eeb883cb
RW
10570 (source
10571 (origin
b6180f93
PN
10572 (method git-fetch)
10573 (uri (git-reference
10574 (url home-page)
10575 (commit version)))
10576 (file-name (git-file-name name version))
eeb883cb
RW
10577 (sha256
10578 (base32
b6180f93 10579 "01v8plska5d3g19sb1m4ph1i3ayprfzk8mi6mpabjy6zad397xjl"))))
eeb883cb
RW
10580 (build-system emacs-build-system)
10581 (propagated-inputs
10582 `(("emacs-loop" ,emacs-loop)
10583 ("emacs-dash" ,emacs-dash)
10584 ("emacs-s" ,emacs-s)
b6180f93
PN
10585 ("emacs-f" ,emacs-f)
10586 ("emacs-spinner" ,emacs-spinner)
10587 ("emacs-shut-up" ,emacs-shut-up)))
eeb883cb
RW
10588 (synopsis "Suggest Elisp functions that give the output requested")
10589 (description "Suggest.el will find functions that give the output
10590requested. It's a great way of exploring list, string and arithmetic
10591functions.")
10592 (license license:gpl3+)))
10593
10594(define-public emacs-benchmark-init
10595 (package
10596 (name "emacs-benchmark-init")
10597 (version "1.0")
10598 (source (origin
10599 (method url-fetch)
10600 (uri (string-append
10601 "https://github.com/dholm/benchmark-init-el/archive/"
10602 version ".tar.gz"))
10603 (file-name (string-append name "-" version ".tar.gz"))
10604 (sha256
10605 (base32
10606 "0szyqr4nncwz4vd5gww1vz31kf9r2lx25p4d0d09pm35974x53kz"))))
10607 (build-system emacs-build-system)
10608 (home-page "https://github.com/dholm/benchmark-init-el")
10609 (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
10610 (description "@code{benchmark-init} provides a way to keep track of where
10611time is being spent during Emacs startup in order to optimize startup time.")
10612 (license license:gpl3+)))
10613
10614(define-public emacs-emms-player-simple-mpv
10615 ;; A new mpv backend is included in Emms from 5.0.
10616 (deprecated-package "emacs-emms-player-simple-mpv" emacs-emms))
10617
f0caf760
MC
10618(define-public emacs-magit-gerrit
10619 (let ((version "0.3")
10620 (revision "1")
10621 (commit "ece6f369694aca17f3ac166ed2801b432acfe20d"))
10622 (package
10623 (name "emacs-magit-gerrit")
10624 (version (git-version version revision commit))
10625 (source (origin
10626 (method git-fetch)
10627 (uri (git-reference
10628 (url "https://github.com/terranpro/magit-gerrit.git")
10629 (commit commit)))
10630 (file-name (git-file-name name version))
10631 (sha256
10632 (base32
10633 "0mms0gxv9a3ns8lk5k2wjibm3088y1cmpr3axjdh6ppv7r5wdvii"))))
10634 (build-system emacs-build-system)
10635 (propagated-inputs
10636 `(("emacs-magit" ,emacs-magit)))
10637 (home-page "https://github.com/terranpro/magit-gerrit")
10638 (synopsis "Magit extension for Gerrit")
10639 (description "This Magit extension provides integration with Gerrit,
10640which makes it possible to conduct Gerrit code reviews directly from within
10641Emacs.")
10642 (license license:gpl3+))))
10643
eeb883cb
RW
10644(define-public emacs-magit-org-todos-el
10645 (let ((commit "df206287737b9671f2e36ae7b1474ebbe9940d2a"))
10646 (package
10647 (name "emacs-magit-org-todos-el")
10648 (version (git-version "0.1.1" "1" commit))
10649 (source
10650 (origin
10651 (method git-fetch)
10652 (uri (git-reference
10653 (url "https://github.com/danielma/magit-org-todos.el.git")
10654 (commit commit)))
10655 (file-name (git-file-name name version))
10656 (sha256
10657 (base32
10658 "0kdp7k7jnnrkhsg0xh1c3h7iz0vgi120gf5xwl1hxy61avivnxrn"))))
10659 (propagated-inputs
10660 `(("magit" ,emacs-magit)))
10661 (build-system emacs-build-system)
10662 (home-page "https://github.com/danielma/magit-org-todos.el")
10663 (synopsis "Get todo.org into Emacs Magit status")
10664 (description "This package allows you to get @file{todo.org} into your
10665magit status.
10666
10667If you have a @file{todo.org} file with @code{TODO} items in the root of your
10668repository, @code{magit-org-todos} will create a section in your Magit status
10669buffer with each of your todos.")
10670 (license license:gpl3+))))
10671
10672(define-public emacs-f3
10673 (package
10674 (name "emacs-f3")
10675 (version "0.1")
10676 (source
10677 (origin
10678 (method url-fetch)
10679 (uri (string-append "https://github.com/cosmicexplorer/f3/archive/"
10680 version ".tar.gz"))
10681 (file-name (string-append name "-" version ".tar.gz"))
10682 (sha256
10683 (base32
10684 "06b8i1jvklm5k3k90n65f197l1miq1xlxqkqpbppw4h3rhl4y98h"))))
10685 (build-system emacs-build-system)
10686 (propagated-inputs
10687 `(("emacs-helm" ,emacs-helm)))
10688 (home-page "https://github.com/cosmicexplorer/f3")
10689 (synopsis "Fantastic File Finder for Emacs")
10690 (description
10691 "The Fantastic File Finder for Emacs. Find files fast, using helm.")
10692 (license license:gpl3+)))
10693
10694(define-public emacs-lice-el
10695 (let ((commit "4339929927c62bd636f89bb39ea999d18d269250"))
10696 (package
10697 (name "emacs-lice-el")
10698 (version (git-version "0.2" "1" commit))
10699 (source (origin
10700 (method git-fetch)
10701 (uri (git-reference
10702 (url "https://github.com/buzztaiki/lice-el.git")
10703 (commit commit)))
10704 (file-name (git-file-name name version))
10705 (sha256
10706 (base32
10707 "0879z761b7gajkhq176ps745xpdrivch349crransv8fnsc759yb"))))
10708 (build-system emacs-build-system)
10709 (home-page "https://github.com/buzztaiki/lice-el")
10710 (synopsis "License and header template for Emacs")
10711 (description "@code{lice.el} provides following features:
10712
10713@itemize
10714@item License template management.
10715@item File header insertion.
10716@end itemize\n")
10717 (license license:gpl3+))))
10718
10719(define-public emacs-academic-phrases
10720 (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656"))
10721 (package
10722 (name "emacs-academic-phrases")
10723 (version (git-version "0.1" "1" commit))
10724 (source
10725 (origin
10726 (method git-fetch)
10727 (uri (git-reference
10728 (url "https://github.com/nashamri/academic-phrases.git")
10729 (commit commit)))
10730 (file-name (string-append name "-" version "-checkout"))
10731 (sha256
10732 (base32
10733 "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r"))))
10734 (build-system emacs-build-system)
10735 (propagated-inputs
10736 `(("emacs-dash" ,emacs-dash)
10737 ("emacs-s" ,emacs-s)
10738 ("emacs-ht" ,emacs-ht)))
10739 (home-page "https://github.com/nashamri/academic-phrases")
10740 (synopsis "Bypass that mental block when writing your papers")
10741 (description
10742 "When writing your academic paper, you might get stuck trying to find
10743the right phrase that captures your intention. This package tries to
10744alleviate that problem by presenting you with a list of phrases organized by
10745the topic or by the paper section that you are writing. This package has
10746around 600 phrases so far.
10747
10748Using this package is easy, just call @code{academic-phrases} to get a list of
10749phrases organized by topic, or call @code{academic-phrases-by-section} to
10750browse the phrases by the paper section and fill-in the blanks if required.")
10751 (license license:gpl3+))))
10752
10753(define-public emacs-auto-yasnippet
10754 (let ((commit "d1ccfea87312c6dd8cf8501ab5b71b1d3d44d95b"))
10755 (package
10756 (name "emacs-auto-yasnippet")
10757 (version (git-version "0.3.0" "1" commit))
10758 (source (origin
10759 (method git-fetch)
10760 (uri (git-reference
10761 (url "https://github.com/abo-abo/auto-yasnippet.git")
10762 (commit commit)))
10763 (file-name (string-append name "-" version "-checkout"))
10764 (sha256
10765 (base32
10766 "1i8k2qiyzd5rq0zplk4xb5nfa5mp0ibxbzwqj6c7877waq7244xk"))))
10767 (build-system emacs-build-system)
10768 (arguments
10769 '(#:phases
10770 (modify-phases %standard-phases
10771 (add-before 'install 'check
10772 (lambda _
10773 (invoke "emacs" "--batch"
10774 "-l" "auto-yasnippet.el"
10775 "-l" "auto-yasnippet-test.el"
10776 "-f" "ert-run-tests-batch-and-exit"))))))
10777 (propagated-inputs
10778 `(("emacs-yasnippet" ,emacs-yasnippet)))
10779 (home-page "https://github.com/abo-abo/auto-yasnippet/")
10780 (synopsis "Quickly create disposable yasnippets")
10781 (description "This package provides a hybrid of keyboard macros and
10782yasnippet. You create the snippet on the go, usually to be used just in the
10783one place. It's fast, because you're not leaving the current buffer, and all
10784you do is enter the code you'd enter anyway, just placing ~ where you'd like
10785yasnippet fields and mirrors to be.")
10786 (license license:gpl3+))))
10787
10788(define-public emacs-highlight-numbers
10789 (package
10790 (name "emacs-highlight-numbers")
10791 (version "0.2.3")
10792 (source
10793 (origin
10794 (method url-fetch)
10795 (uri (string-append
10796 "https://github.com/Fanael/highlight-numbers/archive/"
10797 version ".tar.gz"))
10798 (file-name (string-append name "-" version ".tar.gz"))
10799 (sha256
10800 (base32
10801 "030v5p11d4n0581ncv499l1fqrmfziy756q6378x2bv22ixghqqp"))))
10802 (build-system emacs-build-system)
10803 (propagated-inputs
10804 `(("emacs-parent-mode" ,emacs-parent-mode)))
10805 (home-page "https://github.com/Fanael/highlight-numbers")
10806 (synopsis "Highlight numbers in source code")
10807 (description "@code{highlight-numbers-mode} provides a minor mode for
10808syntax highlighting of numeric literals in source code.
10809
10810It s customizable: it's easy to add or redefine what exactly consitutes a
10811\"number\" in given major mode. See @code{highlight-numbers-modelist}.")
10812 (license license:gpl3+)))
10813
10814(define-public emacs-darkroom
10815 (package
10816 (name "emacs-darkroom")
10817 (version "0.1")
10818 (source (origin
10819 (method url-fetch)
10820 (uri (string-append "https://elpa.gnu.org/packages/darkroom-"
10821 version ".el"))
10822 (sha256
10823 (base32
10824 "0fif8fm1h7x7g16949shfnaik5f5488clsvkf8bi5izpqp3vi6ak"))))
10825 (build-system emacs-build-system)
10826 (home-page "https://elpa.gnu.org/packages/darkroom.html")
10827 (synopsis "Remove visual distractions and focus on writing")
10828 (description "@code{darkroom-mode} makes visual distractions disappear.
10829The mode-line is temporarily elided, text is enlarged and margins are adjusted
10830so that it's centered on the window.
10831
10832@code{darkroom-tentative-mode} is similar, but it doesn't immediately turn-on
10833@code{darkroom-mode}, unless the current buffer lives in the sole window of
10834the Emacs frame (i.e. all other windows are deleted). Whenever the frame is
10835split to display more windows and more buffers, the buffer exits
10836@code{darkroom-mode}. Whenever they are deleted, the buffer re-enters
10837@code{darkroom-mode}.")
10838 (license license:gpl3+)))
10839
10840(define-public emacs-rsw-elisp
10841 (package
10842 (name "emacs-rsw-elisp")
10843 (version "1.0.5")
10844 (source (origin
10845 (method url-fetch)
10846 (uri (string-append "https://github.com/rswgnu/rsw-elisp"
10847 "/archive/" version ".tar.gz"))
10848 (file-name (string-append name "-" version ".tar.gz"))
10849 (sha256
10850 (base32
10851 "1jnn7xfwl3wxc87v44ccsf1wwp80par3xgcvfb1icd6zchjmlcps"))))
10852 (build-system emacs-build-system)
10853 (home-page "https://github.com/rswgnu/rsw-elisp")
10854 (synopsis "Improved expressions that interactively evaluate Emacs Lisp")
10855 (description "This package improves and replaces the GNU Emacs commands
10856that interactively evaluate Emacs Lisp expressions. The new commands replace
10857standard key bindings and are all prefixed with @code{rsw-elisp-}. They work
10858the same way as the old commands when called non-interactively; only the
10859interactive behavior should be different.")
10860 (license license:gpl3+)))
10861
10862(define-public emacs-default-text-scale
10863 (let ((commit "968e985e219235f3e744d6d967e592acbaf6e0a8")
10864 (revision "1"))
10865 (package
10866 (name "emacs-default-text-scale")
10867 (version (string-append "0.1" "-" revision "."
10868 (string-take commit 7)))
10869 (source (origin
10870 (method git-fetch)
10871 (uri (git-reference
10872 (url "https://github.com/purcell/default-text-scale")
10873 (commit commit)))
10874 (file-name (string-append name "-" version "-checkout"))
10875 (sha256
10876 (base32
10877 "0zds01c3q5yny6ab1fxfkzzgn1kgl3q23lxxap905f4qd70v922h"))))
10878 (build-system emacs-build-system)
10879 (home-page "https://github.com/purcell/default-text-scale")
10880 (synopsis "Adjust the font size in all Emacs frames")
10881 (description "This package provides commands for increasing or
10882decreasing the default font size in all GUI Emacs frames.")
10883 (license license:gpl3+))))
10884
10885(define-public emacs-visual-regexp
10886 (package
10887 (name "emacs-visual-regexp")
10888 (version "1.1.1")
10889 (source
10890 (origin
10891 (method url-fetch)
10892 (uri (string-append "https://github.com/benma/visual-regexp.el/archive/"
10893 "v" version ".tar.gz"))
10894 (file-name (string-append name "-" version ".tar.gz"))
10895 (sha256
10896 (base32
10897 "1czmhvcivlcdyz7rfm0vd4a3xsgmy4qbvbl6yjxc217wrxqflr92"))))
10898 (build-system emacs-build-system)
10899 (home-page "https://github.com/benma/visual-regexp.el/")
10900 (synopsis "Regexp command with interactive visual feedback")
10901 (description "This package provides an Emacs regexp command with
10902interactive visual feedback.")
10903 (license license:gpl3+)))
10904
10905(define-public emacs-faceup
10906 (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154")
10907 (revision "1"))
10908 (package
10909 (name "emacs-faceup")
10910 (version (string-append "0.0.1" "-" revision "."
10911 (string-take commit 7)))
10912 (source
10913 (origin
10914 (method git-fetch)
10915 (uri (git-reference
10916 (url "https://github.com/Lindydancer/faceup.git")
10917 (commit commit)))
10918 (file-name (string-append name "-" version "-checkout"))
10919 (sha256
10920 (base32
10921 "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx"))))
10922 (build-system emacs-build-system)
10923 (home-page "https://github.com/Lindydancer/faceup")
10924 (synopsis "Markup language for faces and font-lock regression testing")
10925 (description "Emacs is capable of highlighting buffers based on
10926language-specific @code{font-lock} rules. This package makes it possible to
10927perform regression test for packages that provide font-lock rules.")
10928 (license license:gpl3+))))
10929
10930(define-public emacs-racket-mode
10931 (let ((commit "b977873e6128f8399432dcd60cc39f6a6f803d9c")
10932 (revision "2"))
10933 (package
10934 (name "emacs-racket-mode")
10935 (version (string-append "0.0.2" "-" revision "."
10936 (string-take commit 7)))
10937 (source
10938 (origin
10939 (method git-fetch)
10940 (uri (git-reference
10941 (url "https://github.com/greghendershott/racket-mode")
10942 (commit commit)))
10943 (file-name (string-append name "-" version "-checkout"))
10944 (sha256
10945 (base32
10946 "0vp4bbbplqvmnhjpl6ajrlydmrhqzil56cfbs18m5c5fddx0zlh7"))))
10947 (build-system emacs-build-system)
10948 (arguments
10949 `(#:include '("\\.el$" "\\.rkt$")))
10950 (propagated-inputs
10951 `(("emacs-faceup" ,emacs-faceup)
10952 ("emacs-s" ,emacs-s)))
10953 (home-page "https://github.com/greghendershott/racket-mode")
10954 (synopsis "Major mode for Racket language")
10955 (description "@code{racket-mode} provides:
10956
10957@itemize
10958@item Focus on Racket (not various Schemes).
10959@item Follow DrRacket concepts where applicable.
10960@item Thorough font-lock and indent.
10961@end itemize\n")
10962 (license license:gpl3+))))
10963
10964(define-public emacs-grep-context
10965 (let ((commit "a17c57e66687a54e195e08afe776bdd60cb6c0a7"))
10966 (package
10967 (name "emacs-grep-context")
10968 (version (git-version "0.1" "1" commit))
10969 (source
10970 (origin
10971 (method git-fetch)
10972 (uri (git-reference
10973 (url "https://github.com/mkcms/grep-context.git")
10974 (commit commit)))
10975 (file-name (string-append name "-" version "-checkout"))
10976 (sha256
10977 (base32
10978 "1nqfa6kjzjshww4hnwg1c0vcr90bdjihy3kmixq3c3jkvxg99b62"))))
10979 (build-system emacs-build-system)
10980 (propagated-inputs
10981 `(("emacs-dash" ,emacs-dash)))
10982 (home-page "https://github.com/nashamri/academic-phrases")
10983 (synopsis "Increase context in compilation and grep buffers")
10984 (description
10985 "This package provides an Emacs package for more context in
10986compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag},
10987@code{ivy}.")
10988 (license license:gpl3+))))
10989
10990(define-public emacs-helm-firefox
10991 (let ((commit "0ad34b7b5abc485a86cae6920c14de861cbeb085")
10992 (revision "1"))
10993 (package
10994 (name "emacs-helm-firefox")
10995 (version (string-append "0.0.1" "-" revision "."
10996 (string-take commit 7)))
10997 (source
10998 (origin
10999 (method git-fetch)
11000 (uri (git-reference
11001 (url "https://github.com/emacs-helm/helm-firefox.git")
11002 (commit commit)))
11003 (file-name (string-append name "-" version "-checkout"))
11004 (sha256
11005 (base32
11006 "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs"))))
11007 (propagated-inputs
11008 `(("emacs-helm" ,emacs-helm)))
11009 (build-system emacs-build-system)
11010 (home-page "https://github.com/emacs-helm/helm-firefox")
11011 (synopsis "Display firefox bookmarks with Emacs Helm interface")
11012 (description "Display firefox bookmarks with Emacs Helm interface")
11013 (license license:gpl3+))))
11014
11015(define-public emacs-interactive-align
11016 (package
11017 (name "emacs-interactive-align")
11018 (version "0.1.0")
11019 (source
11020 (origin
11021 (method url-fetch)
11022 (uri (string-append "https://github.com/mkcms/interactive-align/"
11023 "archive/" "v" version ".tar.gz"))
11024 (file-name (string-append name "-" version ".tar.gz"))
11025 (sha256
11026 (base32
11027 "0sibpgb4lp6yy3pziak8f3hz4b28yj0dqy2nzh51z3d0b63h528m"))))
11028 (build-system emacs-build-system)
11029 (home-page "https://github.com/mkcms/interactive-align/")
11030 (synopsis "Interactive align-regexp command in Emacs")
11031 (description "Interactive align-regexp command in Emacs")
11032 (license license:gpl3+)))
11033
11034(define-public emacs-shift-number
11035 (package
11036 (name "emacs-shift-number")
11037 (version "0.1")
11038 (source
11039 (origin
11040 (method url-fetch)
11041 (uri (string-append "https://github.com/alezost/shift-number.el"
11042 "/archive/" "v" version ".tar.gz"))
11043 (file-name (string-append name "-" version ".tar.gz"))
11044 (sha256
11045 (base32
11046 "1g79m0hqn9jgpm565vvh8pdfzndc4vw7xisnh5qysj55qfg8cb1x"))))
11047 (build-system emacs-build-system)
11048 (home-page "https://github.com/alezost/shift-number.el")
11049 (synopsis "Increase or decrease the number at point")
11050 (description "@code{emacs-shift-number} provides commands
11051@code{shift-number-up} to increase and @code{shift-number-down} to
11052decrease the number at point.")
11053 (license license:gpl3+)))
11054
11055(define-public emacs-highlight-defined
11056 (package
11057 (name "emacs-highlight-defined")
11058 (version "0.1.5")
11059 (source
11060 (origin
11061 (method url-fetch)
11062 (uri (string-append
11063 "https://github.com/Fanael/highlight-defined/archive/"
11064 version ".tar.gz"))
11065 (file-name (string-append name "-" version ".tar.gz"))
11066 (sha256
11067 (base32
11068 "1ryd66989b5byqdw8jmjrjf0c78iiz72wibld750skcnj5h5h506"))))
11069 (build-system emacs-build-system)
11070 (home-page "https://github.com/Fanael/highlight-defined")
11071 (synopsis "Syntax highlighting of known Elisp symbols")
11072 (description "Minor mode providing syntax highlighting of known Emacs Lisp
11073symbols. Currently the code distinguishes Lisp functions, built-in functions,
11074macros, faces and variables. To enable call @code{highlight-defined-mode}. ")
11075 (license license:gpl3+)))
11076
11077(define-public emacs-parinfer-mode
11078 (package
11079 (name "emacs-parinfer-mode")
11080 (version "0.4.10")
11081 (source
11082 (origin
11083 (method url-fetch)
11084 (uri (string-append "https://github.com/DogLooksGood/parinfer-mode/archive/"
11085 "v" version ".tar.gz"))
11086 (file-name (string-append name "-" version ".tar.gz"))
11087 (sha256
11088 (base32
11089 "06ba9qi59sm9ih9m38fbr8kj4qkvrm58n0c0ngfjz60gnr9x9pcv"))))
11090 (propagated-inputs
11091 `(("emacs-dash" ,emacs-dash)
11092 ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters)
11093 ("emacs-company" ,emacs-company)))
11094 (build-system emacs-build-system)
11095 (home-page "https://github.com/DogLooksGood/parinfer-mode/")
11096 (synopsis "Lisp structure editing mode")
11097 (description "@code{parinfer-mode} is a proof-of-concept editor
11098mode for Lisp programming languages. It will infer some changes to
11099keep Parens and Indentation inline with one another.")
11100 (license license:gpl3+)))
11101
11102(define-public emacs-helm-eww
266c97cb
PN
11103 (package
11104 (name "emacs-helm-eww")
98a1ca7e 11105 (version "1.2")
266c97cb
PN
11106 (source (origin
11107 (method git-fetch)
11108 (uri (git-reference
11109 (url "https://github.com/emacs-helm/helm-eww.git")
11110 (commit version)))
11111 (file-name (string-append name "-" version "-checkout"))
11112 (sha256
11113 (base32
98a1ca7e 11114 "0hpq1h0p69c9k6hkd2mjpprx213sc5475q7pr2zpmwrjdzgcv70z"))))
266c97cb
PN
11115 (propagated-inputs
11116 `(("emacs-helm" ,emacs-helm)))
11117 (build-system emacs-build-system)
11118 (home-page "https://github.com/emacs-helm/helm-eww/")
11119 (synopsis "Helm interface to EWW")
11120 (description "This package provides a Helm interface for EWW buffers,
eeb883cb 11121bookmarks and history.")
266c97cb 11122 (license license:gpl3+)))
eeb883cb
RW
11123
11124(define-public emacs-stumpwm-mode
11125 (let ((commit "8fbe071d2c6c040794060a354eb377218dc10b35")
11126 (revision "1"))
11127 (package
11128 (name "emacs-stumpwm-mode")
11129 (version (string-append "0.0.1-" revision "."
11130 (string-take commit 7)))
11131 (source (origin
11132 (method git-fetch)
11133 (uri (git-reference
11134 (url "https://github.com/stumpwm/stumpwm-contrib.git")
11135 (commit commit)))
11136 (file-name (string-append name "-" version "-checkout"))
11137 (sha256
11138 (base32
11139 "1dfwsvz1c8w6j4jp0kzaz78ml3f5dp0a5pvf090kwpbpg176r7iq"))))
11140 (build-system emacs-build-system)
11141 (arguments
11142 `(#:phases
11143 (modify-phases %standard-phases
11144 (add-after 'unpack 'chdir-elisp
11145 ;; Elisp directory is not in root of the source.
11146 (lambda _
11147 (chdir "util/swm-emacs"))))))
11148 (home-page "https://github.com/stumpwm/stumpwm-contrib")
11149 (synopsis "Emacs minor-mode for Stumpwm")
11150 (description "Emacs minor-mode for Stumpwm")
11151 (license license:gpl3+))))
11152
11153(define-public emacs-irfc
11154 (package
11155 (name "emacs-irfc")
11156 (version "20130824.507")
11157 (source
11158 (origin
11159 (method url-fetch)
11160 (uri "https://www.emacswiki.org/emacs/download/irfc.el")
11161 (file-name (string-append "irfc-" version ".el"))
11162 (sha256
11163 (base32
11164 "197ybqwbj8qjh2p9pkf5mvqnrkpcgmv8c5s2gvl6msyrabk0mnca"))))
11165 (build-system emacs-build-system)
11166 (home-page "https://www.emacswiki.org/emacs/download/irfc.el")
11167 (synopsis "Interface for IETF RFC document")
11168 (description
11169 "This package provides an Emacs interface for IETF RFC document.")
11170 (license license:gpl3+)))
11171
11172(define-public emacs-ido-vertical-mode
11173 (package
11174 (name "emacs-ido-vertical-mode")
11175 (version "0.1.6")
11176 (source
11177 (origin
11178 (method url-fetch)
11179 (uri (string-append
11180 "https://github.com/creichert/ido-vertical-mode.el/archive/"
11181 "v" version ".tar.gz"))
11182 (file-name (string-append name "-" version ".tar.gz"))
11183 (sha256
11184 (base32
11185 "0dprdxq8wvqd45dinwj92k0kixr07c8xvspa6i613mjcpxgwjg53"))))
11186 (build-system emacs-build-system)
11187 (home-page "https://github.com/creichert/ido-vertical-mode.el")
11188 (synopsis "Makes ido-mode display vertically")
11189 (description "Makes ido-mode display prospects vertically.")
11190 (license license:gpl3+)))
11191
11192(define-public emacs-wordgen
11193 (package
11194 (name "emacs-wordgen")
11195 (version "0.1.4")
11196 (source
11197 (origin
11198 (method url-fetch)
11199 (uri (string-append "https://github.com/Fanael/wordgen.el/archive/"
11200 version ".tar.gz"))
11201 (file-name (string-append name "-" version ".tar.gz"))
11202 (sha256
11203 (base32
11204 "1h2iyixdm49h53pwj9ics9gb9h3g6wa4hainpnjg6mfarf49jkmg"))))
11205 (build-system emacs-build-system)
11206 (home-page "https://github.com/Fanael/wordgen.el")
11207 (synopsis "Random word generator")
11208 (description "This package provides functions to generate random words
11209using user-provided rules.")
11210 (license license:gpl3+)))
11211
11212(define-public emacs-on-screen
11213 (package
11214 (name "emacs-on-screen")
11215 (version "1.3.2")
11216 (source
11217 (origin
11218 (method url-fetch)
11219 (uri (string-append
11220 "http://elpa.gnu.org/packages/on-screen-" version ".el"))
11221 (file-name (string-append name "-" version ".el"))
11222 (sha256
11223 (base32
11224 "15d18mjgv1pnwl6kf3pr5w64q1322p1l1qlfvnckglwmzy5sl2qv"))))
11225 (build-system emacs-build-system)
11226 (home-page
11227 "https://github.com/michael-heerdegen/on-screen.el")
11228 (synopsis "Guide your eyes while scrolling")
11229 (description
11230 "Scrolling can be distracting because your eyes may lose
11231orientation. This library implements a minor mode that highlights
11232the previously visible buffer part after each scroll.")
11233 (license license:gpl3+)))
11234
11235(define-public emacs-highlight-escape-sequences
11236 (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41")
11237 (revision "1"))
11238 (package
11239 (name "emacs-highlight-escape-sequences")
11240 (version (string-append "0.0.1" "-" revision "."
11241 (string-take commit 7)))
11242 (source
11243 (origin
11244 (method git-fetch)
11245 (uri (git-reference
11246 (url "https://github.com/dgutov/highlight-escape-sequences.git")
11247 (commit commit)))
11248 (file-name (string-append name "-" version "-checkout"))
11249 (sha256
11250 (base32
11251 "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is"))))
11252 (build-system emacs-build-system)
11253 (home-page "https://github.com/dgutov/highlight-escape-sequences")
11254 (synopsis "Highlight escape sequences in Emacs")
11255 (description "@code{highlight-escape-sequences} provides an
11256Emacs minor mode to escape sequences in code.")
11257 (license license:gpl3+))))
11258
11259(define-public emacs-dashboard
11260 (package
11261 (name "emacs-dashboard")
11262 (version "1.2.4")
11263 (source
11264 (origin
11265 (method url-fetch)
11266 (uri (string-append
11267 "https://github.com/rakanalh/emacs-dashboard/archive/"
11268 version ".tar.gz"))
11269 (file-name (string-append name "-" version ".tar.gz"))
11270 (sha256
11271 (base32
11272 "1738lmbgq6gk24hcwic0qjyajr21l5xzhya4pv58dw1bhd6vxv9g"))))
11273 (build-system emacs-build-system)
11274 (propagated-inputs
11275 `(("emacs-page-break-lines" ,emacs-page-break-lines)))
11276 (arguments '(#:include '("\\.el$" "\\.txt$" "\\.png$")))
11277 (home-page "https://github.com/rakanalh/emacs-dashboard")
11278 (synopsis "Startup screen extracted from Spacemacs")
11279 (description "This package provides an extensible Emacs dashboard, with
11280sections for bookmarks, projectil projects, org-agenda and more. ")
11281 (license license:gpl3+)))
11282
11283(define-public emacs-slime-company
11284 (package
11285 (name "emacs-slime-company")
11286 (version "1.1")
11287 (source
11288 (origin
11289 (method url-fetch)
11290 (uri (string-append "https://github.com/anwyn/slime-company/archive/"
11291 "v" version ".tar.gz"))
11292 (sha256
11293 (base32
11294 "1myl79pxj501xfr5qc5a24qddsn2l5iaamg7rf7fpny7mr9v70ar"))
11295 (file-name (string-append name "-" version ".tar.gz"))))
11296 (build-system emacs-build-system)
11297 (propagated-inputs
11298 `(("emacs-slime" ,emacs-slime)
11299 ("emacs-company" ,emacs-company)))
11300 (home-page "https://company-mode.github.io")
11301 (synopsis "SLIME completion backend for @code{company-mode}")
11302 (description
11303 "This is a backend implementation for the completion package
11304@code{company-mode} which supports the normal and the fuzzy completion
11305modes of SLIME.")
11306 (license license:gpl3+)))
11307
11308(define-public emacs-sml-mode
11309 (package
11310 (name "emacs-sml-mode")
11311 (version "6.8")
11312 (source
11313 (origin
11314 (method url-fetch)
11315 (uri (string-append "http://elpa.gnu.org/packages/sml-mode-"
11316 version ".el"))
11317 (sha256
11318 (base32
11319 "105fcrz5qp95f2n3fdm3awr6z58sbrjihjss6qnrg4lz2ggbc328"))))
11320 (build-system emacs-build-system)
11321 (home-page "http://elpa.gnu.org/packages/sml-mode.html")
11322 (synopsis "Major mode for editing (Standard) ML")
11323 (description "SML-MODE is a major Emacs mode for editing Standard ML.
11324It provides syntax highlighting and automatic indentation and
11325comes with sml-proc which allows interaction with an inferior SML
11326interactive loop.")
11327 (license license:gpl3+)))
11328
11329(define-public emacs-eros
11330 (let ((commit "a42e45c9b2397156c684330b0fc90ee0eba773f5")
11331 (revision "1"))
11332 (package
11333 (name "emacs-eros")
11334 (version (string-append "0.0.1" "-" revision "."
11335 (string-take commit 7)))
11336 (source
11337 (origin
11338 (method git-fetch)
11339 (uri (git-reference
11340 (url "https://github.com/xiongtx/eros.git")
11341 (commit commit)))
11342 (file-name (string-append name "-" version "-checkout"))
11343 (sha256
11344 (base32
11345 "0whlsq90v13fz69k3wjrwcwb9gkpfxqjd75mg3nrp85j9nwhb5i4"))))
11346 (build-system emacs-build-system)
11347 (home-page "https://github.com/xiongtx/eros")
11348 (synopsis "Evaluation result overlays")
11349 (description "@code{eros} provides evaluation result overlays.")
11350 (license license:gpl3+))))
11351
11352(define-public emacs-stickyfunc-enhance
11353 (let ((commit "13bdba51fcd83ccbc3267959d23afc94d458dcb0")
11354 (revision "1"))
11355 (package
11356 (name "emacs-stickyfunc-enhance")
11357 (version "0.1")
11358 (source
11359 (origin
11360 (method git-fetch)
11361 (uri (git-reference
11362 (url "https://github.com/tuhdo/semantic-stickyfunc-enhance.git")
11363 (commit commit)))
11364 (file-name (string-append name "-" version "-checkout"))
11365 (sha256
11366 (base32
11367 "16dxjsr5nj20blww4xpd4jzgjprzzh1nwvb810ggdmp9paf4iy0g"))))
11368 (build-system emacs-build-system)
11369 (home-page "https://github.com/tuhdo/semantic-stickyfunc-enhance")
11370 (synopsis "Enhancement to stock @code{semantic-stickyfunc-mode}")
11371 (description
11372 "@code{semantic-stickyfunc-mode} shows the function point is currently
11373in at the first line of the current buffer. This is useful when you have a
11374very long function that spreads more than a screen, and you don't have to
11375scroll up to read the function name and then scroll down to original position.")
11376 (license license:gpl3+))))
11377
11378(define-public emacs-git-auto-commit-mode
11379 (package
11380 (name "emacs-git-auto-commit-mode")
11381 (version "4.4.0")
11382 (source
11383 (origin
11384 (method url-fetch)
11385 (uri (string-append
11386 "https://github.com/ryuslash/git-auto-commit-mode/archive/"
11387 version ".tar.gz"))
11388 (file-name (string-append name "-" version ".tar.gz"))
11389 (sha256
11390 (base32
11391 "04avxmalsl3b7zi2vipfw9rb4wrwysnipsbch96skviql9axk870"))))
11392 (build-system emacs-build-system)
11393 (home-page "https://github.com/ryuslash/git-auto-commit-mode")
11394 (synopsis "Emacs Minor mode to automatically commit and push")
11395 (description "@code{git-auto-commit-mode} is an Emacs minor mode that
11396tries to commit changes to a file after every save.
11397
11398When @code{gac-automatically-push-p} is non-nil, it also tries to push to
11399the current upstream.")
11400 (license license:gpl3+)))
11401
11402(define-public emacs-company-restclient
11403 (package
11404 (name "emacs-company-restclient")
11405 (version "0.1.0")
11406 (source
11407 (origin
11408 (method url-fetch)
11409 (uri (string-append
11410 "https://github.com/iquiw/company-restclient/archive/"
11411 "v" version ".tar.gz"))
11412 (file-name (string-append name "-" version ".tar.gz"))
11413 (sha256
11414 (base32
11415 "1kr3f0wgqlk7r171bvb2kinv7fanwj2md01wdpx04qkgwcr1as00"))))
11416 (build-system emacs-build-system)
11417 (propagated-inputs
11418 `(("emacs-company" ,emacs-company)
11419 ("emacs-know-your-http-well" ,emacs-know-your-http-well)
11420 ("emacs-restclient" ,emacs-restclient)))
11421 (home-page "https://github.com/iquiw/company-restclient")
11422 (synopsis "Company-mode completion back-end for restclient-mode")
11423 (description "@code{company-mode} back-end for
11424@code{restclient-mode}.
11425
11426It provides auto-completion for HTTP methods and headers in
11427@code{restclient-mode}. Completion source is given by
11428@code{know-your-http-well}.")
11429 (license license:gpl3+)))
11430
11431(define-public emacs-noflet
11432 (let ((version "20170629")
11433 (revision "1")
11434 (commit "7ae84dc3257637af7334101456dafe1759c6b68a"))
11435 (package
11436 (name "emacs-noflet")
11437 (version (git-version version revision commit))
11438 (source
11439 (origin
11440 (method git-fetch)
11441 (uri (git-reference
11442 (url "https://github.com/nicferrier/emacs-noflet")
11443 (commit commit)))
11444 (file-name (string-append name "-" version "-checkout"))
11445 (sha256
11446 (base32
11447 "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf"))))
11448 (build-system emacs-build-system)
11449 (arguments
11450 `(#:phases
11451 (modify-phases %standard-phases
11452 (add-after 'unpack 'require-dash
11453 ;; noflet.el uses -map from dash, but (require 'dash) is
11454 ;; missing. So, add it.
11455 (lambda _
11456 (substitute* "noflet.el"
11457 ((";;; Code:") ";;; Code:\n(require 'dash)"))
11458 #t)))))
11459 (propagated-inputs
11460 `(("emacs-dash" ,emacs-dash)))
11461 (home-page "https://github.com/nicferrier/emacs-noflet")
11462 (synopsis "Locally override functions")
11463 (description "@code{emacs-noflet} let's you locally override functions,
11464in the manner of @command{flet}, but with access to the original function
11465through the symbol: @command{this-fn}.")
11466 (license license:gpl3+))))
11467
11468(define-public emacs-dumb-jump
11469 (package
11470 (name "emacs-dumb-jump")
11471 (version "0.5.2")
11472 (source
11473 (origin
11474 (method url-fetch)
11475 (uri (string-append
11476 "https://github.com/jacktasia/dumb-jump/archive/v"
11477 version ".tar.gz"))
11478 (file-name (string-append name "-" version ".tar.gz"))
11479 (sha256
11480 (base32
11481 "07n0xjgpxjpf3vp9gxchkjpydyj0zm166930as0kwiwkhjlsirsf"))))
11482 (build-system emacs-build-system)
11483 (arguments
11484 `(#:tests? #f ; FIXME: Tests freeze when run.
11485 #:test-command '("ert-runner")
11486 #:phases
11487 (modify-phases %standard-phases
11488 (add-after 'unpack 'set-shell
11489 (lambda _
11490 ;; Setting the SHELL environment variable is required for the
11491 ;; tests to find sh.
11492 (setenv "SHELL" (which "sh"))
11493 #t)))))
11494 (native-inputs
11495 `(("emacs-el-mock" ,emacs-el-mock)
11496 ("emacs-noflet" ,emacs-noflet)
11497 ("emacs-undercover" ,emacs-undercover)
11498 ("ert-runner" ,emacs-ert-runner)))
11499 (propagated-inputs
11500 `(("emacs-f" ,emacs-f)
11501 ("emacs-popup" ,emacs-popup)))
11502 (home-page "https://github.com/jacktasia/dumb-jump")
11503 (synopsis "Jump to definition for multiple languages without configuration")
11504 (description "Dumb Jump is an Emacs \"jump to definition\" package with
11505support for multiple programming languages that favors \"just working\" over
11506speed or accuracy. This means minimal --- and ideally zero --- configuration
11507with absolutely no stored indexes (tags) or persistent background processes.
11508Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep
11509@command{rg} installed.")
11510 (license license:gpl3+)))
11511
11512(define-public emacs-dts-mode
11513 (let ((commit "9ee0854446dcc6c53d2b8d2941051768dba50344")
11514 (revision "1"))
11515 (package
11516 (name "emacs-dts-mode")
11517 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
11518 (source
11519 (origin
11520 (method git-fetch)
11521 (uri (git-reference
11522 (url "https://github.com/bgamari/dts-mode.git")
11523 (commit commit)))
11524 (file-name (string-append name "-" version "-checkout"))
11525 (sha256
11526 (base32
11527 "1k8lljdbc90nd29xrhdrsscxavzdq532wq2mg7ljc94krj7538b1"))))
11528 (build-system emacs-build-system)
11529 (home-page "https://github.com/bgamari/dts-mode.git")
11530 (synopsis "Emacs minor mode for editing device tree files")
11531 (description
11532 "This package provides an Emacs minor mode for highlighting
11533device tree files.")
11534 (license license:gpl3+))))
11535
11536(define-public emacs-daemons
11537 (package
11538 (name "emacs-daemons")
11539 (version "2.0.0")
11540 (source
11541 (origin
11542 (method git-fetch)
11543 (uri (git-reference
11544 (url "https://github.com/cbowdon/daemons.el")
11545 (commit version)))
11546 (file-name (string-append name "-" version "-checkout"))
11547 (sha256
11548 (base32
11549 "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"))))
11550 (build-system emacs-build-system)
11551 (home-page "https://github.com/cbowdon/daemons.el")
11552 (synopsis "Emacs UI for managing init system services")
11553 (description
11554 "This is an Emacs mode to give you a UI for managing init system
11555daemons (services) for those getting tired of typing out @code{sudo service
11556my_thing reload} all the time. It offers a consistent UI over different init
11557systems.")
11558 (license license:gpl3+)))
11559
d2f555f5
BL
11560(define-public emacs-isearch+
11561 (let ((commit "95e49af9dbf0254e095a11f115e101b52659520a")
11562 (revision "1"))
11563 (package
11564 (name "emacs-isearch+")
11565 (version (git-version "0" revision commit))
11566 (source
11567 (origin
11568 (method git-fetch)
11569 (uri (git-reference
11570 (url "https://github.com/emacsmirror/isearch-plus.git")
11571 (commit commit)))
11572 (file-name (git-file-name name version))
11573 (sha256
11574 (base32
11575 "0xhd9zgknf4lvzyf4apirpd7spb1hbpzkvys00a7pkmd0vvahk0v"))))
11576 (build-system emacs-build-system)
11577 (home-page "https://www.emacswiki.org/emacs/isearch+.el")
11578 (synopsis "Extensions to @code{isearch.el}")
11579 (description "This package extends @code{isearch} with advice, dynamic
11580filters, highlighting of regexp group levels, and more.")
11581 (license license:gpl2+))))
11582
94a33ab8
BL
11583(define-public emacs-eshell-bookmark
11584 (package
11585 (name "emacs-eshell-bookmark")
11586 (version "2.0.0")
11587 (source
11588 (origin
11589 (method git-fetch)
11590 (uri (git-reference
11591 (url "https://github.com/Fuco1/eshell-bookmark")
11592 (commit version)))
11593 (file-name (git-file-name name version))
11594 (sha256
11595 (base32
11596 "14dmsnixf9vqdhsixw693sml0fn80zcf0b37z049fb40cmppqxdw"))))
11597 (build-system emacs-build-system)
11598 (home-page "https://github.com/Fuco1/eshell-bookmark")
11599 (synopsis "Provide @file{bookmark.el} integration for @code{eshell}")
11600 (description
11601 "This package allows for bookmarking @code{eshell} buffers. Upon
11602visiting the bookmark, a new @code{eshell} session will be opened in the
11603appropriate directory if no @code{eshell} session is active.")
11604 (license license:gpl3+)))
11605
d82bd203
BL
11606(define-public emacs-eshell-z
11607 (package
11608 (name "emacs-eshell-z")
11609 (version "0.3.2")
11610 (source
11611 (origin
11612 (method git-fetch)
11613 (uri (git-reference
11614 (url "https://github.com/xuchunyang/eshell-z")
11615 (commit (string-append "v" version))))
11616 (file-name (git-file-name name version))
11617 (sha256
11618 (base32
11619 "1aac4m814jgxwpz7lbyx5r4z5dmawp4sk7pwbx0zqpnbcsaq5wwc"))))
11620 (build-system emacs-build-system)
11621 (home-page "https://github.com/xuchunyang/eshell-z")
11622 (synopsis "Quick navigation to frequently visited directories")
11623 (description
11624 "This package is a port of @code{z}, and keeps track of visited directories
11625and commands invoked within them in order to enable navigation via input of
11626matching regexps.")
11627 (license license:gpl3+)))
11628
eeb883cb
RW
11629(define-public emacs-esh-autosuggest
11630 (package
11631 (name "emacs-esh-autosuggest")
11632 (version "2.0.0")
11633 (source
11634 (origin
11635 (method git-fetch)
11636 (uri (git-reference
11637 (url "https://github.com/dieggsy/esh-autosuggest")
11638 (commit version)))
11639 (file-name (string-append name "-" version "-checkout"))
11640 (sha256
11641 (base32
11642 "116pdjgpjy9b0psm5kzwkwy7dq8vn0p6dy75dl1zsy2xrjf1iqdw"))))
11643 (build-system emacs-build-system)
11644 (propagated-inputs `(("emacs-company" ,emacs-company)))
11645 (home-page "https://github.com/dieggsy/esh-autosuggest")
11646 (synopsis "Fish-like autosuggestions in Eshell")
11647 (description
11648 "This package assumes you use something other than company for eshell
11649completion (e.g. @code{eshell-pcomplete}, @code{completion-at-point},
11650@code{helm-esh-pcomplete}). @code{company-mode} is used solely as a mechanism
11651for history autosuggestions.
11652
11653Unless you're using @code{use-package}'s hook keyword, you can enable the
11654autosuggestions with:
11655@code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}")
11656 (license license:gpl3+)))
11657
11658(define-public emacs-desktop-environment
b8f92427
PN
11659 (let ((commit "a9eba14f2b5b8070f78dca839ca8259736e346a6"))
11660 (package
11661 (name "emacs-desktop-environment")
11662 (version (git-version "0.2.0" "1" commit))
11663 (source
11664 (origin
11665 (method git-fetch)
11666 (uri (git-reference
11667 (url "https://gitlab.petton.fr/DamienCassou/desktop-environment")
11668 (commit commit)))
11669 (file-name (string-append name "-" version "-checkout"))
11670 (sha256
11671 (base32
11672 "0x73x5hy7w55jrzy3xvqhk90rrsznmxjqvsvwhh21qznv5w269xz"))))
11673 (build-system emacs-build-system)
11674 (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
11675 (synopsis "Control your GNU/Linux desktop environment from Emacs")
11676 (description
11677 "This package helps you control your GNU/Linux desktop from Emacs.
eeb883cb
RW
11678With @code{desktop-environment}, you can control the brightness and volume as
11679well as take screenshots and lock your screen. The package depends on the
11680availability of shell commands to do the hard work for us. These commands can
11681be changed by customizing the appropriate variables.")
b8f92427 11682 (license license:gpl3+))))
eeb883cb
RW
11683
11684(define-public emacs-org-caldav
11685 (package
11686 (name "emacs-org-caldav")
11687 (version "20180403")
11688 (source
11689 (origin
11690 (method url-fetch)
11691 (uri (string-append
11692 "https://github.com/dengste/org-caldav/raw/"
11693 "8d3492c27a09f437d2d94f2736c56d7652e87aa0"
11694 "/org-caldav.el"))
11695 (sha256
11696 (base32
11697 "1fh4gh68ddj0is99z2ccyh97v6psnyda61n2dsadzqhcxn51amlc"))))
11698 (build-system emacs-build-system)
11699 (propagated-inputs `(("emacs-org" ,emacs-org)))
11700 (home-page "https://github.com/dengste/org-caldav")
11701 (synopsis
11702 "Sync Org files with external calendars via the CalDAV protocol")
11703 (description
11704 "Synchronize between events in Org-mode files and a CalDAV calendar.
11705This code is still alpha.")
11706 (license license:gpl3+)))
11707
11708(define-public emacs-zotxt
11709 (package
11710 (name "emacs-zotxt")
11711 (version "20180518")
11712 (source
11713 (origin
11714 (method url-fetch)
11715 (uri (string-append
11716 "https://github.com/egh/zotxt-emacs/archive/"
11717 "23a4a9f74a658222027d53a9a83cd4bcc583ca8b"
11718 ".tar.gz"))
11719 (sha256
11720 (base32
11721 "1qlibaciqgsva6fc7vv9krssjq00bi880396jk7llbi3c52q9n1y"))))
11722 (build-system emacs-build-system)
11723 (propagated-inputs
11724 `(("emacs-deferred" ,emacs-deferred)
11725 ("emacs-request" ,emacs-request)))
11726 (home-page "https://github.com/egh/zotxt-emacs")
11727 (synopsis "Integrate Emacs with Zotero")
11728 (description "This package provides two integration features between Emacs
11729and the Zotero research assistant: Insertion of links to Zotero items into an
11730Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
11731 (license license:gpl3+)))
11732
11733(define-public emacs-evil-ediff
11734 ;; Evil-Ediff is included in Evil Collection from 20180617.
11735 (deprecated-package "emacs-evil-ediff" emacs-evil-collection))
11736
11737(define-public emacs-evil-magit
3499638e 11738 (let ((commit "e2fec5877994c0c19f0c25fa01f3d22cb0ab38ba"))
eeb883cb
RW
11739 (package
11740 (name "emacs-evil-magit")
3499638e 11741 (version (git-version "0.4.2" "2" commit))
eeb883cb
RW
11742 (source
11743 (origin
11744 (method git-fetch)
11745 (uri (git-reference
11746 (url "https://github.com/emacs-evil/evil-magit")
11747 (commit commit)))
11748 (file-name (string-append name "-" version "-checkout"))
11749 (sha256
11750 (base32
3499638e 11751 "134v7s03jvbhm70mavwab85r09i68g2a5bvriirh0chz1av2y16v"))))
eeb883cb
RW
11752 (build-system emacs-build-system)
11753 (propagated-inputs
11754 `(("emacs-evil" ,emacs-evil)
11755 ("magit" ,emacs-magit)))
11756 (home-page
11757 "https://github.com/emacs-evil/evil-magit")
11758 (synopsis "Evil-based key bindings for Magit")
11759 (description
11760 "This Emacs library configures Magit and Evil to play well with each other.
11761For some background see @url{https://github.com/magit/evil-magit/issues/1}.
11762See the README at @url{https://github.com/justbur/evil-magit} for a table
11763describing the key binding changes.")
11764 (license license:gpl3+))))
11765
11766(define-public emacs-evil-mu4e
11767 ;; Evil-mu4e is included in Evil Collection from 20180617.
11768 (deprecated-package "emacs-evil-mu4e" emacs-evil-collection))
11769
11770(define-public emacs-evil-multiedit
11771 (package
11772 (name "emacs-evil-multiedit")
11773 (version "1.3.9")
11774 (source
11775 (origin
11776 (method git-fetch)
11777 (uri (git-reference
11778 (url "https://github.com/hlissner/evil-multiedit")
11779 (commit (string-append "v" version))))
11780 (file-name (string-append name "-" version "-checkout"))
11781 (sha256
11782 (base32
11783 "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"))))
11784 (build-system emacs-build-system)
11785 (propagated-inputs
11786 `(("emacs-evil" ,emacs-evil)
11787 ("emacs-iedit" ,emacs-iedit)))
11788 (home-page
11789 "https://github.com/hlissner/evil-multiedit")
11790 (synopsis "Multiple cursors for Evil mode")
11791 (description
11792 "This plugin was an answer to the lack of proper multiple cursor support
11793in Emacs+Evil. It allows you to select and edit matches interactively,
11794integrating @code{iedit-mode} into Evil mode with an attempt at sensible
11795defaults.")
11796 (license license:gpl3+)))
11797
11798(define-public emacs-evil-org
11799 (let ((commit "b6d652a9163d3430a9e0933a554bdbee5244bbf6"))
11800 (package
11801 (name "emacs-evil-org")
11802 (version (git-version "0.1.1" "1" commit))
11803 (source
11804 (origin
11805 (method git-fetch)
11806 (uri (git-reference
11807 (url "https://github.com/Somelauw/evil-org-mode")
11808 (commit commit)))
11809 (file-name (string-append name "-" version "-checkout"))
11810 (sha256
11811 (base32
11812 "176hrw7y7nczffbyhsa167b8rvfacsmcafm2gpkrdjqlrikbmrhl"))))
11813 (build-system emacs-build-system)
11814 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
11815 (home-page
11816 "https://github.com/Somelauw/evil-org-mode")
11817 (synopsis "Evil keybindings for Org mode")
11818 (description
11819 "This package adds supplemental Evil mode key-bindings to Emacs
11820Org-mode. It features:
11821@itemize
11822@item normal, visual and insert mode bindings;
11823@item key bindings organised in key themes;
11824@item operators like > and < to work on headings;
11825@item text objects;
11826@item table support;
11827@item calendar (date selection) support;
11828@item agenda support.
11829@end itemize\n")
11830 (license license:gpl3+))))
11831
1bc24bbf
BL
11832(define-public emacs-debpaste
11833 (package
11834 (name "emacs-debpaste")
11835 (version "0.1.5")
11836 (home-page "https://github.com/alezost/debpaste.el")
11837 (source
11838 (origin
11839 (method git-fetch)
11840 (uri (git-reference (url home-page)
11841 (commit (string-append "v" version))))
11842 (file-name (string-append name "-" version ".tar.gz"))
11843 (sha256
11844 (base32
11845 "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"))))
11846 (build-system emacs-build-system)
11847 (propagated-inputs
11848 `(("emacs-xml-rpc" ,emacs-xml-rpc)))
11849 (synopsis "Manipulate pastes from the Debian Pastezone")
11850 (description "Debpaste is an Emacs interface for the Debian Pastezone,
11851allowing you to receive, post, and delete pastes. It communicates with the
11852server using XML-RPC.")
11853 (license license:gpl3+)))
11854
6f93b525
BL
11855(define-public emacs-xml-rpc
11856 (let ((commit "8f624f8b964e9145acb504e4457c9510e87dd93c")
11857 (revision "1"))
11858 (package
11859 (name "emacs-xml-rpc")
11860 (version (git-version "1.6.12" revision commit))
11861 (source
11862 (origin
11863 (method git-fetch)
11864 (uri (git-reference
11865 (url "https://github.com/hexmode/xml-rpc-el")
11866 (commit commit)))
11867 (file-name (git-file-name name version))
11868 (sha256
11869 (base32
11870 "0xa54z52rsfl3n0xgmbycj4zazp8ksgdwcq56swzs6wp72zlalmj"))))
11871 (build-system emacs-build-system)
11872 (home-page "https://github.com/hexmode/xml-rpc-el")
11873 (synopsis "XML-RPC client for Emacs")
11874 (description "This package provides an XML-RPC client for Emacs capable
11875of both synchronous and asynchronous method calls using the @code{url}
11876package's async retrieval functionality. @file{xml-rpc.el} represents XML-RPC
11877datatypes as Lisp values, automatically converting to and from the XML
11878datastructures as needed, both for method parameters and return values, making
11879using XML-RPC methods fairly transparent to the Lisp code.")
11880 (license license:gpl3+))))
11881
eeb883cb 11882(define-public emacs-fish-completion
674d180c
PN
11883 (package
11884 (name "emacs-fish-completion")
11885 (version "1.0")
11886 (source
11887 (origin
11888 (method url-fetch)
11889 (uri (string-append
11890 "https://gitlab.com/Ambrevar/emacs-fish-completion/repository/"
11891 "archive.tar.gz?ref="
11892 version))
11893 (sha256
11894 (base32
11895 "1hpma1c5j50ja03ibr7h1xmyv7k8j3rbvqivad47kwqhlsgw0jk0"))))
11896 (build-system emacs-build-system)
11897 (inputs `(("fish" ,fish)))
11898 (arguments
11899 `(#:phases
11900 (modify-phases %standard-phases
11901 (add-after 'unpack 'configure
11902 (lambda* (#:key inputs outputs #:allow-other-keys)
11903 (let ((fish (assoc-ref inputs "fish")))
11904 ;; Specify the absolute file names of the various
11905 ;; programs so that everything works out-of-the-box.
11906 (emacs-substitute-variables
11907 "fish-completion.el"
11908 ("fish-completion-command"
11909 (string-append fish "/bin/fish")))))))))
11910 (home-page
11911 "https://gitlab.com/Ambrevar/emacs-fish-completion")
11912 (synopsis "Fish completion for Emacs pcomplete")
11913 (description
11914 "This package provides completion for the Fish shell to pcomplete (used
eeb883cb
RW
11915by shell and Eshell). You can set it up globally with:
11916
11917@example
11918(when (and (executable-find \"fish\")
11919 (require 'fish-completion nil t))
11920 (global-fish-completion-mode))
11921@end example
11922
11923Alternatively, you can call the @code{fish-completion-mode} manually or in
11924shell/Eshell mode hook.
11925
11926The package @code{emacs-bash-completion} is an optional dependency: if available,
11927@code{fish-completion-complete} can be configured to fall back on bash to further
11928try completing. See @code{fish-completion-fallback-on-bash-p}.")
674d180c 11929 (license license:gpl3+)))
eeb883cb
RW
11930
11931(define-public emacs-gif-screencast
11932 (let ((commit "12b25442b97b84abae74ecb5190a9d14ff7cfe5a"))
11933 (package
11934 (name "emacs-gif-screencast")
11935 (version (git-version "20180616" "1" commit))
11936 (source
11937 (origin
11938 (method url-fetch)
11939 (uri (string-append
11940 "https://gitlab.com/Ambrevar/emacs-gif-screencast/"
11941 "repository/archive.tar.gz?ref="
11942 commit))
11943 (sha256
11944 (base32
11945 "0lc457i78xjkn5idr2aaiadkh76zcsksj84z0qh80a9y775syrgh"))))
11946 (build-system emacs-build-system)
11947 (inputs
11948 `(("scrot" ,scrot)
11949 ("imagemagick" ,imagemagick)
11950 ("gifsicle" ,gifsicle)))
11951 (arguments
11952 `(#:phases
11953 (modify-phases %standard-phases
11954 (add-after 'unpack 'configure
11955 (lambda* (#:key inputs outputs #:allow-other-keys)
11956 (let ((scrot (assoc-ref inputs "scrot"))
11957 (imagemagick (assoc-ref inputs "imagemagick"))
11958 (gifsicle (assoc-ref inputs "gifsicle")))
11959 ;; Specify the absolute file names of the various
11960 ;; programs so that everything works out-of-the-box.
11961 (emacs-substitute-variables
11962 "gif-screencast.el"
11963 ("gif-screencast-program"
11964 (string-append scrot "/bin/scrot"))
11965 ("gif-screencast-convert-program"
11966 (string-append imagemagick "/bin/convert"))
11967 ("gif-screencast-cropping-program"
11968 (string-append imagemagick "/bin/mogrify"))
11969 ("gif-screencast-optimize-program"
11970 (string-append imagemagick "/bin/gifsicle")))))))))
11971 (home-page
11972 "https://gitlab.com/Ambrevar/emacs-gif-screencast")
11973 (synopsis "One-frame-per-action GIF recording")
11974 (description
11975 "Call @code{gif-screencast} to start a recording.
11976A screenshot is taken for every user action. Call
11977@code{gif-screencast-stop} (<f9> by default) to finish recording and create
11978the GIF result.")
11979 (license license:gpl3+))))
11980
11981(define-public emacs-google-translate
11982 (package
11983 (name "emacs-google-translate")
11984 (version "0.11.16")
11985 (source
11986 (origin
11987 (method url-fetch)
11988 (uri (string-append "https://github.com/atykhonov/google-translate/"
11989 "archive/v" version ".tar.gz"))
11990 (file-name (string-append name "-" version ".tar.gz"))
11991 (sha256
11992 (base32
11993 "01n9spj1d0gjfj39x526rl3m9c28wnx9afipmf5s8y77cx3mfwhl"))))
11994 (build-system emacs-build-system)
11995 (home-page "https://github.com/atykhonov/google-translate")
11996 (synopsis "Emacs interface to Google Translate")
11997 (description
11998 "This packages provides an Emacs interface to the Google Translate
11999on-line service.")
12000 (license license:gpl3+)))
12001
12002(define-public emacs-helm-company
12003 (let ((commit "d3fc093a0e833b4dee6561c00d6df3d62aa50f3f"))
12004 (package
12005 (name "emacs-helm-company")
12006 (version (git-version "0.2.3" "1" commit))
12007 (source
12008 (origin
12009 (method git-fetch)
12010 (uri (git-reference
12011 (url "https://github.com/Sodel-the-Vociferous/helm-company")
12012 (commit commit)))
12013 (file-name (string-append name "-" version "-checkout"))
12014 (sha256
12015 (base32
12016 "1ciirsanhajdqm5iwl8k9ywf4jha1wdv4sc4d9kslyrfr9zn4q6k"))))
12017 (build-system emacs-build-system)
12018 (propagated-inputs
12019 `(("emacs-helm" ,emacs-helm)
12020 ("emacs-company" ,emacs-company)))
12021 (home-page "https://github.com/Sodel-the-Vociferous/helm-company")
12022 (synopsis "Helm interface for company-mode")
12023 (description
12024 "This is a Helm interface to company-mode, a text completion
12025framework.")
12026 (license license:gpl3+))))
12027
12028(define-public emacs-helm-descbinds
12029 (let ((commit "033be73f21778633813264ce1634a6e1ad873d8e"))
12030 (package
12031 (name "emacs-helm-descbinds")
12032 (version (git-version "1.13" "1" commit))
12033 (source
12034 (origin
12035 (method git-fetch)
12036 (uri (git-reference
12037 (url "https://github.com/emacs-helm/helm-descbinds")
12038 (commit commit)))
12039 (file-name (string-append name "-" version "-checkout"))
12040 (sha256
12041 (base32
12042 "1n89p56qwa243w1c85i5awnaf7piwjsvfi7nmnsrwm33hix5dknk"))))
12043 (build-system emacs-build-system)
12044 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
12045 (home-page "https://github.com/emacs-helm/helm-descbinds")
12046 (synopsis "Convenient @code{describe-bindings} with Helm")
12047 (description
12048 "This package is a replacement of @code{describe-bindings} for Helm.
12049@code{describe-bindings} is replaced with @code{helm-descbinds}. As usual,
12050type @code{C-h b}, or any incomplete key sequence plus @code{C-h}, to run
12051@code{helm-descbinds}. The bindings are presented in a similar way as
12052@code{describe-bindings} does, but you can use completion to find the command
12053you searched for and execute it, or view its documentation.")
12054 (license license:gpl3+))))
12055
12056(define-public emacs-helm-emms
b6fd7f50 12057 (let ((commit "b785cb845a98a643eba9d5d53c9c0b4e6810a3cd"))
eeb883cb
RW
12058 (package
12059 (name "emacs-helm-emms")
b6fd7f50 12060 (version (git-version "1.3" "2" commit))
eeb883cb
RW
12061 (source
12062 (origin
12063 (method git-fetch)
12064 (uri (git-reference
12065 (url "https://github.com/emacs-helm/helm-emms")
12066 (commit commit)))
12067 (file-name (string-append name "-" version "-checkout"))
12068 (sha256
12069 (base32
b6fd7f50 12070 "1595r09y3rmwd46nnhvjja3hb8j2ila295ijxv61cg52ws4wginh"))))
eeb883cb
RW
12071 (build-system emacs-build-system)
12072 (propagated-inputs
12073 `(("emacs-helm" ,emacs-helm)
12074 ("emacs-emms" ,emacs-emms)))
12075 (home-page
12076 "https://github.com/emacs-helm/helm-emms")
12077 (synopsis "Emms for Helm")
12078 (description "Helm interface for Emms to browse all tracks and all folders
12079from @code{emms-source-file-default-directory}.")
12080 (license license:gpl3+))))
12081
12082(define-public emacs-helm-exwm
12083 (let ((commit "56266f261ba3b3d2753b374b50da20eb768c06f5"))
12084 (package
12085 (name "emacs-helm-exwm")
12086 (version (git-version "20180703" "2" commit))
12087 (source
12088 (origin
12089 (method url-fetch)
12090 (uri (string-append
12091 "https://github.com/emacs-helm/helm-exwm/archive/"
12092 commit
12093 ".tar.gz"))
12094 (sha256
12095 (base32
12096 "0n7hdiajw5vxl8ha2r9r4cl4i7crza25348825wb6acwhhzijxcj"))))
12097 (build-system emacs-build-system)
12098 (propagated-inputs
12099 `(("emacs-helm" ,emacs-helm)
12100 ("emacs-exwm" ,emacs-exwm)))
12101 (home-page
12102 "https://github.com/emacs-helm/helm-exwm")
12103 (synopsis "Helm for EXWM buffers")
12104 (description
12105 "@code{helm-exwm} runs a Helm session over the list of EXWM buffers.
12106@code{helm-exwm-switch} is a convenience X application launcher using Helm to
12107switch between the various windows of one or several specific applications.
12108See @code{helm-exwm-switch-browser} for an example.")
12109 (license license:gpl3+))))
12110
12111(define-public emacs-helm-flycheck
12112 (let ((commit "3cf7d3bb194acacc6395f88360588013d92675d6"))
12113 (package
12114 (name "emacs-helm-flycheck")
12115 (version (git-version "0.4" "1" commit))
12116 (source
12117 (origin
12118 (method git-fetch)
12119 (uri (git-reference
12120 (url "https://github.com/yasuyk/helm-flycheck")
12121 (commit commit)))
12122 (file-name (string-append name "-" version "-checkout"))
12123 (sha256
12124 (base32
12125 "1a2yfxhz04klwhcandqvfzysxp6b7bxyxx1xk1x3kds5hif5fkl4"))))
12126 (build-system emacs-build-system)
12127 (propagated-inputs
12128 `(("emacs-dash" ,emacs-dash)
12129 ("emacs-flycheck" ,emacs-flycheck)
12130 ("emacs-helm" ,emacs-helm)))
12131 (home-page "https://github.com/yasuyk/helm-flycheck")
12132 (synopsis "Show Flycheck errors with Helm")
12133 (description
12134 "This integrates Flycheck with Helm.")
12135 (license license:gpl3+))))
12136
12137(define-public emacs-helm-ls-git
12138 (let ((commit "76654c776a7f6e2e5290645e748aac2a746f7daa"))
12139 (package
12140 (name "emacs-helm-ls-git")
12141 (version (git-version "1.9.1" "1" commit))
12142 (source
12143 (origin
12144 (method git-fetch)
12145 (uri (git-reference
12146 (url "https://github.com/emacs-helm/helm-ls-git")
12147 (commit commit)))
12148 (file-name (string-append name "-" version "-checkout"))
12149 (sha256
12150 (base32
12151 "0vsq1n3xl3ghy5zik2scm7jrs501n4kybdqd6yw6j0cv4jxdqbr0"))))
12152 (build-system emacs-build-system)
12153 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
12154 (home-page "https://github.com/emacs-helm/helm-ls-git")
12155 (synopsis "Helm interface for listing the files in a Git repository")
12156 (description
12157 "This package provides a Helm interface for Git files.
12158@itemize
12159@item Display the open buffers in project.
12160@item Display a status source showing state of project (modified files etc.).
12161@item Display a list of all files in project under git control.
12162@item Quickly look at diffs of modified files.
12163@item Allow switching to @code{git status} with your preferred frontend
12164(vc-dir, Magit,etc.).
12165@item Full integration of git-grep, also allow usage of @code{helm-grep} (you
12166can use ack-grep instead of grep).
12167@item Integrate usage of gid from id-utils.
12168@item Full integration with @code{helm-find-files}, allow you to browse
12169projects unrelated to current-buffer.
12170@item In addition, all actions of type files and buffers are provided.
12171@end itemize\n")
12172 (license license:gpl3+))))
12173
12174(define-public emacs-helm-mu
12175 (let ((commit "77e6fea24e01481418738421dbcfe28ef1bd63cf"))
12176 (package
12177 (name "emacs-helm-mu")
12178 (version (git-version "20180513" "1" commit))
12179 (source
12180 (origin
12181 (method url-fetch)
12182 (uri (string-append
12183 "https://github.com/emacs-helm/helm-mu/archive/"
12184 commit
12185 ".tar.gz"))
12186 (sha256
12187 (base32
12188 "0qm4xi3i957scm50nar398pv4x8y03si10l77jb9ckjaviyq2hj9"))))
12189 (build-system emacs-build-system)
12190 (propagated-inputs
12191 `(("emacs-helm" ,emacs-helm)
12192 ("mu" ,mu)))
12193 (home-page
12194 "https://github.com/emacs-helm/helm-mu")
12195 (synopsis
12196 "Helm sources for searching emails and contacts")
12197 (description
12198 "Helm sources for searching emails and contacts using @code{mu} and
12199@code{mu4e}. Mu is an indexer for maildirs and mu4e is a mutt-like MUA for
12200Emacs build on top of mu. Mu is highly efficient making it possible to get
12201instant results even for huge maildirs. It also provides search operators,
12202e.g: @code{from:Peter to:Anne flag:attach search term}.")
12203 (license license:gpl3+))))
12204
12205(define-public emacs-helm-pass
034b8fd4
PN
12206 (package
12207 (name "emacs-helm-pass")
12208 (version "0.3")
12209 (source
12210 (origin
12211 (method git-fetch)
12212 (uri (git-reference
12213 (url "https://github.com/emacs-helm/helm-pass")
12214 (commit version)))
12215 (sha256
12216 (base32
12217 "0vglaknmir3yv4iwibwn8r40ran8d04gcyp99hx73ldmf3zqpnxv"))))
12218 (build-system emacs-build-system)
12219 (propagated-inputs
12220 `(("emacs-helm" ,emacs-helm)
12221 ("emacs-password-store" ,emacs-password-store)))
12222 (home-page "https://github.com/emacs-helm/helm-pass")
12223 (synopsis "Helm interface to pass, the standard Unix password manager")
12224 (description
12225 "Users of @code{helm-pass} may also be interested in functionality
eeb883cb
RW
12226provided by other Emacs packages dealing with pass:
12227@itemize
12228@item @code{emacs-password-store}, which @code{helm-pass} relies on.
12229@item @code{emacs-pass}, a major mode for @code{pass}.
12230@item @code{auth-source-pass.el}: integration of Emacs' auth-source with
12231@code{pass}, included in Emacs 26+).
12232@end itemize\n")
034b8fd4 12233 (license license:gpl3+)))
eeb883cb
RW
12234
12235(define-public emacs-image+
12236 (let ((commit "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc"))
12237 (package
12238 (name "emacs-image+")
12239 (version (git-version "0.6.2" "1" commit))
12240 (source
12241 (origin
12242 (method git-fetch)
12243 (uri (git-reference
12244 (url "https://github.com/mhayashi1120/Emacs-imagex")
12245 (commit commit)))
12246 (file-name (string-append name "-" version "-checkout"))
12247 (sha256
12248 (base32
12249 "0v66wk9nh0raih4jhrzmmyi5lbysjnmbv791vm2230ffi2hmwxnd"))))
12250 (build-system emacs-build-system)
12251 (inputs `(("imagemagick" ,imagemagick)))
12252 (arguments
12253 `(#:phases
12254 (modify-phases %standard-phases
12255 (add-after 'unpack 'configure
12256 (lambda* (#:key inputs outputs #:allow-other-keys)
12257 (let ((imagemagick (assoc-ref inputs "imagemagick")))
12258 ;; Specify the absolute file names of the various
12259 ;; programs so that everything works out-of-the-box.
12260 (chmod "image+.el" #o666)
12261 (emacs-substitute-variables
12262 "image+.el"
12263 ("imagex-convert-command"
12264 (string-append imagemagick "/bin/convert"))
12265 ("imagex-identify-command"
12266 (string-append imagemagick "/bin/identify")))))))))
12267 (home-page "https://github.com/mhayashi1120/Emacs-imagex")
12268 (synopsis "Image manipulation extensions for Emacs")
12269 (description
12270 "Image+ provides keybindings allowing you to zoom in or zoom out of an
12271image, rotate it, save modified images, and more.")
12272 (license license:gpl3+))))
12273
12274(define-public emacs-package-lint
12275 (let ((commit "69bb89d00ba212b734c676ad056aa793c450b288"))
12276 (package
12277 (name "emacs-package-lint")
12278 (version (git-version "0.5" "1" commit))
12279 (source
12280 (origin
12281 (method git-fetch)
12282 (uri (git-reference
12283 (url "https://github.com/purcell/package-lint")
12284 (commit commit)))
12285 (file-name (string-append name "-" version "-checkout"))
12286 (sha256
12287 (base32
12288 "1hfricsgmy3x9snnd2p4xq6vnnv94qdsxxnxp07b3hqc9bhw31rq"))))
12289 (build-system emacs-build-system)
12290 (home-page "https://github.com/purcell/package-lint")
12291 (synopsis "Linting library for elisp package authors")
12292 (description
12293 "This provides a list of issues with the Emacs package metadata of a file,
12294e.g. the package dependencies it requires. See function
12295@code{package-lint-buffer}. Checks will currently be enabled only if a
12296\"Package-Requires:\" or \"Package-Version:\" header is present in the
12297file.")
12298 (license license:gpl3+))))
12299
12300(define-public emacs-picpocket
12301 (let ((version "40")
12302 (commit "6fd88b8711c4370662c0f9c462170187d092a046"))
12303 (package
12304 (name "emacs-picpocket")
12305 (version version)
12306 (source
12307 (origin
12308 (method git-fetch)
12309 (uri (git-reference
12310 (url "https://github.com/johanclaesson/picpocket")
12311 (commit commit)))
12312 (file-name (git-file-name name version))
12313 (sha256
12314 (base32 "1mdzzxf7xm7zwrpnqqxa27d1cr31pd72d7ilbwljv13qp177a3yw"))))
12315 (build-system emacs-build-system)
12316 (arguments ; needed for running tests
12317 `(#:tests? #t
12318 #:emacs ,emacs
12319 #:test-command '("emacs" "--batch"
12320 "-l" "picpocket-test.el"
12321 "-f" "ert-run-tests-batch-and-exit")))
12322 (home-page "https://github.com/johanclaesson/picpocket")
12323 (synopsis "Image viewer for Emacs")
12324 (description
12325 "Picpocket is an image viewer for GNU Emacs. It has commands for:
12326
12327@itemize
12328@item File operations on the picture files (delete, move, copy, hardlink).
12329@item Scale and rotate the picture.
12330@item Associate pictures with tags which are saved to disk.
12331@item Filter pictures according to tags.
12332@item Customizing keystrokes for quick tagging and file operations.
12333@item Undo and browse history of undoable commands.
12334@end itemize")
12335 (license license:gpl3+))))
12336
12337(define-public emacs-wgrep-helm
12338 ;; `emacs-wgrep-helm' was mistakenly added.
12339 (deprecated-package "emacs-wgrep-helm" emacs-wgrep))
12340
12341(define-public emacs-mu4e-conversation
12342 (let ((commit "e7d4bfcb0d392b0aed1f705ccac2419a168d1f5e"))
12343 (package
12344 (name "emacs-mu4e-conversation")
12345 (version (git-version "20181126" "4" commit))
12346 (source
12347 (origin
12348 (method url-fetch)
12349 (uri (string-append
12350 "https://gitlab.com/Ambrevar/mu4e-conversation/"
12351 "repository/archive.tar.gz?ref="
12352 commit))
12353 (file-name (string-append name "-" version "-checkout"))
12354 (sha256
12355 (base32
12356 "0b52hf9rm2afba9pvgink9bwqm705sk0y5qikp0ff5sk53wqvy29"))))
12357 (build-system emacs-build-system)
12358 (propagated-inputs
12359 `(("mu" ,mu)))
12360 (home-page
12361 "https://gitlab.com/Ambrevar/mu4e-conversation")
12362 (synopsis
12363 "Show a complete thread in a single buffer")
12364 (description
12365 "This package offers an alternate view to mu4e's e-mail display. It
12366shows all e-mails of a thread in a single view, where each correspondent has
12367their own face. Threads can be displayed linearly (in which case e-mails are
12368displayed in chronological order) or as an Org document where the node tree
12369maps the thread tree.")
12370 (license license:gpl3+))))
12371
12372(define-public emacs-pinentry
12373 (let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
12374 (revision "1"))
12375 (package
12376 (name "emacs-pinentry")
12377 (version (git-version "0.1" revision commit))
12378 (source
12379 (origin
12380 (method url-fetch)
12381 (uri (string-append
12382 "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain"
12383 "/packages/pinentry/pinentry.el?id=" commit))
12384 (file-name (string-append "pinentry.el"))
12385 (sha256
12386 (base32
12387 "1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
12388 (build-system emacs-build-system)
12389 (propagated-inputs
12390 `(("gnupg" ,gnupg)))
12391 (home-page "https://elpa.gnu.org/packages/pinentry.html")
12392 (synopsis "GnuPG Pinentry server implementation")
12393 (description
12394 "This package allows GnuPG passphrase to be prompted through the
12395minibuffer instead of graphical dialog.
12396
12397To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
12398reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
12399server with @code{M-x pinentry-start}.")
12400 (license license:gpl3+))))
12401
12402(define-public emacs-org-brain
12403 (package
12404 (name "emacs-org-brain")
12405 (version "0.5")
12406 (source
12407 (origin
12408 (method git-fetch)
12409 (uri (git-reference
12410 (url "https://github.com/Kungsgeten/org-brain.git")
12411 (commit "3faf9303af3f2356e3444e69c22dc6c5774047d1")))
12412 (file-name (git-file-name name version))
12413 (sha256
12414 (base32
12415 "1ad681zk6kckw2zbk0r4iaj4bw8cfqrbd1s3gdwgdjlzq81q9mmj"))))
12416 (build-system emacs-build-system)
12417 (home-page "https://github.com/Kungsgeten/org-brain")
12418 (synopsis "Org-mode wiki and concept-mapping for Emacs")
12419 (description "@code{emacs-org-brain} implements a variant of concept
12420mapping in Emacs, using @code{org-mode}. An org-brain is a network of
12421org-mode entries, where each entry is a file or a headline, and you can get a
12422visual overview of the relationships between the entries: parents, children,
12423siblings and friends. This visual overview can also be used to browse your
12424entries. You can think of entries as nodes in a mind map, or pages in a
12425wiki.")
12426 (license license:expat)))
12427
12428(define-public emacs-recent-addresses
12429 (let ((commit "afbbfdc43b81e620acf827ca20d297e0c517b6eb")
12430 (revision "1"))
12431 (package
12432 (name "emacs-recent-addresses")
12433 (home-page "http://nschum.de/src/emacs/recent-addresses/")
12434 (version (git-version "0.1" revision commit))
12435 (source (origin
12436 (method git-fetch)
12437 (uri (git-reference
12438 ;; Note: Use a branch that works with Helm. Submitted
12439 ;; at <https://github.com/nschum/recent-addresses.el/pull/1>.
12440 (url "https://github.com/civodul/recent-addresses.el")
12441 (commit commit)))
12442 (sha256
12443 (base32
12444 "0ajrq0galjmdyjdjyxazykjyax3gh6hvfk4s7l657pi11g0q5zax"))
12445 (file-name (git-file-name name version))))
12446 (build-system emacs-build-system)
12447 (synopsis "Record recently-used email addressed and auto-complete them")
12448 (description
12449 "@code{recent-addresses} is an Emacs package that allows you to quickly
12450look up previously used email addresses. It can be used alongside the Gnus
12451email client.")
12452 (license license:gpl2+))))
12453
12454(define-public emacs-fold-dwim
12455 (let ((commit "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b")
12456 (revision "0"))
12457 (package
12458 (name "emacs-fold-dwim")
12459 (version (git-version "1.2" revision commit))
12460 (home-page "https://github.com/emacsattic/fold-dwim")
12461 (source (origin
12462 (method git-fetch)
12463 (uri (git-reference (url home-page) (commit commit)))
12464 (sha256
12465 (base32
12466 "1yz1wis31asw6xa5maliyd1ck2q02xnnh7dc6swgj9cb4wi7k6i1"))
12467 (file-name (git-file-name name version))))
12468 (build-system emacs-build-system)
12469 (synopsis "Unified user interface for Emacs folding modes")
12470 (description
12471 "DWIM stands for \"do what I mean\", as in the idea that one keystroke
12472can do different things depending on the context. In this package, it means
12473that, if the cursor is in a currently hidden folded construction, we want to
12474show it; if it's not, we want to hide whatever fold the cursor is in.")
12475 (license license:gpl2+))))
12476
12477(define-public emacs-markup-faces
12478 (package
12479 (name "emacs-markup-faces")
12480 (version "1.0.0")
12481 (source
12482 (origin
12483 (method url-fetch)
12484 (uri (string-append "https://stable.melpa.org/packages/markup-faces-"
12485 version ".el"))
12486 (sha256
12487 (base32
12488 "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32"))))
12489 (build-system emacs-build-system)
12490 (home-page "https://github.com/sensorflo/markup-faces")
12491 (synopsis "Collection of Emacs faces for markup language modes")
12492 (description "emacs-markup-faces is like font-lock-faces, but tailored for
12493markup languages instead programming languages. The sub group markup-faces-text
12494is also intended for 'text viewing modes' such as info or (wo)man. This gives a
12495common look and feel, or let's say theme, across different markup language modes
12496and 'text viewing modes' respectively.")
12497 (license license:gpl3+)))
12498
12499(define-public emacs-adoc-mode
12500 (package
12501 (name "emacs-adoc-mode")
12502 (version "0.6.6")
12503 (source
12504 (origin
12505 (method url-fetch)
12506 (uri (string-append "https://stable.melpa.org/packages/adoc-mode-"
12507 version ".el"))
12508 (sha256
12509 (base32
12510 "1c6hrgxxsnl2c19rgjykpm7r4xg9lp6bmk5z6bi7g8pqlrgwffcy"))))
12511 (build-system emacs-build-system)
12512 (propagated-inputs
12513 `(("emacs-markup-faces" ,emacs-markup-faces)))
12514 (home-page "https://github.com/sensorflo/adoc-mode/wiki")
12515 (synopsis "AsciiDoc mode for Emacs")
12516 (description "This package provides an Emacs major mode for editing AsciiDoc
12517files. It focuses on highlighting the document to improve readability.")
12518 (license license:gpl2+)))
12519
12520(define-public emacs-rust-mode
12521 (let ((commit
12522 ;; Last release is old (2016), use more recent commit to get bug
12523 ;; fixes.
12524 "64b4a2450e4d4c47f6307851c9b2598cd2254d68")
12525 (revision "0"))
12526 (package
12527 (name "emacs-rust-mode")
12528 (version (git-version "0.3.0" revision commit))
12529 (source (origin
12530 (method git-fetch)
12531 (uri
12532 (git-reference
12533 (url "https://github.com/rust-lang/rust-mode")
12534 (commit commit)))
12535 (file-name (git-file-name name version))
12536 (sha256
12537 (base32
12538 "0pbz36lljgb7bdgx3h3g0pq1nss1kvn8mhk1l3mknsmynd6w4nd8"))))
12539 (build-system emacs-build-system)
12540 (arguments
12541 `(#:phases
12542 (modify-phases %standard-phases
12543 (replace 'check
12544 (lambda _
12545 (invoke "sh" "run_rust_emacs_tests.sh"))))))
12546 (home-page "https://github.com/rust-lang/rust-mode")
12547 (synopsis "Major Emacs mode for editing Rust source code")
12548 (description "This package provides a major Emacs mode for editing Rust
12549source code.")
12550 (license (list license:expat
12551 license:asl2.0)))))
12552
12553(define-public emacs-ztree
12554 (let ((commit "c54425a094353ec40a8179f9eab3596f76c6cf94"))
12555 (package
12556 (name "emacs-ztree")
12557 (version (git-version "1.0.5" "1" commit))
12558 (source
12559 (origin
12560 (method git-fetch)
12561 (uri (git-reference
12562 (url "https://github.com/fourier/ztree")
12563 (commit commit)))
12564 (file-name (git-file-name name version))
12565 (sha256
12566 (base32
12567 "0j8fpxds8m1zi04nrs8vv21091abvh4n8ab76f1sgdxnp4l5cfb0"))))
12568 (build-system emacs-build-system)
12569 (home-page "https://github.com/fourier/ztree")
12570 (synopsis "Directory tree comparison mode for Emacs")
12571 (description "Ztree is a project dedicated to implementation of several
12572text-tree applications inside GNU Emacs. It consists of 2 subprojects:
12573@command{ztree-diff} and @command{ztree-dir} (the basis of
12574@command{ztree-diff}).")
12575 (license license:gpl3))))
12576
12577(define-public emacs-helm-org-contacts
12578 (let ((commit "0af703bd9a43032b89fdf5559673151d1ac2fffc"))
12579 (package
12580 (name "emacs-helm-org-contacts")
12581 (version (git-version "20180707" "1" commit))
12582 (source
12583 (origin
12584 (method git-fetch)
12585 (uri (git-reference
12586 (url "https://github.com/tmalsburg/helm-org-contacts")
12587 (commit commit)))
12588 (file-name (git-file-name name version))
12589 (sha256
12590 (base32
12591 "1cl7cm2ic9pg4vc9cdh84vzjj1x2lpd5ymimiva8h4l17kiphk4s"))))
12592 (build-system emacs-build-system)
12593 (propagated-inputs
12594 `(("emacs-dash" ,emacs-dash)
12595 ("emacs-helm" ,emacs-helm)
12596 ("emacs-s" ,emacs-s)))
12597 (home-page "https://github.com/tmalsburg/helm-org-contacts")
12598 (synopsis "Helm source for org-contacts")
12599 (description "This Helm source can be used to search contacts stored in
12600org-contacts format. There are actions for inserting postal addresses, email
12601addresses, and phone numbers in the buffer where @command{helm-org-contacts}
12602was called.")
12603 (license license:gpl3))))
12604
12605(define-public emacs-dired-du
12606 (package
12607 (name "emacs-dired-du")
12608 (version "0.5.1")
12609 (source
12610 (origin
12611 (method url-fetch)
12612 (uri (string-append
12613 "https://elpa.gnu.org/packages/dired-du-"
12614 version ".tar"))
12615 (sha256
12616 (base32
12617 "1091scnrjh0a4gja4z6jxic6ghy1yryv46qk9c76pmh50cpw6766"))))
12618 (build-system emacs-build-system)
12619 (home-page "http://elpa.gnu.org/packages/dired-du.html")
12620 (synopsis "Dired with recursive directory sizes")
12621 (description
12622 "Display the recursive size of directories in Dired.
12623This file defines a minor mode @command{dired-du-mode} to show the recursive
12624size of directories in Dired buffers. If @command{du} program is available,
12625then the directory sizes are obtained with it. Otherwise, the directory sizes
12626are obtained with Lisp. The former is faster and provide a more precise
12627value. For directories where the user doesn't have read permission, the
12628recursive size is not obtained. Once this mode is enabled, every new Dired
12629buffer displays recursive dir sizes.")
12630 (license license:gpl3+)))
12631
12632(define-public emacs-pcre2el
12633 ;; Last release is very old so we get the latest commit.
12634 (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
12635 (package
12636 (name "emacs-pcre2el")
12637 (version (git-version "1.8" "1" commit))
12638 (source
12639 (origin
12640 (method git-fetch)
12641 (uri (git-reference
12642 (url "https://github.com/joddie/pcre2el")
12643 (commit commit)))
12644 (file-name (git-file-name name version))
12645 (sha256
12646 (base32
12647 "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"))))
12648 (build-system emacs-build-system)
12649 (home-page "https://github.com/joddie/pcre2el")
12650 (synopsis "Convert between PCRE, Emacs and rx regexp syntax")
12651 (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp
12652Tools) is a utility for working with regular expressions in Emacs, based on a
12653recursive-descent parser for regexp syntax. In addition to converting (a
12654subset of) PCRE syntax into its Emacs equivalent, it can do the following:
12655
12656@itemize
12657@item convert Emacs syntax to PCRE
12658@item convert either syntax to @code{rx}, an S-expression based regexp syntax
12659@item untangle complex regexps by showing the parse tree in @code{rx} form and
12660highlighting the corresponding chunks of code
12661@item show the complete list of strings (productions) matching a regexp,
12662provided the list is finite
12663@item provide live font-locking of regexp syntax (so far only for Elisp
12664buffers – other modes on the TODO list).
12665@end itemize\n")
12666 (license license:gpl3))))
12667
12668(define-public emacs-magit-todos
12669 (package
12670 (name "emacs-magit-todos")
3a56c518 12671 (version "1.1.7")
eeb883cb
RW
12672 (source
12673 (origin
12674 (method git-fetch)
12675 (uri (git-reference
12676 (url "https://github.com/alphapapa/magit-todos")
12677 (commit version)))
12678 (file-name (git-file-name name version))
12679 (sha256
12680 (base32
3a56c518 12681 "0qagdxpik64n4rw9scy451ws5sw00v64ri9g2dcw7b66bx2c6c6w"))))
eeb883cb
RW
12682 (build-system emacs-build-system)
12683 (propagated-inputs
12684 `(("emacs-async" ,emacs-async)
12685 ("emacs-dash" ,emacs-dash)
12686 ("emacs-f" ,emacs-f)
12687 ("emacs-hl-todo" ,emacs-hl-todo)
12688 ("magit" ,emacs-magit)
12689 ("emacs-pcre2el" ,emacs-pcre2el)
12690 ("emacs-s" ,emacs-s)))
12691 (home-page "https://github.com/alphapapa/magit-todos")
12692 (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer")
12693 (description "This package displays keyword entries from source code
12694comments and Org files in the Magit status buffer. Activating an item jumps
12695to it in its file. By default, it uses keywords from @code{hl-todo}, minus a
12696few (like NOTE).")
12697 (license license:gpl3)))
12698
12699(define-public emacs-git-annex
12700 ;; Unreleased version has a fontification fix.
12701 (let ((commit "ebdb44aef1883f1b2b8058e05d30fb9315b03707")
12702 (revision "1"))
12703 (package
12704 (name "emacs-git-annex")
12705 (version (string-append "1.1-" revision "." (string-take commit 8)))
12706 (source
12707 (origin
12708 (method git-fetch)
12709 (uri (git-reference
12710 (url "https://github.com/jwiegley/git-annex-el")
12711 (commit commit)))
12712 (file-name (string-append name "-" version "-checkout"))
12713 (sha256
12714 (base32
12715 "1mzv40gj7k10h7h5s43my8msgzjpj680qprqa9pp8nbyhl49v3wh"))))
12716 (build-system emacs-build-system)
12717 (home-page "https://github.com/jwiegley/git-annex-el")
12718 (synopsis "Emacs integration for git-annex")
12719 (description "Enhances Dired and buffers visiting annex files with
12720git-annex functionality. In Dired, the names of annex files are shortened by
12721hiding the symbolic links and fontified based on whether content is present.
12722Commands for performing some common operations (e.g., unlocking and adding
12723files) are provided.")
12724 (license license:gpl2+))))
12725
12726(define-public emacs-hackernews
1e70d72b 12727 (let ((commit "916c3da8da45c757f5ec2faeed57fa370513d4ac"))
eeb883cb
RW
12728 (package
12729 (name "emacs-hackernews")
1e70d72b 12730 (version (git-version "0.5.0" "1" commit))
eeb883cb
RW
12731 (source
12732 (origin
12733 (method git-fetch)
12734 (uri (git-reference
12735 (url "https://github.com/clarete/hackernews.el")
12736 (commit commit)))
12737 (file-name (git-file-name name version))
12738 (sha256
12739 (base32
1e70d72b 12740 "09bxaaczana1cfvxyk9aagjvdszkj0j1yldl5r4xa60b59lxihsg"))))
eeb883cb
RW
12741 (build-system emacs-build-system)
12742 (home-page "https://github.com/clarete/hackernews.el")
12743 (synopsis "Hacker News client for Emacs")
12744 (description "The @command{hackernews} package is able to fetch stories
12745from six different Hacker News feeds, namely top, new, best, ask, show and job
12746stories. The default feed is top stories, which corresponds to the Hacker
12747News homepage.")
12748 (license license:gpl3))))
12749
12750(define-public emacs-youtube-dl
12751 (let ((commit "7c9d7a7d05b72a7d1b1257a36c5e2b2567b185dd"))
12752 (package
12753 (name "emacs-youtube-dl")
12754 (version (git-version "1.0" "1" commit))
12755 (source
12756 (origin
12757 (method git-fetch)
12758 (uri (git-reference
12759 (url "https://github.com/skeeto/youtube-dl-emacs/")
12760 (commit commit)))
12761 (file-name (git-file-name name version))
12762 (sha256
12763 (base32
12764 "0mh4s089a4x8s380agzb2306kdp1hl204px1n5rrrrdcls7imnh6"))))
12765 (build-system emacs-build-system)
12766 (inputs
12767 `(("youtube-dl" ,youtube-dl)))
12768 (arguments
12769 `(#:phases
12770 (modify-phases %standard-phases
12771 (add-after 'unpack 'configure
12772 (lambda* (#:key inputs #:allow-other-keys)
12773 (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
12774 ;; .el is read-only in git.
12775 (chmod "youtube-dl.el" #o644)
12776 ;; Specify the absolute file names of the various
12777 ;; programs so that everything works out-of-the-box.
12778 (emacs-substitute-variables
12779 "youtube-dl.el"
12780 ("youtube-dl-program"
12781 (string-append youtube-dl "/bin/youtube-dl")))))))))
12782 (home-page "https://github.com/skeeto/youtube-dl-emacs/")
12783 (synopsis "Emacs youtube-dl download manager")
12784 (description "This package manages a video download queue for
12785@command{youtube-dl}, which serves as the back end. It manages a single
12786@command{youtube-dl} subprocess, downloading one video at a time. New videos
12787can be queued at any time.")
12788 (license license:unlicense))))
12789
12790(define-public emacs-org-web-tools
12791 (package
12792 (name "emacs-org-web-tools")
12793 (version "1.0")
12794 (source
12795 (origin
12796 (method git-fetch)
12797 (uri (git-reference
12798 (url "https://github.com/alphapapa/org-web-tools")
12799 (commit version)))
12800 (file-name (git-file-name name version))
12801 (sha256
12802 (base32
12803 "0kak9h5ny00d39gnwspv53nadnag01brw2fq9zk5wpfc91h9bjng"))))
12804 (build-system emacs-build-system)
12805 (propagated-inputs
12806 `(("emacs-dash" ,emacs-dash)
12807 ("emacs-esxml" ,emacs-esxml)
12808 ("emacs-s" ,emacs-s)))
12809 (inputs
12810 `(("pandoc" ,ghc-pandoc)))
12811 (arguments
12812 `(#:phases
12813 (modify-phases %standard-phases
12814 (add-after 'unpack 'patch-exec-paths
12815 (lambda* (#:key inputs #:allow-other-keys)
12816 (let ((pandoc (assoc-ref inputs "pandoc")))
12817 (substitute* "org-web-tools.el"
12818 (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))
12819 #t))))))
12820 (home-page "https://github.com/alphapapa/org-web-tools")
12821 (synopsis "Display/Process web page as Org-mode content")
12822 (description "This package contains library functions and commands useful
12823for retrieving web page content and processing it into Org-mode content.
12824
12825For example, you can copy a URL to the clipboard or kill-ring, then run a
12826command that downloads the page, isolates the “readable” content with
12827@command{eww-readable}, converts it to Org-mode content with Pandoc, and
12828displays it in an Org-mode buffer. Another command does all of that but
12829inserts it as an Org entry instead of displaying it in a new buffer.")
12830 (license license:gpl3+)))
12831
12832(define-public emacs-blimp
12833 (let ((commit "e420763d6d18b5d1be552cdbc47f91418343db03"))
12834 (package
12835 (name "emacs-blimp")
12836 (version (git-version "0.0.0" "1" commit))
12837 (source
12838 (origin
12839 (method git-fetch)
12840 (uri (git-reference
12841 (url "https://github.com/walseb/blimp")
12842 (commit commit)))
12843 (file-name (git-file-name name version))
12844 (sha256
12845 (base32
12846 "09wmhpym516b81dfq8smdmysh1fn610dzlyvyl2rkx8600f0fizd"))))
12847 (build-system emacs-build-system)
12848 (propagated-inputs
12849 `(("emacs-eimp" ,emacs-eimp)))
12850 (home-page "https://github.com/walseb/blimp")
12851 (synopsis "Emacs wrapper around all Imagemagick commands")
12852 (description "Blimp (Bustling Image Manipulation Package) is a complete
12853wrapper around all Imagemagick commands with descriptions, autocompletion (for
12854some commands) and hints displayed in prompt using @command{eimp.el} to
12855execute its commands and resize images.")
12856 (license license:gpl3+))))
12857
12858(define-public emacs-synosaurus
12859 (let ((commit "8bf95b935976ec0a1964cf175ed57cc5f6f93bdb"))
12860 (package
12861 (name "emacs-synosaurus")
12862 (version (git-version "0.1.0" "1" commit))
12863 (source
12864 (origin
12865 (method git-fetch)
12866 (uri (git-reference
12867 (url "https://github.com/hpdeifel/synosaurus")
12868 (commit commit)))
12869 (file-name (git-file-name name version))
12870 (sha256
12871 (base32
12872 "15by9jccab6kyplxa6k0glzaivxkqdigl33gl2qi2cvy6f2q7gva"))))
12873 (build-system emacs-build-system)
12874 (propagated-inputs
12875 `(("wordnet" ,wordnet)))
12876 (arguments
12877 `(#:phases
12878 (modify-phases %standard-phases
12879 (add-after 'unpack 'configure
12880 (lambda* (#:key inputs outputs #:allow-other-keys)
12881 (let ((wn (assoc-ref inputs "wordnet")))
12882 ;; .el is read-only in git.
12883 (chmod "synosaurus-wordnet.el" #o644)
12884 ;; Specify the absolute file names of the various
12885 ;; programs so that everything works out-of-the-box.
12886 (emacs-substitute-variables
12887 "synosaurus-wordnet.el"
12888 ("wordnet-command"
12889 (string-append wn "/bin/wn")))))))))
12890 (home-page "https://github.com/hpdeifel/synosaurus")
12891 (synopsis "Extensible thesaurus mode for Emacs")
12892 (description "Synosaurus is a thesaurus fontend for Emacs with pluggable
12893backends, including the @command{wordnet} offline backend.")
12894 (license license:gpl3+))))
12895
a6718145
BL
12896(define-public emacs-editorconfig
12897 (package
12898 (name "emacs-editorconfig")
12899 (version "0.7.14")
12900 (source
12901 (origin
12902 (method git-fetch)
12903 (uri (git-reference
12904 (url "https://github.com/editorconfig/editorconfig-emacs")
12905 (commit (string-append "v" version))))
12906 (file-name (git-file-name name version))
12907 (sha256
12908 (base32
12909 "19j2428ij7sqvrqs7rqg1mcnv9109y6drqba40dkv3vrkk5d2yia"))))
12910 (build-system emacs-build-system)
12911 (home-page "https://github.com/editorconfig/editorconfig-emacs")
12912 (synopsis "Define and maintain consistent coding styles between different
12913editors and IDEs")
12914 (description "The EditorConfig project consists of a file format for
12915defining coding styles and a collection of text editor plugins that enable
12916editors to read the file format and adhere to defined styles. EditorConfig
12917files are easily readable and they work nicely with version control systems.")
12918 (license license:gpl3+)))
12919
eeb883cb
RW
12920(define-public emacs-all-the-icons
12921 (package
12922 (name "emacs-all-the-icons")
12923 (version "3.2.0")
12924 (source
12925 (origin
12926 (method git-fetch)
12927 (uri (git-reference
12928 (url "https://github.com/domtronn/all-the-icons.el.git")
12929 (commit version)))
12930 (file-name (git-file-name name version))
12931 (sha256
12932 (base32
12933 "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn"))))
12934 (build-system emacs-build-system)
12935 (arguments
12936 `(#:include '("\\.el$" "^data/" "^fonts/")
12937 ;; Compiling "test/" fails with "Symbol’s value as variable is void:
12938 ;; all-the-icons--root-code". Ignoring tests.
12939 #:exclude '("^test/")
12940 #:tests? #f))
12941 (propagated-inputs
12942 `(("f" ,emacs-f)
12943 ("memoize" ,emacs-memoize)))
12944 (home-page "https://github.com/domtronn/all-the-icons.el")
12945 (synopsis "Collect icon fonts and propertize them within Emacs")
12946 (description "All-the-icons is a utility package to collect various icon
12947fonts and propertize them within Emacs. Icon fonts allow you to propertize
12948and format icons the same way you would normal text. This enables things such
12949as better scaling of and anti aliasing of the icons.")
12950 ;; Package is released under Expat license. Elisp files are licensed
12951 ;; under GPL3+. Fonts come with various licenses: Expat for
12952 ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
12953 ;; "material-design-icons.ttf", and SIL OFL 1.1 for "fontawesome.ttf",
12954 ;; "ocitcons.ttf" and "weathericons.ttf".
12955 (license
12956 (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
12957
12958(define-public emacs-powerline
12959 (package
12960 (name "emacs-powerline")
12961 (version "2.4")
12962 (source
12963 (origin
12964 (method git-fetch)
12965 (uri (git-reference
12966 (url "https://github.com/milkypostman/powerline.git")
12967 (commit version)))
12968 (file-name (git-file-name name version))
12969 (sha256
12970 (base32
12971 "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"))))
12972 (build-system emacs-build-system)
12973 (home-page "https://github.com/milkypostman/powerline/")
12974 (synopsis "Mode-line plugin for Emacs")
12975 (description "Powerline is a utility plugin which allows you to create
12976a better-looking, more functional Emacs mode-line. A collection of predefined
12977themes comes with the package.")
12978 (license license:gpl3+)))
12979
12980(define-public emacs-spaceline
12981 (package
12982 (name "emacs-spaceline")
12983 (version "2.0.1")
12984 (source
12985 (origin
12986 (method git-fetch)
12987 (uri (git-reference
12988 (url "https://github.com/TheBB/spaceline.git")
12989 (commit (string-append "v" version))))
12990 (file-name (git-file-name name version))
12991 (sha256
12992 (base32
12993 "1q8r95zfrh0vxna5ml2pq9b9f66clfqcl4d2qy2aizkvzyxg6skl"))))
12994 (build-system emacs-build-system)
12995 (propagated-inputs
12996 `(("dash" ,emacs-dash)
12997 ("powerline" ,emacs-powerline)
12998 ("s" ,emacs-s)))
12999 (home-page "https://github.com/TheBB/spaceline")
13000 (synopsis "Powerline theme from Spacemacs")
13001 (description "Spaceline provides Spacemacs' mode-line theme.
13002This package provides features for three kinds of users.
13003
13004@itemize
13005@item You just want to use the Spacemacs mode-line theme and forget about it.
13006@item You want to use something similar to the Spacemacs mode-line theme, but
13007with a handful of easy tweaks.
13008@item You want an easy-to-use library for building your own mode-line from
13009scratch, and you think the Spacemacs theme looks good.
13010@end itemize")
13011 (license license:gpl3+)))
13012
13013(define-public emacs-column-marker
13014 (package
13015 (name "emacs-column-marker")
13016 (version "9")
13017 (source
13018 (origin
13019 (method url-fetch)
13020 (uri "https://www.emacswiki.org/emacs/download/column-marker.el")
13021 (sha256 (base32 "05bv198zhqw5hqq6cr11mhz02dpca74hhp1ycwq369m0yb2naxy9"))))
13022 (build-system emacs-build-system)
13023 (home-page "https://www.emacswiki.org/emacs/ColumnMarker")
13024 (synopsis "Emacs mode for highlighting columns")
13025 (description
13026 "With @code{column-marker.el} you can highlight any number of text columns.
13027Three such highlight column markers are provided by default. This is
13028especially useful for languages like COBOL or Fortran where certain columns
13029have special meaning. It is also handy for aligning text across long vertical
13030distances. Multi-column characters, such as @kbd{TAB} are treated
13031correctly.")
13032 (license license:gpl2+)))
13033
13034(define-public emacs-slime-repl-ansi-color
13035 (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
13036 (package
13037 (name "emacs-slime-repl-ansi-color")
13038 (version (git-version "0.0.0" "1" commit))
13039 (source (origin
13040 (method git-fetch)
13041 (uri (git-reference
13042 (url "https://github.com/deadtrickster/slime-repl-ansi-color")
13043 (commit commit)))
13044 (file-name (git-file-name name version))
13045 (sha256
13046 (base32
13047 "0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
13048 (build-system emacs-build-system)
13049 (home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
13050 (synopsis "Color ANSI codes in the REPL of SLIME")
13051 (description "Color ANSI codes in the REPL of SLIME")
13052 (license license:gpl2+))))
13053
13054(define-public emacs-helm-slime
f81efdcb
PN
13055 (package
13056 (name "emacs-helm-slime")
43a0db3c 13057 (version "0.3.0")
f81efdcb
PN
13058 (source (origin
13059 (method git-fetch)
13060 (uri (git-reference
13061 (url "https://github.com/emacs-helm/helm-slime")
13062 (commit version)))
13063 (file-name (git-file-name name version))
13064 (sha256
13065 (base32
43a0db3c 13066 "1qhb9446rpj17pm0hi3miy5gs5k3ld43bq29kzy0y26bf7ivfcjv"))))
f81efdcb
PN
13067 (build-system emacs-build-system)
13068 (propagated-inputs
13069 `(("emacs-helm" ,emacs-helm)
13070 ("emacs-slime" ,emacs-slime)))
13071 (home-page "https://github.com/emacs-helm/helm-slime")
13072 (synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs")
13073 (description "Helm-SLIME defines a few new commands:
eeb883cb
RW
13074
13075@itemize
13076@item helm-slime-complete: Select a symbol from the SLIME completion systems.
13077@item helm-slime-list-connections: Yet another slime-list-connections with Helm.
13078@item: helm-slime-apropos: Yet another slime-apropos with Helm.
13079@item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it.
13080@end itemize\n")
f81efdcb 13081 (license license:gpl3+)))
eeb883cb
RW
13082
13083(define-public emacs-gtk-look
13084 (package
13085 (name "emacs-gtk-look")
13086 (version "29")
13087 (source (origin
13088 (method url-fetch)
13089 (uri "https://download.tuxfamily.org/user42/gtk-look.el")
13090 (sha256
13091 (base32
13092 "14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp"))))
13093 (build-system emacs-build-system)
13094 (arguments
13095 `(#:phases
13096 (modify-phases %standard-phases
13097 (add-after 'unpack 'configure
13098 (lambda _
13099 ;; File is read-only.
13100 (chmod "gtk-look.el" #o644)
13101 (emacs-substitute-variables "gtk-look.el"
13102 ("gtk-lookup-devhelp-indices"
13103 '(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*"))))
13104 #t)))))
13105 (home-page "http://user42.tuxfamily.org/gtk-look/index.html")
13106 (synopsis "Find and display HTML documentation for GTK, GNOME and Glib")
13107 (description "@command{gtk-look} finds and displays HTML documentation for
13108GTK, GNOME and Glib functions and variables in Emacs, similar to what
13109info-lookup-symbol does for info files (C-h S). The documentation is expected
13110to be devhelp indexes with HTML files. The location of the indexes can be
13111customized. In addition to C code development @command{gtk-look} is good for
13112
13113@itemize
13114@item @command{perl-gtk2}, recognising class funcs like
13115@command{Gtk2::Label->new} and bare method names like @command{set_text}.
13116@item @command{guile-gnome}, recognising methods like @command{set-text} and
13117classes like @command{<gtk-window>}.
13118@end itemize\n")
13119 (license license:gpl3+)))
13120
13121(define-public emacs-ov
13122 (package
13123 (name "emacs-ov")
13124 (version "1.0.6")
13125 (source (origin
13126 (method git-fetch)
13127 (uri (git-reference
13128 (url "https://github.com/ShingoFukuyama/ov.el.git")
13129 (commit version)))
13130 (file-name (git-file-name name version))
13131 (sha256
13132 (base32
13133 "0qxk2rf84j86syxi8xknsq252irwg7sz396v3bb4wqz4prpj0kzc"))))
13134 (build-system emacs-build-system)
13135 (home-page "https://github.com/ShingoFukuyama/ov.el")
13136 (synopsis "Overlay library for Emacs Lisp")
13137 (description "@code{ov.el} provides a simple way to manipulate overlays in
13138Emacs.")
13139 (license license:gpl3+)))
13140
13141(define-public emacs-matrix-client
85a3d63f 13142 (let ((commit "a0623667b07a4bf60980c97b078e9faed97ace79"))
eeb883cb
RW
13143 (package
13144 (name "emacs-matrix-client")
54c9d7bb 13145 (version (git-version "0.0.0" "4" commit))
eeb883cb
RW
13146 (source (origin
13147 (method git-fetch)
13148 (uri (git-reference
13149 (url "https://github.com/jgkamat/matrix-client-el.git")
13150 (commit commit)))
13151 (file-name (git-file-name name version))
13152 (sha256
13153 (base32
85a3d63f 13154 "1zya8id3y9wzjaj7nplq7br6nhm3lsskv0fkn1xr1y77fzcfgcdb"))))
eeb883cb 13155 (build-system emacs-build-system)
54c9d7bb
NG
13156 (arguments
13157 `(#:phases
13158 (modify-phases %standard-phases
13159 (add-after 'unpack 'add-missing-require
13160 ;; Fix a filter error at runtime due to a missing require.
13161 ;; Reported upstream:
13162 ;; <https://github.com/alphapapa/matrix-client.el/issues/76>
13163 (lambda _
13164 (substitute* "matrix-client-room.el"
13165 (("\\(require 'dash-functional\\)" all)
13166 (string-append all "\n" "(require 'anaphora)")))
13167 #t)))))
eeb883cb
RW
13168 (propagated-inputs
13169 `(("a" ,emacs-a)
e6ab20f7 13170 ("anaphora" ,emacs-anaphora)
eeb883cb
RW
13171 ("dash" ,emacs-dash)
13172 ("esxml" ,emacs-esxml)
13173 ("f" ,emacs-f)
13174 ("frame-purpose" ,emacs-frame-purpose)
13175 ("ht" ,emacs-ht)
13176 ("ov" ,emacs-ov)
13177 ("rainbow-identifiers" ,emacs-rainbow-identifiers)
13178 ("request" ,emacs-request)
13179 ("s" ,emacs-s)
13180 ("tracking" ,emacs-tracking)))
13181 (home-page "https://github.com/jgkamat/matrix-client-el")
13182 (synopsis "Matrix client for Emacs")
13183 (description "@code{matrix-client} is a simple chat UI to Matrix.org
13184rooms. It also provides an API which allows Emacs to seamlessly create
13185RPC channels with users and other software.")
13186 (license license:gpl3+))))
13187
13188(define-public emacs-sesman
13189 (package
13190 (name "emacs-sesman")
13191 (version "0.3.3")
13192 (source
13193 (origin
13194 (method git-fetch)
13195 (uri (git-reference
13196 (url "https://github.com/vspinu/sesman.git")
13197 (commit (string-append "v" version))))
13198 (file-name (git-file-name name version))
13199 (sha256
13200 (base32
13201 "0r32f8ma9ddczxrrdz0nadp14j3zmk10q1ch02gb82synkx3xdra"))))
13202 (build-system emacs-build-system)
13203 (arguments
13204 `(#:tests? #t
13205 #:test-command '("make" "test")))
13206 (home-page "https://github.com/vspinu/sesman")
13207 (synopsis "Session manager for Emacs based IDEs")
13208 (description "Sesman provides facilities for session management and
13209interactive session association with the current contexts (project, directory,
13210buffers). While sesman can be used to manage arbitrary sessions, it primary
13211targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
13212 (license license:gpl3+)))
13213
13214(define-public emacs-buttercup
13215 (package
13216 (name "emacs-buttercup")
13217 (version "1.16")
13218 (source
13219 (origin
13220 (method git-fetch)
13221 (uri (git-reference
13222 (url "https://github.com/jorgenschaefer/emacs-buttercup.git")
13223 (commit (string-append "v" version))))
13224 (file-name (git-file-name name version))
13225 (sha256
13226 (base32
13227 "0dckgcyzsav6ld78bcyrrygy1cz1jvqgav6vy8f6klpmk3r8xrl1"))))
13228 (build-system emacs-build-system)
13229 (arguments
13230 `(#:tests? #t
13231 #:test-command '("make" "test")
13232 #:phases
13233 (modify-phases %standard-phases
13234 (add-after 'install 'install-bin
13235 (lambda* (#:key outputs #:allow-other-keys)
13236 (install-file "bin/buttercup"
13237 (string-append (assoc-ref outputs "out") "/bin"))
13238 #t)))))
13239 (home-page "https://github.com/jorgenschaefer/emacs-buttercup")
13240 (synopsis "Behavior driven emacs lisp testing framework")
13241 (description "Buttercup is a behavior-driven development framework for
13242testing Emacs Lisp code. It allows to group related tests so they can share
13243common set-up and tear-down code, and allows the programmer to \"spy\" on
13244functions to ensure they are called with the right arguments during testing.")
13245 (license license:gpl3+)))
13246
13247(define-public emacs-wordnut
13248 (let ((commit "feac531404041855312c1a046bde7ea18c674915")
13249 (revision "0"))
13250 (package
13251 (name "emacs-wordnut")
13252 (version (git-version "0.1" revision commit))
13253 (home-page "https://github.com/gromnitsky/wordnut")
13254 (source (origin
13255 (method git-fetch)
13256 (uri (git-reference (url home-page) (commit commit)))
13257 (sha256
13258 (base32
13259 "1jl0b6g64a9w0q7bfvwha67vgws5xd15b7mkfyb5gkz3pymqhfxn"))
13260 (patches
13261 (search-patches "emacs-wordnut-require-adaptive-wrap.patch"))
13262 (file-name (git-file-name name version))))
13263 (build-system emacs-build-system)
13264 (propagated-inputs
13265 `(("wordnet" ,wordnet)
13266 ("emacs-adaptive-wrap" ,emacs-adaptive-wrap)))
13267 (synopsis "Major mode for WordNet")
13268 (description "This Emacs package provides an interface for
13269@code{wordnet}. Features include completion, if the query is not found
13270too ambiguous and navigation in the result buffer.")
13271 (license license:gpl3+))))
13272
13273(define-public emacs-frame-purpose
13274 (package
13275 (name "emacs-frame-purpose")
13276 (version "1.0")
13277 (source (origin
13278 (method git-fetch)
13279 (uri (git-reference
13280 (url "https://github.com/alphapapa/frame-purpose.el.git")
13281 (commit version)))
13282 (sha256
13283 (base32
13284 "0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"))
13285 (file-name (git-file-name name version))))
13286 (build-system emacs-build-system)
13287 (inputs
13288 `(("dash" ,emacs-dash)))
13289 (synopsis "Purpose-specific frames for Emacs")
13290 (description "@code{frame-purpose} makes it easy to open purpose-specific
13291frames that only show certain buffers, e.g. by buffers’ major mode, their
13292filename or directory, etc, with custom frame/X-window titles, icons, and
13293other frame parameters.")
13294 (home-page "https://github.com/alphapapa/frame-purpose.el")
13295 (license license:gpl3+)))
13296
13297(define-public emacs-arduino-mode
13298 (let ((commit "3e2bad4569ad26e929e6db2cbcff0d6d36812698")) ;no release yet
13299 (package
13300 (name "emacs-arduino-mode")
13301 (version (git-version "0" "0" commit))
13302 (source (origin
13303 (method git-fetch)
13304 (uri (git-reference
13305 (url "https://github.com/bookest/arduino-mode.git")
13306 (commit commit)))
13307 (sha256
13308 (base32
13309 "1yvaqjc9hadbnnay5fprnh890xsp53kidad1zpb4a5z4a5z61n3c"))
13310 (file-name (git-file-name name version))))
13311 (build-system emacs-build-system)
13312 (synopsis "Emacs major mode for editing Arduino sketches")
13313 (description "Emacs major mode for editing Arduino sketches.")
13314 (home-page "https://github.com/bookest/arduino-mode")
13315 (license license:gpl3+))))
13316
13317(define-public emacs-general
13318 (let ((commit "675050199b5a30d54a24b58a367db32c0bdc47f5"))
13319 (package
13320 (name "emacs-general")
13321 (version (git-version "0" "0" commit))
13322 (home-page "https://github.com/noctuid/general.el")
13323 (source (origin
13324 (method git-fetch)
13325 (uri (git-reference
13326 (url (string-append home-page ".git"))
13327 (commit commit)))
13328 (sha256
13329 (base32
13330 "175yyhzk57yk1sskxh3d2jzhrh2waiibbcfsll167qxr117yji5h"))
13331 (file-name (git-file-name name version))))
13332 (build-system emacs-build-system)
13333 (synopsis "More convenient key definitions in emacs")
13334 (description "@code{general.el} provides a more convenient method for
13335binding keys in emacs (for both evil and non-evil users). Like
13336@code{use-package}, which provides a convenient, unified interface for
13337managing packages, @code{general.el} is intended to provide a convenient,
13338unified interface for key definitions. While this package does implement some
13339completely new functionality (such as the ability to make vim-style
13340keybindings under non-prefix keys with an optional timeout), its primary
13341purpose is to build on existing functionality to make key definition more
13342clear and concise. @code{general-define-key} is user-extensible and supports
13343defining multiple keys in multiple keymaps at once, implicitly wrapping key
13344strings with (@code{kbd ...}), using named prefix key sequences (like the
13345leader key in vim), and much more.")
13346 (license license:gpl3+))))
13347
13348(define-public emacs-tldr
13349 (let ((commit "398b197c8d2238628b07e1b32d0f373876279f4c"))
13350 (package
13351 (name "emacs-tldr")
13352 (version (git-version "0" "0" commit))
13353 (home-page "https://github.com/kuanyui/tldr.el")
13354 (source (origin
13355 (method git-fetch)
13356 (uri (git-reference
13357 (url (string-append home-page ".git"))
13358 (commit commit)))
13359 (sha256
13360 (base32
13361 "0iq7qlis6c6r2qkdpncrhh5vsihkhvy5x4y1y8cjb7zxkh62w33f"))
13362 (file-name (git-file-name name version))))
13363 (build-system emacs-build-system)
13364 (synopsis "Simplified and community-driven man pages for Emacs")
13365 (description "@code{emacs-tldr} allows the user to access tldr pages
13366from within emacs. The @code{tldr} pages are a community effort to simplify
13367the man pages with practical examples.")
13368 (license license:wtfpl2))))
9830f1a2
PN
13369
13370(define-public emacs-window-layout
13371 (package
13372 (name "emacs-window-layout")
13373 (version "1.4")
13374 (home-page "https://github.com/kiwanami/emacs-window-layout")
13375 (source (origin
13376 (method git-fetch)
13377 (uri (git-reference
13378 (url home-page)
13379 (commit (string-append "v" version))))
13380 (sha256
13381 (base32
13382 "0wgqi8r844lbx52fn6az8c1n8m681rp6dkfzd54wmdk1ka7zmvv6"))
13383 (file-name (git-file-name name version))))
13384 (build-system emacs-build-system)
13385 (synopsis "Simple window layout management framework for emacs")
13386 (description "A window-layout management library that can split a frame
13387or a window into some windows according to a layout recipe.")
13388 (license license:gpl3+)))
5544a07f
PN
13389
13390(define-public emacs-e2wm
13391 (package
13392 (name "emacs-e2wm")
13393 (version "1.4")
13394 (home-page "https://github.com/kiwanami/emacs-window-manager")
13395 (source (origin
13396 (method git-fetch)
13397 (uri (git-reference
13398 (url home-page)
13399 (commit (string-append "v" version))))
13400 (sha256
13401 (base32
13402 "12midsrx07pdrsr1qbl2rpi7xyhxqx08bkz7n7gf8vsmqkpfp56s"))
13403 (file-name (git-file-name name version))))
13404 (build-system emacs-build-system)
13405 (propagated-inputs
13406 `(("emacs-window-layout" ,emacs-window-layout)))
13407 (synopsis "Equilibrium Emacs Window Manager")
13408 (description "E2WM is a window manager for Emacs. It enables to
13409customize the place of pop-up window, how the windows are split, how the
13410buffers are located in the windows, keybinds to manipulate windows and
13411buffers, etc. It also has plug-ins to help your Emacs life.")
13412 (license license:gpl3+)))
3e1fcc5e
PN
13413
13414(define-public emacs-ctable
13415 (let ((commit "b8830d1ca95abb100a81bc32011bd17d5ecba000"))
13416 (package
13417 (name "emacs-ctable")
13418 (version (git-version "0.1.2" "1" commit))
13419 (home-page "https://github.com/kiwanami/emacs-ctable")
13420 (source (origin
13421 (method git-fetch)
13422 (uri (git-reference
13423 (url home-page)
13424 (commit commit)))
13425 (sha256
13426 (base32
13427 "0pg303pnqscrsbx9579hc815angszsgf9vpd2z2f8p4f4ka6a00h"))
13428 (file-name (git-file-name name version))))
13429 (build-system emacs-build-system)
13430 (synopsis "Table component for Emacs Lisp")
13431 (description "This program is a table component for Emacs Lisp. Other
13432programs can use this table component for the application UI.")
13433 (license license:gpl3+))))
8c98ce92
PN
13434
13435(define-public emacs-epc
13436 (let ((commit "e1bfa5ca163273859336e3cc89b4b6460f7f8cda"))
13437 (package
13438 (name "emacs-epc")
13439 (version (git-version "0.1.1" "1" commit))
13440 (home-page "https://github.com/kiwanami/emacs-epc")
13441 (source (origin
13442 (method git-fetch)
13443 (uri (git-reference
13444 (url home-page)
13445 (commit commit)))
13446 (sha256
13447 (base32
13448 "15nkrjgi64f829isfd6xrhl4zw8jirr8pkas7nisrbk1av868hx0"))
13449 (file-name (git-file-name name version))))
13450 (build-system emacs-build-system)
13451 (propagated-inputs
13452 `(("emacs-deferred" ,emacs-deferred)
13453 ("emacs-ctable" ,emacs-ctable)))
13454 (synopsis "RPC stack for Emacs Lisp")
13455 (description "This program is an asynchronous RPC stack for Emacs.
13456Using this RPC stack, Emacs can communicate with the peer process
13457smoothly. Because the protocol employs S-expression encoding and consists of
13458asynchronous communications, the RPC response is fairly good.")
13459 (license license:gpl3+))))
c010ec65
PN
13460
13461(define-public emacs-edbi
13462 (let ((commit "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))
13463 (package
13464 (name "emacs-edbi")
13465 (version (git-version "0.1.3" "1" commit))
13466 (home-page "https://github.com/kiwanami/emacs-edbi")
13467 (source (origin
13468 (method git-fetch)
13469 (uri (git-reference
13470 (url home-page)
13471 (commit commit)))
13472 (sha256
13473 (base32
13474 "0x0igyvdcm4863n7zndvcv6wgzwgn7324cbfjja6xd7r0k936zdy"))
13475 (file-name (git-file-name name version))))
13476 (build-system emacs-build-system)
13477 (inputs
13478 `(("perl" ,perl)
13479 ("perl-rpc-epc-service" ,perl-rpc-epc-service)
13480 ("perl-dbi" ,perl-dbi)
13481 ;; TODO: Adding support for perl-dbd-mysql and others would
13482 ;; dramatically increase the closure size. Make several packages?
13483 ("perl-dbd-sqlite" ,perl-dbd-sqlite)))
13484 (propagated-inputs
13485 `(("emacs-e2wm" ,emacs-e2wm)
13486 ("emacs-epc" ,emacs-epc)))
13487 (arguments
13488 `(#:include '("\\.el$" "\\.pl$")
13489 #:phases
13490 (modify-phases %standard-phases
13491 (add-after 'install 'patch-path
13492 (lambda* (#:key inputs outputs #:allow-other-keys)
13493 (let ((perl (assoc-ref inputs "perl"))
13494 (dir (string-append (assoc-ref outputs "out")
13495 "/share/emacs/site-lisp/guix.d/edbi-"
13496 ,version)))
13497 (substitute* (string-append dir "/edbi.el")
13498 (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
13499 (chmod (string-append dir "/edbi-bridge.pl") #o555)
13500 (wrap-program (string-append dir "/edbi-bridge.pl")
13501 `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))
13502 #t))))))
13503 (synopsis "Database Interface for Emacs Lisp")
13504 (description "This program connects the database server through Perl's
13505DBI, and provides DB-accessing API and the simple management UI.")
13506 (license license:gpl3+))))
3d540c48
PN
13507
13508(define-public emacs-edbi-sqlite
13509 (let ((commit "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f"))
13510 (package
13511 (name "emacs-edbi-sqlite")
13512 (version (git-version "0.1.1" "1" commit))
13513 (home-page "https://github.com/proofit404/edbi-sqlite")
13514 (source (origin
13515 (method git-fetch)
13516 (uri (git-reference
13517 (url home-page)
13518 (commit commit)))
13519 (sha256
13520 (base32
13521 "1vll81386fx90lq5sy4rlxcik6mvw7zx5cc51f0yaca9bkcckp51"))
13522 (file-name (git-file-name name version))))
13523 (build-system emacs-build-system)
13524 (propagated-inputs
13525 `(("emacs-edbi" ,emacs-edbi)))
13526 (synopsis "Open SQLite files in Emacs")
13527 (description "This package is a convenience wrapper for @command{edbi}
13528to open SQLite databases.")
13529 (license license:gpl3+))))
f896abc7
LC
13530
13531(define-public emacs-nix-mode
13532 (package
13533 (name "emacs-nix-mode")
13534 (version "1.2.2")
13535 (source
13536 (origin
13537 (method url-fetch)
13538 (uri (string-append "https://github.com/NixOS/nix-mode/archive/v"
13539 version ".tar.gz"))
13540 (file-name (string-append name "-" version ".tar.gz"))
13541 (sha256
13542 (base32
13543 "06aqz0czznsj8835jqnk794sy2p6pa8kxfqwh0nl5d5vxivria6z"))))
13544 (build-system emacs-build-system)
13545 (inputs
13546 `(("emacs-company" ,emacs-company)
13547 ("emacs-mmm-mode" ,emacs-mmm-mode)))
13548 (home-page "https://github.com/NixOS/nix-mode")
13549 (synopsis "Emacs major mode for editing Nix expressions")
13550 (description "@code{nixos-mode} provides an Emacs major mode for editing
13551Nix expressions. It supports syntax highlighting, indenting and refilling of
13552comments.")
13553 (license license:lgpl2.1+)))
67248962
RW
13554
13555(define-public emacs-simple-mpc
13556 ;; There have been no releases.
13557 (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
13558 (revision "1"))
13559 (package
13560 (name "emacs-simple-mpc")
13561 (version (git-version "0" revision commit))
13562 (source
13563 (origin
13564 (method git-fetch)
13565 (uri (git-reference
13566 (url "https://github.com/jorenvo/simple-mpc.git")
13567 (commit commit)))
13568 (file-name (git-file-name name version))
13569 (sha256
13570 (base32
13571 "1ja06pv007cmzjjgka95jlg31k7d29jrih1yxyblsxv85s9sg21q"))))
13572 (build-system emacs-build-system)
13573 (propagated-inputs `(("emacs-s" ,emacs-s)))
13574 (home-page "https://github.com/jorenvo/simple-mpc")
13575 (synopsis "Simple Emacs frontend to mpc")
13576 (description "This package provides an Emacs major mode which acts as a
13577front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).")
13578 (license license:gpl3+))))
43af5f9d
AI
13579
13580(define-public emacs-mkmcc-gnuplot-mode
13581 (package
13582 (name "emacs-mkmcc-gnuplot-mode")
13583 (version "1.2.0")
13584 (source
13585 (origin
13586 (method git-fetch)
13587 (uri (git-reference
13588 (url "https://github.com/mkmcc/gnuplot-mode")
13589 (commit "601f6392986f0cba332c87678d31ae0d0a496ce7")))
13590 (file-name (string-append name "-" version "-checkout"))
13591 (sha256
13592 (base32
13593 "14f0yh1rjqc3337j4sbqzfb7pjim2c8a7wk1a73xkrdkmjn82vgb"))))
13594 (build-system emacs-build-system)
13595 (home-page "https://mkmcc.github.io/software/gnuplot-mode.html")
13596 (synopsis "Minimal emacs major mode for editing gnuplot scripts")
13597 (description "@code{emacs-mkmcc-gnuplot-mode} is a minimal emacs major
13598mode for editing gnuplot scripts. It provides syntax highlighting,
13599indentation and a command to plot the file.")
13600 (license license:gpl3+)))
ba25ba90
CL
13601
13602(define-public emacs-dtrt-indent
13603 (package
13604 (name "emacs-dtrt-indent")
13605 (version "0.8")
13606 (source (origin
13607 (method git-fetch)
13608 (uri (git-reference
13609 (url "https://github.com/jscheid/dtrt-indent")
13610 (commit version)))
13611 (file-name (git-file-name name version))
13612 (sha256
13613 (base32
13614 "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z"))))
13615 (build-system emacs-build-system)
13616 (home-page "https://github.com/jscheid/dtrt-indent")
13617 (synopsis "Minor mode that guesses the indentation offset")
13618 (description "This package provides a minor mode that guesses the
13619indentation offset originally used for creating source code files and
13620transparently adjusts the corresponding settings in Emacs, making it more
13621convenient to edit foreign files.")
13622 (license license:gpl2+)))
57b663fa
CL
13623
13624(define-public emacs-repo
13625 (package
13626 (name "emacs-repo")
13627 (version "0.1.3")
13628 (source (origin
13629 (method git-fetch)
13630 (uri (git-reference
13631 (url "https://github.com/canatella/repo-el")
13632 (commit version)))
13633 (file-name (git-file-name name version))
13634 (sha256
13635 (base32
13636 "0rbvcvm7bfr6ncji7cllfxyyr6x7n9fx863byp243phsj3n93adz"))))
13637 (build-system emacs-build-system)
13638 (native-inputs
13639 `(("emacs-el-mock" ,emacs-el-mock)
13640 ("ert-runner" ,emacs-ert-runner)))
13641 (propagated-inputs
13642 `(("emacs-f" ,emacs-f)
13643 ("magit" ,emacs-magit)))
13644 (home-page "https://github.com/canatella/repo-el")
13645 (synopsis "Emacs interface for the Google Repo tool")
13646 (description "This package provides integration of the Google Repo tool
13647with emacs. It displays the output of the @code{repo status} command in a
13648buffer and launches Magit from the status buffer for the project at point.")
b2cb1613 13649 (license license:gpl3+)))
bdccd7e1
MO
13650
13651(define-public emacs-alect-themes
13652 (package
13653 (name "emacs-alect-themes")
13654 (version "0.9")
13655 (source (origin
13656 (method git-fetch)
13657 (uri (git-reference
13658 (url "https://github.com/alezost/alect-themes")
13659 (commit (string-append "v" version))))
13660 (file-name (git-file-name name version))
13661 (sha256
13662 (base32
13663 "0nffxpdm0sa7bynwi0rmlwpc4qmvbda5ankhzz7fmk4ap9fkjxv9"))))
13664 (build-system emacs-build-system)
13665 (home-page "https://github.com/alezost/alect-themes")
13666 (synopsis "Low contrast, light, dark and black color theme for Emacs")
13667 (description "@code{emacs-alect-themes} provides configurable light, dark
13668and black color themes for Emacs. The themes are intended to be used with
13669GUI.")
57b663fa 13670 (license license:gpl3+)))
71066710
MO
13671
13672(define-public emacs-google-c-style
13673 (let ((commit "6271f3f473ceb3a7fef99388a3040903b1a145f1")
13674 (revision "0"))
13675 (package
13676 (name "emacs-google-c-style")
13677 (version (git-version "0.1" revision commit))
13678 (source (origin
13679 (method git-fetch)
13680 (uri (git-reference
13681 (url "https://github.com/google/styleguide")
13682 (commit commit)))
13683 (file-name (git-file-name name version))
13684 (sha256
13685 (base32
13686 "1jghyyasdl15c4gaqaxmdn43am63k6bykn5ab83f1ahv9zi1krxk"))))
13687 (build-system emacs-build-system)
13688 (home-page "https://github.com/google/styleguide")
13689 (synopsis "Emacs settings file for Google C/C++ style")
13690 (description "@code{emacs-google-c-style} provides an Emacs settings
13691file for Google C and C++ style.")
13692 (license license:gpl1+))))
285bf324
PN
13693
13694(define-public emacs-redshank
13695 (let ((commit "f98e68f532e622bcd464292ca4a9cf5fbea14ebb")
13696 (revision "1"))
13697 (package
13698 (name "emacs-redshank")
13699 (version (git-version "0.1" revision commit))
13700 (source (origin
13701 (method git-fetch)
13702 (uri (git-reference
13703 (url "http://www.foldr.org/~michaelw/projects/redshank.git")
13704 (commit commit)))
13705 (file-name (git-file-name name version))
13706 (sha256
13707 (base32
13708 "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p"))))
13709 (build-system emacs-build-system)
13710 (propagated-inputs
13711 `(("emacs-paredit" ,emacs-paredit)))
13712 (home-page "http://www.foldr.org/~michaelw/emacs/redshank/")
13713 (synopsis "Common Lisp Editing Extensions (for Emacs)")
13714 (description "Redshank is a collection of code-wrangling Emacs macros
13715mostly geared towards Common Lisp, but some are useful for other Lisp
13716dialects, too. Redshank's code transformations aim to be expression-based (as
13717opposed to character-based).")
13718 (license license:gpl1+))))
33756922
PN
13719
13720(define-public emacs-disk-usage
13721 (package
13722 (name "emacs-disk-usage")
7e80767d 13723 (version "1.3.0")
933d810e
PN
13724 (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
13725 (source
13726 (origin
13727 (method url-fetch)
13728 (uri (string-append
13729 "https://elpa.gnu.org/packages/disk-usage-"
13730 version
13731 ".el"))
13732 (sha256
13733 (base32
7e80767d 13734 "0ky6c34z7c6hd4yvcrcsidkfk2kvffkg63v02vch2i6hg1n6n028"))))
33756922
PN
13735 (build-system emacs-build-system)
13736 (synopsis "Sort and browse disk usage listings with Emacs")
13737 (description "Disk Usage is a file system analyzer: it offers a tabulated
13738view of file listings sorted by size. Directory sizes are computed
13739recursively. The results are cached for speed.")
13740 (license license:gpl3+)))
e77c7210
PN
13741
13742(define-public emacs-orgit
7d3a78e7 13743 (let ((commit "2456436a7e64d26bcf455b3890a586acaa3e7f93"))
e77c7210
PN
13744 (package
13745 (name "emacs-orgit")
7d3a78e7 13746 (version (git-version "1.5.1" "2" commit))
e77c7210
PN
13747 (home-page "https://github.com/magit/orgit")
13748 (source (origin
13749 (method git-fetch)
13750 (uri (git-reference
13751 (url home-page)
13752 (commit commit)))
13753 (file-name (git-file-name name version))
13754 (sha256
13755 (base32
7d3a78e7 13756 "1i52dq2ynddb1irgigr5mdwfbfd3bvm1f29jnzd7nlc0nk186nvh"))))
e77c7210
PN
13757 (build-system emacs-build-system)
13758 (propagated-inputs
13759 `(("emacs-dash" ,emacs-dash)
13760 ("emacs-magit" ,emacs-magit)))
13761 (synopsis "Support for Org links to Magit buffers")
13762 (description "This package defines several Org link types, which can be
13763used to link to certain Magit buffers. Use the command
13764@command{org-store-link} while such a buffer is current to store a link.
13765Later you can insert it into an Org buffer using the command
13766@code{org-insert-link}.")
13767 (license license:gpl3+))))
089a2c51
CL
13768
13769(define-public emacs-amx
13770 (package
13771 (name "emacs-amx")
13772 (version "3.2")
13773 (source (origin
13774 (method git-fetch)
13775 (uri (git-reference
13776 (url "https://github.com/DarwinAwardWinner/amx")
13777 (commit (string-append "v" version))))
13778 (file-name (git-file-name name version))
13779 (sha256
13780 (base32
13781 "0bb8y1dmzyqkrb4mg6zndcsxppby3glridv2aap2pv05gv8kx7mj"))))
13782 (build-system emacs-build-system)
13783 (propagated-inputs `(("emacs-s" ,emacs-s)))
13784 (home-page "https://github.com/DarwinAwardWinner/amx")
13785 (synopsis "Alternative interface for M-x")
13786 (description "Amx is an alternative interface for M-x in Emacs. It
13787provides several enhancements over the ordinary
13788@code{execute-extended-command}, such as prioritizing your most-used commands
13789in the completion list and showing keyboard shortcuts, and it supports several
13790completion systems for selecting commands, such as ido and ivy.")
13791 (license license:gpl3+)))
842e66c5
PN
13792
13793(define-public emacs-lorem-ipsum
13794 (let ((commit "4b39f6fed455d67f635b3837cf5668bf74d0f6cd"))
13795 (package
13796 (name "emacs-lorem-ipsum")
13797 (version (git-version "0.2" "1" commit))
13798 (home-page "https://github.com/jschaf/emacs-lorem-ipsum/")
13799 (source (origin
13800 (method git-fetch)
13801 (uri (git-reference
13802 (url home-page)
13803 (commit commit)))
13804 (file-name (git-file-name name version))
13805 (sha256
13806 (base32
13807 "0a3b18p3vdjci89prsgdzjnfxsl8p67vjhf8ai4qdng7zvh50lir"))))
13808 (build-system emacs-build-system)
13809 (synopsis "Insert dummy pseudo Latin text in Emacs")
13810 (description "This package provides convenience functions to insert
13811dummy Latin text into a buffer. This can be useful if you need to produce
13812paragraphs or pages of text for testing purposes.")
13813 (license license:gpl3+))))
75dabac6
PN
13814
13815(define-public emacs-lisp-extra-font-lock
13816 (let ((commit "4605eccbe1a7fcbd3cacf5b71249435413b4db4f"))
13817 (package
13818 (name "emacs-lisp-extra-font-lock")
13819 (version (git-version "0.0.6" "1" commit))
13820 (home-page "https://github.com/Lindydancer/lisp-extra-font-lock")
13821 (source (origin
13822 (method git-fetch)
13823 (uri (git-reference
13824 (url home-page)
13825 (commit commit)))
13826 (file-name (git-file-name name version))
13827 (sha256
13828 (base32
13829 "152vcp3mdlv33jf5va4rinl1d0k960gnfhbrqqrafazgx9j3ya8w"))))
13830 (build-system emacs-build-system)
13831 (synopsis "Highlight bound variables and quoted expressions in Emacs")
13832 (description "This package highlight the location where local variables
13833is created (bound, for example, by let) as well as quoted and backquoted
13834constant expressions.")
13835 (license license:gpl3+))))
3899ae89
OP
13836
13837(define-public emacs-docker-tramp
13838 (package
13839 (name "emacs-docker-tramp")
13840 (version "0.1")
13841 (source
13842 (origin
13843 (method git-fetch)
13844 (uri (git-reference
13845 (url "https://github.com/emacs-pe/docker-tramp.el")
13846 (commit (string-append "v" version))))
13847 (file-name (git-file-name name version))
13848 (sha256
13849 (base32
13850 "0lxvzmfg52fhxrhbvp92zwp7cv4i1rlxnkyyzgngj3sjm7y60yvg"))))
13851 (build-system emacs-build-system)
13852 (home-page "https://github.com/emacs-pe/docker-tramp.el")
13853 (synopsis "TRAMP integration for docker containers")
13854 (description
13855 "This package provides a TRAMP method for Docker containers.")
13856 (license license:gpl3+)))
18964a60
OP
13857
13858(define-public emacs-docker
13859 (package
13860 (name "emacs-docker")
13861 (version "1.2.0")
13862 (source (origin
13863 (method git-fetch)
13864 (uri (git-reference
13865 (url "https://github.com/Silex/docker.el")
13866 (commit version)))
13867 (file-name (git-file-name name version))
13868 (sha256
13869 (base32
13870 "15kd86kaq1x6giz855q9w6zvnyc742j309j0pmm86rwx398g4rq1"))))
13871 (inputs
13872 `(("emacs-undercover" ,emacs-undercover)))
13873 (propagated-inputs
13874 `(("emacs-dash" ,emacs-dash)
13875 ("emacs-docker-tramp" ,emacs-docker-tramp)
13876 ("emacs-magit-popup" ,emacs-magit-popup)
13877 ("emacs-s" ,emacs-s)
13878 ("emacs-tablist" ,emacs-tablist)
13879 ("emacs-json-mode" ,emacs-json-mode)))
13880 (arguments
13881 `(#:phases
13882 (modify-phases %standard-phases
13883 (delete 'check)))) ;no tests
13884 (build-system emacs-build-system)
13885 (home-page "https://github.com/Silex/docker.el")
13886 (synopsis "Manage docker from Emacs")
13887 (description "This package provides an Emacs interface for Docker.")
13888 (license license:gpl3+)))
1f058ece
OP
13889
13890(define-public emacs-dockerfile-mode
13891 ;; Latest upstream release is too old.
13892 (let ((commit "7223d92718f78fa3ab15667cdb2ed90cfeb579e7"))
13893 (package
13894 (name "emacs-dockerfile-mode")
13895 (version (git-version "1.2" "1" commit))
13896 (source
13897 (origin
13898 (method git-fetch)
13899 (uri (git-reference
13900 (url "https://github.com/spotify/dockerfile-mode.git")
13901 (commit commit)))
13902 (file-name (git-file-name name version))
13903 (sha256
13904 (base32
13905 "0hmipgl4rk6aih11i8mnspwdijjiwk2y0wns6lzs8bgkvy3c064r"))))
13906 (build-system emacs-build-system)
13907 (propagated-inputs
13908 `(("emacs-s" ,emacs-s)))
13909 (home-page "https://github.com/spotify/dockerfile-mode")
13910 (synopsis "Major mode for editing Dockerfile")
13911 (description
13912 "This package provides a major mode @code{dockerfile-mode} for use with
13913the standard @code{Dockerfile} file format.")
13914 (license license:asl2.0))))
60adaae0
BG
13915
13916(define-public emacs-lsp-mode
13917 (package
13918 (name "emacs-lsp-mode")
13919 (version "6.0")
13920 (source (origin
13921 (method git-fetch)
13922 (uri (git-reference
13923 (url "https://github.com/emacs-lsp/lsp-mode.git")
13924 (commit version)))
13925 (file-name (git-file-name name version))
13926 (sha256
13927 (base32
13928 "1v1mq6ixzlgiazj8fmg4xaqhsqn3l89iqy74yndhvzh2rdf0pbkl"))))
13929 (build-system emacs-build-system)
13930 (propagated-inputs
13931 `(("emacs-dash" ,emacs-dash)
13932 ("emacs-f" ,emacs-f)
13933 ("emacs-ht" ,emacs-ht)
13934 ("emacs-spinner" ,emacs-spinner)))
13935 (home-page "https://github.com/emacs-lsp/lsp-mode")
13936 (synopsis "Emacs client and library for the Language Server Protocol")
13937 (description "@code{LSP-mode} is a client and library implmentation for
13938the Language Server Protocol. This mode aims to provide an IDE-like
13939experience by providing optional integration with other popular Emacs packages
13940like @code{company}, @code{flycheck}, and @code{projectile}.")
13941 (license license:gpl3+)))
209393a0
BG
13942
13943(define-public emacs-lsp-ui
13944 (package
13945 (name "emacs-lsp-ui")
13946 (version "6.0")
13947 (source (origin
13948 (method git-fetch)
13949 (uri (git-reference
13950 (url "https://github.com/emacs-lsp/lsp-ui.git")
13951 (commit version)))
13952 (file-name (git-file-name name version))
13953 (sha256
13954 (base32
13955 "1r4327fd8cvjxfwkddp5c4bdskyncbs4sx9m3z2w4d773y2jrakc"))))
13956 (build-system emacs-build-system)
13957 (propagated-inputs
13958 `(("emacs-dash" ,emacs-dash)
13959 ("emacs-lsp-mode" ,emacs-lsp-mode)
13960 ("emacs-markdown-mode" ,emacs-markdown-mode)
13961 ("emacs-flycheck" ,emacs-flycheck)))
13962 (home-page "https://github.com/emacs-lsp/lsp-ui")
13963 (synopsis "User interface extensions for @code{lsp-mode}")
13964 (description
13965 "@code{LSP-ui} contains several enhancements and integrations for
13966@code{lsp-mode}, such as visual flychecking, displaying references in-line,
13967and code peeking.")
13968 (license license:gpl3+)))
31960f6f
PN
13969
13970(define-public emacs-helm-notmuch
3d7a7b1d
PN
13971 (package
13972 (name "emacs-helm-notmuch")
13973 (version "1.2")
13974 (home-page "https://github.com/emacs-helm/helm-notmuch/")
13975 (source (origin
13976 (method git-fetch)
13977 (uri (git-reference
13978 (url home-page)
13979 (commit version)))
13980 (file-name (git-file-name name version))
13981 (sha256
13982 (base32
13983 "1k038dbdpaa411gl4071x19fklhnizhr346plxw23lsnxir9dhqc"))))
13984 (build-system emacs-build-system)
13985 (propagated-inputs
13986 `(("emacs-helm" ,emacs-helm)
13987 ("notmuch" ,notmuch)))
13988 (synopsis "Search emails with Emacs Notmuch and Helm")
13989 (description
13990 "This package can be used to search emails in Emacs, searching result
31960f6f
PN
13991displays as you type thanks to Helm, though @command{notmuch-search} does the
13992real search.")
3d7a7b1d 13993 (license license:gpl3+)))
4d0f20d9
PN
13994
13995(define-public emacs-elmacro
13996 (let ((commit "89b9b0feabafd01fee48111d67131c4c9b5fed9a"))
13997 (package
13998 (name "emacs-elmacro")
13999 (version (git-version "1.1.0" "1" commit))
14000 (home-page "https://github.com/Silex/elmacro")
14001 (source (origin
14002 (method git-fetch)
14003 (uri (git-reference
14004 (url home-page)
14005 (commit commit)))
14006 (file-name (git-file-name name version))
14007 (sha256
14008 (base32
14009 "06wkzafh6vbcjf0m3sl253mgcq32p8cdv7vsfmyx51baa36938ha"))))
14010 (build-system emacs-build-system)
14011 (propagated-inputs
14012 `(("emacs-s" ,emacs-s)
14013 ("emacs-dash" ,emacs-dash)))
14014 (synopsis "Convert keyboard macros to Emacs Lisp")
14015 (description
14016 "This package displays keyboard macros or latest interactive commands
14017as Emacs Lisp.")
14018 (license license:gpl3+))))
a6e4af53
PN
14019
14020(define-public emacs-transient
14021 ;; 0.1.0 depends on lv.el but not later versions.
14022 (let ((commit "7e45a57ec81185631fe763733f64c99021df2a06"))
14023 (package
14024 (name "emacs-transient")
14025 (version (git-version "0.1.0" "1" commit))
14026 (source (origin
14027 (method git-fetch)
14028 (uri (git-reference
14029 (url "https://github.com/magit/transient")
14030 (commit commit)))
14031 (file-name (git-file-name name version))
14032 (sha256
14033 (base32
14034 "0r6d4c1lga3bk0s7q7y4v4hbpxnd9h40cjxybqvax2z902931fz1"))))
14035 (build-system gnu-build-system)
14036 (native-inputs `(("texinfo" ,texinfo)
14037 ("emacs" ,emacs-minimal)))
14038 (propagated-inputs
14039 `(("dash" ,emacs-dash)))
14040 (arguments
14041 `(#:modules ((guix build gnu-build-system)
14042 (guix build utils)
14043 (srfi srfi-26)
14044 (guix build emacs-utils))
14045 #:imported-modules (,@%gnu-build-system-modules
14046 (guix build emacs-utils))
14047 #:tests? #f ; tests are not included in the release
14048 #:make-flags (list "lisp" "info"
14049 (string-append "LOAD_PATH=-L . -L "
14050 (assoc-ref %build-inputs "dash")
14051 "/share/emacs/site-lisp/guix.d/dash-"
14052 ,(package-version emacs-dash)))
14053 #:phases
14054 (modify-phases %standard-phases
14055 (delete 'configure)
14056 (replace 'install
14057 (lambda* (#:key inputs outputs #:allow-other-keys)
14058 (let* ((out (assoc-ref outputs "out"))
14059 (lisp (string-append out "/share/emacs/site-lisp/guix.d/"
14060 "transient" "-" ,version))
14061 (info (string-append out "/share/info")))
14062 (for-each (cut install-file <> lisp)
14063 (find-files "." "\\.elc*$"))
14064 (install-file "docs/transient.info" (string-append info)))
14065 #t)))))
14066 (home-page "https://magit.vc/manual/transient")
14067 (synopsis "Transient commands in Emacs")
14068 (description
14069 "Taking inspiration from prefix keys and prefix arguments in Emacs,
14070Transient implements a similar abstraction involving a prefix command, infix
14071arguments and suffix commands. We could call this abstraction a \"transient
14072command\", but because it always involves at least two commands (a prefix and
14073a suffix) we prefer to call it just a \"transient\".")
14074 (license license:gpl3+))))
da33a9e4 14075
ea4a1e5d
JH
14076(define-public emacs-semantic-refactor
14077 ;; The last release, 0.5, was made on 2015-07-26 and there have been 47
14078 ;; commits since then.
14079 (let ((commit "6f2c97d17fb70f4ca2112f5a2b99a8ec162004f5"))
14080 (package
14081 (name "emacs-semantic-refactor")
14082 (version (git-version "0.5" "1" commit))
14083 (source
14084 (origin
14085 (method git-fetch)
14086 (uri (git-reference
14087 (url "https://github.com/tuhdo/semantic-refactor")
14088 (commit commit)))
14089 (file-name (git-file-name name version))
14090 (sha256
14091 (base32
14092 "1lyz3zjkx2csh0xdy1zpx8s32qp1p3sig57mwi9xhgpqjyf0axmb"))))
14093 (build-system emacs-build-system)
14094 (home-page "https://github.com/tuhdo/semantic-refactor")
14095 (synopsis "Refactoring tool for C/C++ and Lisp dialects")
14096 (description "This package provides a refactoring tool based on the
14097Emacs Semantic parser framework. For C and C++ it supports operations such as:
14098
14099@enumerate
14100@item Generating class implementations
14101@item Generating function prototypes
14102@item Converting functions to function pointers
14103@item Moving semantic units
14104@item etc...
14105@end enumerate
14106
14107For Lisp dialects like Clojure, ELisp, and Scheme, it supports operations such
14108as:
14109
14110@enumerate
14111@item Formatting the whole buffer
14112@item Converting sexpressions to one or multiple lines
14113@item etc...
14114@end enumerate\n")
14115 (license license:gpl3+))))
14116
da33a9e4
PN
14117(define-public emacs-nhexl-mode
14118 (package
14119 (name "emacs-nhexl-mode")
14120 (version "1.2")
14121 (source
14122 (origin
14123 (method url-fetch)
14124 (uri (string-append
14125 "https://elpa.gnu.org/packages/nhexl-mode-"
14126 version ".el"))
14127 (sha256
14128 (base32
14129 "031h22p564qdvr9khs05qcba06pmsk68cr7zyc7c04hfr3y3ziaf"))))
14130 (build-system emacs-build-system)
14131 (home-page "http://elpa.gnu.org/packages/nhexl-mode.html")
14132 (synopsis "Minor mode to edit files via hex-dump format")
14133 (description
14134 "This package implements NHexl mode, a minor mode for editing files
14135in hex dump format. The mode command is called @command{nhexl-mode}.
14136
14137This minor mode implements similar functionality to @command{hexl-mode},
14138but using a different implementation technique, which makes it
14139usable as a \"plain\" minor mode. It works on any buffer, and does
14140not mess with the undo log or with the major mode.
14141
14142It also comes with:
14143
14144@itemize
14145@item @command{nhexl-nibble-edit-mode}: a \"nibble editor\" minor mode, where
14146the cursor pretends to advance by nibbles (4-bit) and the self-insertion keys
14147(which only work for hex-digits) will only modify the nibble under point.
14148@item @command{nhexl-overwrite-only-mode}: a minor mode to try and avoid
14149moving text. In this minor mode, not only self-inserting keys overwrite
14150existing text, but commands like `yank' and @command{kill-region} as well.
14151@item It overrides @code{C-u} to use hexadecimal, so you can do @code{C-u a 4
14152C-f} to advance by #xa4 characters.
14153@end itemize\n")
14154 (license license:gpl3+)))
c0aaca02
PN
14155
14156(define-public emacs-helm-wikipedia
14157 (let ((commit "126f044e0a0e1432e0791c33ce2a41875d704a9b"))
14158 (package
14159 (name "emacs-helm-wikipedia")
14160 (version (git-version "0.0.0" "1" commit))
14161 (home-page "https://github.com/emacs-helm/helm-wikipedia/")
14162 (source
14163 (origin
14164 (method git-fetch)
14165 (uri (git-reference
14166 (url home-page)
14167 (commit commit)))
14168 (file-name (git-file-name name version))
14169 (sha256
14170 (base32
14171 "148a5xsnbsiddhf9cl7yxdk41lrv38h0pip91kcflw9d7l0dp7pr"))))
14172 (build-system emacs-build-system)
14173 (inputs
14174 `(("helm" ,emacs-helm)))
14175 (synopsis "Search suggestions and article extracts from Wikipedia for Emacs")
14176 (description
14177 "This package provides an Emacs Helm interface for search suggestions
14178and article extracts for Wikipedia.")
14179 (license license:gpl3+))))
37099f58
PN
14180
14181(define-public emacs-webfeeder
14182 (package
14183 (name "emacs-webfeeder")
14184 (version "1.0.0")
14185 (source
14186 (origin
14187 (method url-fetch)
14188 (uri (string-append
14189 "https://elpa.gnu.org/packages/webfeeder-"
14190 version
14191 ".tar"))
14192 (sha256
14193 (base32
14194 "06y5vxw9m6pmbrzb8v2i3w9dnhgqxz06vyx1knmgi9cczlrj4a64"))))
14195 (build-system emacs-build-system)
14196 (home-page "https://gitlab.com/Ambrevar/emacs-webfeeder")
14197 (synopsis "Build RSS and Atom webfeeds from HTML files")
14198 (description
14199 "Webfeeder is an Emacs library to generate RSS and Atom feeds from HTML
14200files. The various elements of the HTML input are parsed with customizable
14201functions (e.g. @code{webfeeder-title-function}).")
14202 (license license:gpl3+)))
c97ad2fd
CL
14203
14204(define-public emacs-evil-numbers
14205 (let ((commit "6ea1c8c3a9b37bed63d48f1128e9a4910e68187e"))
14206 (package
14207 (name "emacs-evil-numbers")
14208 (version (git-version "0.4" "1" commit))
14209 (source (origin
14210 (method git-fetch)
14211 (uri (git-reference
14212 (url "https://github.com/dieggsy/evil-numbers")
14213 (commit commit)))
14214 (file-name (git-file-name name version))
14215 (sha256
14216 (base32
14217 "1aq95hj8x13py0pwsnc6wvd8cc5yv5qin8ym9js42y5966vwj4np"))))
14218 (build-system emacs-build-system)
14219 (home-page "https://github.com/dieggsy/evil-numbers")
14220 (synopsis "Increment and decrement numbers in Emacs")
14221 (description "This package increments and decrements binary, octal,
14222decimal and hex literals. It works like C-a/C-x in Vim, i.e. searches for
14223number up to EOL and then increments or decrements and keeps zero padding up
14224(unlike in Vim). When a region is active, as in Evil's visual mode, all the
14225numbers within that region will be incremented/decremented (unlike in Vim).
14226
14227It is a fork of https://github.com/cofi/evil-numbers, which is unmaintained.")
14228 (license license:gpl3+))))