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

From: Tobias Geerinckx-Rice <[email-masked]>
Date: Tue, 07 Jul 2020 20:02:13 +0200

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