[PATCH 0/2] gnu: Add lagrange.

  • Done
  • quality assurance status badge
Details
3 participants
  • Guillaume Le Vaillant
  • Leo Famulari
  • Léo Le Bouter
Owner
unassigned
Submitted by
Léo Le Bouter
Severity
normal
L
L
Léo Le Bouter wrote on 27 Mar 2021 14:45
(address . guix-patches@gnu.org)(name . Léo Le Bouter)(address . lle-bout@zaclys.net)
20210327134537.31188-1-lle-bout@zaclys.net
One pending minor packaging issue submitted upstream:

Probably a revised patchset will come once that is solved.

Otherwise, tested and it builds and works fine! No extended testing of the usage
of lagrange itself was made though.

Léo Le Bouter (2):
gnu: Add the-foundation.
gnu: Add lagrange.

gnu/packages/web.scm | 80 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 80 insertions(+)

--
2.31.0
L
L
Léo Le Bouter wrote on 27 Mar 2021 14:46
[PATCH 2/2] gnu: Add lagrange.
(address . 47433@debbugs.gnu.org)(name . Léo Le Bouter)(address . lle-bout@zaclys.net)
20210327134629.31646-2-lle-bout@zaclys.net
* gnu/packages/web.scm (lagrange): New variable.
---
gnu/packages/web.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)

Toggle diff (71 lines)
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
L
L
Léo Le Bouter wrote on 27 Mar 2021 14:46
[PATCH 1/2] gnu: Add the-foundation.
(address . 47433@debbugs.gnu.org)(name . Léo Le Bouter)(address . lle-bout@zaclys.net)
20210327134629.31646-1-lle-bout@zaclys.net
* gnu/packages/web.scm (the-foundation): New variable.
---
gnu/packages/web.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

