Subject: [bug#31331] [PATCH 1/2] gnu: Add bitlbee-discord.

From: Nils Gillmann <[email-masked]>
Date: Wed, 2 May 2018 18:41:12 +0000

Hi Pierre-Antoine,

this package definition is promising but needs some last tweaks.
I did not build it so far.

Pierre-Antoine Rouby transcribed 3.3K bytes:
> * gnu/packages/messaging.scm (bitlbee-discord): New variable.
>   (bitlbee): Add 'install-lib' phase.
> ---
>  gnu/packages/messaging.scm | 50 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 50 insertions(+)
> 
> diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
> index fd1c330ce..d6bd588cb 100644
> --- a/gnu/packages/messaging.scm
> +++ b/gnu/packages/messaging.scm
> @@ -14,6 +14,7 @@
>  ;;; Copyright © 2017 Theodoros Foradis <[email-masked]>
>  ;;; Copyright © 2017 Rutger Helling <[email-masked]>
>  ;;; Copyright © 2018 Leo Famulari <[email-masked]>
> +;;; Copyright © 2018 Pierre-Antoine Rouby <[email-masked]>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -181,6 +182,9 @@ end-to-end encryption.")
>           (add-after 'install 'install-etc
>             (lambda* (#:key (make-flags '()) #:allow-other-keys)
>               (zero? (apply system* "make" "install-etc" make-flags))))
> +         (add-after 'install-etc 'install-lib
> +           (lambda* (#:key (make-flags '()) #:allow-other-keys)
> +             (zero? (apply system* "make" "install-dev" make-flags))))
>           (replace 'configure
>             ;; bitlbee's configure script does not tolerate many of the
>             ;; variable settings that Guix would pass to it.
> @@ -199,6 +203,52 @@ identi.ca and status.net).")
>      (home-page "http://www.bitlbee.org/")
>      (license (list license:gpl2+ license:bsd-2))))
>  
> +(define-public bitlbee-discord
> +  (package
> +    (name "bitlbee-discord")
> +    (version "0.4.1")
> +    (source (origin
> +              (method url-fetch)
> +              (uri
> +               (string-append
> +                "https://github.com/sm00th/bitlbee-discord/"
> +                "archive/" version ".tar.gz"))

Nitpick, I would write it like:

 +              (uri
 +               (string-append "https://github.com/sm00th/bitlbee-discord/"
 +                              "archive/" version ".tar.gz"))

> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +                "1bwqxlg6fwj3749y7w69n9jwsdzf5nl9xqiszbpv9k8x1422i1y1"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'autogen
> +           (lambda _
> +             (invoke "sh" "autogen.sh")))
> +         (add-before 'configure 'bash-path
> +           (lambda* (#:key inputs outputs #:allow-other-keys)
> +             (substitute* "configure"
> +               (("\\$SHELL") (string-append (assoc-ref inputs "bash")
> +                                            "/bin/sh")))))

Is the configure.ac in this case special, or why doesn't it pick our SHELL
that is already in the environment of the build chroot?

> +         (replace 'configure
> +           (lambda* (#:key inputs outputs #:allow-other-keys)
> +             (invoke "./configure"
> +                     (string-append "--with-plugindir="
> +                                    (assoc-ref outputs "out")
> +                                    "/lib/bitlbee/")))))))
> +    (inputs `(("glib" ,glib)))
> +    (native-inputs `(("pkg-config" ,pkg-config)
> +                     ("autoconf" ,autoconf)
> +                     ("automake" ,automake)
> +                     ("texinfo" ,texinfo)
> +                     ("libtool" ,libtool)
> +                     ("bitlbee" ,bitlbee)

Does the buildsystem of bitlbee-discord check for bitlbee, or why is this required?

> +                     ("bash" ,bash)))
> +    (synopsis "IRC to instant messaging gateway discord plugin")

It's a bitlbee plugin, how about:

"Discord plugin for Bitlbee"

> +    (description "This package is plugin for bitlbee IRC to other messaging
> +gateway.")

You could write:

"Bitblee-discord is a plugin for Bitlbee which provides access to servers
running the Discord protocol"

I'm not very well informed about Discord, so other people might know more.

> +    (home-page "http://www.bitlbee.org/")

Here we use either the homepage, and if it doesn't exist we link to
a webview of the sourcecode or its directory on an httpd where the
source is, in this case you'd use

"https://github.com/sm00th/bitlbee-discord/"

> +    (license license:gpl2+)))
> +
>  (define-public hexchat
>    (package
>      (name "hexchat")
> -- 
> 2.17.0
> 
> 
> 
>