gnu: emacs-pdf-tools: Use emacs-build-system for elisp side.

* gnu/packages/emacs.scm (emacs-pdf-tools)[arguments]: Add phases from
emacs-build-system to build elisp side.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Alex Kost 2016-03-11 11:34:20 +03:00
parent 5e3161d38e
commit 1bcae5c5c5
1 changed files with 29 additions and 28 deletions

View File

@ -1018,40 +1018,41 @@ single buffer.")
(arguments
`(#:tests? #f ; there are no tests
#:modules ((guix build gnu-build-system)
((guix build emacs-build-system) #:prefix emacs:)
(guix build utils)
(guix build emacs-utils))
#:imported-modules (,@%gnu-build-system-modules
(guix build emacs-build-system)
(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/")))
(for-each (lambda (file)
(install-file file target))
(find-files "../lisp" "^(pdf|tab).*\\.elc?"))
(emacs-byte-compile-directory target)
(emacs-generate-autoloads "pdf-tools" target)))))))
;; Build server side using 'gnu-build-system'.
(add-after 'unpack 'enter-server-dir
(lambda _ (chdir "server") #t))
(add-before 'configure 'autogen
(lambda _
(zero? (system* "bash" "autogen.sh"))))
;; Build emacs side using 'emacs-build-system'.
(add-after 'compress-documentation 'enter-lisp-dir
(lambda _ (chdir "../lisp") #t))
(add-after 'enter-lisp-dir 'emacs-patch-variables
(lambda* (#:key outputs #:allow-other-keys)
;; 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 'emacs-patch-variables 'emacs-install
(assoc-ref emacs:%standard-phases 'install))
(add-after 'emacs-install 'emacs-build
(assoc-ref emacs:%standard-phases 'build))
(add-after 'emacs-install 'emacs-make-autoloads
(assoc-ref emacs:%standard-phases 'make-autoloads)))))
(native-inputs `(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)