Subject: bug#48713: [PATCH] gnu: emacs-all-the-icons: Install all the fonts.

From: Liliana Marie Prikler <[email-masked]>
Date: Sun, 14 Nov 2021 16:13:01 +0100

* gnu/packages/emacs-xyz.scm (emacs-all-the-icons)[#:include]: Drop fonts.
[#:phases]<install-fonts>: Install them directly to ‘/share’.
[propagated-inputs]: Add font-awesome.
---
 gnu/packages/emacs-xyz.scm | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index b305bb5386..b3f7b6daa6 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -150,6 +150,7 @@ (define-module (gnu packages emacs-xyz)
   #:use-module (gnu packages djvu)
   #:use-module (gnu packages ebook)
   #:use-module (gnu packages emacs)
+  #:use-module (gnu packages fonts)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages guile)
@@ -22420,13 +22421,27 @@ (define-public emacs-all-the-icons
         (base32 "0lwgvgnqf7vihglm0c5bwsxbl4x7f641289cji5s7jwy2dbsqk7g"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:include '("\\.el$" "^data/" "^fonts/")
+     `(#:include '("\\.el$" "^data/")
        ;; Compiling "test/" fails with "Symbol’s value as variable is void:
        ;; all-the-icons--root-code".  Ignoring tests.
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'install-fonts
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((fonts (string-append (assoc-ref outputs "out")
+                                         "/share/fonts")))
+               (mkdir-p fonts)
+               (with-directory-excursion "fonts"
+                 (install-file "all-the-icons.ttf" fonts)
+                 (install-file "file-icons.ttf" fonts)
+                 (install-file "material-design-icons.ttf" fonts)
+                 (install-file "octicons.ttf" fonts)
+                 (install-file "weathericons.ttf" fonts))))))
        #:exclude '("^test/")
        #:tests? #f))
     (propagated-inputs
-     `(("f" ,emacs-f)
+     `(("font-awesome" ,font-awesome)
+       ("f" ,emacs-f)
        ("memoize" ,emacs-memoize)))
     (home-page "https://github.com/domtronn/all-the-icons.el")
     (synopsis "Collect icon fonts and propertize them within Emacs")
-- 
2.33.1