From 1b3fa123ea50f1dae3a9c8e986c3f6b3bb477314 Mon Sep 17 00:00:00 2001 From: Leo Prikler Date: Thu, 5 Dec 2019 23:55:09 +0100 Subject: [PATCH] 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 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 Signed-off-by: Brett Gilio --- gnu/packages/emacs-xyz.scm | 25 ++++++++++++++++++++++--- 1 file 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))) -- 2.20.1