[bug#72626] Add biblesync

Message ID O4HB9ru--3-9@tutanota.de
State New
Headers
Series [bug#72626] Add biblesync |

Commit Message

tusharhero--- via Guix-patches via Aug. 14, 2024, 7:48 p.m. UTC
From 5065444ffc09c5bfc47fe2ae6b4e806744bba9a1 Mon Sep 17 00:00:00 2001
From: <peepofroggings@tutanota.de>
Date: Wed, 14 Aug 2024 02:45:00 +0200
Subject: [PATCH] Add biblesync

---
gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

-- 
2.45.2
  

Comments

Nicolas Goaziou Aug. 21, 2024, 8:54 a.m. UTC | #1
Hello,

peepofroggings--- via Guix-patches via <guix-patches@gnu.org> writes:

> From 5065444ffc09c5bfc47fe2ae6b4e806744bba9a1 Mon Sep 17 00:00:00 2001
> From: <peepofroggings@tutanota.de>
> Date: Wed, 14 Aug 2024 02:45:00 +0200
> Subject: [PATCH] Add biblesync

Thank you.

I normalized the commit message, fixed some issues with your patch,and
applied it.
 
>        (license license:zlib))))

There are whitespace issues in your email.
>  
> +(define-public biblesync
> +  (package
> +    (name "biblesync")
> +    (version "2.1.0")
> +    (source
> +      (origin
> +              (method git-fetch)
> +              (uri
> +               (git-reference
> +                (url "https://github.com/karlkleinpaste/biblesync")
> +                (commit version))))

The parenthesis are off and as such the package cannot build properly.

> +              (file-name (git-file-name name version))
> +      (sha256
> +        (base32 "1s6hx0av2fb2rddhr36v406r8bf054hi2m1j7a62npyqqjngr0wh"))))

The hash was wrong, so I updated it.

> +    (build-system cmake-build-system)
> +    (arguments '(#:tests? #f))

I added a comment explaining why (in a way…) tests couldn't be run.

I also made the process build shared library instead of static one.

> +    (synopsis "C++ library implementing the BibleSync protocol")
> +    (description
> +      "BibleSync is a multicast protocol to support Bible software shared
> +      co-navigation. It uses LAN multicast in either a personal/small team
> +      mutual navigation motif or in a classroom environment where there are
> +      Speakers plus the Audience. The library implementing the protocol is a
> +      single C++ class providing a complete yet minimal public interface
> +      to support mode setting, setup for packet reception, transmit on local
> +      navigation, and handling of incoming packets. This library is not specific
> +      to any particular Bible software framework, completely agnostic as to
> +      structure of layers above BibleSync, and is not a product of The Sword
> +      Project. But its first implementation has been grafted into
> Xiphos.")

I fixed indentation and tweaked description a bit.

> +    (inputs (list `(,util-linux "lib")))
> +    (home-page "https://github.com/karlkleinpaste/biblesync")
> +    (license public-domain)))

The above should have been (license license:public-domain)

From the Guix repository, you can try building your package with
"./pre-inst-env guix build biblesync". You will be able to catch most of
the mistakes above.

Regards,
  

Patch

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index c1c2a40..ac45a00 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -40,6 +40,7 @@ 
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;; Copyright © 2023 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2024 dan <i@dan.games>
+;;; Copyright © 2024 Peepo Froggings <peepofroggings@tutanota.de>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -188,6 +189,38 @@  (define-public asmjit
development effort.")
       (license license:zlib))))
 
+(define-public biblesync
+  (package
+    (name "biblesync")
+    (version "2.1.0")
+    (source
+      (origin
+              (method git-fetch)
+              (uri
+               (git-reference
+                (url "https://github.com/karlkleinpaste/biblesync")
+                (commit version))))
+              (file-name (git-file-name name version))
+      (sha256
+        (base32 "1s6hx0av2fb2rddhr36v406r8bf054hi2m1j7a62npyqqjngr0wh"))))
+    (build-system cmake-build-system)
+    (arguments '(#:tests? #f))
+    (synopsis "C++ library implementing the BibleSync protocol")
+    (description
+      "BibleSync is a multicast protocol to support Bible software shared
+      co-navigation. It uses LAN multicast in either a personal/small team
+      mutual navigation motif or in a classroom environment where there are
+      Speakers plus the Audience. The library implementing the protocol is a
+      single C++ class providing a complete yet minimal public interface
+      to support mode setting, setup for packet reception, transmit on local
+      navigation, and handling of incoming packets. This library is not specific
+      to any particular Bible software framework, completely agnostic as to
+      structure of layers above BibleSync, and is not a product of The Sword
+      Project. But its first implementation has been grafted into Xiphos.")
+    (inputs (list `(,util-linux "lib")))
+    (home-page "https://github.com/karlkleinpaste/biblesync")
+    (license public-domain)))
+
(define-public castxml
   (package
     (name "castxml")