diff mbox series

[bug#57149] gnu: Add font-nerd-fonts-firacode

Message ID 20220812042313.19198-1-benoit@benoitj.ca
State Accepted
Headers show
Series [bug#57149] gnu: Add font-nerd-fonts-firacode | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Benoit Joly Aug. 12, 2022, 4:23 a.m. UTC
* gnu/packages/fonts (font-nerd-fonts-firacode): New variable.
---
 gnu/packages/fonts.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

Comments

Liliana Marie Prikler Aug. 12, 2022, 9:51 a.m. UTC | #1
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
Benoit Joly Aug. 12, 2022, 12:30 p.m. UTC | #2
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:
>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
Benoit Joly Aug. 21, 2022, 2:30 p.m. UTC | #3
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
diff mbox series

Patch

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)))