Merge branch 'master' into core-updates

This commit is contained in:
Ludovic Courtès 2016-06-07 11:54:03 +02:00
commit aeafff536f
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
184 changed files with 8111 additions and 2376 deletions

View file

@ -9,6 +9,9 @@
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2015, 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 humanitiesNerd <catonano@gmail.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -80,7 +83,19 @@
(base32
"0kn3rzm91qiswi0cql89kbv6mqn27rwsyjfb8xmwy9m5s8fxfiyx"))
(patches (search-patches "emacs-exec-path.patch"
"emacs-source-date-epoch.patch"))))
"emacs-fix-scheme-indent-function.patch"
"emacs-source-date-epoch.patch"))
(modules '((guix build utils)))
(snippet
;; Delete the bundled byte-compiled elisp files and
;; generated autoloads.
'(with-directory-excursion "lisp"
(for-each delete-file
(append (find-files "." "\\.elc$")
(find-files "." "loaddefs\\.el$")
;; This is the only "autoloads" file that
;; does not have "*loaddefs.el" name.
'("eshell/esh-groups.el")))))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:phases
@ -159,9 +174,24 @@ large Lisp programs. It has full Unicode support for nearly all human
languages.")
(license license:gpl3+)))
(define-public emacs-no-x
(define-public emacs-minimal
;; This is the version that you should use as an input to packages that just
;; need to byte-compile .el files.
(package (inherit emacs)
(name "emacs-minimal")
(synopsis "The extensible text editor (used only for byte-compilation)")
(build-system gnu-build-system)
(arguments
(substitute-keyword-arguments (package-arguments emacs)
((#:phases phases)
`(modify-phases ,phases
(delete 'install-site-start)))))
(inputs
`(("ncurses" ,ncurses)))
(native-inputs
`(("pkg-config" ,pkg-config)))))
(define-public emacs-no-x
(package (inherit emacs)
(name "emacs-no-x")
(synopsis "The extensible, customizable, self-documenting text
@ -241,8 +271,8 @@ editor (without an X toolkit)" )
"/share/emacs/site-lisp/"
"geiser-autoloads.el")))
%standard-phases)))
(inputs `(("guile" ,guile-2.0)
("emacs" ,emacs-no-x)))
(inputs `(("guile" ,guile-2.0)))
(native-inputs `(("emacs" ,emacs-minimal)))
(home-page "http://nongnu.org/geiser/")
(synopsis "Collection of Emacs modes for Guile and Racket hacking")
(description
@ -296,7 +326,7 @@ metadata.")
(base32
"0pp3n8q6kc70blqsaw0zlzp6bc327dpgdrjr0cnh7hqg1lras7ka"))))
(build-system trivial-build-system)
(inputs `(("emacs" ,emacs-no-x)))
(native-inputs `(("emacs" ,emacs-minimal)))
(arguments
`(#:modules ((guix build utils)
(guix build emacs-utils))
@ -367,7 +397,7 @@ when typing parentheses directly or commenting out code line by line.")
(lisp (string-append
out "/share/emacs/site-lisp/")))
(emacs-generate-autoloads ,name lisp)))))))
(native-inputs `(("emacs" ,emacs-no-x)))
(native-inputs `(("emacs" ,emacs-minimal)))
(home-page "https://github.com/magit/git-modes")
(synopsis "Emacs major modes for Git configuration files")
(description
@ -403,7 +433,7 @@ on stdout instead of using a socket as the Emacsclient does.")
(define-public magit
(package
(name "magit")
(version "2.6.2")
(version "2.7.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -411,10 +441,10 @@ on stdout instead of using a socket as the Emacsclient does.")
version "/" name "-" version ".tar.gz"))
(sha256
(base32
"0im1jrqw29g5anrrjflj6b2gpyqkvpghnq8zvywxyhmjwzar4rn7"))))
"1kzd8k2n0lcr04jvn5b6d29zf765mxgshfhzflkzndwmvyxmlqpl"))))
(build-system gnu-build-system)
(native-inputs `(("texinfo" ,texinfo)
("emacs" ,emacs-no-x)))
("emacs" ,emacs-minimal)))
(inputs `(("git" ,git)))
(propagated-inputs
`(("dash" ,emacs-dash)
@ -476,7 +506,7 @@ operations.")
(base32
"04y88j7q9h8xjbx5dbick6n5nr1522sn9i1znp0qwk3vjb4b5mzz"))))
(build-system trivial-build-system)
(native-inputs `(("emacs" ,emacs-no-x)
(native-inputs `(("emacs" ,emacs-minimal)
("tar" ,tar)
("gzip" ,gzip)))
(propagated-inputs `(("dash" ,emacs-dash)
@ -534,9 +564,9 @@ support for Git-SVN.")
version ".tar.gz"))
(sha256
(base32 "1kxc2yj8vb122dv91r68h7c5ladcryx963fr16plfhg71fv7f9av"))))
(inputs `(("emacs" ,emacs-no-x)))
(native-inputs
`(("texinfo" ,texinfo)))
`(("emacs" ,emacs-minimal)
("texinfo" ,texinfo)))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "EMACS="
@ -616,7 +646,7 @@ programs.")
(setenv "PATH" (string-append emacs "/bin"))
(emacs-byte-compile-directory lispdir)
#t))))
(native-inputs `(("emacs" ,emacs-no-x)))
(native-inputs `(("emacs" ,emacs-minimal)))
(home-page "http://elpa.gnu.org/packages/let-alist.html")
(synopsis "Easily let-bind values of an assoc-list by their names")
(description
@ -675,10 +705,10 @@ provides an optional IDE-like error list.")
(base32
"0zfxmq86pwk64yv0426gnjrvhjrgrjqn08sdcdhmmjmfpmqvm79y"))))
(build-system gnu-build-system)
(native-inputs `(("autoconf" ,autoconf)))
(native-inputs `(("autoconf" ,autoconf)
("emacs" ,emacs-minimal)))
(inputs `(("w3m" ,w3m)
("imagemagick" ,imagemagick)
("emacs" ,emacs-no-x)))
("imagemagick" ,imagemagick)))
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
@ -747,8 +777,8 @@ provides an optional IDE-like error list.")
(sha256
(base32 "10byvyv9dk0ib55gfqm7bcpxmx2qbih1jd03gmihrppr2mn52nff"))))
(build-system gnu-build-system)
(inputs `(("wget" ,wget)
("emacs" ,emacs-no-x)))
(inputs `(("wget" ,wget)))
(native-inputs `(("emacs" ,emacs-minimal)))
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
@ -790,14 +820,14 @@ provides an optional IDE-like error list.")
(define-public emms
(package
(name "emms")
(version "4.0")
(version "4.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/emms/emms-"
version ".tar.gz"))
(sha256
(base32
"1q0n3iwva8bvai2rl9sm49sdjmk0wi7vajz4knz01l7g67nrp87l"))
"0ay6631p3dr6xnhkm7skwn0gp317r1mxbip28m126w4zqf05cbh3"))
(modules '((guix build utils)))
(snippet
'(substitute* "Makefile"
@ -823,71 +853,68 @@ provides an optional IDE-like error list.")
#:imported-modules (,@%gnu-build-system-modules
(guix build emacs-utils))
#:phases (alist-replace
'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(vorbis (assoc-ref inputs "vorbis-tools"))
(alsa (assoc-ref inputs "alsa-utils"))
(mpg321 (assoc-ref inputs "mpg321"))
(mp3info (assoc-ref inputs "mp3info")))
;; Specify the installation directory.
(substitute* "Makefile"
(("PREFIX=.*$")
(string-append "PREFIX := " out "\n")))
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(vorbis (assoc-ref inputs "vorbis-tools"))
(alsa (assoc-ref inputs "alsa-utils"))
(mpg321 (assoc-ref inputs "mpg321"))
(mp3info (assoc-ref inputs "mp3info")))
;; Specify the installation directory.
(substitute* "Makefile"
(("PREFIX=.*$")
(string-append "PREFIX := " out "\n")))
(setenv "SHELL" (which "sh"))
(setenv "CC" "gcc")
(setenv "SHELL" (which "sh"))
(setenv "CC" "gcc")
;; Specify the absolute file names of the various
;; programs so that everything works out-of-the-box.
(with-directory-excursion "lisp"
(emacs-substitute-variables
"emms-player-mpg321-remote.el"
("emms-player-mpg321-remote-command"
(string-append mpg321 "/bin/mpg321")))
(substitute* "emms-player-simple.el"
(("\"ogg123\"")
(string-append "\"" vorbis "/bin/ogg123\"")))
(emacs-substitute-variables "emms-info-ogginfo.el"
("emms-info-ogginfo-program-name"
(string-append vorbis "/bin/ogginfo")))
(emacs-substitute-variables "emms-info-libtag.el"
("emms-info-libtag-program-name"
(string-append out "/bin/emms-print-metadata")))
(emacs-substitute-variables "emms-info-mp3info.el"
("emms-info-mp3info-program-name"
(string-append mp3info "/bin/mp3info")))
(substitute* "emms-volume-amixer.el"
(("\"amixer\"")
(string-append "\"" alsa "/bin/amixer\"")))
(substitute* "emms-tag-editor.el"
(("\"mp3info\"")
(string-append "\"" mp3info "/bin/mp3info\""))))))
(alist-cons-before
'install 'pre-install
(lambda* (#:key outputs #:allow-other-keys)
;; The 'install' rule expects the target directory to
;; exist.
(let* ((out (assoc-ref outputs "out"))
(man1 (string-append out "/share/man/man1")))
(mkdir-p man1)
#t))
(alist-cons-after
'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(target (string-append
out "/bin/emms-print-metadata")))
(symlink "emms-auto.el"
(string-append out "/share/emacs/site-lisp/"
"emms-autoloads.el"))
(mkdir-p (dirname target))
(copy-file "src/emms-print-metadata" target)
(chmod target #o555)))
%standard-phases)))
;; Specify the absolute file names of the various
;; programs so that everything works out-of-the-box.
(with-directory-excursion "lisp"
(emacs-substitute-variables
"emms-player-mpg321-remote.el"
("emms-player-mpg321-remote-command"
(string-append mpg321 "/bin/mpg321")))
(substitute* "emms-player-simple.el"
(("\"ogg123\"")
(string-append "\"" vorbis "/bin/ogg123\"")))
(emacs-substitute-variables "emms-info-ogginfo.el"
("emms-info-ogginfo-program-name"
(string-append vorbis "/bin/ogginfo")))
(emacs-substitute-variables "emms-info-libtag.el"
("emms-info-libtag-program-name"
(string-append out "/bin/emms-print-metadata")))
(emacs-substitute-variables "emms-info-mp3info.el"
("emms-info-mp3info-program-name"
(string-append mp3info "/bin/mp3info")))
(substitute* "emms-volume-amixer.el"
(("\"amixer\"")
(string-append "\"" alsa "/bin/amixer\"")))
(substitute* "emms-tag-editor.el"
(("\"mp3info\"")
(string-append "\"" mp3info "/bin/mp3info\"")))))))
(add-before 'install 'pre-install
(lambda* (#:key outputs #:allow-other-keys)
;; The 'install' rule expects the target directory to exist.
(let* ((out (assoc-ref outputs "out"))
(man1 (string-append out "/share/man/man1")))
(mkdir-p man1)
#t)))
(add-after 'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(target (string-append
out "/bin/emms-print-metadata")))
(symlink "emms-auto.el"
(string-append out "/share/emacs/site-lisp/"
"emms-autoloads.el"))
(mkdir-p (dirname target))
(copy-file "src/emms-print-metadata" target)
(chmod target #o555)))))
#:tests? #f))
(native-inputs `(("emacs" ,emacs-no-x) ;for (guix build emacs-utils)
(native-inputs `(("emacs" ,emacs-minimal) ;for (guix build emacs-utils)
("texinfo" ,texinfo)))
(inputs `(("alsa-utils" ,alsa-utils)
("vorbis-tools" ,vorbis-tools)
@ -937,7 +964,7 @@ light user interface.")
(with-directory-excursion site
(symlink "bbdb-loaddefs.el" "bbdb-autoloads.el"))))
%standard-phases)))
(native-inputs `(("emacs" ,emacs-no-x)))
(native-inputs `(("emacs" ,emacs-minimal)))
(home-page "http://savannah.nongnu.org/projects/bbdb/")
(synopsis "Contact management utility for Emacs")
(description
@ -950,14 +977,14 @@ mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
(define-public emacs-async
(package
(name "emacs-async")
(version "1.6")
(version "1.9")
(source (origin
(method url-fetch)
(uri (string-append "http://elpa.gnu.org/packages/async-"
version ".tar"))
(sha256
(base32
"17psvz75n42x33my967wkgi7r0blx46n3jdv510j0z5jswv66039"))))
"1ip5nc8xyln5szvqwp6wqva9xr84pn8ssn3nnphrszr19y4js2bm"))))
(build-system emacs-build-system)
(home-page "http://elpa.gnu.org/packages/async.html")
(synopsis "Asynchronous processing in Emacs")
@ -983,6 +1010,9 @@ as a library for other Emacs packages.")
(base32
"1pmki8hdjjikxlvip3pzi350bln3gcimr27yjf0xfwjvnp5hh9nc"))))
(build-system emacs-build-system)
;; We use 'emacs' because AUCTeX requires dbus at compile time
;; ('emacs-minimal' does not provide dbus).
(arguments `(#:emacs ,emacs))
(native-inputs
`(("perl" ,perl)))
(home-page "http://www.gnu.org/software/auctex/")
@ -1017,7 +1047,7 @@ or XEmacs.")
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("emacs" ,emacs-no-x)
("emacs" ,emacs-minimal)
("texinfo" ,texinfo)))
(home-page "https://github.com/purcell/mmm-mode")
(synopsis "Allow multiple major modes in an Emacs buffer")
@ -1081,7 +1111,7 @@ single buffer.")
(native-inputs `(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)
("emacs" ,emacs-no-x)))
("emacs" ,emacs-minimal)))
(propagated-inputs
`(("let-alist" ,let-alist)))
(inputs `(("poppler" ,poppler)
@ -1200,7 +1230,7 @@ files and directories.")
(source (origin
(method git-fetch)
(uri (git-reference
(commit "8807064693")
(commit "880706469338ab59b5bb7dbe8460016f89755364")
(url "https://github.com/gregsexton/ob-ipython.git")))
(sha256
(base32
@ -1385,20 +1415,6 @@ to a key in your preferred mode.")
identifiers in the MIT-Scheme documentation.")
(license license:gpl2+)))
;;; XXX: move this procedure to an utility module
(define* (uncompressed-file-fetch url hash-algo hash
#:optional name
#:key (system (%current-system))
(guile (default-guile)))
(mlet %store-monad ((drv (url-fetch url hash-algo hash name
#:system system
#:guile guile)))
(gexp->derivation (or name (basename url))
#~(begin
(mkdir #$output)
(chdir #$output)
(copy-file #$drv (basename #$url))))))
(define-public emacs-constants
(package
(name "emacs-constants")
@ -1406,7 +1422,7 @@ identifiers in the MIT-Scheme documentation.")
(home-page "https://staff.fnwi.uva.nl/c.dominik/Tools/constants")
(source
(origin
(file-name (string-append name "-" version ".el"))
(file-name (string-append name "-" version ".tar.gz"))
(method url-fetch)
(uri (string-append "https://github.com/fedeinthemix/emacs-constants"
"/archive/v" version ".tar.gz"))
@ -1493,8 +1509,6 @@ debugging, documentation lookup, and so on.")
(base32
"1yrgfj8y69xmcb6kwgplhq68ndm9410qwh7sd2knnd1gchpphdc0"))))
(build-system emacs-build-system)
(native-inputs
`(("emacs" ,emacs-no-x)))
(home-page "https://github.com/auto-complete/popup-el")
(synopsis "Visual Popup User Interface for Emacs")
(description
@ -1536,14 +1550,12 @@ insertion mode. When enabled all keys are implicitly prefixed with
(version "0.13")
(home-page "http://www.loveshack.ukfsn.org/emacs")
(source (origin
(method uncompressed-file-fetch)
(method url-fetch)
(uri "http://www.loveshack.ukfsn.org/emacs/rfcview.el")
(sha256
(base32
"0ympj5rxig383zl2jf0pzdsa80nnq0dpvjiriq0ivfi98fj7kxbz"))))
(build-system emacs-build-system)
(native-inputs
`(("emacs" ,emacs-no-x)))
(synopsis "Prettify Request for Comments (RFC) documents")
(description "The Internet Engineering Task Force (IETF) and the Internet
Society (ISOC) publish various Internet-related protocols and specifications
@ -1562,14 +1574,12 @@ local directories.")
(version "12")
(home-page "http://user42.tuxfamily.org/ffap-rfc-space/index.html")
(source (origin
(method uncompressed-file-fetch)
(method url-fetch)
(uri "http://download.tuxfamily.org/user42/ffap-rfc-space.el")
(sha256
(base32
"1iv61dv57a73mdps7rn6zmgz7nqh14v0ninidyrasy45b1nv6gck"))))
(build-system emacs-build-system)
(native-inputs
`(("emacs" ,emacs-no-x)))
(synopsis "Make ffap recognize an RFC with a space before its number")
(description "The Internet Engineering Task Force (IETF) and the
Internet Society (ISOC) publish various Internet-related protocols and
@ -1631,3 +1641,443 @@ wrap-region, electric-pair-mode, paredit and others. With the basic
features found in other packages it also brings many improvements as
well as completely new features.")
(license license:gpl3+)))
(define-public emacs-clojure-mode
(package
(name "emacs-clojure-mode")
(version "5.3.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/clojure-emacs/clojure-mode/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0gi8ra3ap5m3mz4qh1yxp2cldn7z9xcxvypznr6rrlc6a9l8s5a6"))))
(build-system emacs-build-system)
(home-page "http://github.com/clojure-emacs/clojure-mode")
(synopsis "Major mode for Clojure code")
(description
"This Emacs package provides font-lock, indentation, navigation and basic
refactoring for the @uref{http://clojure.org, Clojure programming language}.
It is recommended to use @code{clojure-mode} with paredit or smartparens.")
(license license:gpl3+)))
(define-public emacs-epl
(package
(name "emacs-epl")
(version "0.8")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/cask/epl/archive/"
version ".tar.gz"))
(sha256
(base32
"1511n3a3f5gvaf2b4nh018by61ciyzi3y3603fzqma7p9hrckarc"))))
(build-system emacs-build-system)
(home-page "http://github.com/cask/epl")
(synopsis "Emacs Package Library")
(description
"A package management library for Emacs, based on @code{package.el}.
The purpose of this library is to wrap all the quirks and hassle of
@code{package.el} into a sane API.")
(license license:gpl3+)))
(define-public emacs-queue
(package
(name "emacs-queue")
(version "0.1.1")
(source (origin
(method url-fetch)
(uri (string-append "http://elpa.gnu.org/packages/queue-"
version ".el"))
(sha256
(base32
"0jw24fxqnf9qcaf2nh09cnds1kqfk7hal35dw83x1ari95say391"))))
(build-system emacs-build-system)
(home-page "http://www.dr-qubit.org/tags/computing-code-emacs.html")
(synopsis "Queue data structure for Emacs")
(description
"This Emacs library provides queue data structure. These queues can be
used both as a first-in last-out (FILO) and as a first-in first-out (FIFO)
stack, i.e. elements can be added to the front or back of the queue, and can
be removed from the front. This type of data structure is sometimes called an
\"output-restricted deque\".")
(license license:gpl3+)))
(define-public emacs-pkg-info
(package
(name "emacs-pkg-info")
(version "0.6")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/lunaryorn/pkg-info.el/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1gy1jks5mmm02gg1c8gcyr4f8a9s5ggzhk56gv33b9mzjqzi5rd5"))))
(build-system emacs-build-system)
(propagated-inputs `(("emacs-epl" ,emacs-epl)))
(home-page "https://github.com/lunaryorn/pkg-info.el")
(synopsis "Information about Emacs packages")
(description
"This library extracts information from the installed Emacs packages.")
(license license:gpl3+)))
(define-public emacs-spinner
(package
(name "emacs-spinner")
(version "1.7.1")
(source (origin
(method url-fetch)
(uri (string-append "http://elpa.gnu.org/packages/spinner-"
version ".el"))
(sha256
(base32
"1fmwzdih0kbyvs8bn38mpm4sbs2mikqy2vdykfy9g20wpa8vb681"))))
(build-system emacs-build-system)
(home-page "https://github.com/Malabarba/spinner.el")
(synopsis "Emacs mode-line spinner for operations in progress")
(description
"This Emacs package adds spinners and progress-bars to the mode-line for
ongoing operations.")
(license license:gpl3+)))
(define-public emacs-seq
(package
(name "emacs-seq")
(version "2.15")
(source (origin
(method url-fetch)
(uri (string-append "http://elpa.gnu.org/packages/seq-"
version ".tar"))
(sha256
(base32
"09wi1765bmn7i8fg6ajjfaxgs4ipc42d58zx2fdqpidrdg9c7q73"))))
(build-system emacs-build-system)
(home-page "http://elpa.gnu.org/packages/seq.html")
(synopsis "Sequence manipulation functions for Emacs")
(description
"This Emacs library provides sequence-manipulation functions that
complement basic functions provided by @code{subr.el}. All provided functions
work on lists, strings and vectors.")
(license license:gpl3+)))
(define-public emacs-better-defaults
(package
(name "emacs-better-defaults")
(version "0.1.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/technomancy/better-defaults"
"/archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"08fg4zslzlxbvyil5g4gwvwd22fh4zsgqprs5wh9hv1rgc6757m2"))))
(build-system emacs-build-system)
(home-page "https://github.com/technomancy/better-defaults")
(synopsis "Better defaults for Emacs")
(description
"Better defaults attempts to address the most obvious deficiencies of the
Emacs default configuration in uncontroversial ways that nearly everyone can
agree upon.")
(license license:gpl3+)))
(define-public emacs-smex
(package
(name "emacs-smex")
(version "3.0")
(source (origin
(method url-fetch)
(uri (string-append "https://raw.githubusercontent.com"
"/nonsequitur/smex/" version "/smex.el"))
(file-name (string-append "smex-" version ".el"))
(sha256
(base32
"0ar310zx9k5y4i1vl2rawvi712xj9gx77160860jbs691p77cxqp"))))
(build-system emacs-build-system)
(home-page "http://github.com/nonsequitur/smex/")
(synopsis "M-x interface with Ido-style fuzzy matching")
(description
"Smex is a M-x enhancement for Emacs. Built on top of Ido, it provides a
convenient interface to your recently and most frequently used commands. And
to all the other commands, too.")
(license license:gpl3+)))
(define-public emacs-js2-mode
(package
(name "emacs-js2-mode")
(version "20150909")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mooz/js2-mode/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1nsm36c4kwb473p13i58fgrnlk8fbn3rdhj47d9xz70az4ra44q0"))))
(build-system emacs-build-system)
(home-page "https://github.com/mooz/js2-mode/")
(synopsis "Improved JavaScript editing mode for Emacs")
(description
"Js2-mode provides a JavaScript major mode for Emacs that is more
advanced than the built-in javascript-mode. Features include accurate syntax
highlighting using a recursive-descent parser, on-the-fly reporting of syntax
errors and strict-mode warnings, smart line-wrapping within comments and
strings, and code folding.")
(license license:gpl3+)))
(define-public emacs-markdown-mode
(package
(name "emacs-markdown-mode")
(version "2.1")
(source (origin
(method url-fetch)
(uri (string-append "https://raw.githubusercontent.com/jrblevin"
"/markdown-mode/v" version
"/markdown-mode.el"))
(file-name (string-append "markdown-mode-" version ".el"))
(sha256
(base32
"1faibar32jnjia9202swblw91q6z1g5s4k9xmypwjahfh8yznl6w"))))
(build-system emacs-build-system)
(home-page "http://jblevins.org/projects/markdown-mode/")
(synopsis "Emacs Major mode for Markdown files")
(description
"Markdown-mode is a major mode for editing Markdown-formatted text files
in Emacs.")
(license license:gpl3+)))
(define-public emacs-projectile
(package
(name "emacs-projectile")
(version "0.13.0")
(source (origin
(method url-fetch)
(uri (string-append "https://raw.githubusercontent.com/bbatsov"
"/projectile/v" version "/projectile.el"))
(file-name (string-append "projectile-" version ".el"))
(sha256
(base32
"1pc6xb61hzxzc5hkqkli1ab0s7wz0rfgx4kcn9y30ksvhw18smbz"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
("emacs-pkg-info" ,emacs-pkg-info)))
(home-page "https://github.com/bbatsov/projectile")
(synopsis "Manage and navigate projects in Emacs easily")
(description
"This library provides easy project management and navigation. The
concept of a project is pretty basic - just a folder containing special file.
Currently git, mercurial and bazaar repos are considered projects by default.
If you want to mark a folder manually as a project just create an empty
.projectile file in it.")
(license license:gpl3+)))
(define-public emacs-elfeed
(package
(name "emacs-elfeed")
(version "1.4.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/skeeto/elfeed/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0i75r8x9ypbfjlnym04h16ikcrlks86p7wsgawrx7mh1lk4inp89"))))
(build-system emacs-build-system)
(home-page "https://github.com/skeeto/elfeed")
(synopsis "Atom/RSS feed reader for Emacs")
(description
"Elfeed is an extensible web feed reader for Emacs, supporting both Atom
and RSS, with a user interface inspired by notmuch.")
(license license:gpl3+)))
(define-public emacs-rainbow-delimiters
(package
(name "emacs-rainbow-delimiters")
(version "2.1.3")
(source (origin
(method url-fetch)
(uri (string-append "https://raw.githubusercontent.com/Fanael"
"/rainbow-delimiters/" version
"/rainbow-delimiters.el"))
(file-name (string-append "rainbow-delimiters-" version ".el"))
(sha256
(base32
"1b3kampwsjabhcqdp0khgff13wc5jqhy3rbvaa12vnv7qy22l9ck"))))
(build-system emacs-build-system)
(home-page "https://github.com/Fanael/rainbow-delimiters")
(synopsis "Highlight brackets according to their depth")
(description
"Rainbow-delimiters is a \"rainbow parentheses\"-like mode for Emacs which
highlights parentheses, brackets, and braces according to their depth. Each
successive level is highlighted in a different color, making it easy to spot
matching delimiters, orient yourself in the code, and tell which statements
are at a given level.")
(license license:gpl3+)))
(define-public emacs-ido-completing-read+
(package
(name "emacs-ido-completing-read+")
(version "3.12")
(source (origin
(method url-fetch)
(uri (string-append "https://raw.githubusercontent.com"
"/DarwinAwardWinner/ido-ubiquitous/v"
version "/ido-completing-read+.el"))
(file-name (string-append "ido-completing-read+-" version ".el"))
(sha256
(base32
"1cyalb0p7nfsm4n6n9q6rjmvn6adqc0fq8ybnlj3n41n289dkfjf"))))
(build-system emacs-build-system)
(home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
(synopsis "Replacement for completing-read using ido")
(description
"The ido-completing-read+ function is a wrapper for ido-completing-read.
Importantly, it detects edge cases that ordinary ido cannot handle and either
adjusts them so ido can handle them, or else simply falls back to the standard
Emacs completion function instead.")
(license license:gpl3+)))
(define-public emacs-ido-ubiquitous
(package
(name "emacs-ido-ubiquitous")
(version "3.12")
(source (origin
(method url-fetch)
(uri (string-append "https://raw.githubusercontent.com"
"/DarwinAwardWinner/ido-ubiquitous/v"
version "/ido-ubiquitous.el"))
(file-name (string-append "ido-ubiquitous-" version ".el"))
(sha256
(base32
"197ypji0fb6jsdcq40rpnknwlh3imas6s6jbsvkfm0pz9988c3q2"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
(home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
(synopsis "Use ido (nearly) everywhere")
(description
"Ido-ubiquitous enables ido-style completion for almost every function
that uses the standard completion function completing-read.")
(license license:gpl3+)))
(define-public emacs-yaml-mode
(package
(name "emacs-yaml-mode")
(version "0.0.12")
(source (origin
(method url-fetch)
(uri (string-append "https://raw.githubusercontent.com/yoshiki"
"/yaml-mode/v" version "/yaml-mode.el"))
(file-name (string-append "yaml-mode-" version ".el"))
(sha256
(base32
"17wq433ycli0qx4gdhgrmb392qblm6y2dwcyn38j5ja1lasfb0ax"))))
(build-system emacs-build-system)
(home-page "https://github.com/yoshiki/yaml-mode")
(synopsis "Major mode for editing YAML files")
(description
"Yaml-mode is an Emacs major mode for editing files in the YAML data
serialization format. It was initially developed by Yoshiki Kurihara and many
features were added by Marshall Vandegrift. As YAML and Python share the fact
that indentation determines structure, this mode provides indentation and
indentation command behavior very similar to that of python-mode.")
(license license:gpl3+)))
(define-public emacs-web-mode
(package
(name "emacs-web-mode")
(version "14")
(source (origin
(method url-fetch)
(uri (string-append "https://raw.githubusercontent.com/fxbois"
"/web-mode/v" version "/web-mode.el"))
(file-name (string-append "web-mode-" version ".el"))
(sha256
(base32
"086hik5fmxg3kx74qmransx9cz961qd22d4m6ah2dw6cwaj1s3s5"))))
(build-system emacs-build-system)
(synopsis "Major mode for editing web templates")
(description "Web-mode is an Emacs major mode for editing web templates
aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by
client/server side engines). Web-mode is compatible with many template
engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker,
Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template,
Dust.js, React/JSX, Angularjs, ejs, etc.")
(home-page "http://web-mode.org/")
(license license:gpl3+)))
(define-public emacs-helm
(package
(name "emacs-helm")
(version "1.9.6")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/" name "/helm/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0fc897rwf1fm2m7jrsikkgcyzhngfcysxfmzchpwzfj6v9sb5rl9"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-async" ,emacs-async)
("emacs-popup" ,emacs-popup)))
(home-page "https://emacs-helm.github.io/helm/")
(synopsis "Incremental completion and selection narrowing
framework for Emacs")
(description "Helm is incremental completion and selection narrowing
framework for Emacs. It will help steer you in the right direction when
you're looking for stuff in Emacs (like buffers, files, etc). Helm is a fork
of @code{anything.el} originally written by Tamas Patrovic and can be
considered to be its successor. Helm sets out to clean up the legacy code in
@code{anything.el} and provide a cleaner, leaner and more modular tool, that's
not tied in the trap of backward compatibility.")
(license license:gpl3+)))
(define-public emacs-cider
(package
(name "emacs-cider")
(version "0.12.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/clojure-emacs/cider/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"00qzbfjy3w6bcnki7gw0clmi0cc5yqjdrcyhgv4ymijjs79h9p5s"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-clojure-mode" ,emacs-clojure-mode)
("emacs-spinner" ,emacs-spinner)
("emacs-pkg-info" ,emacs-pkg-info)
("emacs-queue" ,emacs-queue)
("emacs-seq" ,emacs-seq)))
(home-page "https://cider.readthedocs.org/")
(synopsis "Clojure development environment for Emacs")
(description
"CIDER (Clojure Interactive Development Environment that Rocks) aims to
provide an interactive development experience similar to the one you'd get
when programming in Emacs Lisp, Common Lisp (with SLIME or Sly), Scheme (with
Geiser) and Smalltalk.
CIDER is the successor to the now deprecated combination of using SLIME +
swank-clojure for Clojure development.
There are plenty of differences between CIDER and SLIME, but the core ideas
are pretty much the same (and SLIME served as the principle inspiration for
CIDER).")
(license license:gpl3+)))