summaryrefslogtreecommitdiffstats
path: root/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
diff options
context:
space:
mode:
authorTanu Kaskinen <tanuk@iki.fi>2017-02-03 09:06:35 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-02-15 20:06:41 -0800
commit36f6e71ccbba456e706dd7723cb0e69990b6b552 (patch)
tree2c244b1a0b5cb4f9928b1768325f4db40fabca51 /meta/recipes-multimedia/pulseaudio/pulseaudio.inc
parent8b4474aa727976bb40ad3115ebe28d6ea81794c2 (diff)
downloadpoky-36f6e71ccbba456e706dd7723cb0e69990b6b552.tar.gz
pulseaudio: 9.0 -> 10.0
Relase notes: https://www.freedesktop.org/wiki/Software/PulseAudio/Notes/10.0/ The checksum of the LICENSE file changed due to some clarifications. There were no changes to the actual licensing terms. The LICENSE variable was not accurate, so I made changes to it. Specifically: * there's no GPL code in PulseAudio so I dropped GPL from the list * the LGPL code allows using later versions of the license rather than limiting to just 2.1 * there are some MIT and BSD licensed bits I added more files to LIC_FILES_CHKSUM to have better coverage of all the differently licensed code. Dropped json-c and gdbm from DEPENDS. The new release doesn't use json-c any more. gdbm isn't used when --with-database=simple is passed to configure, so it should have been removed from DEPENDS a long time ago. The new release dropped the Xen module, so the --without-xen configure option isn't needed any more. Added a comment for why --without-fftw is used. Disabled the adrian echo canceller, because it has an unusual license, and disabling the code was simpler than adding a new license to OE-Core. Dropped upstreamed patches. (From OE-Core rev: 4ddaf28fd36294fd940f26d55973da20eeeeb0d8) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-multimedia/pulseaudio/pulseaudio.inc')
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio.inc80
1 files changed, 74 insertions, 6 deletions
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index f5c5ed29c9..818ff560cc 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -2,16 +2,69 @@ SUMMARY = "Sound server for Linux and Unix-like operating systems"
2HOMEPAGE = "http://www.pulseaudio.org" 2HOMEPAGE = "http://www.pulseaudio.org"
3AUTHOR = "Lennart Poettering" 3AUTHOR = "Lennart Poettering"
4SECTION = "libs/multimedia" 4SECTION = "libs/multimedia"
5LICENSE = "GPLv2+ & LGPLv2.1" 5
6LIC_FILES_CHKSUM = "file://LICENSE;md5=d9ae089c8dc5339f8ac9d8563038a29f \ 6# Most of PulseAudio code is under LGPLv2.1+. There are a few exceptions:
7#
8# The "adrian" echo canceller variant has code under a non-standard permissive
9# license. See src/modules/echo-cancel/adrian-license.txt for details. This
10# recipe disables the adrian echo canceller to avoid hassle with the unusual
11# license.
12#
13# The src/modules/reserve* and src/pulsecore/rtkit* files are under the MIT
14# license.
15#
16# The src/pulsecore/filter/ directory contains code under the 3-clause BSD
17# license.
18#
19# src/utils/qpaeq is licensed under AGPL. qpaeq is not installed by this
20# recipe, however, which is why AGPL is not mentioned in LICENSE.
21#
22# People who distribute PulseAudio binaries need to also consider that there
23# are some dependencies to GPL libraries. LGPL code that depends on GPL
24# libraries probably becomes effectively GPL-licensed (at compile-time? or at
25# at link-time?). I'm not a lawyer, though, so I'm not sure of the exact
26# implications. The GPL dependencies only affect the server, not the client
27# library, with the exception of libdbus that affects both. These are the GPL
28# library dependencies:
29#
30# One of the resampler implementations uses libsamplerate. This recipe doesn't
31# enable that resampler, however.
32#
33# One of the database implementations uses gdbm. This recipe doesn't enable
34# that database implementation, however.
35#
36# module-lirc (enabled by PACKAGECONFIG[lirc]) uses LIRC.
37#
38# module-equalizer-sink uses FFTW. This recipe disables that, however.
39#
40# The dependency with the most complicated licensing considerations is libdbus.
41# When PACKAGECONFIG[dbus] is enabled (like it is by default), libdbus will be
42# used by both the server and the client library (libpulse). Does this affect
43# applications that use libpulse? It should be also noted that libdbus is
44# dual-licensed: either GPLv2+ or AFL-2 terms apply. Whose decision is it which
45# of the licenses apply? What a mess. Some people hold the view that libdbus is
46# a system library that is covered by the "special exception" in GPLv2's
47# section 3, and therefore libdbus's GPL license doesn't affect PulseAudio.
48LICENSE = "LGPLv2.1+ & MIT & BSD-3-Clause"
49
50LIC_FILES_CHKSUM = "file://LICENSE;md5=a848e8d03f04976778eab2348b59ed2b \
7 file://GPL;md5=4325afd396febcb659c36b49533135d4 \ 51 file://GPL;md5=4325afd396febcb659c36b49533135d4 \
8 file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ 52 file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
9 file://src/pulsecore/resampler.h;beginline=4;endline=21;md5=09794012ae16912c0270f3280cc8ff84" 53 file://AGPL;md5=73f1eb20517c55bf9493b7dd6e480788 \
54 file://src/modules/echo-cancel/adrian-license.txt;md5=abbab006a561fbffccedf1c3531f34ab \
55 file://src/pulsecore/filter/LICENSE.WEBKIT;md5=49defbaffddf8c51faf606ff7fc3b1f7 \
56 file://src/pulsecore/resampler.h;beginline=4;endline=21;md5=09794012ae16912c0270f3280cc8ff84 \
57 file://src/modules/reserve.h;beginline=6;endline=28;md5=0e23094760367d51b6609750e9b31fbb \
58 file://src/pulsecore/rtkit.h;beginline=6;endline=29;md5=3f00ff966716ae0817c31576d1473528 \
59 file://src/utils/qpaeq;beginline=2;endline=16;md5=7f62515a4762f0c3fc3d4201858bb964 \
60 file://src/modules/echo-cancel/adrian-aec.h;beginline=3;endline=12;md5=d3ed4fad1c073f8b06f37495dc5d1026 \
61 file://src/pulsecore/filter/biquad.h;beginline=1;endline=4;md5=6d46d1365206528a20137355924233c1 \
62"
10 63
11DEPENDS = "libatomic-ops libsndfile1 libtool intltool-native" 64DEPENDS = "libatomic-ops libsndfile1 libtool intltool-native"
12# optional 65# optional
13DEPENDS += "udev alsa-lib glib-2.0 gconf" 66DEPENDS += "udev alsa-lib glib-2.0 gconf"
14DEPENDS += "json-c gdbm speexdsp libxml-parser-perl-native libcap" 67DEPENDS += "speexdsp libxml-parser-perl-native libcap"
15 68
16inherit autotools bash-completion pkgconfig useradd gettext perlnative bluetooth systemd manpages 69inherit autotools bash-completion pkgconfig useradd gettext perlnative bluetooth systemd manpages
17 70
@@ -25,9 +78,7 @@ EXTRA_OECONF = "\
25 --enable-tcpwrap=no \ 78 --enable-tcpwrap=no \
26 --with-access-group=audio \ 79 --with-access-group=audio \
27 --disable-openssl \ 80 --disable-openssl \
28 --disable-xen \
29 --with-database=simple \ 81 --with-database=simple \
30 --without-fftw \
31 --without-zsh-completion-dir \ 82 --without-zsh-completion-dir \
32 --with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d \ 83 --with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d \
33 ac_cv_header_valgrind_memcheck_h=no \ 84 ac_cv_header_valgrind_memcheck_h=no \
@@ -38,6 +89,23 @@ EXTRA_OECONF = "\
38# oe-core nor meta-oe, so let's not add a PACKAGECONFIG entry for it for now. 89# oe-core nor meta-oe, so let's not add a PACKAGECONFIG entry for it for now.
39EXTRA_OECONF += "--without-soxr" 90EXTRA_OECONF += "--without-soxr"
40 91
92# The FFTW dependency (for module-equalizer-sink) was removed in commit
93# ddbd713293 without explaining why it was not made a PACKAGECONFIG item
94# instead. Oh well, let's keep it disabled until someone expresses some
95# interest in having it enabled.
96#
97# One nice thing about disabling this is that it also prevents qpaeq from
98# being installed, so we avoid adding AGPL to the list of licenses (nothing
99# else in PulseAudio is licensed under AGPL).
100EXTRA_OECONF += "--without-fftw"
101
102# The "adrian" echo canceller implementation has a non-standard license
103# (src/modules/echo-cancel/adrian-license.txt). It's a permissive license, so
104# the licensing terms are probably not problematic, but it would be an extra
105# hassle to add the license to OE-Core's set of licenses. The canceller isn't
106# very good anyway, better alternatives exist (such as the webrtc canceller).
107EXTRA_OECONF += "--disable-adrian-aec"
108
41PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \ 109PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \
42 ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \ 110 ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
43 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ 111 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \