summary refs log tree commit diff
path: root/gnu/packages/emacs.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/emacs.scm')
-rw-r--r--gnu/packages/emacs.scm351
1 files changed, 330 insertions, 21 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index d1267d4f46..976ea31e00 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -5,7 +5,7 @@
 ;;; Copyright © 2014, 2015, 2016, 2017 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
 ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
+;;; Copyright © 2016, 2017 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>
@@ -22,6 +22,8 @@
 ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
 ;;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com>
+;;; Copyright © 2017 Kei Kebreau <kei@openmailbox.org>
+;;; Copyright © 2017 George Clemmer <myglc2@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -51,13 +53,16 @@
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
+  #:use-module (gnu packages audio)
   #:use-module (gnu packages code)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages tex)
   #:use-module (gnu packages texinfo)
+  #:use-module (gnu packages tcl)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages xorg)
@@ -725,7 +730,7 @@ the body are let-bound and this search is done at compile time.")
 (define-public flycheck
   (package
     (name "emacs-flycheck")
-    (version "28")
+    (version "30")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -733,7 +738,7 @@ the body are let-bound and this search is done at compile time.")
                     version "/flycheck-" version ".tar"))
               (sha256
                (base32
-                "1yjxivk11d7w39zfhj2xr4h6xhwx1aj6yhyzd63rjrad7xpjfl86"))))
+                "1rxzkaqsj48z3nska5wsgwafvwkam014dzqd32baycmxjl0jxvy7"))))
     (build-system emacs-build-system)
     (propagated-inputs
      `(("emacs-dash" ,emacs-dash)
@@ -1125,9 +1130,22 @@ than @code{electric-indent-mode}.")
                ("ag-executable"
                 (string-append (assoc-ref inputs "the-silver-searcher")
                                "/bin/ag")))
-             #t)))))
+             #t))
+         (add-before 'install 'make-info
+           (lambda _
+             (with-directory-excursion "docs"
+               (zero? (system* "make" "info")))))
+         (add-after 'install 'install-info
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out  (assoc-ref outputs "out"))
+                    (info (string-append out "/share/info")))
+               (install-file "docs/_build/texinfo/agel.info" info)
+               #t))))))
     (inputs
      `(("the-silver-searcher" ,the-silver-searcher)))
+    (native-inputs
+     `(("python-sphinx" ,python-sphinx)
+       ("texinfo" ,texinfo)))
     (propagated-inputs
      `(("dash" ,emacs-dash)
        ("s" ,emacs-s)))
@@ -1487,17 +1505,18 @@ strings.")
 (define-public emacs-symon
   (package
     (name "emacs-symon")
-    (version "20170224.33")
+    (version "20160630")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "http://melpa.org/packages/symon-"
-                           version ".el"))
+       (uri (string-append "https://github.com/zk-phi/symon/archive/"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "109jd7yjhdrrf5jqpqyv543nb28g7065z58bji9pvxanzi4zl2iz"))))
+         "0h4jcgdnq98wc9rj72nwyazq8498yg55jfljiij5qwbn1xf1g5zz"))))
     (build-system emacs-build-system)
-    (home-page "http://hins11.yu-yake.com/")
+    (home-page "https://github.com/zk-phi/symon")
     (synopsis "Tiny graphical system monitor")
     (description
      "Tiny graphical system monitor for the Emacs minibuffer when idle.")
