guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] gnu: emacs-pdf-tools: Add missing input.


From: Alex Kost
Subject: [PATCH] gnu: emacs-pdf-tools: Add missing input.
Date: Fri, 11 Mar 2016 12:31:25 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

The bottom line of the following text is the question: Is it possible to
combine 2 (or more) build systems for building a package?

I've noticed that the latest 'emacs-pdf-tools' depends on 'let-alist'
library (my bad that I didn't notice this during update to 0.70), so I
added it to the propagated-inputs (as we do with emacs dependencies).

However, adding a new input is not enough here, because a directory with
"let-alist.el" is not seen during elisp compilation, so it should be
added explicitly to 'emacs-byte-compile-directory' procedure.

The root problem here is this: pdf-tools package consists of 2 parts:

1. Some C code (placed in "server" subdir) used to make an auxiliary
   binary for working with pdf.  This server part provides a usual GNU
   build system, which is gladly used in our "emacs-pdf-tools" package.

2. Elisp code: to handle this part (to compile and install it) we use
   'install-lisp' phase.

For the elisp side, we actually duplicate (more or less) what is already
done by emacs-build-system.  So it would be a perfect solution for this
package if there was a way to perform a build twice: at first using
emacs-build-system to handle elisp part, and then using gnu-build-system
for the C part.

I did a little experiment: I thought maybe it could be possible just to
pick some build phases from (guix build emacs-build-system), so I added
this module to #:modules and #:imported-modules and added phases like
this:

  (modify-phases %standard-phases
    ;; ...
    (add-after 'build 'emacs-build
      (@@ (guix build emacs-build-system) build))
    (add-after 'install 'emacs-install
      (@@ (guix build emacs-build-system) install)))

The package was built successfully, but the result was not good, because
both gnu-build-system and emacs-build-system import %standard-phases :-)

Attachment: 0001-gnu-emacs-pdf-tools-Add-missing-input.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]