GNU bug report logs - #35045
[PATCH] gnu: Add font-iosevka-ssNN variants.

Previous Next

Package: guix-patches;

Reported by: Tobias Geerinckx-Rice <somebody <at> not-sent-or-endorsed-by.tobias.gr>

Date: Fri, 29 Mar 2019 23:37:01 UTC

Severity: normal

Tags: patch

Done: Andreas Enge <andreas <at> enge.fr>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 35045 in the body.
You can then email your comments to 35045 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#35045; Package guix-patches. (Fri, 29 Mar 2019 23:37:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Tobias Geerinckx-Rice <somebody <at> not-sent-or-endorsed-by.tobias.gr>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Fri, 29 Mar 2019 23:37:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Tobias Geerinckx-Rice <somebody <at> not-sent-or-endorsed-by.tobias.gr>
To: guix-patches <at> gnu.org
Cc: Tobias Geerinckx-Rice <me <at> tobias.gr>
Subject: [PATCH] gnu: Add font-iosevka-ssNN variants.
Date: Fri, 29 Mar 2019 22:05:15 +0100
From: Tobias Geerinckx-Rice <me <at> tobias.gr>

* gnu/packages/fonts.scm (font-iosevka, ttc-iosevka-slab): Use new
FONT-IOSEVKA-VARIANT procedure.
(font-iosevka-ss01, font-iosevka-ss02, font-iosevka-ss03)
(font-iosevka-ss04, font-iosevka-ss05, font-iosevka-ss06)
(font-iosevka-ss07, font-iosevka-ss08, font-iosevka-ss09)
(font-iosevka-ss10, font-iosevka-ss11): New public variables.
---

Guix,

People who install such fonts likely care about things like this[0].  I do.

Questions marked with ‘XXX’ in-line.

Kind regards,

T G-R

[0]: https://raw.githubusercontent.com/be5invis/Iosevka/master/images/stylesets.png

 gnu/packages/fonts.scm | 119 +++++++++++++++++++++++++++++++++--------
 1 file changed, 97 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 569a7f807e..945b321170 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -1083,41 +1083,116 @@ later hand-tweaked with the gbdfed(1) editor:
 typeface, by mimicking Comic Sans while fixing its most obvious shortcomings.")
     (license license:silofl1.1)))
 
