Subject: Re: [bug#42249] [PATCH] gnu: Add font-libertinus.

From: Tim Van den Langenbergh <[email-masked]>
Date: Tue, 7 Jul 2020 20:18:53 +0200

Hello again,

I actually did switch to using a release URL instead of a git fetch, but I forgot to update the patch, sorry about that! I have added the updated patch.

Regarding the locale, my system (OpenSUSE) is running en_GB.UTF-8, I can try building in a GuixSD VM if that helps?

Thanks for the quick response!

-Tim

On Tuesday, 7 July 2020 20:02:13 CEST you wrote:
> Tim,
> 
> Tim Van den Langenbergh 写道：
> > I am rather fond of the Libertinus Mono font for Emacs, as I 
> > like my Monospace fonts to have Serifs.
> 
> Interesting…
> 
> > As others may like the font as well I have created a patch to 
> > add it to the fonts package.
> 
> Thank you!
> 
> > This being the first patch I have ever submitted to Guix I'm not 
> > entirely sure I did everything right, I followed the Submitting 
> > Patches part of the manual as close as I could, but I may have 
> > made a mistake somewhere, so feel free to correct me where 
> > needed.
> 
> Your first commit message is flawless; congratulations! :-)
> 
> However, [how] did you install and test this package?  This:
> 
> +    (source (origin
> +         (method git-fetch)
> +         (uri (string-append 
> "https://github.com/alerque/libertinus/"
> +                                  "commit/"
> + 
> "800155085d4a1592dc6e76b34cd625794cd0fcdf"))
> +         (sha256
> +          (base32 
> "1mj0d84k1x15hsgksca0qjhc3mmzyaqaqa2vyrbb6s96ycsfsgq3"))))
> 
> isn't a valid GIT-FETCH origin:
> 
> --8<---------------cut here---------------start------------->8---
> ~/guix master λ guix build font-libertinus
> Backtrace:
> In ice-9/boot-9.scm:
>   1736:10  4 (with-exception-handler _ _ #:unwind? _ 
>   #:unwind-for-type _)
> In unknown file:
>            3 (apply-smob/0 #<thunk 72848587f160>)
> In ice-9/boot-9.scm:
>     718:2  2 (call-with-prompt _ _ #<procedure 
>     default-prompt-handler (k proc)>)
> In ice-9/eval.scm:
>     619:8  1 (_ #(#(#<directory (guile-user) 72848546ff00>)))
> In guix/ui.scm:
>   1953:12  0 (run-guix-command _ . _)
> 
> guix/ui.scm:1953:12: In procedure run-guix-command:
> In procedure struct-vtable: Wrong type argument in position 1 
> (expecting struct): 
> "https://github.com/alerque/libertinus/commit/800155085d4a1592dc6e76b34cd625794cd0fcdf"
> --8<---------------cut here---------------end--------------->8---
> 
> I replaced it with:
> 
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url "https://github.com/alerque/libertinus")
> +             (commit (string-append "v" version))))
> +       (sha256
> +   (base32 
> "0flj3xwj8x938wh614ch295j040ccnha1nzmlg5sgpsyxg5gjsbf"))))
> 
> Note the ‘commit’ that isn't.
> 
> If you're lucky (which is most of the time), upstream will tag 
> releases & you won't need to hard-code the commit.  This makes 
> updating the package later much easier.
> 
> I don't know GitHub well enough to link to it directly, but you 
> can find a list of tags under the top-left ‘Branch: main’ 
> drop-down here[0].
> 
> Now I get an encoding error which is probably not your ‘fault’… 
> Guile can be picky when it comes to locales.  I'll poke at it some 
> more.
> 
> Kind regards,
> 
> T G-R
> 
> [0]: https://github.com/alerque/libertinus
> 

From 4ea1682b08a4d0a8b5c16b77ed7e5b4f561f046d Mon Sep 17 00:00:00 2001
From: Tim Van den Langenbergh <[email-masked]>
Date: Tue, 7 Jul 2020 16:38:41 +0200
Subject: [PATCH] gnu: Add font-libertinus.

* gnu/packages/fonts.scm (font-libertinus): New variable.
---
 gnu/packages/fonts.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index ed9b634bc3..98d9b36d86 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -384,6 +384,27 @@ Biolinum is available in both Regular and Bold weights.")
     ;; The fonts are released under either of these licenses.
     (license (list license:gpl2+ license:silofl1.1))))

+(define-public font-libertinus
+  (package
+    (name "font-libertinus")
+    (version "6.12")
+    (source (origin
+	  (method url-fetch)
+	  (uri (string-append "https://github.com/alerque/libertinus/releases"
+			      "/download/v" version "/libertinus-" version
+			      ".zip"))
+	  (sha256
+	   (base32 "06pcsd5pijjid7xjxak35jla089krm5hqnbglv8ldncq475q7kb2"))))
+    (build-system font-build-system)
+    (home-page "https://github.com/alerque/libertinus")
+    (synopsis "Font family based on Linux Libertine")
+    (description "The Libertinus font family, a fork of Linux Libertine and
+Biolinum with OpenType math.  The family consists of a Serif typeface, forked
+from Linux Libertine; a Sans Serif typeface, forked from Linux Biolinum; a
+Monospace typeface, forked from Linux Libertine Mono; and an OpenType math font,
+for OpenType math-capable applications like LuaTeX or XeTeX.")
+    (license license:silofl1.1)))
+
 (define-public font-terminus
   (package
     (name "font-terminus")
--
2.27.0