@@ -1979,14 +1998,14 @@ source code using IPython.")
 (define-public emacs-debbugs
   (package
     (name "emacs-debbugs")
-    (version "0.12")
+    (version "0.14")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
                                   version ".tar"))
               (sha256
                (base32
-                "1swi4d7fhahimid9j12cypmkz7dlqgffrnhfxy5ra44y3j2b35ph"))))
+                "07wgcvg038l88gxvjr0gjpjhyk743w22x1rqghz3gkmif0g70say"))))
     (build-system emacs-build-system)
     (propagated-inputs
      `(("emacs-async" ,emacs-async)))
@@ -2058,7 +2077,7 @@ build jobs.")
 (define-public emacs-company
   (package
     (name "emacs-company")
-    (version "0.8.12")
+    (version "0.9.3")
     (source
      (origin
        (method url-fetch)
@@ -2067,8 +2086,20 @@ build jobs.")
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1vwmbqm7h4lrszv2qxy6fqzznm9raigi84cadx982c9m7shp0zzz"))))
+         "1fyrpchpdmvszssy1qmsw41aqpv6q5rybvs1bw00nv9xdhiaq4vh"))))
     (build-system emacs-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'install 'check
+           (lambda _
+             ;; The company-files-candidates-normal-root test looks
+             ;; for the /bin directory, but the build environment has
+             ;; no /bin directory. Modify the test to look for the
+             ;; /tmp directory.
+             (substitute* "test/files-tests.el"
+               (("/bin/") "/tmp/"))
+             (zero? (system* "make" "test-batch")))))))
     (home-page "http://company-mode.github.io/")
     (synopsis "Modular text completion framework")
     (description
@@ -2442,7 +2473,7 @@ organizer.")
 (define-public emacs-zenburn-theme
   (package
     (name "emacs-zenburn-theme")
-    (version "2.4")
+    (version "2.5")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2451,7 +2482,7 @@ organizer.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0lyi84bm8sa7vj40n6zg6rlbsmi53mi1y9xn6gkjj29s5zbcnlg7"))))
+                "03kfhzgbbbl8ivpzzky6qxw4j9mmp452m1sk7wikxmcalfnix0gn"))))
     (build-system emacs-build-system)
     (home-page "https://github.com/bbatsov/zenburn-emacs")
     (synopsis "Low contrast color theme for Emacs")
@@ -2655,7 +2686,7 @@ automatically.")
 (define-public emacs-ivy
   (package
     (name "emacs-ivy")
-    (version "0.8.0")
+    (version "0.9.1")
     (source
      (origin
        (method url-fetch)
@@ -2664,7 +2695,7 @@ automatically.")
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "18nqwl05is71dzswnvpfhlg7b0v3apvbsfxrwab9c0apwavi892q"))))
+         "1abi1rvjarwfxxylpx8qlhck0kbavnj0nmlaaizk9q5zr02xfx1j"))))
     (build-system emacs-build-system)
     (propagated-inputs
      `(("emacs-hydra" ,emacs-hydra)))
@@ -2792,7 +2823,7 @@ S-expression.")
 (define-public emacs-clojure-mode
   (package
     (name "emacs-clojure-mode")
-    (version "5.3.0")
+    (version "5.4.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2801,7 +2832,7 @@ S-expression.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0gi8ra3ap5m3mz4qh1yxp2cldn7z9xcxvypznr6rrlc6a9l8s5a6"))))
+                "117mvjqh4nm8mvmwmmvy4qmkdg23ldlzk08y91g8b8ac8kxwqg81"))))
     (build-system emacs-build-system)
     (home-page "https://github.com/clojure-emacs/clojure-mode")
     (synopsis "Major mode for Clojure code")
