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.scm288
1 files changed, 218 insertions, 70 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 11cd244deb..eab31278a5 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -36,6 +36,8 @@
 ;;; Copyright © 2018 Mathieu Lirzin <mthl@gnu.org>
 ;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
 ;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
+;;; Copyright © 2018 Jack Hill <jackhill@jackhill.us>
+;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -107,6 +109,7 @@
   #:use-module (gnu packages gd)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages password-utils)
+  #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages shells)
   #:use-module (gnu packages gnupg)
@@ -199,7 +202,7 @@
        ("libxft" ,libxft)
        ("libtiff" ,libtiff)
        ("giflib" ,giflib)
-       ("libjpeg" ,libjpeg-8)
+       ("libjpeg" ,libjpeg)
        ("imagemagick" ,imagemagick)
        ("acl" ,acl)
 
@@ -4573,25 +4576,28 @@ Dust.js, React/JSX, Angularjs, ejs, etc.")
     (license license:gpl3+)))
 
 (define-public emacs-wgrep
-  (package
-    (name "emacs-wgrep")
-    (version "2.1.10")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/mhayashi1120/Emacs-wgrep/archive/"
-                    version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1r2bpypar70xg6dsx12x1k74f39ww930rday7rgqpyknzsx1k4l1"))))
-    (build-system emacs-build-system)
-    (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
-    (synopsis "Edit a grep buffer and apply those changes to the files")
-    (description
-     "Emacs wgrep allows you to edit a grep buffer and apply those changes to
-the file buffer.")
-    (license license:gpl3+)))
+  (let ((commit "414be70bd313e482cd9f0b70fd2daad4ee23497c"))
+    ;; Late commit fixes compatibility issue with Emacs 26+.
+    (package
+      (name "emacs-wgrep")
+      (version (git-version "2.1.10" "1" commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/mhayashi1120/Emacs-wgrep")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1sdhd587q3pg92lhiayph87azhalmf1gzrnsprkmqvnphv7mvks9"))))
+      (build-system emacs-build-system)
+      (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
+      (synopsis "Edit a grep buffer and apply those changes to the files")
+      (description
+       "Emacs wgrep allows you to edit a grep buffer and apply those changes
+to the file buffer.  Several backends are supported beside the classic grep:
+ack, ag, helm and pt.")
+      (license license:gpl3+))))
 
 (define-public emacs-helm
   (package
@@ -4855,11 +4861,11 @@ extensions.")
       (license license:gpl3+))))
 
 (define-public emacs-evil-collection
-  (let ((commit "ac21b8957cfc22485cdaa316384edf9cb220d837")
-        (revision "1"))
+  (let ((commit "5d739f58118a5a316c4fe25adb4e13ccea3fdc10")
+        (revision "2"))
     (package
       (name "emacs-evil-collection")
-      (version (git-version "20180617" revision commit))
+      (version (git-version "20180721" revision commit))
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
@@ -4868,7 +4874,7 @@ extensions.")
                 (file-name (string-append name "-" version "-checkout"))
                 (sha256
                  (base32
-                  "082a3c5c2ls9ryqrl5kzb4z6bcprhqx8pypnlj1razbld3lny934"))))
+                  "05p612qncd0cp5q61hq2ag1k558vhb10049xrc88n9l6qwz9bpk3"))))
       (build-system emacs-build-system)
       (propagated-inputs
        `(("emacs-evil" ,emacs-evil)))
@@ -6229,14 +6235,14 @@ which code derived from Kelvin H's org-page.")
 (define-public emacs-xelb
   (package
     (name "emacs-xelb")
-    (version "0.14")
+    (version "0.15")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://elpa.gnu.org/packages/xelb-"
                                   version ".tar"))
               (sha256
                (base32
-                "09flnbjy9ck784kprz036rwg9qk45hpv0w5hz3pz3zhwyk57fv74"))))
+                "031rvgprsqhf344p9wsczr50vj2qcpwdmhxi80jdbrsm7wyxf3qz"))))
     (build-system emacs-build-system)
     ;; The following functions and variables needed by emacs-xelb are
     ;; not included in emacs-minimal:
@@ -6268,7 +6274,7 @@ It should enable you to implement low-level X11 applications.")
 (define-public emacs-exwm
   (package
     (name "emacs-exwm")
-    (version "0.18")
+    (version "0.19")
     (synopsis "Emacs X window manager")
     (source (origin
               (method url-fetch)
@@ -6276,7 +6282,7 @@ It should enable you to implement low-level X11 applications.")
                                   version ".tar"))
               (sha256
                (base32
-                "1shz5bf4v4gg3arjaaldics5qkg3aiiaf3ngys8lb6qyxhcpvh6q"))))
+                "11xd2w4h3zdwkdxypvmcz8s7q72cn76lfr9js77jbizyj6b04lr0"))))
     (build-system emacs-build-system)
     (propagated-inputs
      `(("emacs-xelb" ,emacs-xelb)))
