[bug#72626] Add biblesync
Commit Message
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
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,
@@ -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")