diff options
Diffstat (limited to 'gnu/packages/emacs.scm')
-rw-r--r-- | gnu/packages/emacs.scm | 288 |
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+))) |