Toggle diff (49 lines)
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index ae41588037..dc45c2a3b2 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -6639,6 +6639,42 @@ Rust with GTK. It currently supports the Gemini, Gopher and Finger
protocols.")
(license license:expat)))
+(define-public the-foundation
+ (let ((commit "8172d35cad24ec392bfd27e1f4de3a2205f988d2"))
+ (package
+ (name "the-foundation")
+ (version (string-take commit 7))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.skyjake.fi/skyjake/the_Foundation")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "010kgbii33rb52g6iyrcjpb9sicnfw684pyrfwv1h8igpiv6hsv9"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(;; Tests are not meant to be run automatically for now.
+ ;; See https://codeberg.org/skyjake/the_Foundation/issues/2
+ #:tests? #f))
+ (native-inputs
+ `(("git" ,git-minimal)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("curl" ,curl)
+ ("zlib" ,zlib)
+ ("pcre" ,pcre)
+ ("openssl" ,openssl)
+ ("libunistring" ,libunistring)))
+ (home-page "https://git.skyjake.fi/skyjake/the_Foundation")
+ (synopsis "Opinionated C11 library for low-level functionality")
+ (description "@code{the_Foundation} is a C11 library and a coding
+convention for object-oriented programming that has been designed from the
+point of view of someone who appreciates the user-friendliness of Qt and some
+of the thinking behind C++ STL.")
+ (license license:bsd-2))))
+
(define-public python-py-ubjson
(package
(name "python-py-ubjson")
--
2.31.0
L
L
Leo Famulari wrote on 27 Mar 2021 19:12
(name . Léo Le Bouter via Guix-patches via)(address . guix-patches@gnu.org)
YF91p1h4jBSC116H@jasmine.lan
On Sat, Mar 27, 2021 at 02:46:28PM +0100, L�o Le Bouter via Guix-patches via wrote:
Toggle quote (2 lines)
> * gnu/packages/web.scm (the-foundation): New variable.

Thanks!

Toggle quote (3 lines)
> +(define-public the-foundation
> + (let ((commit "8172d35cad24ec392bfd27e1f4de3a2205f988d2"))

Please add a "revision" variable ...

Toggle quote (4 lines)
> + (package
> + (name "the-foundation")
> + (version (string-take commit 7))

... and use the git-version procedure, as described in the manual
section Version Numbers:


Toggle quote (3 lines)
> + (native-inputs
> + `(("git" ,git-minimal)

Does it only use Git at build-time, and not keep a reference to the Git
package? You can check like this:

$ guix gc --references $(guix build --no-grafts thefoundation) | grep git

If it keeps a reference, then Git should be a regular input. I ask
because it's unusual for Guix packages to need to Git as a
native-inputs, because the .git directory is deleted before building,
and there is no network access at build time.

Otherwise, looks good to me.
L
L
Leo Famulari wrote on 27 Mar 2021 19:18
Re: [bug#47433] [PATCH 2/2] gnu: Add lagrange.
(name . Léo Le Bouter via Guix-patches via)(address . guix-patches@gnu.org)
YF926LxhoInxQK3O@jasmine.lan
On Sat, Mar 27, 2021 at 02:46:29PM +0100, L�o Le Bouter via Guix-patches via wrote:
Toggle quote (2 lines)
> * gnu/packages/web.scm (lagrange): New variable.

Thanks!

Toggle quote (4 lines)
> +;; 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?

Toggle quote (6 lines)
> + (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.


Toggle quote (2 lines)
> + (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!

L
L
Léo Le Bouter wrote on 28 Mar 2021 17:49
[PATCH v2 0/2] gnu: Add lagrange.
(address . 47433@debbugs.gnu.org)(name . Léo Le Bouter)(address . lle-bout@zaclys.net)
20210328154943.21575-1-lle-bout@zaclys.net
Thanks for the review, I have not been able to integrate the review comments
yet, but I am sending a revised patchset because upstream has solved the issues
previously described. To be continued.

Léo Le Bouter (2):
gnu: Add the-foundation.
gnu: Add lagrange.

gnu/packages/web.scm | 77 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 77 insertions(+)

--
2.31.1
L
L
Léo Le Bouter wrote on 28 Mar 2021 17:49
[PATCH v2 1/2] gnu: Add the-foundation.
(address . 47433@debbugs.gnu.org)(name . Léo Le Bouter)(address . lle-bout@zaclys.net)
20210328154943.21575-2-lle-bout@zaclys.net
* gnu/packages/web.scm (the-foundation): New variable.
---
gnu/packages/web.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

Toggle diff (49 lines)
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index ae41588037..7896094726 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -6639,6 +6639,42 @@ Rust with GTK. It currently supports the Gemini, Gopher and Finger
protocols.")
(license license:expat)))
+(define-public the-foundation
+ (let ((commit "c8bbd0d694578e5277f50f1523315f01ca910ec6"))
+ (package
+ (name "the-foundation")
+ (version (string-take commit 7))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.skyjake.fi/skyjake/the_Foundation")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "169v4n30vfr5hmvv37fccnds1nxhx86h6h428qxkqs2n21f2xb7w"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(;; Tests are not meant to be run automatically for now.
+ ;; See https://codeberg.org/skyjake/the_Foundation/issues/2
+ #:tests? #f))
+ (native-inputs
+ `(("git" ,git-minimal)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("curl" ,curl)
+ ("zlib" ,zlib)
+ ("pcre" ,pcre)
+ ("openssl" ,openssl)
+ ("libunistring" ,libunistring)))
+ (home-page "https://git.skyjake.fi/skyjake/the_Foundation")
+ (synopsis "Opinionated C11 library for low-level functionality")
+ (description "@code{the_Foundation} is a C11 library and a coding
+convention for object-oriented programming that has been designed from the
+point of view of someone who appreciates the user-friendliness of Qt and some
+of the thinking behind C++ STL.")
+ (license license:bsd-2))))
+
(define-public python-py-ubjson
(package
(name "python-py-ubjson")
--
2.31.1
L
L
Léo Le Bouter wrote on 28 Mar 2021 17:49
[PATCH v2 2/2] gnu: Add lagrange.
(address . 47433@debbugs.gnu.org)(name . Léo Le Bouter)(address . lle-bout@zaclys.net)
20210328154943.21575-3-lle-bout@zaclys.net
* gnu/packages/web.scm (lagrange): New variable.
---
gnu/packages/web.scm | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)

Toggle diff (68 lines)
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 7896094726..5edb720a41 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,45 @@ 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)
+ ("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.1
G
G
Guillaume Le Vaillant wrote on 7 Apr 2022 14:08
[PATCH 0/2] gnu: Add lagrange.
(address . 47433-close@debbugs.gnu.org)
87zgkxf60i.fsf@kitej
Lagrange was added in 8ec8fe0fcc155e0e3e0cc14a3b04b51c1a7ac10c.
Closing.
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCYk7UzQ8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j9t5wD+Km304ai6+eEhZmbu9gNwjmau061qP9qQ7v4N
tL4IPP4BAIeDJOIlShxGKYC33+CU0YDvVwnQvn0SdYtzZm4tGuXE
=RMnR
-----END PGP SIGNATURE-----

?