Patchwork New package: Seren

login
register
mail settings
Submitter Francesco Frassinelli
Date May 5, 2016, 2:34 p.m.
Message ID <1462458843.23626.5.camel@gmail.com>
Download mbox | patch
Permalink /patch/12024/
State New
Headers show

Comments

Francesco Frassinelli - May 5, 2016, 2:34 p.m.
Hello,

I'm a new Guix user and I created a package for Seren, a P2P VoIP
conference program which uses Opus as codec.

I would like to thank the for helping me on IRC.

--
Frafra
Alex Kost - May 6, 2016, 8:15 a.m.
Francesco Frassinelli (2016-05-05 17:34 +0300) wrote:

> Hello,

Hello and welcome!

> I'm a new Guix user and I created a package for Seren, a P2P VoIP
> conference program which uses Opus as codec.

You made a new "seren.scm" file, but didn't add a standard header (with
copyright, license, etc.) to it.  Also new files should be registered in
"<guix>/gnu/local.mk".

However, there is no need to put this pakcage into a separate module.  I
think (gnu packages telephony) is a suitable module for it.

The commit message should look like this.

--8<---------------cut here---------------start------------->8---
gnu: Add seren.

* gnu/packages/telephony.scm (seren): New variable.
--8<---------------cut here---------------end--------------->8---

