summaryrefslogtreecommitdiff
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+)))