Hello,

Alex Kost <alez...@gmail.com> writes:

> Thanks!  Sorry I didn't build asymptote (as I don't have a wish to build
> gigabytes of texlive), but I looked at the source and I see there are
> "autoloads" cookies in "<asymptote>/base/asy-mode.el", so it would also
> be good to generate "asymptote-autoloads.el" file.

Indeed.

> For example, you may look at (gnu packages emacs) module to see how
> "autoloads" file are generated using 'emacs-generate-autoloads'
> procedure.  I write some notes below, that seems appropriate to me, but
> I'm not going to test the patch because of texlive (sorry again).  I
> hope other people will do.

Fair enough.

Here is an updated patch with suggested changes. Thank you for the review.

Regards,

-- 
Nicolas Goaziou                                                0x80A93738
>From bc0ade21f50a9c6b2f063e8043abe72a61fa9328 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <m...@nicolasgoaziou.fr>
Date: Wed, 4 May 2016 00:43:36 +0200
Subject: [PATCH] gnu: asymptote: Install Emacs data

* gnu/packages/plotutils.scm (asymptote)[arguments]: Add a phase to
  install Emacs-Lisp files in an appropriate place.
---
 gnu/packages/plotutils.scm | 29 ++++++++++++++++++++++++-----
 1 file changed, 24 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index 3fdd539..fc0436b 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -25,6 +25,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages bdw-gc)
+  #:use-module (gnu packages emacs)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages image)
   #:use-module (gnu packages ghostscript)
@@ -190,7 +191,8 @@ colors, styles, options and details.")
        ("texlive" ,texlive)             ;For tests and documentation
        ("perl" ,perl)))
     (inputs
-     `(("fftw" ,fftw)
+     `(("emacs" ,emacs-no-x)
+       ("fftw" ,fftw)
        ("freeglut" ,freeglut)
        ("gsl" ,gsl)
        ("libgc" ,libgc)
@@ -198,7 +200,13 @@ colors, styles, options and details.")
        ("readline" ,readline)
        ("zlib" ,zlib)))
     (arguments
-     `(#:configure-flags
+     `(#:modules ((guix build emacs-utils)
+                  (guix build gnu-build-system)
+                  (guix build utils)
+                  (srfi srfi-26))
+       #:imported-modules (,@%gnu-build-system-modules
+                           (guix build emacs-utils))
+       #:configure-flags
        (list (string-append "--enable-gc=" (assoc-ref %build-inputs "libgc"))
              (string-append "--with-latex="
                             (assoc-ref %outputs "out")
@@ -210,15 +218,26 @@ colors, styles, options and details.")
        (modify-phases %standard-phases
          (add-before 'build 'patch-pdf-viewer
            (lambda _
-             ;; Default to a free pdf viewer
+             ;; Default to a free pdf viewer.
              (substitute* "settings.cc"
                (("defaultPDFViewer=\"acroread\"")
-                "defaultPDFViewer=\"gv\""))))
+                "defaultPDFViewer=\"gv\""))
+             #t))
          (add-before 'check 'set-HOME
            ;; Some tests require write access to $HOME, otherwise leading to
            ;; "failed to create directory /homeless-shelter/.asy" error.
            (lambda _
-             (setenv "HOME" "/tmp"))))))
+             (setenv "HOME" "/tmp")
+             #t))
+         (add-after 'install 'install-Emacs-data
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; Install related Emacs libraries into an appropriate location.
+             (let* ((out (assoc-ref outputs "out"))
+                    (lisp-dir (string-append out "/share/emacs/site-lisp")))
+               (for-each (cut install-file <> lisp-dir)
+                         (find-files "." "\\.el$"))
+               (emacs-generate-autoloads ,name lisp-dir))
+             #t)))))
     (home-page "http://asymptote.sourceforge.net";)
     (synopsis "Script-based vector graphics language")
     (description
-- 
2.7.4

Reply via email to