@@ -7356,10 +7362,10 @@ messaging service.")
                  ("bash-completion-prog" (string-append bash "/bin/bash"))))
              #t)))))
    (home-page "https://github.com/szermatt/emacs-bash-completion")
-   (synopsis "BASH completion for the shell buffer")
+   (synopsis "Bash completion for the shell buffer")
    (description
     "@code{bash-completion} defines dynamic completion hooks for shell-mode
-and shell-command prompts that are based on bash completion.")
+and shell-command prompts that are based on Bash completion.")
    (license license:gpl2+)))
 
 (define-public emacs-easy-kill
@@ -8819,23 +8825,33 @@ navigate and display hierarchy structures.")
       (license license:gpl3+))))
 
 (define-public emacs-pulseaudio-control
-  (let ((commit "08c59e1dc45ec96edb62f34036e82cf5f14c0e8b")
-        (revision "1"))
+  (let ((commit "1da372ec79f5d2fb901d1f9f0679fee8848fd011")
+        (revision "2"))
     (package
       (name "emacs-pulseaudio-control")
-      (version (string-append "0.0.1" "-" revision "."
-                              (string-take commit 7)))
+      (version (git-version "0.0.1" revision commit))
       (source
        (origin
          (method git-fetch)
          (uri (git-reference
                (url "https://github.com/flexibeast/pulseaudio-control.git")
                (commit commit)))
-         (file-name (string-append name "-" version "-checkout"))
+         (file-name (git-file-name name version))
          (sha256
           (base32
-           "10cgg1r00kz2fsnnryvzay5pf8s1pwb1dzlds1fbjdnyfvdgammv"))))
+           "02xrsms2pjqdk6327midi61i5vg2h9cq5jwaxv43ldm68wl7hi6k"))))
       (build-system emacs-build-system)
