aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/emacs.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/emacs.scm')
-rw-r--r--gnu/packages/emacs.scm931
1 files changed, 697 insertions, 234 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index e90660a236..349ae0d20c 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -108,6 +108,7 @@
#:use-module (gnu packages password-utils)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages shells)
+ #:use-module (gnu packages gnupg)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match))
@@ -312,12 +313,12 @@ editor (without an X toolkit)" )
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'autogen
- (lambda _
- (zero? (system* "sh" "autogen.sh"))))
+ (lambda _
+ (invoke "sh" "autogen.sh")))
;; Build sometimes fails: deps/dispnew.d: No such file or directory
(add-before 'build 'make-deps-dir
(lambda _
- (zero? (system* "mkdir" "-p" "src/deps"))))))))))
+ (invoke "mkdir" "-p" "src/deps")))))))))
;;;
@@ -411,7 +412,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
(define-public emacs-with-editor
(package
(name "emacs-with-editor")
- (version "2.7.2")
+ (version "2.7.3")
(source (origin
(method url-fetch)
(uri (string-append
@@ -420,7 +421,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1jqi3axcs0cb1pcv1jxxc2a09v6psrm33wwl6hmyshzl8kbxs2mv"))))
+ "1ln2s0kckzkv50qmr6x1kb2j30cfjii0vs6lpghg7ff4lav8jqgh"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)))
@@ -436,7 +437,7 @@ on stdout instead of using a socket as the Emacsclient does.")
(define-public magit
(package
(name "magit")
- (version "2.12.1")
+ (version "2.13.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -444,7 +445,7 @@ on stdout instead of using a socket as the Emacsclient does.")
version "/" name "-" version ".tar.gz"))
(sha256
(base32
- "1czzknmhzbggcv3bxl5amvfpp0zrkdwl1x05qarsq6qakvc85xy3"))))
+ "1ygaah3dd3nxpyd17297xgvdcgr7pgzzwlmpnmchki0kiwgg3sbc"))))
(build-system gnu-build-system)
(native-inputs `(("texinfo" ,texinfo)
("emacs" ,emacs-minimal)))
@@ -585,7 +586,7 @@ support for Git-SVN.")
(modify-phases %standard-phases
(add-before 'install 'make-info
(lambda _
- (zero? (system* "make" "info")))))))
+ (invoke "make" "info"))))))
(native-inputs
`(("texinfo" ,texinfo)))
(propagated-inputs
@@ -602,7 +603,7 @@ process, passing on the arguments as command line arguments.")
(define-public emacs-ghub
(package
(name "emacs-ghub")
- (version "2.0.0")
+ (version "2.0.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -611,14 +612,14 @@ process, passing on the arguments as command line arguments.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1zrb3xk04a228g2ahx0r02d0d3xskj60q73qavvmm2i56r66cxvc"))))
+ "0d0qj5r1bm2aidi61rigrdaycxnyb7y1ivb3h8rpvvapsf8sk7z0"))))
(build-system emacs-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'install 'make-info
(lambda _
- (zero? (system* "make" "info")))))))
+ (invoke "make" "info"))))))
(native-inputs
`(("texinfo" ,texinfo)))
(home-page "https://github.com/magit/ghub")
@@ -702,8 +703,7 @@ only a handful of functions that are not resource-specific.")
files))
(with-directory-excursion "doc"
- (unless (zero? (system* "makeinfo" "haskell-mode.texi"))
- (error "makeinfo failed"))
+ (invoke "makeinfo" "haskell-mode.texi")
(install-file "haskell-mode.info" info))
(copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
(copy-to-dir el-dir (find-files "." "\\.elc?"))
@@ -794,7 +794,7 @@ provides an optional IDE-like error list.")
(modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _
- (zero? (system* "autoconf"))))
+ (invoke "autoconf")))
(add-before 'configure 'support-emacs!
(lambda _
;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
@@ -825,13 +825,13 @@ provides an optional IDE-like error list.")
#t)))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
- (and (zero? (system* "make" "install" "install-icons"))
- (with-directory-excursion
- (string-append (assoc-ref outputs "out")
- "/share/emacs/site-lisp")
- (for-each delete-file '("ChangeLog" "ChangeLog.1"))
- (symlink "w3m-load.el" "w3m-autoloads.el")
- #t)))))))
+ (invoke "make" "install" "install-icons")
+ (with-directory-excursion
+ (string-append (assoc-ref outputs "out")
+ "/share/emacs/site-lisp")
+ (for-each delete-file '("ChangeLog" "ChangeLog.1"))
+ (symlink "w3m-load.el" "w3m-autoloads.el")
+ #t))))))
(home-page "http://emacs-w3m.namazu.org/")
(synopsis "Simple Web browser for Emacs based on w3m")
(description
@@ -937,7 +937,8 @@ provides an optional IDE-like error list.")
(vorbis (assoc-ref inputs "vorbis-tools"))
(alsa (assoc-ref inputs "alsa-utils"))
(mpg321 (assoc-ref inputs "mpg321"))
- (mp3info (assoc-ref inputs "mp3info")))
+ (mp3info (assoc-ref inputs "mp3info"))
+ (opus (assoc-ref inputs "opus-tools")))
;; Specify the installation directory.
(substitute* "Makefile"
(("PREFIX=.*$")
@@ -962,6 +963,9 @@ provides an optional IDE-like error list.")
(emacs-substitute-variables "emms-info-ogginfo.el"
("emms-info-ogginfo-program-name"
(string-append vorbis "/bin/ogginfo")))
+ (emacs-substitute-variables "emms-info-opusinfo.el"
+ ("emms-info-opusinfo-program-name"
+ (string-append opus "/bin/opusinfo")))
(emacs-substitute-variables "emms-info-libtag.el"
("emms-info-libtag-program-name"
(string-append out "/bin/emms-print-metadata")))
@@ -1010,7 +1014,8 @@ provides an optional IDE-like error list.")
("vorbis-tools" ,vorbis-tools)
("mpg321" ,mpg321)
("taglib" ,taglib)
- ("mp3info" ,mp3info)))
+ ("mp3info" ,mp3info)
+ ("opus-tools" ,opus-tools)))
(properties '((upstream-name . "emms")))
(synopsis "Emacs Multimedia System")
(description
@@ -1023,27 +1028,8 @@ light user interface.")
(license license:gpl3+)))
(define-public emacs-emms-player-mpv
- (package
- (name "emacs-emms-player-mpv")
- (version "0.1.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://github.com/dochang/emms-player-mpv/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "05qwbagc4i7yn7i94r1hdgj6wc5xijy1pxqv08pwsmli9rqj51n9"))))
- (build-system emacs-build-system)
- (propagated-inputs
- `(("emms" ,emms)))
- (home-page "https://github.com/dochang/emms-player-mpv/")
- (synopsis "Mpv support for EMMS")
- (description
- "This package provides an EMMS player that uses mpv. It supports pause
-and seeking.")
- (license license:gpl3+)))
+ ;; A new mpv backend is included in Emms from 5.0.
+ (deprecated-package "emacs-emms-player-mpv" emms))
(define-public emacs-emms-mode-line-cycle
(package
@@ -1154,7 +1140,7 @@ than @code{electric-indent-mode}.")
(add-before 'install 'make-info
(lambda _
(with-directory-excursion "docs"
- (zero? (system* "make" "info")))))
+ (invoke "make" "info"))))
(add-after 'install 'install-info
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -1430,11 +1416,11 @@ Maps directly inside Emacs.")
(license license:gpl3+)))
(define-public emacs-graphviz-dot-mode
- (let ((commit "fdaabbcc95d9156e3dadc84f81a4750c5b692580")
+ (let ((commit "c456a2b65c734089e6c44e87209a5a432a741b1a")
(revision "1"))
(package
(name "emacs-graphviz-dot-mode")
- (version (string-append "0.3.10-" revision "."
+ (version (string-append "0.3.11-" revision "."
(string-take commit 7)))
(source (origin
(method git-fetch)
@@ -1444,7 +1430,7 @@ Maps directly inside Emacs.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "1s1qh5r0xp6hs0rl5yz5mkmjhpg04bh449c7vgjbb1pjsl1dl714"))))
+ "0j1r2rspaakw37b0mx7pwpvdsvixq9sw3xjbww5piihzpdxz58z1"))))
(build-system emacs-build-system)
(arguments
`(#:phases
@@ -1455,13 +1441,12 @@ Maps directly inside Emacs.")
(substitute* "Makefile"
(("\\/usr\\/bin\\/gzip")
(string-append (assoc-ref inputs "gzip") "/bin/gzip")))
- (zero?
- (system* "make"
- "clean"
- "info"
- (string-append "TEXINFODIR="
- (assoc-ref inputs "texinfo")
- "/bin"))))))
+ (invoke "make"
+ "clean"
+ "info"
+ (string-append "TEXINFODIR="
+ (assoc-ref inputs "texinfo")
+ "/bin")))))
(add-after 'install 'install-info
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -1499,7 +1484,7 @@ diagrams.")
(modify-phases %standard-phases
(add-after 'unpack 'autogen
(lambda _
- (zero? (system* "sh" "autogen.sh")))))))
+ (invoke "sh" "autogen.sh"))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@@ -1564,7 +1549,7 @@ filters, new key bindings and faces. It can be enabled by
(lambda _ (chdir "server") #t))
(add-after 'enter-server-dir 'autogen
(lambda _
- (zero? (system* "bash" "autogen.sh"))))
+ (invoke "bash" "autogen.sh")))
;; Build emacs side using 'emacs-build-system'.
(add-after 'compress-documentation 'enter-lisp-dir
@@ -1656,15 +1641,14 @@ type, for example: packages, buffers, files, etc.")
(define-public emacs-guix
(package
(name "emacs-guix")
- (version "0.4")
+ (version "0.4.1.1")
(source (origin
(method url-fetch)
- (uri (string-append "https://github.com/alezost/guix.el"
- "/releases/download/v" version
- "/emacs-guix-" version ".tar.gz"))
+ (uri (string-append "https://emacs-guix.gitlab.io/website/"
+ "releases/emacs-guix-" version ".tar.gz"))
(sha256
(base32
- "1nn4b0gd895g0k4fynzrip7z8yb1r3qmvznq9v8a6q7sm84irmqq"))))
+ "0jbnrcazbks7h50rngpw5l40a6vn2794kb53cpva3yzdjmrc1955"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -1715,7 +1699,7 @@ type, for example: packages, buffers, files, etc.")
("bui" ,emacs-bui)
("edit-indirect" ,emacs-edit-indirect)
("magit-popup" ,emacs-magit-popup)))
- (home-page "https://alezost.github.io/guix.el/")
+ (home-page "https://emacs-guix.gitlab.io/website/")
(synopsis "Emacs interface for GNU Guix")
(description
"Emacs-Guix provides a visual interface, tools and features for the GNU
@@ -1727,7 +1711,7 @@ management tasks from Emacs. To begin with, run @code{M-x guix-about} or
(define-public emacs-d-mode
(package
(name "emacs-d-mode")
- (version "2.0.8")
+ (version "2.0.9")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1736,7 +1720,7 @@ management tasks from Emacs. To begin with, run @code{M-x guix-about} or
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0knpgi55jm09282aqf8pv55zillpnpzf9f4sgm6gwsmvxf17xaw0"))))
+ "127aa77ix3p7w4g339bx026df9y649dahlr3v359z0hs40zjz3kd"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-undercover" ,emacs-undercover)))
@@ -2662,7 +2646,7 @@ build jobs.")
(define-public emacs-company
(package
(name "emacs-company")
- (version "0.9.3")
+ (version "0.9.6")
(source
(origin
(method url-fetch)
@@ -2671,7 +2655,7 @@ build jobs.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1fyrpchpdmvszssy1qmsw41aqpv6q5rybvs1bw00nv9xdhiaq4vh"))))
+ "0a7zvmfvxh9w67myvcj2511ayk0fvkm06cdg38y8khnsx63jrr4k"))))
(build-system emacs-build-system)
(arguments
`(#:phases
@@ -2971,8 +2955,8 @@ in @code{html-mode}.")
(substitute* "Makefile"
(("infodir=/usr/local/info")
(string-append "infodir=" info-dir)))
- (system* "make" "html/index.html")
- (system* "make" "slime.info")
+ (invoke "make" "html/index.html")
+ (invoke "make" "slime.info")
(install-file "slime.info" info-dir)
(copy-recursively "html" (string-append doc-dir "/html")))
(for-each (lambda (f)
@@ -3014,6 +2998,33 @@ This provides a basic API and common UI widgets such as popup tooltips
and popup menus.")
(license license:gpl3+)))
+(define-public emacs-puppet-mode
+ (let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2")
+ (revision "1"))
+ (package
+ (name "emacs-puppet-mode")
+ ;; The last release, 0.3 was several years ago, and there have been many
+ ;; commits since
+ (version (git-version "0.3" revision commit))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://raw.githubusercontent.com/voxpupuli/puppet-mode/"
+ commit "/puppet-mode.el"))
+ (sha256
+ (base32
+ "1indycxawsl0p2aqqg754f6735q3cmah9vd886rpn0ncc3ipi1xm"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/voxpupuli/puppet-mode")
+ (synopsis "Emacs major mode for the Puppet configuration language")
+ (description
+ "This package provides support for the Puppet configuration language,
+including syntax highlighting, indentation of expressions and statements,
+linting of manifests and integration with Puppet Debugger.")
+ ;; Also incorporates work covered by the Apache License, Version 2.0
+ (license license:gpl3+))))
+
(define-public emacs-god-mode
(let ((commit "6cf0807b6555eb6fcf8387a4e3b667071ef38964")
(revision "1"))
@@ -3625,9 +3636,9 @@ automatically.")
(let* ((out (assoc-ref outputs "out"))
(info (string-append out "/share/info")))
(with-directory-excursion "doc"
- (unless (zero? (system* "makeinfo" "ivy.texi"))
- (error "makeinfo failed"))
- (install-file "ivy.info" info))))))))
+ (invoke "makeinfo" "ivy.texi")
+ (install-file "ivy.info" info)
+ #t)))))))
(propagated-inputs
`(("emacs-hydra" ,emacs-hydra)))
(native-inputs
@@ -3643,6 +3654,35 @@ splitting the input text by spaces and re-building it into a regular
expression.")
(license license:gpl3+)))
+(define-public emacs-ivy-yasnippet
+ (let ((commit "59b32cf8cfb63df906822a17f6f5e8545dac38d4"))
+ (package
+ (name "emacs-ivy-yasnippet")
+ (version (git-version "0.1" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mkcms/ivy-yasnippet.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0hghdlxkfwrglvc1nql2ikgp6jj0qdbfwc3yvpb19mrf26hwgp13"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-ivy" ,emacs-ivy)
+ ("emacs-yasnippet" ,emacs-yasnippet)
+ ("emacs-dash" ,emacs-dash)))
+ (home-page "https://github.com/mkcms/ivy-yasnippet")
+ (synopsis "Preview @code{yasnippets} with @code{ivy}")
+ (description "This package allows you to select @code{yasnippet}
+snippets using @code{ivy} completion. When current selection changes in the
+minibuffer, the snippet contents are temporarily expanded in the buffer. To
+use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
+@code{yas-minor-mode} first).")
+ (license license:gpl3+))))
+
(define-public emacs-avy
(package
(name "emacs-avy")
@@ -4050,14 +4090,15 @@ programming language.")
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "Makeconf"
(("SHELL = /bin/sh")
- (string-append "SHELL = " (which "sh"))))))
+ (string-append "SHELL = " (which "sh"))))
+ #t))
;; FIXME: the texlive-union insists on regenerating fonts. It stores
;; them in HOME, so it needs to be writeable.
(add-before 'build 'set-HOME
(lambda _ (setenv "HOME" "/tmp") #t))
(replace 'check
(lambda _
- (zero? (system* "make" "test"))))))))
+ (invoke "make" "test")))))))
(inputs
`(("emacs" ,emacs-minimal)
("r-minimal" ,r-minimal)))
@@ -4395,7 +4436,7 @@ indentation command behavior very similar to that of python-mode.")
(define-public emacs-web-mode
(package
(name "emacs-web-mode")
- (version "14")
+ (version "16")
(source (origin
(method url-fetch)
(uri (string-append "https://raw.githubusercontent.com/fxbois"
@@ -4403,7 +4444,7 @@ indentation command behavior very similar to that of python-mode.")
(file-name (string-append "web-mode-" version ".el"))
(sha256
(base32
- "086hik5fmxg3kx74qmransx9cz961qd22d4m6ah2dw6cwaj1s3s5"))))
+ "1hs5w7kdvcyn4ihyw1kfjg48djn5p7lz4rlbhzzdqv1g56xqx3gw"))))
(build-system emacs-build-system)
(synopsis "Major mode for editing web templates")
(description "Web-mode is an Emacs major mode for editing web templates
@@ -4439,7 +4480,7 @@ the file buffer.")
(define-public emacs-helm
(package
(name "emacs-helm")
- (version "2.9.0")
+ (version "2.9.6")
(source (origin
(method url-fetch)
(uri (string-append
@@ -4448,7 +4489,7 @@ the file buffer.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1798gn0za11cxdbi436javfczv4abniccxcl0jppl463r8lzb8is"))))
+ "1f7m09i8gr0gk5nw5dn7rpdz20dg3hl4p77dpygkhl82yhk9q2ql"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-async" ,emacs-async)
@@ -4671,36 +4712,38 @@ news items, openrc and runscripts.")
(license license:gpl2+)))
(define-public emacs-evil
- (package
- (name "emacs-evil")
- (version "1.2.13")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://github.com/emacs-evil/evil/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1z63zsxmsc6mh74wv6065carwqmgs7b7lz5044s12xvgsjfbwi8h"))))
- (build-system emacs-build-system)
- (propagated-inputs
- `(("emacs-undo-tree" ,emacs-undo-tree)
- ("emacs-goto-chg" ,emacs-goto-chg)))
- (home-page "https://github.com/emacs-evil/evil")
- (synopsis "Extensible Vi layer for Emacs")
- (description
- "Evil is an extensible vi layer for Emacs. It emulates the
+ (let ((commit "230b87212c81aaa68ef5547a6b998d9c365fe139"))
+ (package
+ (name "emacs-evil")
+ (version (git-version "1.2.13" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/emacs-evil/evil")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0c9zy3bpck10gcrv79kd3h7i4ygd5bgbgy773n0lg7a2r5kwn1gx"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-undo-tree" ,emacs-undo-tree)
+ ("emacs-goto-chg" ,emacs-goto-chg)))
+ (home-page "https://github.com/emacs-evil/evil")
+ (synopsis "Extensible Vi layer for Emacs")
+ (description
+ "Evil is an extensible vi layer for Emacs. It emulates the
main features of Vim, and provides facilities for writing custom
extensions.")
- (license license:gpl3+)))
+ (license license:gpl3+))))
(define-public emacs-evil-collection
- (let ((commit "f40704a57fd33b4bfad64147a2b771fc8961fdfc")
+ (let ((commit "ac21b8957cfc22485cdaa316384edf9cb220d837")
(revision "1"))
(package
(name "emacs-evil-collection")
- (version (git-version "20180425" revision commit))
+ (version (git-version "20180617" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
@@ -4709,7 +4752,7 @@ extensions.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "0qn19k0f3isnbi1hkmcf3qjxbyvp23m5ak5ny7623qgwb2nwz1l5"))))
+ "082a3c5c2ls9ryqrl5kzb4z6bcprhqx8pypnlj1razbld3lny934"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-evil" ,emacs-evil)))
@@ -4768,7 +4811,7 @@ distribution, primarily targeting Clojure users")
(define-public emacs-orgalist
(package
(name "emacs-orgalist")
- (version "1.7")
+ (version "1.8")
(source
(origin
(method url-fetch)
@@ -4776,7 +4819,7 @@ distribution, primarily targeting Clojure users")
"orgalist-" version ".el"))
(sha256
(base32
- "13dl0l727vlny3y88gqpngcy90ly5r719s1pbmkva5gmcryb68xr"))))
+ "1wqwnmn08i0qkxm8b2iclvf6cydcn68h1p3h7r1kig2bdn5b8948"))))
(build-system emacs-build-system)
(home-page "http://elpa.gnu.org/packages/orgalist.html")
(synopsis "Manage Org-like lists in non-Org buffers")
@@ -5410,8 +5453,8 @@ Yasnippet.")
(license license:gpl2+))))
(define-public emacs-helm-system-packages
- (let ((commit "986b7bd360a705053500c4ce2c9bea03dd7b24a6")
- (revision "1"))
+ (let ((commit "b41f8f251695cf236e9d1627070049a5b41aa38a")
+ (revision "2"))
(package
(name "emacs-helm-system-packages")
(version (git-version "1.9.0" revision commit))
@@ -5423,7 +5466,7 @@ Yasnippet.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "19iklhpxgh5xx6h4dysf58nd46lmyb46xj601lf7kbwl6yq0y61f"))))
+ "1wrsx1j86c9a74nsdndjv21slzl46idd3p6wqy5wnasawj0kfn8r"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-helm" ,emacs-helm)))
@@ -5580,7 +5623,7 @@ highlights quasi-quoted expressions.")
(define-public emacspeak
(package
(name "emacspeak")
- (version "47.0")
+ (version "48.0")
(source
(origin
(method url-fetch)
@@ -5589,7 +5632,7 @@ highlights quasi-quoted expressions.")
version "/emacspeak-" version ".tar.bz2"))
(sha256
(base32
- "0xbcc266x752y68s3g096m161irzvsqym3axzqn8rb276a8x55n7"))))
+ "07imi3hji06b3r7v7v59978q76s8a7ynmxwfc9j03pgnv965lpjy"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list (string-append "prefix="
@@ -5597,30 +5640,35 @@ highlights quasi-quoted expressions.")
#:phases
(modify-phases %standard-phases
(replace 'configure
- (lambda _
- ;; Configure Emacspeak according to etc/install.org.
- (setenv "SHELL" (which "sh"))
- (zero? (system* "make" "config"))))
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (lisp (string-append out
+ "/share/emacs/site-lisp/emacspeak")))
+ (setenv "SHELL" (which "sh"))
+ ;; Configure Emacspeak according to etc/install.org.
+ (invoke "make" "config"))))
(add-after 'build 'build-espeak
(lambda _
- (zero? (system* "make" "espeak"))))
+ (invoke "make" "espeak")))
(replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
+ (lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
- (info (string-append out "/share/info")))
+ (info (string-append out "/share/info"))
+ (emacs (string-append (assoc-ref inputs "emacs")
+ "/bin/emacs")))
;; According to etc/install.org, the Emacspeak directory should
;; be copied to its installation destination.
(for-each
(lambda (file)
(copy-recursively file (string-append lisp "/" file)))
- '("etc" "info" "lisp" "media" "servers" "sounds" "stumpwm"
- "xsl"))
+ '("etc" "info" "js" "lisp" "media" "scapes" "servers" "sounds"
+ "stumpwm" "xsl"))
;; Make sure emacspeak is loaded from the correct directory.
(substitute* "etc/emacspeak.sh"
- (("exec emacs.*$")
- (string-append "exec emacs -l " lisp
+ (("exec FLAVOR.*")
+ (string-append "exec " emacs " -l " lisp
"/lisp/emacspeak-setup.el $CL_ALL")))
;; Install the convenient startup script.
(mkdir-p bin)
@@ -5639,10 +5687,11 @@ highlights quasi-quoted expressions.")
#t))))
#:tests? #f)) ; no check target
(inputs
- `(("espeak" ,espeak)
+ `(("emacs" ,emacs)
+ ("espeak" ,espeak)
+ ("perl" ,perl)
("tcl" ,tcl)
("tclx" ,tclx)))
- (native-inputs `(("emacs" ,emacs-minimal)))
(home-page "http://emacspeak.sourceforge.net")
(synopsis "Audio desktop interface for Emacs")
(description
@@ -5804,7 +5853,7 @@ source file, @file{jl-encrypt.el}.")
(define-public emacs-htmlize
(package
(name "emacs-htmlize")
- (version "1.51")
+ (version "1.53")
(source
(origin
(method url-fetch)
@@ -5814,7 +5863,7 @@ source file, @file{jl-encrypt.el}.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1fy1lybzrxl8a8r88f6p19nz8ygmvcxhxbnymkxh7jqaz25viwld"))))
+ "1lzaf9m1qr9dhw4nn53g6wszk2vqw95gpsbrc3y85bams4cn24ga"))))
(build-system emacs-build-system)
(home-page "https://github.com/hniksic/emacs-htmlize")
(synopsis "Convert buffer text and decorations to HTML")
@@ -6087,13 +6136,13 @@ which code derived from Kelvin H's org-page.")
(modify-phases %standard-phases
(add-after 'unpack 'regenerate-el-files
(lambda* (#:key inputs #:allow-other-keys)
- (zero? (system* "make"
- (string-append "PROTO_PATH="
- (assoc-ref inputs "xcb-proto")
- "/share/xcb")
- (string-append "EMACS_BIN="
- (assoc-ref inputs "emacs")
- "/bin/emacs -Q"))))))))
+ (invoke "make"
+ (string-append "PROTO_PATH="
+ (assoc-ref inputs "xcb-proto")
+ "/share/xcb")
+ (string-append "EMACS_BIN="
+ (assoc-ref inputs "emacs")
+ "/bin/emacs -Q")))))))
(native-inputs `(("xcb-proto" ,xcb-proto)))
(home-page "https://github.com/ch11ng/xelb")
(synopsis "X protocol Emacs Lisp binding")
@@ -7175,7 +7224,7 @@ messaging service.")
(define-public emacs-bash-completion
(package
(name "emacs-bash-completion")
- (version "2.0.0")
+ (version "2.1.0")
(source
(origin
(method url-fetch)
@@ -7185,7 +7234,7 @@ messaging service.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0mkci4a1fy8z4cmry8mx5vsx4f16a8r454slnh7lqzidnhfi63hj"))))
+ "1z0qck3v3ra6ivacn8n04w1v33a4xn01xx860761q31qzsv3sksq"))))
(inputs `(("bash" ,bash)))
(build-system emacs-build-system)
(arguments
@@ -7888,7 +7937,7 @@ close, copy, cut, paste, undo, redo.")
(define-public emacs-password-store
(package
(name "emacs-password-store")
- (version "1.7.1")
+ (version "1.7.2")
(source (origin
(method url-fetch)
(uri
@@ -7896,7 +7945,7 @@ close, copy, cut, paste, undo, redo.")
"password-store-" version ".tar.xz"))
(sha256
(base32
- "0scqkpll2q8jhzcgcsh9kqz0gwdpvynivqjmmbzax2irjfaiklpn"))))
+ "1sl0d7nc85c6c2bmmmyb8rpmn47vhkj831l153mjlkawjvhwas27"))))
(build-system emacs-build-system)
(arguments
`(#:phases
@@ -7911,6 +7960,7 @@ close, copy, cut, paste, undo, redo.")
(propagated-inputs
`(("emacs-f" ,emacs-f)
("emacs-s" ,emacs-s)
+ ("emacs-with-editor" ,emacs-with-editor)
("password-store" ,password-store)))
(home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
(synopsis "Password store (pass) support for Emacs")
@@ -8099,7 +8149,7 @@ object has been freed.")
#t)))))
(inputs
`(("emacs-minimal" ,emacs-minimal)
- ("mysql" ,mysql)
+ ("mariadb" ,mariadb)
("postgresql" ,postgresql)))
(propagated-inputs
`(("emacs-finalize" ,emacs-finalize)
@@ -8905,10 +8955,10 @@ confused by comments or @code{foo-bar} matching @code{foo}.")
(modify-phases %standard-phases
(add-before 'install 'check
(lambda* (#:key inputs #:allow-other-keys)
- (zero? (system* "emacs" "--batch" "-L" "."
- "-l" "test/m-buffer-test.el"
- "-l" "test/m-buffer-at-test.el"
- "-f" "ert-run-tests-batch-and-exit")))))))
+ (invoke "emacs" "--batch" "-L" "."
+ "-l" "test/m-buffer-test.el"
+ "-l" "test/m-buffer-at-test.el"
+ "-f" "ert-run-tests-batch-and-exit"))))))
(build-system emacs-build-system)
(home-page "https://github.com/phillord/m-buffer-el")
(synopsis "List oriented buffer operations for Emacs")
@@ -9592,31 +9642,8 @@ time is being spent during Emacs startup in order to optimize startup time.")
(license license:gpl3+)))
(define-public emacs-emms-player-simple-mpv
- (let ((commit "101d120ccdee1c2c213fd2f0423c858b21649c00")
- (revision "1"))
- (package
- (name "emacs-emms-player-simple-mpv")
- (version (string-append "0.4.0" "-" revision "."
- (string-take commit 7)))
-
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/momomo5717/emms-player-simple-mpv.git")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1i6rxkm0ra0jbkkwgkwxg3vk5xfl794h1gkgnlpscynz0v94b6ll"))))
- (build-system emacs-build-system)
- (propagated-inputs
- `(("emacs-emms" ,emms)))
- (home-page "https://github.com/momomo5717/emms-player-simple-mpv")
- (synopsis "Extension of @file{emms-player-simple.el} for mpv JSON IPC")
- (description "@code{emms-player-simple-mpv} provides macros and
-functions for defining emms simple players of mpv.")
- (license license:gpl3+))))
+ ;; A new mpv backend is included in Emms from 5.0.
+ (deprecated-package "emacs-emms-player-simple-mpv" emms))
(define-public emacs-magit-org-todos-el
(let ((commit "df206287737b9671f2e36ae7b1474ebbe9940d2a"))
@@ -9905,11 +9932,11 @@ perform regression test for packages that provide font-lock rules.")
(license license:gpl3+))))
(define-public emacs-racket-mode
- (let ((commit "33877b1bb24faea68842e0396bd5718b84e47451")
+ (let ((commit "48f0cb99d3b2ca6066249546d2063d85437251c1")
(revision "1"))
(package
(name "emacs-racket-mode")
- (version (string-append "0.0.1" "-" revision "."
+ (version (string-append "0.0.2" "-" revision "."
(string-take commit 7)))
(source
(origin
@@ -9920,8 +9947,10 @@ perform regression test for packages that provide font-lock rules.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "0681mzwx08zwbh8qg3s26jw1jn4fw2ljp1akxqkhy08sxhafqvb1"))))
+ "0fxky8xj639bjhiab9way9daqda22301b7w85vm4b4ydgjgnc59x"))))
(build-system emacs-build-system)
+ (arguments
+ `(#:include '("\\.el$" "\\.rkt$")))
(propagated-inputs
`(("emacs-faceup" ,emacs-faceup)
("emacs-s" ,emacs-s)))
@@ -10637,27 +10666,8 @@ Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
(license license:gpl3+)))
(define-public emacs-evil-ediff
- (package
- (name "emacs-evil-ediff")
- (version "20170724")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/emacs-evil/evil-ediff/archive/"
- "67b0e69f65c196eff5b39dacb7a9ec05bb919c74"
- ".tar.gz"))
- (sha256
- (base32
- "0j2x26zfc6md54mjf76qpybil4yal70lp5bifcz62l1f8fc1vvlq"))))
- (build-system emacs-build-system)
- (propagated-inputs `(("emacs-evil" ,emacs-evil)))
- (home-page "https://github.com/emacs-evil/evil-ediff")
- (synopsis "Make Ediff a little evil")
- (description
- "This Emacs package configures Ediff to be friendlier to users of Vi-like
-keybindings. Consult the help buffer for more information.")
- (license license:gpl3+)))
+ ;; Evil-Ediff is included in Evil Collection from 20180617.
+ (deprecated-package "emacs-evil-ediff" emacs-evil-collection))
(define-public emacs-evil-magit
(let ((commit "dbf5a646a7ce1c35c229dfdc423bd5ecd927a3a8"))
@@ -10689,30 +10699,8 @@ describing the key binding changes.")
(license license:gpl3+))))
(define-public emacs-evil-mu4e
- (package
- (name "emacs-evil-mu4e")
- (version "0.0.8")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/JorisE/evil-mu4e/archive/"
- "c03a0e11afda3092eb1461be09fa6a61ebc0e4f6"
- ".tar.gz"))
- (sha256
- (base32
- "1k3z5h04bqslrkq13paqf8pv9r0rf0zjl0zbb57ly043ds3nvxr2"))))
- (build-system emacs-build-system)
- (propagated-inputs
- `(("emacs-dash" ,emacs-dash)
- ("emacs-evil" ,emacs-evil)
- ("mu" ,mu)))
- (home-page "https://github.com/JorisE/evil-mu4e")
- (synopsis "Evil-based key bindings for mu4e")
- (description
- "Use keybindings for the mu4e mail reader in Emacs that make sense for
-Evil users.")
- (license license:gpl3+)))
+ ;; Evil-mu4e is included in Evil Collection from 20180617.
+ (deprecated-package "emacs-evil-mu4e" emacs-evil-collection))
(define-public emacs-evil-multiedit
(let ((commit "ea3d9177b74ab0bc65e55df9cc0a0b42e4ef815d"))
@@ -10778,26 +10766,39 @@ Org-mode. It features:
(license license:gpl3+))))
(define-public emacs-fish-completion
- (package
- (name "emacs-fish-completion")
- (version "20180329")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/Ambrevar/emacs-fish-completion/archive/"
- "3e3ed1f19fa778b7c35ad88e033dce5a6b1fc153"
- ".tar.gz"))
- (sha256
- (base32
- "16329py7fvid0bap1qhqxhdc68m9qqy1p8gc2bhng81zhm5a5zsm"))))
- (build-system emacs-build-system)
- (propagated-inputs `(("fish" ,fish)))
- (home-page
- "https://github.com/Ambrevar/emacs-fish-completion")
- (synopsis "Fish completion for Emacs pcomplete")
- (description
- "This package provides completion for the Fish shell to pcomplete (used
+ (let ((commit "bac15fda1392a891070574dfe5d2d50b10831e8b"))
+ (package
+ (name "emacs-fish-completion")
+ (version (git-version "20180616" "1" commit))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://gitlab.com/Ambrevar/emacs-fish-completion/repository/"
+ "archive.tar.gz?ref="
+ commit))
+ (sha256
+ (base32
+ "093qzdrbkl7dhjk16zq8i13kh1phyigkblcfrbgbrxjqd2ndrfdi"))))
+ (build-system emacs-build-system)
+ (inputs `(("fish" ,fish)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((fish (assoc-ref inputs "fish")))
+ ;; Specify the absolute file names of the various
+ ;; programs so that everything works out-of-the-box.
+ (emacs-substitute-variables
+ "fish-completion.el"
+ ("fish-completion-command"
+ (string-append fish "/bin/fish")))))))))
+ (home-page
+ "https://gitlab.com/Ambrevar/emacs-fish-completion")
+ (synopsis "Fish completion for Emacs pcomplete")
+ (description
+ "This package provides completion for the Fish shell to pcomplete (used
by shell and Eshell). You can set it up globally with:
@example
@@ -10812,4 +10813,466 @@ shell/Eshell mode hook.
The package @code{emacs-bash-completion} is an optional dependency: if available,
@code{fish-completion-complete} can be configured to fall back on bash to further
try completing. See @code{fish-completion-fallback-on-bash-p}.")
- (license license:gpl3+)))
+ (license license:gpl3+))))
+
+(define-public emacs-gif-screencast
+ (let ((commit "12b25442b97b84abae74ecb5190a9d14ff7cfe5a"))
+ (package
+ (name "emacs-gif-screencast")
+ (version (git-version "20180616" "1" commit))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://gitlab.com/Ambrevar/emacs-gif-screencast/"
+ "repository/archive.tar.gz?ref="
+ commit))
+ (sha256
+ (base32
+ "0lc457i78xjkn5idr2aaiadkh76zcsksj84z0qh80a9y775syrgh"))))
+ (build-system emacs-build-system)
+ (inputs
+ `(("scrot" ,scrot)
+ ("imagemagick" ,imagemagick)
+ ("gifsicle" ,gifsicle)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((scrot (assoc-ref inputs "scrot"))
+ (imagemagick (assoc-ref inputs "imagemagick"))
+ (gifsicle (assoc-ref inputs "gifsicle")))
+ ;; Specify the absolute file names of the various
+ ;; programs so that everything works out-of-the-box.
+ (emacs-substitute-variables
+ "gif-screencast.el"
+ ("gif-screencast-program"
+ (string-append scrot "/bin/scrot"))
+ ("gif-screencast-convert-program"
+ (string-append imagemagick "/bin/convert"))
+ ("gif-screencast-cropping-program"
+ (string-append imagemagick "/bin/mogrify"))
+ ("gif-screencast-optimize-program"
+ (string-append imagemagick "/bin/gifsicle")))))))))
+ (home-page
+ "https://gitlab.com/Ambrevar/emacs-gif-screencast")
+ (synopsis "One-frame-per-action GIF recording")
+ (description
+ "Call @code{gif-screencast} to start a recording.
+A screenshot is taken for every user action. Call
+@code{gif-screencast-stop} (<f9> by default) to finish recording and create
+the GIF result.")
+ (license license:gpl3+))))
+
+(define-public emacs-google-translate
+ (let ((commit "d8b84a8359fcc697114d1298840e9a45b111c974"))
+ (package
+ (name "emacs-google-translate")
+ (version (git-version "0.11.14" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/atykhonov/google-translate")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1qs4hcg1i2m487z50nnwgs0sa2xj4lpgizbrvi2yda0mf3m75fgc"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/atykhonov/google-translate")
+ (synopsis "Emacs interface to Google Translate")
+ (description
+ "This packages provides an Emacs interface to the Google Translate
+on-line service.")
+ (license license:gpl3+))))
+
+(define-public emacs-helm-company
+ (let ((commit "acc9c7901e094c1591327a0db1ec7a439f67a84d"))
+ (package
+ (name "emacs-helm-company")
+ (version (git-version "0.2.2" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Sodel-the-Vociferous/helm-company")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1d4q9clp0q56br80c21a4wz1gc4jw3mdy97z9mq07x9i8rhlppzs"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-helm" ,emacs-helm)
+ ("emacs-company" ,emacs-company)))
+ (home-page "https://github.com/Sodel-the-Vociferous/helm-company")
+ (synopsis "Helm interface for company-mode")
+ (description
+ "This is a Helm interface to company-mode, a text completion
+framework.")
+ (license license:gpl3+))))
+
+(define-public emacs-helm-descbinds
+ (let ((commit "033be73f21778633813264ce1634a6e1ad873d8e"))
+ (package
+ (name "emacs-helm-descbinds")
+ (version (git-version "1.13" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/emacs-helm/helm-descbinds")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1n89p56qwa243w1c85i5awnaf7piwjsvfi7nmnsrwm33hix5dknk"))))
+ (build-system emacs-build-system)
+ (propagated-inputs `(("emacs-helm" ,emacs-helm)))
+ (home-page "https://github.com/emacs-helm/helm-descbinds")
+ (synopsis "Convenient @code{describe-bindings} with Helm")
+ (description
+ "This package is a replacement of @code{describe-bindings} for Helm.
+@code{describe-bindings} is replaced with @code{helm-descbinds}. As usual,
+type @code{C-h b}, or any incomplete key sequence plus @code{C-h}, to run
+@code{helm-descbinds}. The bindings are presented in a similar way as
+@code{describe-bindings} does, but you can use completion to find the command
+you searched for and execute it, or view its documentation.")
+ (license license:gpl3+))))
+
+(define-public emacs-helm-emms
+ (let ((commit "d3f9bdef8ff0d093eaf6e26af50ea905ab53fdec"))
+ (package
+ (name "emacs-helm-emms")
+ (version (git-version "1.3" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/emacs-helm/helm-emms")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0bdb8xp0yp3gijpa9i2rc17gfzjhzlm92vdzw93i10qpd1xhj4aa"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-helm" ,emacs-helm)
+ ("emacs-emms" ,emms)))
+ (home-page
+ "https://github.com/emacs-helm/helm-emms")
+ (synopsis "Emms for Helm")
+ (description "Helm interface for Emms to browse all tracks and all folders
+from @code{emms-source-file-default-directory}.")
+ (license license:gpl3+))))
+
+(define-public emacs-helm-exwm
+ (let ((commit "82a856c80c8d295e3be522a01c5a15af50d08990"))
+ (package
+ (name "emacs-helm-exwm")
+ (version (git-version "20180523" "1" commit))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/emacs-helm/helm-exwm/archive/"
+ commit
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1xsg2lar1vh7jmj5lnnyi14vssxkgy95sv9r8pbfhbnkjkbjm9pb"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-helm" ,emacs-helm)
+ ("emacs-exwm" ,emacs-exwm)))
+ (home-page
+ "https://github.com/emacs-helm/helm-exwm")
+ (synopsis "Helm for EXWM buffers")
+ (description
+ "@code{helm-exwm} runs a Helm session over the list of EXWM buffers.
+@code{helm-exwm-switch} is a convenience X application launcher using Helm to
+switch between the various windows of one or several specific applications.
+See @code{helm-exwm-switch-browser} for an example.")
+ (license license:gpl3+))))
+
+(define-public emacs-helm-flycheck
+ (let ((commit "3cf7d3bb194acacc6395f88360588013d92675d6"))
+ (package
+ (name "emacs-helm-flycheck")
+ (version (git-version "0.4" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/yasuyk/helm-flycheck")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1a2yfxhz04klwhcandqvfzysxp6b7bxyxx1xk1x3kds5hif5fkl4"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-flycheck" ,flycheck)
+ ("emacs-helm" ,emacs-helm)))
+ (home-page "https://github.com/yasuyk/helm-flycheck")
+ (synopsis "Show Flycheck errors with Helm")
+ (description
+ "This integrates Flycheck with Helm.")
+ (license license:gpl3+))))
+
+(define-public emacs-helm-ls-git
+ (let ((commit "76654c776a7f6e2e5290645e748aac2a746f7daa"))
+ (package
+ (name "emacs-helm-ls-git")
+ (version (git-version "1.9.1" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/emacs-helm/helm-ls-git")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0vsq1n3xl3ghy5zik2scm7jrs501n4kybdqd6yw6j0cv4jxdqbr0"))))
+ (build-system emacs-build-system)
+ (propagated-inputs `(("emacs-helm" ,emacs-helm)))
+ (home-page "https://github.com/emacs-helm/helm-ls-git")
+ (synopsis "Helm interface for listing the files in a Git repository")
+ (description
+ "This package provides a Helm interface for Git files.
+@itemize
+@item Display the open buffers in project.
+@item Display a status source showing state of project (modified files etc.).
+@item Display a list of all files in project under git control.
+@item Quickly look at diffs of modified files.
+@item Allow switching to @code{git status} with your preferred frontend
+(vc-dir, Magit,etc.).
+@item Full integration of git-grep, also allow usage of @code{helm-grep} (you
+can use ack-grep instead of grep).
+@item Integrate usage of gid from id-utils.
+@item Full integration with @code{helm-find-files}, allow you to browse
+projects unrelated to current-buffer.
+@item In addition, all actions of type files and buffers are provided.
+@end itemize\n")
+ (license license:gpl3+))))
+
+(define-public emacs-helm-mu
+ (let ((commit "77e6fea24e01481418738421dbcfe28ef1bd63cf"))
+ (package
+ (name "emacs-helm-mu")
+ (version (git-version "20180513" "1" commit))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/emacs-helm/helm-mu/archive/"
+ commit
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0qm4xi3i957scm50nar398pv4x8y03si10l77jb9ckjaviyq2hj9"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-helm" ,emacs-helm)
+ ("mu" ,mu)))
+ (home-page
+ "https://github.com/emacs-helm/helm-mu")
+ (synopsis
+ "Helm sources for searching emails and contacts")
+ (description
+ "Helm sources for searching emails and contacts using @code{mu} and
+@code{mu4e}. Mu is an indexer for maildirs and mu4e is a mutt-like MUA for
+Emacs build on top of mu. Mu is highly efficient making it possible to get
+instant results even for huge maildirs. It also provides search operators,
+e.g: @code{from:Peter to:Anne flag:attach search term}.")
+ (license license:gpl3+))))
+
+(define-public emacs-helm-pass
+ (let ((commit "ebcbef1a962795a36e3491ae926e2a4b8a8b0ebb"))
+ (package
+ (name "emacs-helm-pass")
+ (version (git-version "20180416" "1" commit))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/jabranham/helm-pass/archive/"
+ commit
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1pgq4hj9wvz7z2fyxwsvbh6rmc1akya84v382nx26rr76iavz6wi"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-helm" ,emacs-helm)
+ ("emacs-password-store" ,emacs-password-store)))
+ (home-page
+ "https://github.com/jabranham/helm-pass")
+ (synopsis "Helm interface to pass, the standard Unix password manager")
+ (description
+ "Users of @code{helm-pass} may also be interested in functionality
+provided by other Emacs packages dealing with pass:
+@itemize
+@item @code{emacs-password-store}, which @code{helm-pass} relies on.
+@item @code{emacs-pass}, a major mode for @code{pass}.
+@item @code{auth-source-pass.el}: integration of Emacs' auth-source with
+@code{pass}, included in Emacs 26+).
+@end itemize\n")
+ (license license:gpl3+))))
+
+(define-public emacs-image+
+ (let ((commit "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc"))
+ (package
+ (name "emacs-image+")
+ (version (git-version "0.6.2" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mhayashi1120/Emacs-imagex")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0v66wk9nh0raih4jhrzmmyi5lbysjnmbv791vm2230ffi2hmwxnd"))))
+ (build-system emacs-build-system)
+ (inputs `(("imagemagick" ,imagemagick)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((imagemagick (assoc-ref inputs "imagemagick")))
+ ;; Specify the absolute file names of the various
+ ;; programs so that everything works out-of-the-box.
+ (chmod "image+.el" #o666)
+ (emacs-substitute-variables
+ "image+.el"
+ ("imagex-convert-command"
+ (string-append imagemagick "/bin/convert"))
+ ("imagex-identify-command"
+ (string-append imagemagick "/bin/identify")))))))))
+ (home-page "https://github.com/mhayashi1120/Emacs-imagex")
+ (synopsis "Image manipulation extensions for Emacs")
+ (description
+ "Image+ provides keybindings allowing you to zoom in or zoom out of an
+image, rotate it, save modified images, and more.")
+ (license license:gpl3+))))
+
+(define-public emacs-package-lint
+ (let ((commit "69bb89d00ba212b734c676ad056aa793c450b288"))
+ (package
+ (name "emacs-package-lint")
+ (version (git-version "0.5" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/purcell/package-lint")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1hfricsgmy3x9snnd2p4xq6vnnv94qdsxxnxp07b3hqc9bhw31rq"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/purcell/package-lint")
+ (synopsis "Linting library for elisp package authors")
+ (description
+ "This provides a list of issues with the Emacs package metadata of a file,
+e.g. the package dependencies it requires. See function
+@code{package-lint-buffer}. Checks will currently be enabled only if a
+\"Package-Requires:\" or \"Package-Version:\" header is present in the
+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+))))
+
+(define-public emacs-mu4e-conversation
+ (let ((commit "b60d6bd27d7220c3dd041ff2a090e29f2166a319"))
+ (package
+ (name "emacs-mu4e-conversation")
+ (version (git-version "20180615" "1" commit))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://gitlab.com/Ambrevar/mu4e-conversation/"
+ "repository/archive.tar.gz?ref="
+ commit))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0x8kmi0rmbaaxn5zicm1f9yb8ynxi8074hi2n0rvymlfpxbpn0ma"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("mu" ,mu)))
+ (home-page
+ "https://gitlab.com/Ambrevar/mu4e-conversation")
+ (synopsis
+ "Show a complete thread in a single buffer")
+ (description
+ "This package offers an alternate view to mu4e e-mail display. It
+shows all e-mails of a thread in a single view, where each correspondant has
+their own face. Threads can be displayed linearly (in which case e-mails are
+displayed in chronological order) or as an Org document where the node tree
+maps the thread tree.")
+ (license license:gpl3+))))
+
+(define-public emacs-pinentry
+ (let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
+ (revision "1"))
+ (package
+ (name "emacs-pinentry")
+ (version (git-version "0.1" revision commit))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain"
+ "/packages/pinentry/pinentry.el?id=" commit))
+ (file-name (string-append "pinentry.el"))
+ (sha256
+ (base32
+ "1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("gnupg" ,gnupg)))
+ (home-page "https://elpa.gnu.org/packages/pinentry.html")
+ (synopsis "GnuPG Pinentry server implementation")
+ (description
+ "This package allows GnuPG passphrase to be prompted through the
+minibuffer instead of graphical dialog.
+
+To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
+reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
+server with @code{M-x pinentry-start}.")
+ (license license:gpl3+))))