@@ -3064,7 +3095,7 @@ in Emacs.")
 (define-public emacs-projectile
   (package
     (name "emacs-projectile")
-    (version "0.13.0")
+    (version "0.14.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://raw.githubusercontent.com/bbatsov"
@@ -3072,7 +3103,7 @@ in Emacs.")
               (file-name (string-append "projectile-" version ".el"))
               (sha256
                (base32
-                "1pc6xb61hzxzc5hkqkli1ab0s7wz0rfgx4kcn9y30ksvhw18smbz"))))
+                "1ql1wnzhblbwnv66hf2y0wq45g71hh6s9inc090lmhm1vgylbd1f"))))
     (build-system emacs-build-system)
     (propagated-inputs
      `(("emacs-dash" ,emacs-dash)
@@ -3100,6 +3131,12 @@ If you want to mark a folder manually as a project just create an empty
                (base32
                 "145glas04zd0s2rmnif46vhyijs4z03v871gfp1dcrwxvvvns8ap"))))
     (build-system emacs-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'install 'check
+           (lambda _
+             (zero? (system* "make" "test")))))))
     (home-page "https://github.com/skeeto/elfeed")
     (synopsis "Atom/RSS feed reader for Emacs")
     (description
@@ -4051,3 +4088,275 @@ jQuery and Bootstrap resources included via osscdn.")
     (description
      "This Emacs package highlights the s-exp at the current position.")
     (license license:gpl3+)))
+
+(define-public emacspeak
+  (package
+    (name "emacspeak")
+    (version "45.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/tvraman/emacspeak/releases/download/"
+             version "/emacspeak-" version ".tar.bz2"))
+       (sha256
+        (base32
+         "0npcr867xbbhwa0i7v26hnk4z2d51522jwcfwc594j74kbv3g6ka"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:make-flags (list (string-append "prefix="
+                                         (assoc-ref %outputs "out")))
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "Makefile"
+               (("\\$\\(INSTALL\\) -d \\$\\(libdir\\)/servers/linux-outloud")
+                "")
+               (("\\$\\(INSTALL\\)  -m 755 \\$\\{OUTLOUD\\}.*$") "")
+               (("\\*info\\*") "*"))
+             (substitute* "etc/emacspeak.sh.def"
+               (("<emacspeak-dir>")
+                (string-append (assoc-ref outputs "out")
+                               "/share/emacs/site-lisp/emacspeak/lisp")))
+             (zero? (system* "make" "config"))))
+         (add-after 'install 'install-espeak-server
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (with-directory-excursion "servers/linux-espeak"
+                 (and (zero? (system* "make"))
+                      (zero? (system* "make" "install"
+                                      (string-append "PREFIX=" out))))))))
+         (add-after 'install-espeak-server 'wrap-program
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (emacspeak (string-append out "/bin/emacspeak"))
+                    (espeak (string-append (assoc-ref inputs "espeak")
+                                           "/bin/espeak")))
+               ;; The environment variable DTK_PROGRAM tells emacspeak what
+               ;; program to use for speech.
+               (wrap-program emacspeak
+                 `("DTK_PROGRAM" ":" prefix (,espeak)))
+               #t))))
+       #:tests? #f)) ; no check target
+    (inputs
+     `(("espeak" ,espeak)
+       ("tcl" ,tcl)
+       ("tclx" ,tclx)))
+    (native-inputs `(("emacs" ,emacs-minimal)))
+    (home-page "http://emacspeak.sourceforge.net")
+    (synopsis "Audio desktop interface for Emacs")
+    (description
+     "Emacspeak is a speech interface that allows visually impaired users to
+interact independently and efficiently with the computer.  Audio formatting
+--a technique pioneered by AsTeR-- and full support for W3C's Aural CSS (ACSS)
+allows Emacspeak to produce rich aural presentations of electronic information.
+By seamlessly blending all aspects of the Internet such as Web-surfing and
+messaging, Emacspeak speech-enables local and remote information via a
+consistent and well-integrated user interface.")
+    (license license:gpl2+)))
+
+(define-public emacs-adaptive-wrap
+  (package
+    (name "emacs-adaptive-wrap")
+    (version "0.5")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://elpa.gnu.org/packages/adaptive-wrap-"
+                    version ".el"))
+              (sha256
+               (base32
+                "0frgmp8vrrml4iykm60j4d6cl9rbcivy9yh24q6kd10bcyx59ypy"))))
+    (build-system emacs-build-system)
+    (home-page "http://elpa.gnu.org/packages/adaptive-wrap.html")
+    (synopsis "Smart line-wrapping with wrap-prefix")
+    (description
+     "This Emacs package provides the @code{adaptive-wrap-prefix-mode}
+minor mode which sets the wrap-prefix property on the fly so that
+single-long-line paragraphs get word-wrapped in a way similar to what
+you'd get with @kbd{M-q} using @code{adaptive-fill-mode}, but without
+actually changing the buffer's text.")
+    (license license:gpl3+)))
+
+(define-public emacs-diminish
+  (package
+    (name "emacs-diminish")
+    (version "0.45")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/myrjola/diminish.el/archive/v"
+             version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0i3629sv5cfrrb00hcnmaqzgs8mk36yasc1ax3ry1ga09nr6rkj9"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/myrjola/diminish.el")
+    (synopsis "Diminish minor modes with no modeline display")
+    (description "@code{emacs-diminish} implements hiding or
+abbreviation of the mode line displays (lighters) of minor modes.")
+    (license license:gpl2+)))
+
+(define-public emacs-use-package
+  (package
+    (name "emacs-use-package")
+    (version "2.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/jwiegley/use-package/archive/"
+             version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0x4h136jb3imyli6zsh7dyzjrra6pv0v6b0yk94jdng3rdfcmsf5"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-diminish" ,emacs-diminish)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'install 'check
+           (lambda _
+             (zero? (system* "emacs" "--batch" "-L" "."
+                             "-l" "use-package-tests.el"
+                             "-f" "ert-run-tests-batch-and-exit"))
+             ;; Tests fail in this release, but have been fixed in
+             ;; upstream commit 7956d40eed57d6c06bef36ebc174cf57d934e30d
+             #t)))))
+    (home-page "https://github.com/jwiegley/use-package")
+    (synopsis "Declaration for simplifying your .emacs")
+    (description "The use-package macro allows you to isolate package
+configuration in your @file{.emacs} file in a way that is both
+performance-oriented and tidy.")
+    (license license:gpl2+)))
+
+(define-public emacs-strace-mode
+  (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
+         (revision "1"))
+    (package
+      (name "emacs-strace-mode")
+      (version (string-append "0.0.2-" revision "." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/pkmoore/strace-mode")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32
+                  "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f"))))
+      (build-system emacs-build-system)
+      (home-page "https://github.com/pkmoore/strace-mode")
+      (synopsis "Emacs major mode to highlight strace outputs")
+      (description "@code{emacs-strace-mode} provides an Emacs major mode
+ highlighting strace outputs.")
+      (license license:gpl3+))))
+
+(define-public emacs-default-encrypt
+  (package
+    (name "emacs-default-encrypt")
+    (version "4.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://www.informationelle-selbstbestimmung-im-internet.de"
+             "/emacs/jl-encrypt" version "/jl-encrypt.el"))
+       (file-name (string-append "jl-encrypt-" version ".el"))
+       (sha256
+        (base32
+         "16i3rlfp3jxlqvndn8idylhmczync3gwmy8a019v29vyr48rnnr0"))))
+    (build-system emacs-build-system)
+    (home-page "https://www.informationelle-selbstbestimmung-im-internet.de/Emacs.html")
+    (synopsis "Automatically encrypt or sign Gnus messages in Emacs")
+    (description
+     "DefaultEncrypt is designed to be used with Gnus in Emacs.  It
+automatically encrypts messages that you send (e.g., email) when public keys
+for all recipients are available, and it protects you from accidentally
+sending un-encrypted messages.  It can also be configured to automatically
+sign messages that you send.  For details and instructions on how to use
+DefaultEncrypt, please refer to the home page or read the comments in the
+source file, @file{jl-encrypt.el}.")
+    (license license:gpl3+)))
+
+(define-public emacs-htmlize
+  (package
+    (name "emacs-htmlize")
+    (version "1.51")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/hniksic/emacs-htmlize/archive/release/"
+             version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1fy1lybzrxl8a8r88f6p19nz8ygmvcxhxbnymkxh7jqaz25viwld"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/hniksic/emacs-htmlize")
+    (synopsis "Convert buffer text and decorations to HTML")
+    (description "@code{emacs-htmlize} converts the buffer text and
+the associated decorations to HTML.  Output to CSS, inline CSS and
+fonts is supported.")
+    (license license:gpl2+)))
+
+(define-public emacs-xmlgen
+  (package
+    (name "emacs-xmlgen")
+    (version "0.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/philjackson/xmlgen/archive/"
+             version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0zay490vjby3f7455r0vydmjg7q1gwc78hilpfb0rg4gwz224z8r"))))
+    (build-system emacs-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'install 'check
+           (lambda _
+             (zero? (system* "emacs" "--batch" "-L" "."
+                             "-l" "xmlgen-test.el"
+                             "-f" "ert-run-tests-batch-and-exit")))))))
+    (home-page "https://github.com/philjackson/xmlgen")
+    (synopsis "S-expression to XML domain specific language (DSL) in
+Emacs Lisp")
+    (description "@code{emacs-xmlgen} provides S-expression to XML
+conversion for Emacs Lisp.")
+    (license license:gpl2+)))
+
+(define-public emacs-cdlatex
+  (package
+    (name "emacs-cdlatex")
+    (version "4.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/cdominik/cdlatex/archive/"
+             version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0pivapphmykc6vhvpx7hdyl55ls37vc4jcrxpvs4yk7jzcmwa9xp"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/cdominik/cdlatex")
+    (synopsis "Fast Emacs input methods for LaTeX environments and
+math")
+    (description "CDLaTeX is an Emacs minor mode supporting fast
+insertion of environment templates and math in LaTeX.  Similar
+commands are also offered as part of the AUCTeX package, but it is not
+the same - CDLaTeX focuses on speediness for inserting LaTeX
+constructs.")
+    (license license:gpl3+)))