diff options
Diffstat (limited to 'gnu/packages/emacs.scm')
-rw-r--r-- | gnu/packages/emacs.scm | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index fbd9ff96f0..e524949660 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -18,7 +18,7 @@ ;;; Copyright © 2018, 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Jesse John Gildersleve <jessejohngildersleve@zohomail.eu> ;;; Copyright © 2019 Valentin Ignatev <valentignatev@gmail.com> -;;; Copyright © 2019 Liliana Marie Prikler <liliana.prikler@gmail.com> +;;; Copyright © 2019, 2021 Liliana Marie Prikler <liliana.prikler@gmail.com> ;;; Copyright © 2019 Amin Bandali <bandali@gnu.org> ;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> ;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> @@ -54,6 +54,7 @@ #:use-module (gnu packages fribidi) #:use-module (gnu packages gd) #:use-module (gnu packages gettext) + #:use-module (gnu packages ghostscript) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) ; for librsvg #:use-module (gnu packages gtk) @@ -63,6 +64,7 @@ #:use-module (gnu packages mail) ; for mailutils #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) + #:use-module (gnu packages pdf) #:use-module (gnu packages pkg-config) #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) @@ -129,7 +131,7 @@ #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-program-file-names - (lambda _ + (lambda* (#:key inputs #:allow-other-keys) (substitute* '("src/callproc.c" "lisp/term.el" "lisp/htmlfontify.el" @@ -137,6 +139,23 @@ "lisp/progmodes/sh-script.el") (("\"/bin/sh\"") (format #f "~s" (which "sh")))) + (substitute* "lisp/doc-view.el" + (("\"(gs|dvipdf|ps2pdf)\"" all what) + (let ((ghostscript (assoc-ref inputs "ghostscript"))) + (if ghostscript + (string-append "\"" ghostscript "/bin/" what "\"") + all))) + (("\"(pdftotext)\"" all what) + (let ((poppler (assoc-ref inputs "poppler"))) + (if poppler + (string-append "\"" poppler "/bin/" what "\"") + all)))) + ;; match ".gvfs-fuse-daemon-real" and ".gvfsd-fuse-real" + ;; respectively when looking for GVFS processes. + (substitute* "lisp/net/tramp-gvfs.el" + (("\\(tramp-compat-process-running-p \"(.*)\"\\)" all process) + (format #f "(or ~a (tramp-compat-process-running-p ~s))" + all (string-append "." process "-real")))) #t)) (add-before 'configure 'fix-/bin/pwd (lambda _ @@ -167,8 +186,11 @@ (with-output-to-file (string-append lisp-dir "/site-start.el") (lambda () (display - (string-append "(when (require 'guix-emacs nil t)\n" - " (guix-emacs-autoload-packages))\n")))) + (string-append + "(when (require 'guix-emacs nil t)\n" + " (guix-emacs-autoload-packages)\n" + " (advice-add 'package-load-all-descriptors" + " :after #'guix-emacs-load-package-descriptors))")))) ;; Remove the extraneous subdirs.el file, as it causes Emacs to ;; add recursively all the the sub-directories of a profile's ;; share/emacs/site-lisp union when added to EMACSLOADPATH, @@ -259,6 +281,8 @@ ("acl" ,acl) ("jansson" ,jansson) ("gmp" ,gmp) + ("ghostscript" ,ghostscript) + ("poppler" ,poppler) ;; When looking for libpng `configure' links with `-lpng -lz', so we ;; must also provide zlib as an input. |