-(define-public font-iosevka
+(define* (font-iosevka-variant name archive-prefix
+                               #:key sha256 synopsis)
   (package
-    (name "font-iosevka")
+    (name name)
     (version "2.2.0")
     (source
      (origin
        (method url-fetch/zipbomb)
-       (uri (string-append "https://github.com/be5invis/Iosevka"
-                           "/releases/download/v" version
-                           "/ttc-iosevka-" version ".zip"))
-       (sha256
-        (base32 "14jfv6pkh1w44m89z2fn44kgmmqaf0057lk71advwfbm3q313y0x"))))
+       (uri (string-append "https://github.com/be5invis/Iosevka/"
+                           "releases/download/v" version "/"
+                           archive-prefix "-" version ".zip"))
+       (sha256 sha256)))
     (build-system font-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'install 'maybe-change-directory
+           ;; The SS-* variants ship the TTF fonts in a ‘ttf/’ subdirectory
+           ;; alongside other formats, the others don't.
+           ;; XXX Install these other formats (e.g. WOFF2) too?
+           (lambda _
+             (when (file-exists? "ttf")
+               (chdir "ttf"))
+             #t)))))
     (home-page "https://be5invis.github.io/Iosevka/")
-    (synopsis "Coders' typeface, built from code")
+    (synopsis synopsis)            ; XXX does this do the right i18n thing?
     (description
      "Iosevka is a slender monospace sans-serif or slab-serif typeface inspired
 by Pragmata Pro, M+, and PF DIN Mono, designed to be the ideal font for
 programming.  Iosevka is completely generated from its source code.")
-    (license (list license:silofl1.1 ; build artifacts (i.e. the fonts)
-                   license:bsd-3)))) ; supporting code
+    (license (list license:silofl1.1    ; build artifacts (i.e. the fonts)
+                   license:bsd-3))))    ; supporting code
+
+(define-public font-iosevka
+  (font-iosevka-variant
+   "font-iosevka" "ttc-iosevka"
+   #:sha256 (base32 "14jfv6pkh1w44m89z2fn44kgmmqaf0057lk71advwfbm3q313y0x")
+   #:synopsis "Coders' typeface, built from code (sans-serif variant)"))
 
 (define-public font-iosevka-slab
-  (package
-    (inherit font-iosevka)
-    (name "font-iosevka-slab")
-    (version (package-version font-iosevka))
-    (source
-     (origin
-       (method url-fetch/zipbomb)
-       (uri (string-append "https://github.com/be5invis/Iosevka"
-                           "/releases/download/v" version
-                           "/ttc-iosevka-slab-" version ".zip"))
-       (sha256
-        (base32 "186d0pl13znysll3hvzm1ixn7ad616g6dhla55sbh6ki2j04b8ml"))))))
+  (font-iosevka-variant
+   "font-iosevka-slab" "ttc-iosevka-slab"
+   #:sha256 (base32 "186d0pl13znysll3hvzm1ixn7ad616g6dhla55sbh6ki2j04b8ml")
+   #:synopsis "Coders' typeface, built from code (slab-serif variant)"))
+
+(define-public font-iosevka-ss01
+  (font-iosevka-variant
+   "font-iosevka-ss01" "iosevka-ss01"
+   #:sha256 (base32 "0ax5fcc8s6kcfd8ds67pn9h89ddjm0fpa2fs5dqn0aqx56v3047j")
+   #:synopsis "Coders' typeface, built from code (sans-serif SS01 variant)"))
+
+(define-public font-iosevka-ss02
+  (font-iosevka-variant
+   "font-iosevka-ss02" "iosevka-ss02"
+   #:sha256 (base32 "09sny0alsgzb9diz8illnvvqbqa9yhhyjk9a2awbppddbh91k2qs")
+   #:synopsis "Coders' typeface, built from code (sans-serif SS02 variant)"))
+
+(define-public font-iosevka-ss03
+  (font-iosevka-variant
+   "font-iosevka-ss03" "iosevka-ss03"
+   #:sha256 (base32 "1gnf01bima08siphnhgg7kygmks0p717j1fdq07fkigsi2g0fbay")
+   #:synopsis "Coders' typeface, built from code (sans-serif SS03 variant)"))
+
+(define-public font-iosevka-ss04
+  (font-iosevka-variant
+   "font-iosevka-ss04" "iosevka-ss04"
+   #:sha256 (base32 "1gkdz843c5qsrl1k8j5ib9gpkkrcf5hkd5rghfq1ivi1a7rvjs4r")
+   #:synopsis "Coders' typeface, built from code (sans-serif SS04 variant)"))
+
+(define-public font-iosevka-ss05
+  (font-iosevka-variant
+   "font-iosevka-ss05" "iosevka-ss05"
+   #:sha256 (base32 "10n1zmpnp8s1bxyr1yv14nvmf1g91hdsl1c4j3y9d94kcpsvqbwi")
+   #:synopsis "Coders' typeface, built from code (sans-serif SS05 variant)"))
+
+(define-public font-iosevka-ss06
+  (font-iosevka-variant
+   "font-iosevka-ss06" "iosevka-ss06"
+   #:sha256 (base32 "12d4gidmp1ldnlmdzp7x6d7b2jxyykf6y53h5x3hh8acz5q9172n")
+   #:synopsis "Coders' typeface, built from code (sans-serif SS06 variant)"))
+
+(define-public font-iosevka-ss07
+  (font-iosevka-variant
+   "font-iosevka-ss07" "iosevka-ss07"
+   #:sha256 (base32 "19lppgmwgjh7ykyvlhjbf26yfnpiy3wa6l358kvx0w8xrgrm6fz9")
+   #:synopsis "Coders' typeface, built from code (sans-serif SS07 variant)"))
+
+(define-public font-iosevka-ss08
+  (font-iosevka-variant
+   "font-iosevka-ss08" "iosevka-ss08"
+   #:sha256 (base32 "0bc50z01ywh5y5y24xmiwqbw10vp5hjlrg7y8nmqjxg04222q6vi")
+   #:synopsis "Coders' typeface, built from code (sans-serif SS08 variant)"))
+
+(define-public font-iosevka-ss09
+  (font-iosevka-variant
+   "font-iosevka-ss09" "iosevka-ss09"
+   #:sha256 (base32 "082bfnmc73wf84c9z0kpamf857j6ibcfg141vs15fjkairvwk1jb")
+   #:synopsis "Coders' typeface, built from code (sans-serif SS09 variant)"))
+
+(define-public font-iosevka-ss10
+  (font-iosevka-variant
+   "font-iosevka-ss10" "iosevka-ss10"
+   #:sha256 (base32 "0vy76r1bph1nh43dvkdi0wgf1fgq5qwmnmcxrjfkilmx0jzpmmkg")
+   #:synopsis "Coders' typeface, built from code (sans-serif SS10 variant)"))
+
+(define-public font-iosevka-ss11
+  (font-iosevka-variant
+   "font-iosevka-ss11" "iosevka-ss11"
+   #:sha256 (base32 "1skgn1z14rk5xvnzvnk8i4s90hrxcxnmchhasbp8jg6cmqwpp177")
+   #:synopsis "Coders' typeface, built from code (sans-serif SS11 variant)"))
 
 (define-public font-go
   (let ((commit "f03a046406d4d7fbfd4ed29f554da8f6114049fc")
-- 
2.21.0





Information forwarded to guix-patches <at> gnu.org:
bug#35045; Package guix-patches. (Tue, 03 Aug 2021 19:25:02 GMT) Full text and rfc822 format available.

Message #8 received at 35045 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Tobias Geerinckx-Rice <somebody <at> not-sent-or-endorsed-by.tobias.gr>
Cc: 35045 <at> debbugs.gnu.org, Tobias Geerinckx-Rice <me <at> tobias.gr>
Subject: Re: bug#35045: [PATCH] gnu: Add font-iosevka-ssNN variants.
Date: Tue, 03 Aug 2021 15:24:23 -0400
Hello,

Tobias Geerinckx-Rice <somebody <at> not-sent-or-endorsed-by.tobias.gr>
writes:

> From: Tobias Geerinckx-Rice <me <at> tobias.gr>
>
> * gnu/packages/fonts.scm (font-iosevka, ttc-iosevka-slab): Use new
> FONT-IOSEVKA-VARIANT procedure.
> (font-iosevka-ss01, font-iosevka-ss02, font-iosevka-ss03)
> (font-iosevka-ss04, font-iosevka-ss05, font-iosevka-ss06)
> (font-iosevka-ss07, font-iosevka-ss08, font-iosevka-ss09)
> (font-iosevka-ss10, font-iosevka-ss11): New public variables.
> ---
>
> Guix,
>
> People who install such fonts likely care about things like this[0].  I do.
>
> Questions marked with ‘XXX’ in-line.
>
> Kind regards,
>
> T G-R
>
> [0]: https://raw.githubusercontent.com/be5invis/Iosevka/master/images/stylesets.png
>
>  gnu/packages/fonts.scm | 119 +++++++++++++++++++++++++++++++++--------
>  1 file changed, 97 insertions(+), 22 deletions(-)
>
> diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
> index 569a7f807e..945b321170 100644
> --- a/gnu/packages/fonts.scm
> +++ b/gnu/packages/fonts.scm
> @@ -1083,41 +1083,116 @@ later hand-tweaked with the gbdfed(1) editor:
>  typeface, by mimicking Comic Sans while fixing its most obvious shortcomings.")
>      (license license:silofl1.1)))
>  
> -(define-public font-iosevka
> +(define* (font-iosevka-variant name archive-prefix
> +                               #:key sha256 synopsis)
>    (package
> -    (name "font-iosevka")
> +    (name name)
>      (version "2.2.0")
>      (source
>       (origin
>         (method url-fetch/zipbomb)
> -       (uri (string-append "https://github.com/be5invis/Iosevka"
> -                           "/releases/download/v" version
> -                           "/ttc-iosevka-" version ".zip"))
> -       (sha256
> -        (base32 "14jfv6pkh1w44m89z2fn44kgmmqaf0057lk71advwfbm3q313y0x"))))
> +       (uri (string-append "https://github.com/be5invis/Iosevka/"
> +                           "releases/download/v" version "/"
> +                           archive-prefix "-" version ".zip"))
> +       (sha256 sha256)))
>      (build-system font-build-system)
> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (add-before 'install 'maybe-change-directory
> +           ;; The SS-* variants ship the TTF fonts in a ‘ttf/’ subdirectory
> +           ;; alongside other formats, the others don't.
> +           ;; XXX Install these other formats (e.g. WOFF2) too?
> +           (lambda _
> +             (when (file-exists? "ttf")
> +               (chdir "ttf"))
> +             #t)))))
>      (home-page "https://be5invis.github.io/Iosevka/")
> -    (synopsis "Coders' typeface, built from code")
> +    (synopsis synopsis)            ; XXX does this do the right i18n thing?
>      (description
>       "Iosevka is a slender monospace sans-serif or slab-serif typeface inspired
>  by Pragmata Pro, M+, and PF DIN Mono, designed to be the ideal font for
>  programming.  Iosevka is completely generated from its source code.")
> -    (license (list license:silofl1.1 ; build artifacts (i.e. the fonts)
> -                   license:bsd-3)))) ; supporting code
> +    (license (list license:silofl1.1    ; build artifacts (i.e. the fonts)
> +                   license:bsd-3))))    ; supporting code
> +
> +(define-public font-iosevka
> +  (font-iosevka-variant
> +   "font-iosevka" "ttc-iosevka"
> +   #:sha256 (base32 "14jfv6pkh1w44m89z2fn44kgmmqaf0057lk71advwfbm3q313y0x")
> +   #:synopsis "Coders' typeface, built from code (sans-serif variant)"))
>  
>  (define-public font-iosevka-slab
> -  (package
> -    (inherit font-iosevka)
> -    (name "font-iosevka-slab")
> -    (version (package-version font-iosevka))
> -    (source
> -     (origin
> -       (method url-fetch/zipbomb)
> -       (uri (string-append "https://github.com/be5invis/Iosevka"
> -                           "/releases/download/v" version
> -                           "/ttc-iosevka-slab-" version ".zip"))
> -       (sha256
> -        (base32 "186d0pl13znysll3hvzm1ixn7ad616g6dhla55sbh6ki2j04b8ml"))))))
> +  (font-iosevka-variant
> +   "font-iosevka-slab" "ttc-iosevka-slab"
> +   #:sha256 (base32 "186d0pl13znysll3hvzm1ixn7ad616g6dhla55sbh6ki2j04b8ml")
> +   #:synopsis "Coders' typeface, built from code (slab-serif variant)"))
> +
> +(define-public font-iosevka-ss01
> +  (font-iosevka-variant
> +   "font-iosevka-ss01" "iosevka-ss01"
> +   #:sha256 (base32 "0ax5fcc8s6kcfd8ds67pn9h89ddjm0fpa2fs5dqn0aqx56v3047j")
> +   #:synopsis "Coders' typeface, built from code (sans-serif SS01 variant)"))
> +
> +(define-public font-iosevka-ss02
> +  (font-iosevka-variant
> +   "font-iosevka-ss02" "iosevka-ss02"
> +   #:sha256 (base32 "09sny0alsgzb9diz8illnvvqbqa9yhhyjk9a2awbppddbh91k2qs")
> +   #:synopsis "Coders' typeface, built from code (sans-serif SS02 variant)"))
> +
> +(define-public font-iosevka-ss03
> +  (font-iosevka-variant
> +   "font-iosevka-ss03" "iosevka-ss03"
> +   #:sha256 (base32 "1gnf01bima08siphnhgg7kygmks0p717j1fdq07fkigsi2g0fbay")
> +   #:synopsis "Coders' typeface, built from code (sans-serif SS03 variant)"))
> +
> +(define-public font-iosevka-ss04
> +  (font-iosevka-variant
> +   "font-iosevka-ss04" "iosevka-ss04"
> +   #:sha256 (base32 "1gkdz843c5qsrl1k8j5ib9gpkkrcf5hkd5rghfq1ivi1a7rvjs4r")
> +   #:synopsis "Coders' typeface, built from code (sans-serif SS04 variant)"))
> +
> +(define-public font-iosevka-ss05
> +  (font-iosevka-variant
> +   "font-iosevka-ss05" "iosevka-ss05"
> +   #:sha256 (base32 "10n1zmpnp8s1bxyr1yv14nvmf1g91hdsl1c4j3y9d94kcpsvqbwi")
> +   #:synopsis "Coders' typeface, built from code (sans-serif SS05 variant)"))
> +
> +(define-public font-iosevka-ss06
> +  (font-iosevka-variant
> +   "font-iosevka-ss06" "iosevka-ss06"
> +   #:sha256 (base32 "12d4gidmp1ldnlmdzp7x6d7b2jxyykf6y53h5x3hh8acz5q9172n")
> +   #:synopsis "Coders' typeface, built from code (sans-serif SS06 variant)"))
> +
> +(define-public font-iosevka-ss07
> +  (font-iosevka-variant
> +   "font-iosevka-ss07" "iosevka-ss07"
> +   #:sha256 (base32 "19lppgmwgjh7ykyvlhjbf26yfnpiy3wa6l358kvx0w8xrgrm6fz9")
> +   #:synopsis "Coders' typeface, built from code (sans-serif SS07 variant)"))
> +
> +(define-public font-iosevka-ss08
> +  (font-iosevka-variant
> +   "font-iosevka-ss08" "iosevka-ss08"
> +   #:sha256 (base32 "0bc50z01ywh5y5y24xmiwqbw10vp5hjlrg7y8nmqjxg04222q6vi")
> +   #:synopsis "Coders' typeface, built from code (sans-serif SS08 variant)"))
> +
> +(define-public font-iosevka-ss09
> +  (font-iosevka-variant
> +   "font-iosevka-ss09" "iosevka-ss09"
> +   #:sha256 (base32 "082bfnmc73wf84c9z0kpamf857j6ibcfg141vs15fjkairvwk1jb")
> +   #:synopsis "Coders' typeface, built from code (sans-serif SS09 variant)"))
> +
> +(define-public font-iosevka-ss10
> +  (font-iosevka-variant
> +   "font-iosevka-ss10" "iosevka-ss10"
> +   #:sha256 (base32 "0vy76r1bph1nh43dvkdi0wgf1fgq5qwmnmcxrjfkilmx0jzpmmkg")
> +   #:synopsis "Coders' typeface, built from code (sans-serif SS10 variant)"))
> +
> +(define-public font-iosevka-ss11
> +  (font-iosevka-variant
> +   "font-iosevka-ss11" "iosevka-ss11"
> +   #:sha256 (base32 "1skgn1z14rk5xvnzvnk8i4s90hrxcxnmchhasbp8jg6cmqwpp177")
> +   #:synopsis "Coders' typeface, built from code (sans-serif SS11 variant)"))
>  
>  (define-public font-go
>    (let ((commit "f03a046406d4d7fbfd4ed29f554da8f6114049fc")

Do you still use the above patch?  font-iosevka is now at 7.0.3 vs 2.2.0
when you authored the above, making me wondering whether it's still
actual/correct.

Thanks,

Maxim




Reply sent to Andreas Enge <andreas <at> enge.fr>:
You have taken responsibility. (Wed, 16 Apr 2025 15:00:03 GMT) Full text and rfc822 format available.

Notification sent to Tobias Geerinckx-Rice <somebody <at> not-sent-or-endorsed-by.tobias.gr>:
bug acknowledged by developer. (Wed, 16 Apr 2025 15:00:03 GMT) Full text and rfc822 format available.

Message #13 received at 35045-done <at> debbugs.gnu.org (full text, mbox):

From: Andreas Enge <andreas <at> enge.fr>
To: 35045-done <at> debbugs.gnu.org
Subject: Close
Date: Wed, 16 Apr 2025 16:58:49 +0200
Opened 6 years ago, commented on with lack of reply 4 years ago,
so I am closing the issue. Please feel free to reopen it if you
have an updated patch.

Andreas





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 15 May 2025 11:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 29 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.