[PATCH] gnu: Add font-nerd-fonts-firacode

  • Done
  • quality assurance status badge
Details
2 participants
  • Benoit Joly
  • Liliana Marie Prikler
Owner
unassigned
Submitted by
Benoit Joly
Severity
normal
B
B
Benoit Joly wrote on 12 Aug 2022 06:23
(address . guix-patches@gnu.org)(name . Benoit Joly)(address . benoit@benoitj.ca)
20220812042313.19198-1-benoit@benoitj.ca
* gnu/packages/fonts (font-nerd-fonts-firacode): New variable.
---
gnu/packages/fonts.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

Toggle diff (52 lines)
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 20b55bce96..0ce9ba8414 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -51,6 +51,7 @@
;;; Copyright © 2021 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com>
;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space>
+;;; Copyright © 2022 Benoit Joly <benoit@benoitj.ca>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2795,3 +2796,37 @@ (define-public font-chiron-hei-hk
Kong variant of Adobe’s Source Han Sans. The font aims at providing a modern,
region-agnostic glyph set adopting the “modern” glyph style that is similar to
prevalent typefaces in Traditional Chinese regions.")))
+
+(define-public font-nerd-fonts-fira-code
+ (package
+ (name "font-nerd-fonts-fira-code")
+ (version "2.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://github.com/ryanoasis/nerd-fonts/releases/download/v"
+ version
+ "/FiraCode.zip"))
+ (sha256
+ (base32
+ "1rx7zrkq0584k6hrh6dx30xrnz5nq379xyw73pfd4gxaxnh9mpi1"))))
+ (build-system font-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'install 'make-files-writable
+ (lambda _
+ (for-each
+ make-file-writable
+ (find-files "." ".*\\.(otf|otc|ttf|ttc)$"))
+ #t)))))
+ (home-page "https://www.nerdfonts.com/")
+ (synopsis "Nerd fonts variant of FiraCode font")
+ (description
+ "Nerd fonts variant of FiraCode font. Nerd Fonts is a project that patches
+developer targeted fonts with a high number of glyphs (icons). Specifically to
+add a high number of extra glyphs from popular 'iconic fonts' such as Font
+Awesome, Devicons, Octicons, and others.")
+ (license license:silofl1.1)))
--
2.37.1
L
L
Liliana Marie Prikler wrote on 12 Aug 2022 11:51
e97530768cf6c9f906d9b7ea29435f17ca49344a.camel@ist.tugraz.at
Am Freitag, dem 12.08.2022 um 00:23 -0400 schrieb Benoit Joly:
Toggle quote (40 lines)
> * gnu/packages/fonts (font-nerd-fonts-firacode): New variable.
> ---
>  gnu/packages/fonts.scm | 35 +++++++++++++++++++++++++++++++++++
>  1 file changed, 35 insertions(+)
>
> diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
> index 20b55bce96..0ce9ba8414 100644
> --- a/gnu/packages/fonts.scm
> +++ b/gnu/packages/fonts.scm
> @@ -51,6 +51,7 @@
>  ;;; Copyright © 2021 Liliana Marie Prikler
> <liliana.prikler@gmail.com>
>  ;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com>
>  ;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space>
> +;;; Copyright © 2022 Benoit Joly <benoit@benoitj.ca>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -2795,3 +2796,37 @@ (define-public font-chiron-hei-hk
>  Kong variant of Adobe’s Source Han Sans.  The font aims at providing
> a modern,
>  region-agnostic glyph set adopting the “modern” glyph style that is
> similar to
>  prevalent typefaces in Traditional Chinese regions.")))
> +
> +(define-public font-nerd-fonts-fira-code
> +  (package
> +   (name "font-nerd-fonts-fira-code")
> +   (version "2.1.0")
> +   (source
> +    (origin
> +     (method url-fetch)
> +     (uri
> +      (string-append
> +       "https://github.com/ryanoasis/nerd-fonts/releases/download/v"
> +       version
> +       "/FiraCode.zip"))
> +     (sha256
> +      (base32
> +       "1rx7zrkq0584k6hrh6dx30xrnz5nq379xyw73pfd4gxaxnh9mpi1"))))
Use (uri (string-append "..."
"...")
Toggle quote (10 lines)
> +   (build-system font-build-system)
> +   (arguments
> +    `(#:phases
> +      (modify-phases %standard-phases
> +        (add-before 'install 'make-files-writable
> +          (lambda _
> +            (for-each
> +             make-file-writable
> +             (find-files "." ".*\\.(otf|otc|ttf|ttc)$"))
> +            #t)))))
Why do the files need to be made writable for install?

Toggle quote (11 lines)
> +   (home-page "https://www.nerdfonts.com/")
> +   (synopsis "Nerd fonts variant of FiraCode font")
> +   (description
> +    "Nerd fonts variant of FiraCode font.  Nerd Fonts is a project
> that patches
> +developer targeted fonts with a high number of glyphs (icons). 
> Specifically to
> +add a high number of extra glyphs from popular 'iconic fonts' such
> as Font
> +Awesome, Devicons, Octicons, and others.")
> +   (license license:silofl1.1)))
The description should consist of full sentences. Note that Nerd fonts
pulls in icons that are licensed under CC BY-NC-ND, which makes them
unfree. I'm not sure if those icons are present in the default
distribution, but I'd hazard a guess that they are.

More concerningly, the patches that can be applied via nerd fonts are
directly coded into their font-patcher, rather than, say, distributed
as a json file to be read separately. As far as I'm aware, this makes
nerd-fonts (the tool) itself NG.

Cheers
B
B
Benoit Joly wrote on 12 Aug 2022 14:30
E20632FA-F3F0-4D23-9777-2424CE888A64@benoitj.ca
Hi,

I'll have a look on the licensing. It's not worth the effort if this is non free.

Thanks for the feedback!

Benoit

On August 12, 2022 5:51:09 AM EDT, Liliana Marie Prikler <liliana.prikler@ist.tugraz.at> wrote:
Toggle quote (78 lines)
>Am Freitag, dem 12.08.2022 um 00:23 -0400 schrieb Benoit Joly:
>> * gnu/packages/fonts (font-nerd-fonts-firacode): New variable.
>> ---
>>  gnu/packages/fonts.scm | 35 +++++++++++++++++++++++++++++++++++
>>  1 file changed, 35 insertions(+)
>>
>> diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
>> index 20b55bce96..0ce9ba8414 100644
>> --- a/gnu/packages/fonts.scm
>> +++ b/gnu/packages/fonts.scm
>> @@ -51,6 +51,7 @@
>>  ;;; Copyright © 2021 Liliana Marie Prikler
>> <liliana.prikler@gmail.com>
>>  ;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com>
>>  ;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space>
>> +;;; Copyright © 2022 Benoit Joly <benoit@benoitj.ca>
>>  ;;;
>>  ;;; This file is part of GNU Guix.
>>  ;;;
>> @@ -2795,3 +2796,37 @@ (define-public font-chiron-hei-hk
>>  Kong variant of Adobe’s Source Han Sans.  The font aims at providing
>> a modern,
>>  region-agnostic glyph set adopting the “modern” glyph style that is
>> similar to
>>  prevalent typefaces in Traditional Chinese regions.")))
>> +
>> +(define-public font-nerd-fonts-fira-code
>> +  (package
>> +   (name "font-nerd-fonts-fira-code")
>> +   (version "2.1.0")
>> +   (source
>> +    (origin
>> +     (method url-fetch)
>> +     (uri
>> +      (string-append
>> +       "https://github.com/ryanoasis/nerd-fonts/releases/download/v"
>> +       version
>> +       "/FiraCode.zip"))
>> +     (sha256
>> +      (base32
>> +       "1rx7zrkq0584k6hrh6dx30xrnz5nq379xyw73pfd4gxaxnh9mpi1"))))
>Use (uri (string-append "..."
> "...")
>> +   (build-system font-build-system)
>> +   (arguments
>> +    `(#:phases
>> +      (modify-phases %standard-phases
>> +        (add-before 'install 'make-files-writable
>> +          (lambda _
>> +            (for-each
>> +             make-file-writable
>> +             (find-files "." ".*\\.(otf|otc|ttf|ttc)$"))
>> +            #t)))))
>Why do the files need to be made writable for install?
>
>> +   (home-page "https://www.nerdfonts.com/")
>> +   (synopsis "Nerd fonts variant of FiraCode font")
>> +   (description
>> +    "Nerd fonts variant of FiraCode font.  Nerd Fonts is a project
>> that patches
>> +developer targeted fonts with a high number of glyphs (icons). 
>> Specifically to
>> +add a high number of extra glyphs from popular 'iconic fonts' such
>> as Font
>> +Awesome, Devicons, Octicons, and others.")
>> +   (license license:silofl1.1)))
>The description should consist of full sentences. Note that Nerd fonts
>pulls in icons that are licensed under CC BY-NC-ND, which makes them
>unfree. I'm not sure if those icons are present in the default
>distribution, but I'd hazard a guess that they are.
>
>More concerningly, the patches that can be applied via nerd fonts are
>directly coded into their font-patcher, rather than, say, distributed
>as a json file to be read separately. As far as I'm aware, this makes
>nerd-fonts (the tool) itself NG.
>
>Cheers

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
Attachment: file
B
B
Benoit Joly wrote on 21 Aug 2022 16:30
[PATCH] gnu: Add font-nerd-fonts-firacode
(address . 57149@debbugs.gnu.org)
87lerh655g.fsf@benoitj.ca
Hi,

been hunting down licenses. most seems compatible, but some I could hunt
down.

Each font has it's license, and every additional glyph has it's own
license. Even nerd-fonts git is unclear on licensing of the patched
fonts.

I've been also looking at which distro package this library and it seems
only available in arch AUR.

With all that in mind, it does not look like it's realistic to package
this in guix.

thanks,

Benoit

tags 57149 wontfix
close 57149
B
B
Benoit Joly wrote on 21 Aug 2022 16:45
(address . control@debbugs.gnu.org)
87lerh1wr0.fsf@benoitj.ca
tags 57149 wontfix
close 57149
?