> From ecffe90a83f8ae0dddef49cfb115e28b854b5d62 Mon Sep 17 00:00:00 2001
> From: Francesco Frassinelli <fraph24@gmail.com>
> Date: Thu, 5 May 2016 16:23:15 +0200
> Subject: [PATCH] Add package Seren
>
> ---
>  gnu/packages/seren.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 46 insertions(+)
>  create mode 100644 gnu/packages/seren.scm
>
> diff --git a/gnu/packages/seren.scm b/gnu/packages/seren.scm
> new file mode 100644
> index 0000000..8ac95ef
> --- /dev/null
> +++ b/gnu/packages/seren.scm
> @@ -0,0 +1,46 @@
> +(define-module (gnu packages seren)
> +  #:use-module (guix packages)
> +  #:use-module (guix download)
> +  #:use-module (guix build-system gnu)
> +  #:use-module (guix licenses)
> +  #:use-module (gnu packages linux)
> +  #:use-module (gnu packages xiph)
> +  #:use-module (gnu packages ncurses)
> +  #:use-module (gnu packages multiprecision))
> +
> +(define-public seren
> +  (package
> +    (name "seren")
> +    (version "0.0.21")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "http://holdenc.altervista.org/"
> +                                  "seren/downloads/seren-" version
> +                                  ".tar.gz"))
> +              (sha256
> +               (base32
> +                 "06mams6bng7ib7p2zpfq88kdr4ffril9svzc9lprkb0wjgmkglk9"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (delete 'check))))

Usually instead of deleting 'check' phase, we disable tests, so it
could look like this:

      (arguments '(#:tests? #f))  ; no "check" target

> +    (inputs `(("alsa-lib" ,alsa-lib)
> +              ("opus" ,opus)
> +              ("libogg" ,libogg)
> +              ("ncurses" ,ncurses)
> +              ("gmp" ,gmp)))
> +    (synopsis "Simple VoIP program to create conferences from the terminal")
> +    (description
> +     "Seren is a simple VoIP program based on the Opus codec that allows you
> +to create a voice conference from the terminal, with up to 10
> +partecipants, without having to register accounts, exchange emails, or
> +add people to contact lists.
> +All you need to join an existing conference is the host name or IP
> +address of one of the partecipants.
> +Seren creates a dynamic peer-to-peer network of equivalent nodes which
> +exchange text and audio data using a UDP connection, and offers the
> +user the ability to change the quality/bitrate on the fly, encrypt the
> +traffic and record the calls.")

If you want to make separate paragraphs here, use additional newlines:

    (description
     "Seren is a simple VoIP program based on the Opus codec that allows
you to create a voice conference from the terminal, with up to 10
partecipants, without having to register accounts, exchange emails, or
add people to contact lists.

All you need to join an existing conference is the host name or IP
address of one of the partecipants.

Seren creates a dynamic peer-to-peer network of equivalent nodes which
exchange text and audio data using a UDP connection, and offers the user
the ability to change the quality/bitrate on the fly, encrypt the
traffic and record the calls.")

(Though I think this description is a bit long, but it's probably OK)

> +    (home-page "http://holdenc.altervista.org/seren/")
> +    (license gpl3+)))

The rest looks good to me, could you send an updated patch?
And thanks for contributing!
Alex Kost - July 4, 2016, 6:56 a.m.
Francesco Frassinelli (2016-05-05 17:34 +0300) wrote:

> I'm a new Guix user and I created a package for Seren, a P2P VoIP
> conference program which uses Opus as codec.

Ping!  Hello again, are you willing to send an updated patch, putting
'seren' in "gnu/packages/telephony.scm" and making other changes
according to
<http://lists.gnu.org/archive/html/guix-devel/2016-05/msg00173.html>?

Sorry for bothering, your patch is mostly OK, but it would be nice if
seren was in (gnu packages telephony) module, thanks!
Francesco Frassinelli - July 4, 2016, 7:06 a.m.
2016-07-04 8:56 GMT+02:00 Alex Kost <alezost@gmail.com>:

> Francesco Frassinelli (2016-05-05 17:34 +0300) wrote:
>
> > I'm a new Guix user and I created a package for Seren, a P2P VoIP
> > conference program which uses Opus as codec.
>
> Ping!  Hello again, are you willing to send an updated patch, putting
> 'seren' in "gnu/packages/telephony.scm" and making other changes
> according to
> <http://lists.gnu.org/archive/html/guix-devel/2016-05/msg00173.html>?
>

Sure! I'm really sorry, I had too much to work. I'm going to send an
updated version this evening.

--
Frafra
Alex Kost - July 19, 2016, 5:04 p.m.
Francesco Frassinelli (2016-07-19 15:51 +0300) wrote:

> Il giorno lun, 04/07/2016 alle 09.56 +0300, Alex Kost ha scritto:
>> Francesco Frassinelli (2016-05-05 17:34 +0300) wrote:
>> 
>> > I'm a new Guix user and I created a package for Seren, a P2P VoIP
>> > conference program which uses Opus as codec.
>> 
>> Ping!  Hello again, are you willing to send an updated patch, putting
>> 'seren' in "gnu/packages/telephony.scm" and making other changes
>> according to
>> <http://lists.gnu.org/archive/html/guix-devel/2016-05/msg00173.html>?
>> 
>> Sorry for bothering, your patch is mostly OK, but it would be nice if
>> seren was in (gnu packages telephony) module, thanks!
>
> Hi! Here it is! I wasn't able to test properly due to VM Stack Overflow
> error... I'll try to fix my Guix system next week :)

Hi!  If you have some problems, you can ask for help on
<help-guix@gnu.org>.

I think you forgot to Cc guix-devel list, so I do it.

It's not a problem that you didn't test if it can be built, I'll do it,
but... could you send an updated patch?  (See the comments below)

> From 1d51b625a325f0c9ee20602572b441950801df97 Mon Sep 17 00:00:00 2001
> From: Francesco Frassinelli <fraph24@gmail.com>
> Date: Tue, 19 Jul 2016 13:11:48 +0200
> Subject: [PATCH] Add package Seren

Not a big deal, but the commit message should be:

gnu: Add seren.

* gnu/packages/telephony.scm (seren): New variable.

> ---
>  gnu/packages/seren.scm | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 65 insertions(+)
>  create mode 100644 gnu/packages/seren.scm
>
> diff --git a/gnu/packages/seren.scm b/gnu/packages/seren.scm
> new file mode 100644
> index 0000000..4ebdd07
> --- /dev/null
> +++ b/gnu/packages/seren.scm

Putting it into (gnu packages telephony) module means to put it into
"gnu/packages/telephony.scm" file which already exists.  Sorry for not
being clear about it.

> @@ -0,0 +1,65 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2016 Francesco Frassinelli <fraph24@gmail.com>
> +;;;
> +;;; 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 telephony)

I didn't meant this, see above.  In Guile (foo bar baz) module always
means that a module file is "<...>/foo/bar/baz.scm".

> +  #:use-module (guix packages)
> +  #:use-module (guix download)
> +  #:use-module (guix build-system gnu)
> +  #:use-module (guix licenses)
> +  #:use-module (gnu packages linux)
> +  #:use-module (gnu packages xiph)
> +  #:use-module (gnu packages ncurses)
> +  #:use-module (gnu packages multiprecision))
> +
> +(define-public seren
> +  (package
> +    (name "seren")
> +    (version "0.0.21")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "http://holdenc.altervista.org/"
> +                                  "seren/downloads/seren-" version
> +                                  ".tar.gz"))
> +              (sha256
> +               (base32
> +                 "06mams6bng7ib7p2zpfq88kdr4ffril9svzc9lprkb0wjgmkglk9"))))
> +    (build-system gnu-build-system)

> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (arguments `(#:tests? #f)))))

No, not arguments inside arguments, this should be simply:

       (arguments '(#:tests? #f))  ; no "check" target

> +    (inputs `(("alsa-lib" ,alsa-lib)
> +              ("opus" ,opus)
> +              ("libogg" ,libogg)
> +              ("ncurses" ,ncurses)
> +              ("gmp" ,gmp)))
> +    (synopsis "Simple VoIP program to create conferences from the terminal")
> +    (description
> +     "Seren is a simple VoIP program based on the Opus codec that allows you
> +to create a voice conference from the terminal, with up to 10
> +partecipants, without having to register accounts, exchange emails, or
> +add people to contact lists.
> +
> +All you need to join an existing conference is the host name or IP
> +address of one of the partecipants.
> +
> +Seren creates a dynamic peer-to-peer network of equivalent nodes which
> +exchange text and audio data using a UDP connection, and offers the
> +user the ability to change the quality/bitrate on the fly, encrypt the
> +traffic and record the calls.")
> +    (home-page "http://holdenc.altervista.org/seren/")
> +    (license gpl3+)))
Alex Kost - Aug. 2, 2016, 7:23 p.m.
> From ecffe90a83f8ae0dddef49cfb115e28b854b5d62 Mon Sep 17 00:00:00 2001
> From: Francesco Frassinelli <fraph24@gmail.com>
> Date: Thu, 5 May 2016 16:23:15 +0200
> Subject: [PATCH] Add package Seren
>
> ---
>  gnu/packages/seren.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 46 insertions(+)
>  create mode 100644 gnu/packages/seren.scm

I put it to (gnu packages telephony) module and made the other changes I
mentioned, and committed as 319ac02b5¹.

Thanks for contributing!

¹ http://git.savannah.gnu.org/cgit/guix.git/commit/?id=319ac02b5a775e898af51bb8caec5f30cf5918c0

Patch

From ecffe90a83f8ae0dddef49cfb115e28b854b5d62 Mon Sep 17 00:00:00 2001
From: Francesco Frassinelli <fraph24@gmail.com>
Date: Thu, 5 May 2016 16:23:15 +0200
Subject: [PATCH] Add package Seren

---
 gnu/packages/seren.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)
 create mode 100644 gnu/packages/seren.scm

diff --git a/gnu/packages/seren.scm b/gnu/packages/seren.scm
new file mode 100644
index 0000000..8ac95ef
--- /dev/null
+++ b/gnu/packages/seren.scm
@@ -0,0 +1,46 @@ 
+(define-module (gnu packages seren)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix licenses)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages xiph)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages multiprecision))
+
+(define-public seren
+  (package
+    (name "seren")
+    (version "0.0.21")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://holdenc.altervista.org/"
+                                  "seren/downloads/seren-" version
+                                  ".tar.gz"))
+              (sha256
+               (base32
+                 "06mams6bng7ib7p2zpfq88kdr4ffril9svzc9lprkb0wjgmkglk9"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (delete 'check))))
+    (inputs `(("alsa-lib" ,alsa-lib)
+              ("opus" ,opus)
+              ("libogg" ,libogg)
+              ("ncurses" ,ncurses)
+              ("gmp" ,gmp)))
+    (synopsis "Simple VoIP program to create conferences from the terminal")
+    (description
+     "Seren is a simple VoIP program based on the Opus codec that allows you
+to create a voice conference from the terminal, with up to 10
+partecipants, without having to register accounts, exchange emails, or
+add people to contact lists.
+All you need to join an existing conference is the host name or IP
+address of one of the partecipants.
+Seren creates a dynamic peer-to-peer network of equivalent nodes which
+exchange text and audio data using a UDP connection, and offers the
+user the ability to change the quality/bitrate on the fly, encrypt the
+traffic and record the calls.")
+    (home-page "http://holdenc.altervista.org/seren/")
+    (license gpl3+)))
-- 
2.7.4