diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2015-07-05 19:59:37 +0200 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2015-07-17 09:12:09 +0200 |
commit | ec9825d666f8d210680c9211369ebf975d61afd6 (patch) | |
tree | fd82e5a0ae313b238cd7091297f5725454960409 | |
parent | ee2a6304f3bcf19df895310aedff372ed7e17c34 (diff) |
gnu: Add emacs-pdf-tools.
* gnu/packages/emacs.scm (emacs-pdf-tools): New variable.
Co-authored-by: Alex Kost <alezost@gmail.com>
-rw-r--r-- | gnu/packages/emacs.scm | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index f00e15c86a..169ab086dc 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014 Alex Kost <alezost@gmail.com> ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> +;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -52,6 +53,7 @@ #:use-module (gnu packages glib) #:use-module (gnu packages acl) #:use-module (gnu packages perl) + #:use-module (gnu packages pdf) #:use-module (gnu packages linux) ;alsa #:use-module (gnu packages xiph) #:use-module (gnu packages mp3) @@ -826,3 +828,74 @@ or XEmacs.") "MMM Mode is a minor mode that allows multiple major modes to coexist in a single buffer.") (license license:gpl3+))) + +(define-public emacs-pdf-tools + (package + (name "emacs-pdf-tools") + (version "0.60") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/politza/pdf-tools/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1y8k5n2jbyaxby0j6f4m9xbm0ddpmbkrfj6rp6ll5sb97lcg3vrx")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; there are no tests + #:modules ((guix build gnu-build-system) + (guix build utils) + (guix build emacs-utils)) + #:imported-modules (,@%gnu-build-system-modules + (guix build emacs-utils)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'enter-dir (lambda _ (chdir "server") #t)) + (add-before + 'configure 'autogen + (lambda _ + (zero? (system* "bash" "autogen.sh")))) + (add-before + 'build 'patch-variables + (lambda* (#:key outputs #:allow-other-keys) + (with-directory-excursion "../lisp" + ;; Set path to epdfinfo program. + (emacs-substitute-variables "pdf-info.el" + ("pdf-info-epdfinfo-program" + (string-append (assoc-ref outputs "out") + "/bin/epdfinfo"))) + ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto + ;; upgrading" that pdf-tools tries to perform. + (emacs-substitute-variables "pdf-tools.el" + ("pdf-tools-handle-upgrades" '()))))) + (add-after + 'install 'install-lisp + (lambda* (#:key outputs #:allow-other-keys) + (let ((target (string-append (assoc-ref outputs "out") + "/share/emacs/site-lisp/"))) + (mkdir-p target) + (for-each + (lambda (file) + (copy-file file (string-append target (basename file)))) + (find-files "../lisp" "^(pdf|tab).*\\.elc?")) + (emacs-byte-compile-directory target) + (emacs-generate-autoloads "pdf-tools" target))))))) + (native-inputs `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config) + ("emacs" ,emacs-no-x))) + (inputs `(("poppler" ,poppler) + ("cairo" ,cairo) + ("glib" ,glib) + ("libpng" ,libpng) + ("zlib" ,zlib))) + (synopsis "Emacs support library for PDF files") + (description + "PDF Tools is, among other things, a replacement of DocView for PDF +files. The key difference is that pages are not pre-rendered by +e.g. ghostscript and stored in the file-system, but rather created on-demand +and stored in memory.") + (home-page "https://github.com/politza/pdf-tools") + (license license:gpl3+))) |