diff mbox series

[bug#47433,2/2] gnu: Add lagrange.

Message ID 20210327134629.31646-2-lle-bout@zaclys.net
State Accepted
Headers show
Series gnu: Add lagrange. | expand

Checks

Context Check Description
cbaines/submitting builds success
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

Léo Le Bouter March 27, 2021, 1:46 p.m. UTC
* gnu/packages/web.scm (lagrange): New variable.
---
 gnu/packages/web.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

Comments

Leo Famulari March 27, 2021, 6:18 p.m. UTC | #1
On Sat, Mar 27, 2021 at 02:46:29PM +0100, Léo Le Bouter via Guix-patches via wrote:
> * gnu/packages/web.scm (lagrange): New variable.

Thanks!

> +;; When upgrading, also upgrade the "the-foundation" package just above.
> +;; Lagrange pins specific commits of it and "the-foundation" does not make
> +;; releases (yet?).

Can you add a note about how to figure out which commit is pinned?

> +              (modules '((guix build utils)))
> +              (snippet
> +               '(begin
> +                  (delete-file-recursively "lib/the_Foundation")
> +                  #t))))

Please add a comment explaining why we have this snippet. In general,
snippets are only used to transform "non-free" source code into
something that conforms with the Free System Distribution Guidelines
[0], or to correct grave bugs in the source code.


> +    (synopsis "Beautiful desktop GUI client for browsing Geminispace")

The manual section Synopses and Descriptions asks us to avoid so-called
"marketing language". Beauty is in the eye of the beholder... :)

Otherwise, LGTM!

[0] https://www.gnu.org/distros/free-system-distribution-guidelines.en.html
diff mbox series

Patch

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index dc45c2a3b2..c814638ec1 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -143,6 +143,7 @@ 
   #:use-module (gnu packages mail)
   #:use-module (gnu packages man)
   #:use-module (gnu packages markup)
+  #:use-module (gnu packages mp3)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages networking)
   #:use-module (gnu packages nss)
@@ -160,6 +161,7 @@ 
   #:use-module (gnu packages qt)
   #:use-module (gnu packages re2c)
   #:use-module (gnu packages readline)
+  #:use-module (gnu packages sdl)
   #:use-module (gnu packages search)
   #:use-module (gnu packages sphinx)
   #:use-module (gnu packages texinfo)
@@ -6675,6 +6677,48 @@  point of view of someone who appreciates the user-friendliness of Qt and some
 of the thinking behind C++ STL.")
       (license license:bsd-2))))
 
+;; When upgrading, also upgrade the "the-foundation" package just above.
+;; Lagrange pins specific commits of it and "the-foundation" does not make
+;; releases (yet?).
+(define-public lagrange
+  (package
+    (name "lagrange")
+    (version "1.2.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://git.skyjake.fi/skyjake/lagrange")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0djwr0n06z993kdpvks1dj7nr4j6481sfh5mjjg7q2hsfnsj9kmx"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  (delete-file-recursively "lib/the_Foundation")
+                  #t))))
+    (build-system cmake-build-system)
+    (arguments
+     `(;; No tests
+       #:tests? #f))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("the-foundation" ,the-foundation)
+       ("sdl2" ,sdl2)
+       ("curl" ,curl)
+       ("zlib" ,zlib)
+       ("pcre" ,pcre)
+       ("mpg123" ,mpg123)))
+    (home-page "https://gmi.skyjake.fi/lagrange/")
+    (synopsis "Beautiful desktop GUI client for browsing Geminispace")
+    (description "@code{Lagrange} is a desktop GUI client for browsing
+Geminispace.  It offers modern conveniences familiar from web browsers, such
+as smooth scrolling, inline image viewing, multiple tabs, visual themes,
+Unicode fonts, bookmarks, history, and page outlines.")
+    (license license:bsd-2)))
+
 (define-public python-py-ubjson
   (package
     (name "python-py-ubjson")