unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* loudmouth, freetalk
@ 2016-03-29 17:23 Jean Louis
  2016-03-29 19:28 ` Nils Gillmann
  0 siblings, 1 reply; 9+ messages in thread
From: Jean Louis @ 2016-03-29 17:23 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 263 bytes --]

Hello,

here are 2 packages: loudmouth as prerequisite for freetalk, the command
line jabber client.

My knowledge is not sufficient to make it work yet. If somebody can help
on correcting this and including freetalk with SSL/TLS in the GuixSD

Thanks
Jean Louis

[-- Attachment #2: loudmouth.scm --]
[-- Type: text/plain, Size: 2687 bytes --]

;;; GNU Guix --- Functional package management for GNU
;;; Copyright @ 2016
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages loudmouth)
  #:use-module (guix licenses)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system gnu)
  #:use-module (gnu packages)
  #:use-module (gnu packages autotools)
;;  #:use-module (gnu packages guile)
  #:use-module (gnu packages glib)
  #:use-module (gnu packages tls)
  #:use-module (gnu packages pkg-config)
;  #:use-module (gnu packages readline)
					;  #:use-module (gnu packages ncurses)
  )

(define-public loudmouth
  (package
    (name "loudmouth")
    (version "1.4.3")
    (source (origin
             (method url-fetch)
             (uri (string-append
                    "http://ftp.gnome.org/pub/GNOME/sources/loudmouth/1.4"
                    "/loudmouth-" version ".tar.bz2"))
             (sha256
              (base32
               "1qr9z73i33y49pbpq6zy7q537g0iyc8sm56rjf0ylwcv01fkzacm"))))
    (build-system gnu-build-system)
    (inputs
     `(("automake" ,automake)
       ("autoconf" ,autoconf)
       ("libtool" ,libtool)
       ("glib" ,glib)
       ("openssl" ,openssl)
       ("pkg-config" ,pkg-config)
       ;("readline" ,readline)
					;("ncurses" ,ncurses)
       ))
     (arguments
      `(#:configure-flags
	(list "--with-ssl=openssl")))
    (home-page "http://www.imendio.com/projects/loudmouth")
    (synopsis "Loudmouth is a lightweight Jabber client library written in C/Glib.")
    (description
     "Loudmouth is a lightweight and easy-to-use C library for
programming with the Jabber protocol. It's designed to be easy to get
started with and yet extensible to let you do anything the Jabber
protocol allows. The goal is to fully support Linux, *BSD, Mac OSX and
Windows. It has currently only been tested on Linux (Red Hat 8.0,
Debian Unstable) and FreeBSD that I know of. If someone with access to
other machines can provide feedback I would be most grateful.")
    (license lgpl2.1+)))
loudmouth

[-- Attachment #3: freetalk.scm --]
[-- Type: text/plain, Size: 2560 bytes --]

;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages freetalk)
  #:use-module (guix licenses)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system gnu)
  #:use-module (gnu packages)
  #:use-module (gnu packages autotools)
  #:use-module (gnu packages guile)
  #:use-module (gnu packages glib)  
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages readline)
  #:use-module (gnu packages ncurses))

(define-public freetalk
  (package
    (name "freetalk")
    (version "4.1")
    (source (origin
             (method url-fetch)
             (uri (string-append
                    "https://github.com/GNUFreetalk/freetalk/archive/v"
                    version "/freetalk-" version ".tar.gz"))
             (sha256
              (base32
               "1rmrn7a1bb7vm26yaklrvx008a9qhwc32s57dwrlf40lv9gffwny"))))
    (build-system gnu-build-system)
    (inputs
     `(("automake" ,automake)
       ("autoconf" ,autoconf)
       ("libtool" ,libtool)
       ("guile" ,guile-2.0)
       ("glib" ,glib)
       ("pkg-config" ,pkg-config)
       ("readline" ,readline)
       ("ncurses" ,ncurses)))
    (arguments
     `(#:phases (alist-cons-after
		 'unpack 'boostrap
		 (lambda _
		   (zero? (system* "sh" "autogen.sh")))
		 %standard-phases)))
    (home-page "http://gnufreetalk.github.io/")
    (synopsis "GNU Freetalk is a command-line Jabber/XMPP chat client.")
    (description
     "GNU Freetalk is a command-line Jabber/XMPP chat client. It
notably uses the Readline library to handle input, so it features
convenient navigation of text as well as tab-completion of buddy
names, commands and English words. It is also scriptable and
extensible via Guile.")
    (license gpl3+)))
freetalk

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: loudmouth, freetalk
  2016-03-29 17:23 loudmouth, freetalk Jean Louis
@ 2016-03-29 19:28 ` Nils Gillmann
  2016-03-29 21:49   ` Jean Louis
  2016-03-30 16:10   ` Mark H Weaver
  0 siblings, 2 replies; 9+ messages in thread
From: Nils Gillmann @ 2016-03-29 19:28 UTC (permalink / raw)
  To: guix-devel

Jean Louis <guix@rcdrun.com> writes:

> Hello,
>
> here are 2 packages: loudmouth as prerequisite for freetalk, the command
> line jabber client.
>
> My knowledge is not sufficient to make it work yet. If somebody can help
> on correcting this and including freetalk with SSL/TLS in the GuixSD
>
> Thanks
> Jean Louis
>

Hello, thanks for packaging.

In addition to the ones commented below, here are some general
improvements:

Try to find an existing file it fits into, like for example
gnu/packages/messaging.scm and include any kind of name, legal or
pseudonym, in the header of the file after the last name in the
list.

> ;;; GNU Guix --- Functional package management for GNU
> ;;; Copyright @ 2016
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> ;;; GNU Guix is free software; you can redistribute it and/or modify it
> ;;; under the terms of the GNU General Public License as published by
> ;;; the Free Software Foundation; either version 3 of the License, or (at
> ;;; your option) any later version.
> ;;;
> ;;; GNU Guix is distributed in the hope that it will be useful, but
> ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
> ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> ;;; GNU General Public License for more details.
> ;;;
> ;;; You should have received a copy of the GNU General Public License
> ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
>
> (define-module (gnu packages loudmouth)
>   #:use-module (guix licenses)
>   #:use-module (guix packages)
>   #:use-module (guix download)
>   #:use-module (guix build-system gnu)
>   #:use-module (gnu packages)
>   #:use-module (gnu packages autotools)
> ;;  #:use-module (gnu packages guile)
>   #:use-module (gnu packages glib)
>   #:use-module (gnu packages tls)
>   #:use-module (gnu packages pkg-config)
> ;  #:use-module (gnu packages readline)
> 					;  #:use-module (gnu packages ncurses)
>   )
>
> (define-public loudmouth
>   (package
>     (name "loudmouth")
>     (version "1.4.3")
>     (source (origin
>              (method url-fetch)
>              (uri (string-append
>                     "http://ftp.gnome.org/pub/GNOME/sources/loudmouth/1.4"
>                     "/loudmouth-" version ".tar.bz2"))

               (uri (string-append
                      "http://ftp.gnome.org/pub/GNOME/sources/" name
                      "/1.4/" name "-" version ".tar.bz2"))
               In addition: there might be an mirror:// thing for
               gnome ftp
               
>              (sha256
>               (base32
>                "1qr9z73i33y49pbpq6zy7q537g0iyc8sm56rjf0ylwcv01fkzacm"))))
>     (build-system gnu-build-system)
>     (inputs
>      `(("automake" ,automake)
>        ("autoconf" ,autoconf)
>        ("libtool" ,libtool)
>        ("glib" ,glib)
>        ("openssl" ,openssl)
>        ("pkg-config" ,pkg-config)
>        ;("readline" ,readline)
> 					;("ncurses" ,ncurses)
>        ))

         no parens on a single line,
         move them to the last uncommented line of code,
         ("pkg-config" ,pkg-config))) in this case.

>      (arguments
>       `(#:configure-flags
> 	(list "--with-ssl=openssl")))
>     (home-page "http://www.imendio.com/projects/loudmouth")
>     (synopsis "Loudmouth is a lightweight Jabber client library written in C/Glib.")
>     (description
>      "Loudmouth is a lightweight and easy-to-use C library for
> programming with the Jabber protocol. It's designed to be easy to get
> started with and yet extensible to let you do anything the Jabber
> protocol allows. The goal is to fully support Linux, *BSD, Mac OSX and
> Windows. It has currently only been tested on Linux (Red Hat 8.0,
> Debian Unstable) and FreeBSD that I know of. If someone with access to
> other machines can provide feedback I would be most grateful.")

You should check this with ./pre-inst-env guix lint, there are
some errors I can't check at the moment, the one I see is that
spacing between period and start of next sentence must be 2
whitespaces as in:

"Bla bla bla bla.  I know bla bla"

>     (license lgpl2.1+)))
> loudmouth

What is this for?

>
> ;;; GNU Guix --- Functional package management for GNU
> ;;; Copyright © 2016
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> ;;; GNU Guix is free software; you can redistribute it and/or modify it
> ;;; under the terms of the GNU General Public License as published by
> ;;; the Free Software Foundation; either version 3 of the License, or (at
> ;;; your option) any later version.
> ;;;
> ;;; GNU Guix is distributed in the hope that it will be useful, but
> ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
> ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> ;;; GNU General Public License for more details.
> ;;;
> ;;; You should have received a copy of the GNU General Public License
> ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
>
> (define-module (gnu packages freetalk)
>   #:use-module (guix licenses)
>   #:use-module (guix packages)
>   #:use-module (guix download)
>   #:use-module (guix build-system gnu)
>   #:use-module (gnu packages)
>   #:use-module (gnu packages autotools)
>   #:use-module (gnu packages guile)
>   #:use-module (gnu packages glib)  
>   #:use-module (gnu packages pkg-config)
>   #:use-module (gnu packages readline)
>   #:use-module (gnu packages ncurses))
>
> (define-public freetalk
>   (package
>     (name "freetalk")
>     (version "4.1")
>     (source (origin
>              (method url-fetch)
>              (uri (string-append
>                     "https://github.com/GNUFreetalk/freetalk/archive/v"
>                     version "/freetalk-" version ".tar.gz"))

               (uri (string-append
                     "https://github.com/GNUFreetalk/" name "/archive/v"
                     version "/" name "-" version ".tar.gz"))

>              (sha256
>               (base32
>                "1rmrn7a1bb7vm26yaklrvx008a9qhwc32s57dwrlf40lv9gffwny"))))
>     (build-system gnu-build-system)
>     (inputs
>      `(("automake" ,automake)
>        ("autoconf" ,autoconf)
>        ("libtool" ,libtool)
>        ("guile" ,guile-2.0)
>        ("glib" ,glib)
>        ("pkg-config" ,pkg-config)
>        ("readline" ,readline)
>        ("ncurses" ,ncurses)))
>     (arguments
>      `(#:phases (alist-cons-after
> 		 'unpack 'boostrap
> 		 (lambda _
> 		   (zero? (system* "sh" "autogen.sh")))
> 		 %standard-phases)))
>     (home-page "http://gnufreetalk.github.io/")
>     (synopsis "GNU Freetalk is a command-line Jabber/XMPP chat client.")
>     (description
>      "GNU Freetalk is a command-line Jabber/XMPP chat client. It
> notably uses the Readline library to handle input, so it features
> convenient navigation of text as well as tab-completion of buddy
> names, commands and English words. It is also scriptable and
> extensible via Guile.")

Same as above, spaces between sentences.

>     (license gpl3+)))
> freetalk

-- 
ng
personal contact: http://krosos.sdf.org
EDN: https://wiki.c3d2.de/EDN

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: loudmouth, freetalk
  2016-03-29 19:28 ` Nils Gillmann
@ 2016-03-29 21:49   ` Jean Louis
  2016-03-30 10:17     ` Ricardo Wurmus
  2016-03-30 10:44     ` Nils Gillmann
  2016-03-30 16:10   ` Mark H Weaver
  1 sibling, 2 replies; 9+ messages in thread
From: Jean Louis @ 2016-03-29 21:49 UTC (permalink / raw)
  To: Nils Gillmann; +Cc: guix-devel

Hello Nils,

I was expecting you could test these 2 files and simply fix them. I will
of course study, but I cannot get it to work at this moment.

Regarding single line on the end, that is because I used:

guix build -f file.scm

to test it, as it has to evaluate to something. Regarding copyright, I
would write it if it would work, but is work in progress.

On Tue, Mar 29, 2016 at 09:28:01PM +0200, Nils Gillmann wrote:
> Try to find an existing file it fits into, like for example
> gnu/packages/messaging.scm and include any kind of name, legal or
> pseudonym, in the header of the file after the last name in the
> list.

I would, but I did not finish the work.

> >     (license lgpl2.1+)))
> > loudmouth
> 
> What is this for?

To evaluate after: guix build -f file.scm, according to info guix.

/jl/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: loudmouth, freetalk
  2016-03-29 21:49   ` Jean Louis
@ 2016-03-30 10:17     ` Ricardo Wurmus
  2016-03-30 10:21       ` Jean Louis
  2016-03-30 10:44     ` Nils Gillmann
  1 sibling, 1 reply; 9+ messages in thread
From: Ricardo Wurmus @ 2016-03-30 10:17 UTC (permalink / raw)
  To: Jean Louis; +Cc: guix-devel, Nils Gillmann


Hi Jean Louis,

> Regarding single line on the end, that is because I used:
>
> guix build -f file.scm
>
> to test it, as it has to evaluate to something.

I suggest to do the following:

  * clone the guix repository

  * add the package definition to an existing file (such as
    “gnu/packages/messaging.scm”)

  * then run “./pre-inst-env guix build loudmouth”

That’s closer to how most of us work on Guix and you don’t have to
add the variable name to the end to evaluate it.

This will also make it easier for you to generate a patch by commiting
your change and then running “git format-patch -1”.

~~ Ricardo

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: loudmouth, freetalk
  2016-03-30 10:17     ` Ricardo Wurmus
@ 2016-03-30 10:21       ` Jean Louis
  2016-03-30 10:33         ` Ricardo Wurmus
  0 siblings, 1 reply; 9+ messages in thread
From: Jean Louis @ 2016-03-30 10:21 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel, Nils Gillmann

Sure, but existing files don't work, I asked for assistance on that. It
is not useful to add non-working package definitions, right?

On Wed, Mar 30, 2016 at 12:17:38PM +0200, Ricardo Wurmus wrote:
> 
> Hi Jean Louis,
> 
> > Regarding single line on the end, that is because I used:
> >
> > guix build -f file.scm
> >
> > to test it, as it has to evaluate to something.
> 
> I suggest to do the following:
> 
>   * clone the guix repository
> 
>   * add the package definition to an existing file (such as
>     “gnu/packages/messaging.scm”)
> 
>   * then run “./pre-inst-env guix build loudmouth”
> 
> That’s closer to how most of us work on Guix and you don’t have to
> add the variable name to the end to evaluate it.
> 
> This will also make it easier for you to generate a patch by commiting
> your change and then running “git format-patch -1”.
> 
> ~~ Ricardo

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: loudmouth, freetalk
  2016-03-30 10:21       ` Jean Louis
@ 2016-03-30 10:33         ` Ricardo Wurmus
  2016-03-30 11:00           ` Jean Louis
  0 siblings, 1 reply; 9+ messages in thread
From: Ricardo Wurmus @ 2016-03-30 10:33 UTC (permalink / raw)
  To: Jean Louis; +Cc: guix-devel, Nils Gillmann


Jean Louis <guix@rcdrun.com> writes:

> Sure, but existing files don't work, I asked for assistance on that. It
> is not useful to add non-working package definitions, right?

Adding them to your local repository clone is not going to add the
package definitions to Guix upstream automatically.  I often add
non-working package definitions to my local repository, because that’s
one step in making them work.

What do you mean by “don’t work”?  Do you get an error?  Do you intend
to continue to work on these packages?  It would be easier for us to
help if you told us what problems you encountered.

~~ Ricardo

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: loudmouth, freetalk
  2016-03-29 21:49   ` Jean Louis
  2016-03-30 10:17     ` Ricardo Wurmus
@ 2016-03-30 10:44     ` Nils Gillmann
  1 sibling, 0 replies; 9+ messages in thread
From: Nils Gillmann @ 2016-03-30 10:44 UTC (permalink / raw)
  To: guix-devel

Jean Louis <guix@rcdrun.com> writes:

> Hello Nils,
>
> I was expecting you could test these 2 files and simply fix them. I will
> of course study, but I cannot get it to work at this moment.

It is easier to learn and package it with help of people here
than to push the work in direction of others, only if you run
into problems you absolutely can't fix.
I just provided input on the style, I did not run it.

> Regarding single line on the end, that is because I used:
>
> guix build -f file.scm
>
> to test it, as it has to evaluate to something. Regarding copyright, I
> would write it if it would work, but is work in progress.
>
> On Tue, Mar 29, 2016 at 09:28:01PM +0200, Nils Gillmann wrote:
>> Try to find an existing file it fits into, like for example
>> gnu/packages/messaging.scm and include any kind of name, legal or
>> pseudonym, in the header of the file after the last name in the
>> list.
>
> I would, but I did not finish the work.
>
>> >     (license lgpl2.1+)))
>> > loudmouth
>> 
>> What is this for?
>
> To evaluate after: guix build -f file.scm, according to info guix.
>
> /jl/
>
>

-- 
ng
personal contact: http://krosos.sdf.org
EDN: https://wiki.c3d2.de/EDN

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: loudmouth, freetalk
  2016-03-30 10:33         ` Ricardo Wurmus
@ 2016-03-30 11:00           ` Jean Louis
  0 siblings, 0 replies; 9+ messages in thread
From: Jean Louis @ 2016-03-30 11:00 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

I was under impression that I did tell. I am yet learning Guile, and did
not go through all the functions from info guix. At this moment, I
cannot contribute in the manner like you or other people. But I can send
95% of the finished package definition.

freetalk, requires loudmouth.

Loudmouth works with GnuTLS, but if I enable GnuTLS in the package, it
complains for missing libgnutls-config (I guess that was the name). I
tried searching all files in gnutls, did not find that file.

I have thus changed loudmouth to use openssl.

I get this below, when running it, and I am unsure what to do, maybe
package (guix licenses) has openssl inside already.
WARNING: (gnu packages loudmouth): `openssl' imported from both (guix
licenses) and (gnu packages tls)

The ./configure and make start doing its job.

Then there is the error:
/gnu/store/lbkdykh3aa1469li01rwyya02q50r3b9-glib-2.46.1/include/glib-2.0/glib/gversionmacros.h:29:2:
error: #error "Only <glib.h> can be included directly."
 #error "Only <glib.h> can be included directly."
   ^
   Makefile:429: recipe for target 'lm-error.lo' failed

And that is where loudmouth stops. 

On Wed, Mar 30, 2016 at 12:33:21PM +0200, Ricardo Wurmus wrote:
> What do you mean by “don’t work”?  Do you get an error?  Do you intend
> to continue to work on these packages?  It would be easier for us to
> help if you told us what problems you encountered.
> 
> ~~ Ricardo

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: loudmouth, freetalk
  2016-03-29 19:28 ` Nils Gillmann
  2016-03-29 21:49   ` Jean Louis
@ 2016-03-30 16:10   ` Mark H Weaver
  1 sibling, 0 replies; 9+ messages in thread
From: Mark H Weaver @ 2016-03-30 16:10 UTC (permalink / raw)
  To: Jean Louis; +Cc: guix-devel, Nils Gillmann

Nils Gillmann <niasterisk@grrlz.net> writes:

> Jean Louis <guix@rcdrun.com> writes:
>
>> (define-public loudmouth
>>   (package
>>     (name "loudmouth")
>>     (version "1.4.3")
>>     (source (origin
>>              (method url-fetch)
>>              (uri (string-append
>>                     "http://ftp.gnome.org/pub/GNOME/sources/loudmouth/1.4"
>>                     "/loudmouth-" version ".tar.bz2"))
>
>                (uri (string-append
>                       "http://ftp.gnome.org/pub/GNOME/sources/" name
>                       "/1.4/" name "-" version ".tar.bz2"))

The "1.4" should also be replaced with (version-major+minor version), so
that this part of the string doesn't have to be manually fixed when the
version changes to 1.5.x or higher.  Using the 'name' variable is less
important, since that's unlikely to change.

>                In addition: there might be an mirror:// thing for
>                gnome ftp

Yes.  So it should be like this:

              (uri (string-append "mirror://gnome/sources/" name "/"
                                  (version-major+minor version) "/"
                                  name "-" version ".tar.bz2"))

      Thanks!
        Mark

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2016-03-30 16:10 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-29 17:23 loudmouth, freetalk Jean Louis
2016-03-29 19:28 ` Nils Gillmann
2016-03-29 21:49   ` Jean Louis
2016-03-30 10:17     ` Ricardo Wurmus
2016-03-30 10:21       ` Jean Louis
2016-03-30 10:33         ` Ricardo Wurmus
2016-03-30 11:00           ` Jean Louis
2016-03-30 10:44     ` Nils Gillmann
2016-03-30 16:10   ` Mark H Weaver

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).