summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLeo Prikler <leo.prikler@student.tugraz.at>2019-12-05 23:55:09 +0100
committerBrett Gilio <brettg@posteo.net>2019-12-06 16:28:24 -0600
commit1b3fa123ea50f1dae3a9c8e986c3f6b3bb477314 (patch)
tree8ee2b9d3fa8258e118970108ed464d50f2392d16 /gnu
parentcc7948bc6f94d268016f8eeab734b46efe3c8037 (diff)
downloadguix-1b3fa123ea50f1dae3a9c8e986c3f6b3bb477314.tar.gz
gnu: emacs-telega: Properly install alists.
Am Donnerstag, den 05.12.2019, 12:46 -0600 schrieb Brett Gilio:
> That is why I made the note about eventually replacing the
> installation of that directory to use the system usually used by
> `emacs-build-system` because I figure this would cause less issues in
> the future if for some reason the emacs site-lisp directory structure
> were to change again.
>
> --8<---------------cut here---------------start------------->8---
> ;; TODO: Replace with `#:include' method used by
> ;; emacs-build-system.
> --8<---------------cut here---------------end--------------->8---
>
> But I don't think it is a pressing issue to do it so cleanly.
> Or maybe it is. Idk.
Perhaps you're right, but as far as I can see the Emacs build system
does not yet tell us how to proceed with data.  It also has a unique
way of handling documentation, first putting it into site-lisp before
moving it to share/info where it should belong.

> > I still don't feel comfortable with data being at the top of site-
> > lisp,
> > though.  Perhaps something similar to emacs-yasnippet-snippets,
> > where
> > you store the data in share/emacs/telega-data would be more
> > appropriate.
>
> I was ACTUALLY going to do it this way originally, but I was really
> uncertain of it so I just sent the patch as is. I like the idea more,
> so
> I am going to revise the patch. Otherwise, once I get this revision
> in
> everything should be good to go. I'll also substitute the functions
> to
> reflect that changed path.
>
> [...]
>
> Alright, carry on! Patch will be available soon.
Looking at your revised patch, I still feel a bit uneasy about putting
data into the load-path.  I therefore proprose a revised revised (R^2,
if you will) patch, which I've attached to this message.

Regards,
Leo

From 59918d4a486c453463e6c59487047177f3b54205 Mon Sep 17 00:00:00 2001
From: Brett Gilio <brettg@posteo.net>
Date: Thu, 5 Dec 2019 13:51:14 -0600
Subject: [PATCH 3/3] gnu: emacs-telega: Install telega-data to site-lisp.

* gnu/packages/emacs-xyz.scm (emacs-telega)[arguments]: This commit revises a
  previous patch and gives the source etc/ directory a unique installation pth
  in the site-lisp directory stucture.

Co-authored-by: Leo Prikler <leo.prikler@student.tugraz.at>
Signed-off-by: Brett Gilio <brettg@posteo.net>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/emacs-xyz.scm25
1 files changed, 22 insertions, 3 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index e17bdf6460..3a3a39d101 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -19989,6 +19989,16 @@ fish-completion.  It can be used in both Eshell and M-x shell.")
                  (("python3 run_tests.py")
                   ""))
                #t))
+           ;; Modify telega-util to reflect unique dir name in
+           ;; `telega-install-data' phase.
+           (add-after 'unpack 'telega-data-patch
+             (lambda _
+               (substitute* "telega-util.el"
+                 (("\\(concat \"etc/\" filename\\) telega--lib-directory")
+                  "(concat \"telega-data/\" filename)
+                    (locate-dominating-file telega--lib-directory
+                                            \"telega-data\")"))
+               #t))
            ;; The telega test suite checks for a version of Emacs
            ;; compiled with imagemagick and svg support. Since we
            ;; are using `emacs-minimal`, this step will fail.
@@ -20019,11 +20029,20 @@ fish-completion.  It can be used in both Eshell and M-x shell.")
            ;; Build emacs-side using `emacs-build-system'
            (add-after 'compress-documentation 'emacs-add-source-to-load-path
              (assoc-ref emacs:%standard-phases 'add-source-to-load-path))
-           (add-after 'emacs-set-emacs-load-path 'emacs-install
+           (add-after 'emacs-add-source-to-load-path 'emacs-install
              (assoc-ref emacs:%standard-phases 'install))
-           (add-after 'emacs-install 'emacs-build
+           ;; This step installs subdir /etc, which contains images, sounds and
+           ;; various other data, next to the site-lisp dir.
+           (add-after 'emacs-install 'telega-install-data
+             (lambda* (#:key outputs #:allow-other-keys)
+               (copy-recursively
+                "etc"
+                (string-append (assoc-ref outputs "out")
+                               "/share/emacs/telega-data/"))
+               #t))
+           (add-after 'telega-install-data 'emacs-build
              (assoc-ref emacs:%standard-phases 'build))
-           (add-after 'emacs-install 'emacs-make-autoloads
+           (add-after 'emacs-build 'emacs-make-autoloads
              (assoc-ref emacs:%standard-phases 'make-autoloads)))))
       (propagated-inputs
        `(("emacs-visual-fill-column" ,emacs-visual-fill-column)))