Subject: [PATCH 2/2] gnu: Add lagrange.

From: Léo Le Bouter <[email-masked]>
Date: Sat, 27 Mar 2021 14:46:29 +0100

* gnu/packages/web.scm (lagrange): New variable.
---
 gnu/packages/web.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

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