Subject: [bug#40707] v3

From: Raghav Gururajan <[email-masked]>
Date: Wed, 22 Apr 2020 15:07:01 -0400

From ad08ebb65723994dda15d02f23c08ef820c8fd4d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <[email-masked]>
Date: Wed, 22 Apr 2020 15:03:07 -0400
Subject: [PATCH] gnu: font-gnu-freefont: Add otf and woff font types.

* gnu/packages/fonts.scm (font-gnu-freefont): Add otf and woff font types.
* gnu/packages/genealogy.scm (gramps): Replace variable string of gnu-freefont.
* doc/guix.texi: Replace variable string of gnu-freefont.
---
 doc/guix.texi              |  2 +-
 gnu/packages/fonts.scm     | 35 +++++++++++++++++++++++++++--------
 gnu/packages/genealogy.scm |  2 +-
 3 files changed, 29 insertions(+), 10 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index ef5f68db24..98201fbc26 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -1683,7 +1683,7 @@ package in Guix looks for fonts in @file{$HOME/.guix-profile}
 by default.  Thus, to allow graphical applications installed with Guix
 to display fonts, you have to install fonts with Guix as well.
 Essential font packages include @code{gs-fonts}, @code{font-dejavu}, and
-@code{font-gnu-freefont-ttf}.
+@code{font-gnu-freefont}.
 
 @cindex @code{fc-cache}
 @cindex font cache
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index dbc0c4f9d6..0356d50c7c 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -32,6 +32,7 @@
 ;;; Copyright © 2020 Amin Bandali <[email-masked]>
 ;;; Copyright © 2020 Michael Rohleder <[email-masked]>
 ;;; Copyright © 2020 John Soo <[email-masked]>
+;;; Copyright © 2020 Raghav Gururajan <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -230,9 +231,9 @@ The Lato 2.010 family supports more than 100 Latin-based languages, over
 50 Cyrillic-based languages as well as Greek and IPA phonetics.")
     (license license:silofl1.1)))
 
-(define-public font-gnu-freefont-ttf
+(define-public font-gnu-freefont
   (package
-    (name "font-gnu-freefont-ttf")
+    (name "font-gnu-freefont")
     (version "20120503")
     (source (origin
              (method url-fetch)
@@ -249,18 +250,36 @@ The Lato 2.010 family supports more than 100 Latin-based languages, over
                    (lambda _
                      (let ((doc-dir  (string-append %output "/share/doc/"
                                                     ,name "-" ,version))
-                           (font-dir (string-append %output
-                                                    "/share/fonts/truetype")))
+                           (ttf-font-dir (string-append %output
+                                                    "/share/fonts/ttf"))
+                           (otf-font-dir (string-append %output
+                                                    "/share/fonts/otf"))
+                           (woff-font-dir (string-append %output
+                                                    "/share/fonts/woff")))
                        (mkdir-p doc-dir)
                        (substitute* "Makefile"
                          (("\\$\\(TMPDIR\\)") doc-dir)
-                         (("sfd/\\*.ttf") ""))
-                       (system* "make" "ttftar")
-                       (mkdir-p font-dir)
+                         (("sfd/\\*.ttf") "")
+                         (("sfd/\\*.otf") "")
+                         (("sfd/\\*.woff") ""))
+                       (system* "make" "ttftar" "otftar" "wofftar")
+                       (mkdir-p ttf-font-dir)
+                       (mkdir-p otf-font-dir)
+                       (mkdir-p woff-font-dir)
                        (for-each (lambda (file)
-                                   (install-file file font-dir))
+                                   (install-file file ttf-font-dir))
                                  (filter
                                    (lambda (file) (string-suffix? "ttf" file))
+                                   (find-files "." "")))
+                       (for-each (lambda (file)
+                                   (install-file file otf-font-dir))
+                                 (filter
+                                   (lambda (file) (string-suffix? "otf" file))
+                                   (find-files "." "")))
+                       (for-each (lambda (file)
+                                   (install-file file woff-font-dir))
+                                 (filter
+                                   (lambda (file) (string-suffix? "woff" file))
                                    (find-files "." "")))))))
        #:test-target "tests"))
     ;; replace python 3 with python 2
diff --git a/gnu/packages/genealogy.scm b/gnu/packages/genealogy.scm
index 869f69add8..79b24ed048 100644
--- a/gnu/packages/genealogy.scm
+++ b/gnu/packages/genealogy.scm
@@ -55,7 +55,7 @@
        ("intltool" ,intltool)))
     (inputs
      `(("cairo" ,cairo)
-       ("font-gnu-freefont-ttf" ,font-gnu-freefont-ttf)
+       ("font-gnu-freefont" ,font-gnu-freefont)
        ("geocode-glib" ,geocode-glib)
        ("gexiv2" ,gexiv2)
        ("ghostscript" ,ghostscript)
-- 
2.26.1