diff mbox

Add libiax

Message ID 20160531162555.GA32099@jasmine
State New
Headers show

Commit Message

Leo Famulari May 31, 2016, 4:25 p.m. UTC
On Mon, May 30, 2016 at 02:50:02PM -0500, Lukas Gradl wrote:
> * gnu/packages/telephony.scm (libiax): New variable.

> +      (license lgpl2.0))))

In my final review, I found that some source files are licensed under
the GPL (no version specified) as well as one public-domain file. The
details are in the attached patch revision.

Since I don't understand the fine points of these things, I ask the
group: can a source distribution be LGPL 2.0 and include GPL components?

Comments

Efraim Flashner May 31, 2016, 5:40 p.m. UTC | #1
On Tue, May 31, 2016 at 12:25:55PM -0400, Leo Famulari wrote:
> On Mon, May 30, 2016 at 02:50:02PM -0500, Lukas Gradl wrote:
> > * gnu/packages/telephony.scm (libiax): New variable.
> 
> > +      (license lgpl2.0))))
> 
> In my final review, I found that some source files are licensed under
> the GPL (no version specified) as well as one public-domain file. The
> details are in the attached patch revision.
> 
> Since I don't understand the fine points of these things, I ask the
> group: can a source distribution be LGPL 2.0 and include GPL components?

I saw it explained another time that if the license is just "GPL" then
we can read it as we see fit, which usually means GPL3+ (for those
portions).
Andreas Enge May 31, 2016, 7:13 p.m. UTC | #2
On Tue, May 31, 2016 at 12:25:55PM -0400, Leo Famulari wrote:
> Since I don't understand the fine points of these things, I ask the
> group: can a source distribution be LGPL 2.0 and include GPL components?

In my understanding, mixing LGPL and GPL (assuming the versions are compatible)
"upgrades" the aggregated works to GPL.

Andreas
Leo Famulari May 31, 2016, 8:59 p.m. UTC | #3
On Tue, May 31, 2016 at 12:25:55PM -0400, Leo Famulari wrote:
> On Mon, May 30, 2016 at 02:50:02PM -0500, Lukas Gradl wrote:
> > * gnu/packages/telephony.scm (libiax): New variable.
> 
> > +      (license lgpl2.0))))
> 
> In my final review, I found that some source files are licensed under
> the GPL (no version specified) as well as one public-domain file. The
> details are in the attached patch revision.
> 
> Since I don't understand the fine points of these things, I ask the
> group: can a source distribution be LGPL 2.0 and include GPL components?

I asked on #fsf, and was advised that this combination is fine. They
also gave me the link to this handy GNU license compatibility matrix:
http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility
Leo Famulari May 31, 2016, 9:01 p.m. UTC | #4
On Tue, May 31, 2016 at 09:13:23PM +0200, Andreas Enge wrote:
> On Tue, May 31, 2016 at 12:25:55PM -0400, Leo Famulari wrote:
> > Since I don't understand the fine points of these things, I ask the
> > group: can a source distribution be LGPL 2.0 and include GPL components?
> 
> In my understanding, mixing LGPL and GPL (assuming the versions are compatible)
> "upgrades" the aggregated works to GPL.

On #fsf, they said that LGPL code can always be redistributed under the
GPL, although I'm not suggesting we do this. But they did not say that
the "upgrade" happends automatically.
diff mbox

Patch

From c2d8163b0d2b9400582266d9fca8f8df3be9ac4e Mon Sep 17 00:00:00 2001
From: Lukas Gradl <lgradl@openmailbox.org>
Date: Mon, 30 May 2016 14:40:51 -0500
Subject: [PATCH] gnu: telephony: Add libiax.

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

Signed-off-by: Leo Famulari <leo@famulari.name>
---
 gnu/packages/telephony.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 50a83fb..2676bdc 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -3,6 +3,7 @@ 
 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
 ;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,6 +22,7 @@ 
 
 (define-module (gnu packages telephony)
   #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages pkg-config)
@@ -211,3 +213,43 @@  Real-time Transport Protocol (SRTP), the Universal Security Transform (UST),
 and a supporting cryptographic kernel.")
     (home-page "https://github.com/cisco/libsrtp")
     (license bsd-3)))
+
+(define-public libiax
+  (let ((commit "0e5980f1d78ce462e2d1ed6bc39ff35c8341f201"))
+    ;; This is the commit used by the Ring Project.
+    (package
+      (name "libiax")
+      (version (string-append "0.0.0-1." (string-take commit 7)))
+      (source
+       (origin
+         (method url-fetch)
+         (uri
+          (string-append
+           "https://gitlab.savoirfairelinux.com/sflphone/libiax2/"
+           "repository/archive.tar.gz?ref="
+           commit))
+         (file-name (string-append name "-" version ".tar.gz"))
+         (sha256
+          (base32
+           "0cj5293bixp3k5x3hjwyd0iq7z8w5p7yavxvvkqk5817hjq386y2"))))
+      (build-system gnu-build-system)
+      (native-inputs
+       `(("autoconf" ,autoconf)
+         ("automake" ,automake)
+         ("libtool" ,libtool)))
+      (arguments
+       `(#:phases (modify-phases %standard-phases
+                    (add-before 'configure 'autoconf
+                      (lambda _
+                        (zero? (system* "autoreconf" "-vfi")))))))
+      (home-page "https://gitlab.savoirfairelinux.com/sflphone/libiax2")
+      (synopsis "Inter-Asterisk-Protocol library")
+      (description "LibIAX implements the Inter-Asterisk-Protocol for relaying
+Voice-over-IP (VoIP) communications.")
+
+      ;; The file 'src/md5.c' is released into the public domain by RSA Data
+      ;; Security.  The files 'src/answer.h', 'src/miniphone.c',
+      ;; 'src/options.c', 'src/options.h', 'src/ring10.h', 'src/winiphone.c' are
+      ;; covered under the 'GPL'.
+      ;; The package as a whole is distributed under the LGPL 2.0.
+      (license (list lgpl2.0 public-domain gpl2+)))))
-- 
2.8.3