diff mbox

[v3,1/1] jack2: new package

Message ID 1383072946-4851-1-git-send-email-wzab01@gmail.com
State Superseded
Headers show

Commit Message

Wojciech M. Zabolotny Oct. 29, 2013, 6:55 p.m. UTC
Signed-off-by: Wojciech M. Zabolotny <wzab01@gmail.com>
---
 package/Config.in       |  1 +
 package/jack2/Config.in | 17 +++++++++++++++++
 package/jack2/jack2.mk  | 29 +++++++++++++++++++++++++++++
 3 files changed, 47 insertions(+)
 create mode 100644 package/jack2/Config.in
 create mode 100644 package/jack2/jack2.mk

Comments

Thomas Petazzoni Oct. 29, 2013, 7:34 p.m. UTC | #1
Dear Wojciech M. Zabolotny,

On Tue, 29 Oct 2013 19:55:45 +0100, Wojciech M. Zabolotny wrote:

> +JACK2_LICENSE = LGPLv2.1+

I didn't notice until now, but this license specification doesn't seem
to be correct. For example,
https://github.com/jackaudio/jack2/blob/master/linux/alsa/JackAlsaAdapter.cpp
is under GPLv2+. Parts of jack2 seem to be under LGPL, some other parts
under GPL. It should be explained in the <pkg>_LICENSE specification,
with something just as (purely invented example, I haven't analyzed
jack2) :

FOO_LICENSE = GPLv2+ (this part and this part), LGPLv2.1+ (this other part)

Thanks,

Thomas
Wojciech M. Zabolotny Oct. 30, 2013, midnight UTC | #2
Dear Thomas,

Yes, you are right. Unfortunately there is no single file with
licensing information in jack sources themselves.
Checking of individual files seems to be very inefficient.
Can we rely on information published on this website:
http://jackaudio.org/files/docs/html/index.html ?

Quoting from there:

License

Copyright (C) 2001-2011 by Paul Davis, Stephane Letz, Jack O'Quinn,
Torben Hohn and others.

JACK is free software; you can redistribute it and/or modify it under
the terms of the GNU GPL and LGPL licenses as published by the Free
Software Foundation, <http://www.gnu.org>. The JACK server uses the
GPL, as noted in the source file headers. However, the JACK library is
licensed under the LGPL, allowing proprietary programs to link with it
and use JACK services. You should have received a copy of these
Licenses along with the program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA.

This program 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.

So finally I'd propose:
JACK2_LICENSE = LGPLv2.1+ (jack library),  GPLv2+ (other components)
is it possible to specify
JACK2_LICENSE_SITE = http://jackaudio.org/files/docs/html/index.html
instead of JACK2_LICENSE_FILE  (as such file doesn't seem to exist in sources).

Regards,
Wojtek


On Tue, Oct 29, 2013 at 8:34 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Dear Wojciech M. Zabolotny,
>
> On Tue, 29 Oct 2013 19:55:45 +0100, Wojciech M. Zabolotny wrote:
>
>> +JACK2_LICENSE = LGPLv2.1+
>
> I didn't notice until now, but this license specification doesn't seem
> to be correct. For example,
> https://github.com/jackaudio/jack2/blob/master/linux/alsa/JackAlsaAdapter.cpp
> is under GPLv2+. Parts of jack2 seem to be under LGPL, some other parts
> under GPL. It should be explained in the <pkg>_LICENSE specification,
> with something just as (purely invented example, I haven't analyzed
> jack2) :
>
> FOO_LICENSE = GPLv2+ (this part and this part), LGPLv2.1+ (this other part)
>
> Thanks,
>
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
Thomas Petazzoni Oct. 30, 2013, 12:14 a.m. UTC | #3
Dear Wojciech Zabolotny,

On Wed, 30 Oct 2013 01:00:11 +0100, Wojciech Zabolotny wrote:


> JACK is free software; you can redistribute it and/or modify it under
> the terms of the GNU GPL and LGPL licenses as published by the Free
> Software Foundation, <http://www.gnu.org>. The JACK server uses the
> GPL, as noted in the source file headers. However, the JACK library is
> licensed under the LGPL, allowing proprietary programs to link with it
> and use JACK services. You should have received a copy of these
> Licenses along with the program; if not, write to the Free Software
> Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
> USA.

I believe this information is enough, and I would encode it as below:

JACK2_LICENSE = GPLv2+ (jack server), LGPLv2.1+ (jack library)

Thomas
diff mbox

Patch

diff --git a/package/Config.in b/package/Config.in
index 4c4da51..bf297a8 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -11,6 +11,7 @@  source "package/ffmpeg/Config.in"
 source "package/flac/Config.in"
 source "package/gstreamer/Config.in"
 source "package/gstreamer1/Config.in"
+source "package/jack2/Config.in"
 source "package/lame/Config.in"
 source "package/libvpx/Config.in"
 source "package/madplay/Config.in"
diff --git a/package/jack2/Config.in b/package/jack2/Config.in
new file mode 100644
index 0000000..68cafd4
--- /dev/null
+++ b/package/jack2/Config.in
@@ -0,0 +1,17 @@ 
+config BR2_PACKAGE_JACK2
+	bool "jack2"
+	depends on BR2_LARGEFILE
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	select BR2_PACKAGE_LIBSAMPLERATE
+	select BR2_PACKAGE_LIBSNDFILE
+	select BR2_PACKAGE_ALSA_LIB
+	help
+	  JACK Audio Connection Kit (server and example clients)
+	  JACK is a low-latency sound server, allowing multiple applications to
+	  connect to one audio device, and to share audio between themselves.
+ 	  This package contains the daemon jackd as well as some example clients.
+
+	  http://jackaudio.org/
+
+comment "jack2 needs a toolchain w/ largefile and threads"
+        depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/jack2/jack2.mk b/package/jack2/jack2.mk
new file mode 100644
index 0000000..1fed146
--- /dev/null
+++ b/package/jack2/jack2.mk
@@ -0,0 +1,29 @@ 
+################################################################################
+#
+# jack2
+#
+################################################################################
+
+JACK2_VERSION = 37976441044d69b91d61d8f6278949a39cf1b7b7
+JACK2_SITE = http://github.com/jackaudio/jack2/tarball/$(JACK2_VERSION)
+JACK2_LICENSE = LGPLv2.1+
+JACK2_DEPENDENCIES = libsamplerate libsndfile alsa-lib
+
+define JACK2_CONFIGURE_CMDS
+	(cd $(@D); \
+		$(TARGET_CONFIGURE_OPTS)	\
+		./waf configure			\
+		--prefix=/usr			\
+                --alsa				\
+       )
+endef
+
+define JACK2_BUILD_CMDS
+       (cd $(@D); ./waf build -j $(PARALLEL_JOBS))
+endef
+
+define JACK2_INSTALL_TARGET_CMDS
+       (cd $(@D); ./waf --destdir=$(TARGET_DIR) install)
+endef
+
+$(eval $(generic-package))