+      (arguments
+       '(#:phases (modify-phases %standard-phases
+                    (add-after 'unpack 'patch-file-name
+                      (lambda* (#:key inputs #:allow-other-keys)
+                        (let ((pulseaudio (assoc-ref inputs "pulseaudio")))
+                          (chmod "pulseaudio-control.el" #o600)
+                          (emacs-substitute-variables "pulseaudio-control.el"
+                            ("pulseaudio-control-pactl-path"
+                             (string-append pulseaudio "/bin/pactl")))
+                          #t))))))
+      (inputs `(("pulseaudio" ,pulseaudio)))
       (home-page "https://github.com/flexibeast/pulseaudio-control")
       (synopsis "Control @code{pulseaudio} from Emacs")
       (description
@@ -10218,10 +10234,10 @@ keep Parens and Indentation inline with one another.")
     (license license:gpl3+)))
 
 (define-public emacs-helm-eww
-  (let ((commit "5d6c2c66d4694415ef8a16a6d38a37aeae76c5ac"))
+  (let ((commit "1a09f11b2376dec8237df40140f056be8a256ef0"))
     (package
       (name "emacs-helm-eww")
-      (version (git-version "0.1" "1" commit))
+      (version (git-version "0.1" "2" commit))
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
@@ -10230,7 +10246,7 @@ keep Parens and Indentation inline with one another.")
                 (file-name (string-append name "-" version "-checkout"))
                 (sha256
                  (base32
-                  "1x442ylrr7cx587s4rvfh187h3qbkr79qp95qr57a4igxkkw6183"))))
+                  "1kqdjhz2xiqw3bxjhfl9namhqrkbc2x70gcv6ljljya5hbkm62sm"))))
       (propagated-inputs
        `(("emacs-helm" ,emacs-helm)))
       (build-system emacs-build-system)
@@ -11083,10 +11099,10 @@ from @code{emms-source-file-default-directory}.")
       (license license:gpl3+))))
 
 (define-public emacs-helm-exwm
-  (let ((commit "82a856c80c8d295e3be522a01c5a15af50d08990"))
+  (let ((commit "56266f261ba3b3d2753b374b50da20eb768c06f5"))
     (package
       (name "emacs-helm-exwm")
-      (version (git-version "20180523" "1" commit))
+      (version (git-version "20180703" "2" commit))
       (source
        (origin
          (method url-fetch)
@@ -11096,7 +11112,7 @@ from @code{emms-source-file-default-directory}.")
                ".tar.gz"))
          (sha256
           (base32
-           "1xsg2lar1vh7jmj5lnnyi14vssxkgy95sv9r8pbfhbnkjkbjm9pb"))))
+           "0n7hdiajw5vxl8ha2r9r4cl4i7crza25348825wb6acwhhzijxcj"))))
       (build-system emacs-build-system)
       (propagated-inputs
        `(("emacs-helm" ,emacs-helm)
@@ -11304,37 +11320,14 @@ file.")
       (license license:gpl3+))))
 
 (define-public emacs-wgrep-helm
-  (let ((commit "1cdd7c136f1e7565bb13d2df69be3dc77b83698d"))
-    (package
-      (name "emacs-wgrep-helm")
-      (version (git-version "2.1.10" "1" commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/mhayashi1120/Emacs-wgrep")
-               (commit commit)))
-         (file-name (string-append name "-" version "-checkout"))
-         (sha256
-          (base32
-           "057p99hq0r6z1k8sl15w3sxrqvlv0g9wp39zy1pqhccv2mn3g2d6"))))
-      (build-system emacs-build-system)
-      (propagated-inputs
-       `(("emacs-wgrep" ,emacs-wgrep)))
-      (home-page
-       "https://github.com/mhayashi1120/Emacs-wgrep")
-      (synopsis
-       "Writable helm-grep-mode buffer and apply the changes to files")
-      (description
-       "@code{wgrep-helm} allows you to edit a @code{helm-grep-mode} buffer and
-apply those changes to the file buffer.")
-      (license license:gpl3+))))
+  ;; `emacs-wgrep-helm' was mistakenly added.
+  (deprecated-package "emacs-wgrep-helm" emacs-wgrep))
 
 (define-public emacs-mu4e-conversation
-  (let ((commit "b60d6bd27d7220c3dd041ff2a090e29f2166a319"))
+  (let ((commit "223cc66e99c7665326e3d991d6d383cb0d7512bb"))
     (package
       (name "emacs-mu4e-conversation")
-      (version (git-version "20180615" "1" commit))
+      (version (git-version "20180722" "2" commit))
       (source
        (origin
          (method url-fetch)
@@ -11345,7 +11338,7 @@ apply those changes to the file buffer.")
          (file-name (string-append name "-" version "-checkout"))
          (sha256
           (base32
-           "0x8kmi0rmbaaxn5zicm1f9yb8ynxi8074hi2n0rvymlfpxbpn0ma"))))
+           "1ivy7pihhma465hi25p1y45dyi8h52nsm2m0cvizj5sw36jw0n81"))))
       (build-system emacs-build-system)
       (propagated-inputs
        `(("mu" ,mu)))
@@ -11463,3 +11456,158 @@ can do different things depending on the context.  In this package, it means
 that, if the cursor is in a currently hidden folded construction, we want to
 show it; if it's not, we want to hide whatever fold the cursor is in.")
       (license license:gpl2+))))
