summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2020-12-03 13:26:52 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2020-12-03 22:33:52 -0500
commit2e9b7a207d4636dcaa31c81c5987893837219dbb (patch)
treedad558f3eb89e49681060fd1f4f38bab0abe7b9d
parent6cf7b5e2adcd48b804a108931de46a791d56cb87 (diff)
downloadguix-2e9b7a207d4636dcaa31c81c5987893837219dbb.tar.gz
gnu: emacs-yasnippet-snippets: Resolve void function error.
Attempting to use the python-mode snippets shipped with this package would
result in a '(void-function yasnippet-snippets--fixed-indent)' error being
raised (failing the initialization of other packages such as Elpy).  The
following change fixes this by not only installing the snippets but also the
accompanying Elisp library that allows automatic discovery of the snippets.

* gnu/packages/emacs-xyz.scm (emacs-yasnippet-snippets)[build-system]: Switch
to emacs-build-system.
[arguments]: Remove the #:module and #:builder arguments.  Add the #:include
argument.
[description]: Adjust to reflect that it is no longer necessary to manually
add the snippets to the yas-snippet-dirs variable.
-rw-r--r--gnu/packages/emacs-xyz.scm26
1 files changed, 8 insertions, 18 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 9bcd71b77d..5eb8f7c1ea 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -10867,27 +10867,17 @@ type an abbreviation and automatically expand it into function templates.")
        (file-name (git-file-name name version))
        (sha256
         (base32 "18pcnjnqvcky6i49p38vy3ms5xiisn27vy47pc3vsgr3r2n87mqb"))))
-    (build-system trivial-build-system)
+    (build-system emacs-build-system)
     (arguments
-     `(#:modules ((guix build utils))
-       #:builder
-       (begin
-         (use-modules (guix build utils))
-         (let* ((source (assoc-ref %build-inputs "source"))
-                (out (assoc-ref %outputs "out"))
-                (snippet-dir
-                 (string-append out "/share/emacs/yasnippet-snippets/")))
-           (with-directory-excursion source
-             (mkdir-p snippet-dir)
-             (copy-recursively "snippets" snippet-dir)))
-         #t)))
+     `(#:include (cons* "^snippets\\/" %default-include)))
+    (propagated-inputs
+     `(("emacs-s" ,emacs-s)             ;for snippets/rjsx-mode/.yas-setup.el
+       ("emacs-yasnippet" ,emacs-yasnippet)))
     (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
     (synopsis "Collection of YASnippet snippets for many languages")
-    (description
-     "Provides Andrea Crotti's collection of YASnippet snippets.  After installation,
-the snippets will be in \"~/.guix-profile/share/emacs/yasnippet-snippets/\".
-To make YASnippet aware of these snippets, add the above directory to
-@code{yas-snippet-dirs}.")
+    (description "This package provides an extensive collection of YASnippet
+snippets.  When this package is installed, the extra snippets it provides are
+automatically made available to YASnippet.")
     (license license:gpl3+)))
 
 (define-public emacs-helm-c-yasnippet