Subject: [bug#65552] [PATCH] gnu: font-openmoji: Update to 14.0.0-1.93f059d.

From: Liliana Marie Prikler <[email-masked]>
Date: Sat, 26 Aug 2023 18:10:49 +0200

Up until and including 14.0.0, the OpenMoji font only works in Icecat.
However, the git sources already include variants that work in other browsers
and desktop applications, so let's use them.

* gnu/packages/fonts.scm (font-openmoji): Update to 14.0.0-1.93f059d.
[source]: Change to git-fetch.
[arguments]: Add ‘chdir’, ‘strip-alternative-variants’ and ‘chdir-back’.
---
 gnu/packages/fonts.scm | 41 +++++++++++++++++++++++++++++++----------
 1 file changed, 31 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index e881ab11cd..52ad5988d7 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -2004,20 +2004,41 @@ (define-public font-opendyslexic
     (license license:silofl1.1)))
 
 (define-public font-openmoji
-  (package
+  (let ((commit "93f059dfb68401d49beaef7a3e09b80072b51a1f")
+        (revision "1"))
+   (package
     (name "font-openmoji")
-    (version "13.1.0")
+    (version (git-version "14.0.0" revision commit))
     (source
      (origin
-       (method url-fetch/zipbomb)
-       (uri
-        (string-append "https://github.com/hfg-gmuend/openmoji/"
-                       "releases/download/" version
-                       "/openmoji-font.zip"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/hfg-gmuend/openmoji/")
+             (commit commit)))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "0xmy3hr38v03f1riwxmxdibb7iwj0qz288inqaha3pwq7pj7ln45"))))
-    (build-system font-build-system)
+         "16w4lg2y6qzb45j08l7cdwprjhprsm11jsm6nxzxwy2wzykd7gxk"))))
+    (build-system font-build-system)
+    (arguments (list #:modules `((ice-9 ftw)
+                                 (guix build font-build-system)
+                                 (guix build utils))
+                     #:phases
+                     #~(modify-phases %standard-phases
+                         (add-after 'unpack 'chdir
+                           (lambda _ (chdir "font")))
+                         (add-after 'chdir 'strip-alternative-variants
+                           (lambda _
+                             (let ((keep '("OpenMoji-black-glyf"
+                                           "OpenMoji-color-glyf_colr_0"
+                                           "."
+                                           "..")))
+                               (for-each (lambda (f)
+                                           (unless (member f keep)
+                                             (delete-file-recursively f)))
+                                         (scandir ".")))))
+                         (add-before 'install-license-files 'chdir-back
+                           (lambda _ (chdir ".."))))))
     (native-inputs
      (list unzip))
     (home-page "https://openmoji.org")
@@ -2025,7 +2046,7 @@ (define-public font-openmoji
     (description
      "This package provides the OpenMoji font in both color and black
 variants.")
-    (license license:cc-by-sa4.0)))
+    (license license:cc-by-sa4.0))))
 
 (define-public font-dosis
   (package

base-commit: cfe55b220a2e21ec6314acd2fbaa5a780ea77afc
prerequisite-patch-id: 9646541100c6f84794660d4c0ccb6f128a13d6a6
prerequisite-patch-id: d238e6781ad9fe767a604395b86068f2e18c72cc
prerequisite-patch-id: 26bda1337d21efeaee2821065cab934e4023da4c
prerequisite-patch-id: c542ac439e7152d72d948015f50e3a24bf3cf908
prerequisite-patch-id: 306c5daef92a79a13ac467182351dd8da98ba689
prerequisite-patch-id: 578f2db4046a7f79d044f72fdb66e7aef610be81
-- 
2.41.0