+
+(define-public emacs-markup-faces
+  (package
+    (name "emacs-markup-faces")
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://stable.melpa.org/packages/markup-faces-"
+                           version ".el"))
+       (sha256
+        (base32
+         "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/sensorflo/markup-faces")
+    (synopsis "Collection of Emacs faces for markup language modes")
+    (description "emacs-markup-faces is like font-lock-faces, but tailored for
+markup languages instead programming languages.  The sub group markup-faces-text
+is also intended for 'text viewing modes' such as info or (wo)man.  This gives a
+common look and feel, or let's say theme, across different markup language modes
+and 'text viewing modes' respectively.")
+    (license license:gpl3+)))
+
+(define-public emacs-adoc-mode
+  (package
+    (name "emacs-adoc-mode")
+    (version "0.6.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://stable.melpa.org/packages/adoc-mode-"
+                           version ".el"))
+       (sha256
+        (base32
+         "1c6hrgxxsnl2c19rgjykpm7r4xg9lp6bmk5z6bi7g8pqlrgwffcy"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-markup-faces" ,emacs-markup-faces)))
+    (home-page "https://github.com/sensorflo/adoc-mode/wiki")
+    (synopsis "AsciiDoc mode for Emacs")
+    (description "This package provides an Emacs major mode for editing AsciiDoc
+files.  It focuses on highlighting the document to improve readability.")
+    (license license:gpl2+)))
+
+(define-public emacs-rust-mode
+  (let ((commit
+         ;; Last release is old (2016), use more recent commit to get bug
+         ;; fixes.
+         "64b4a2450e4d4c47f6307851c9b2598cd2254d68")
+        (revision "0"))
+    (package
+      (name "emacs-rust-mode")
+      (version (git-version "0.3.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri
+                 (git-reference
+                  (url "https://github.com/rust-lang/rust-mode")
+                  (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0pbz36lljgb7bdgx3h3g0pq1nss1kvn8mhk1l3mknsmynd6w4nd8"))))
+      (build-system emacs-build-system)
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (replace 'check
+             (lambda _
+               (invoke "sh" "run_rust_emacs_tests.sh"))))))
+      (home-page "https://github.com/rust-lang/rust-mode")
+      (synopsis "Major Emacs mode for editing Rust source code")
+      (description "This package provides a major Emacs mode for editing Rust
+source code.")
+      (license (list license:expat
+                     license:asl2.0)))))
+
+(define-public emacs-ztree
+  (let ((commit "c54425a094353ec40a8179f9eab3596f76c6cf94"))
+    (package
+      (name "emacs-ztree")
+      (version (git-version "1.0.5" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/fourier/ztree")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0j8fpxds8m1zi04nrs8vv21091abvh4n8ab76f1sgdxnp4l5cfb0"))))
+      (build-system emacs-build-system)
+      (home-page "https://github.com/fourier/ztree")
+      (synopsis "Directory tree comparison mode for Emacs")
+      (description "Ztree is a project dedicated to implementation of several
+text-tree applications inside GNU Emacs.  It consists of 2 subprojects:
+@command{ztree-diff} and @command{ztree-dir} (the basis of
+@command{ztree-diff}).")
+      (license license:gpl3))))
+
+(define-public emacs-helm-org-contacts
+  (let ((commit "0af703bd9a43032b89fdf5559673151d1ac2fffc"))
+    (package
+      (name "emacs-helm-org-contacts")
+      (version (git-version "20180707" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/tmalsburg/helm-org-contacts")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1cl7cm2ic9pg4vc9cdh84vzjj1x2lpd5ymimiva8h4l17kiphk4s"))))
+      (build-system emacs-build-system)
+      (propagated-inputs
+       `(("emacs-dash" ,emacs-dash)
+         ("emacs-helm" ,emacs-helm)
+         ("emacs-s" ,emacs-s)))
+      (home-page "https://github.com/tmalsburg/helm-org-contacts")
+      (synopsis "Helm source for org-contacts")
+      (description "This Helm source can be used to search contacts stored in
+org-contacts format.  There are actions for inserting postal addresses, email
+addresses, and phone numbers in the buffer where @command{helm-org-contacts}
+was called.")
+      (license license:gpl3))))
+
+(define-public emacs-dired-du
+  (package
+    (name "emacs-dired-du")
+    (version "0.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://elpa.gnu.org/packages/dired-du-"
+             version ".tar"))
+       (sha256
+        (base32
+         "09yj37p2fa5f81fqrzwghjkyy2ydsf4rbkfwpn2yyvzd5nd97bpl"))))
+    (build-system emacs-build-system)
+    (home-page "http://elpa.gnu.org/packages/dired-du.html")
+    (synopsis "Dired with recursive directory sizes")
+    (description
+     "Display the recursive size of directories in Dired.
+This file defines a minor mode @command{dired-du-mode} to show the recursive
+size of directories in Dired buffers.  If @command{du} program is available,
+then the directory sizes are obtained with it.  Otherwise, the directory sizes
+are obtained with Lisp.  The former is faster and provide a more precise
+value.  For directories where the user doesn't have read permission, the
+recursive size is not obtained.  Once this mode is enabled, every new Dired
+buffer displays recursive dir sizes.")
+    (license license:gpl3+)))