Subject: Re: [bug#72626] [PATCH] Add biblesync

From: Nicolas Goaziou <[email-masked]>
Date: Wed, 21 Aug 2024 10:54:34 +0200

Hello,

peepofroggings--- via Guix-patches via <[email-masked]> writes:

> From 5065444ffc09c5bfc47fe2ae6b4e806744bba9a1 Mon Sep 17 00:00:00 2001
> From: <[email-masked]>
> 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,
-- 
Nicolas Goaziou