2020-12-11 08:45:06 +00:00
|
|
|
openaptx_sources = [
|
|
|
|
'openaptx-plugin.c',
|
|
|
|
'gstopenaptxdec.c',
|
|
|
|
'gstopenaptxenc.c',
|
|
|
|
]
|
|
|
|
|
openaptx: Fix to v0.2.0 due to license change
openaptx has recently changed its license to explicitly exclude
'Freedesktop projects' from using it, which would include GStreamer, as
well as shifting to base terms of GPLv3:
https://github.com/pali/libopenaptx/commit/811bc18586d634042618d633727ac0281d4170b8
This unilateral license change is legally dubious in many ways.
The original work came from ffmpeg under the LGPL v2.1, to which third
parties may not add additional restrictions (per sections 2 and 7 of the
LGPL v2.1), so LGPLv2.1 + may-not-use restrictions are not permissible
without the explicit consent of the original copyright holder.
The upgrade to LGPL v3.0 without explicit consent from the original
copyright holder is in itself permissible through the upgrade terms of
the LGPL, however the additional restrictions imposed again conflict
with sections 7 and 10 of the GPLv3 (as the base of the LGPLv3, with
those sections not being invalidated by the additional LGPLv3 text).
Though it does not impact the legal validity of the redeclaration of
licensing, the claims that freedesktop.org has violated the terms of the
openaptx license in the past are false; the work was contributed to the
PulseAudio project with an explicit open license, with the original
contributor later attempting to revoke permission for its use, despite
the explicit terms of the license giving no ability to do so as they
lack a change-of-heart provision.
The claims that Collabora violated the license are even more baseless;
they are based on an assertion that when I (acting on behalf of
freedesktop.org rather than Collabora, in my own unpaid time) banned
users from freedesktop.org's GitLab instance due to sustained violations
of the Code of Conduct users agree to when creating an account on that
platform, this somehow constituted a violation of the license. Even if
Collabora were somehow involved in this - which they were not at all -
there is no requirement under open licenses that users be given
unlimited access under all terms to any platform on the internet. Such
terms would mean that open development could only be conducted on
completely unmoderated platforms, which does not stand up to any
scrutiny.
Regardless of the declared license having no legal validity, the LGPL's
explicit provision in both v2.1 and v3.0 for such additional
restrictions to be stripped, and the low likelihood of it ever being
used together with GStreamer as its licensing terms would not be
acceptable to any distribution, enforcing a version check seems like the
safest way to ensure complete legal clarity, not put users or
downstreams in any jeopardy, and comply with the author's stated wishes
for v0.2.1 and above to not be used by GStreamer.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2235>
2021-05-11 12:57:59 +00:00
|
|
|
openaptx_dep = dependency('libopenaptx', version : '== 0.2.0', required : get_option('openaptx'))
|
2020-12-11 08:45:06 +00:00
|
|
|
|
|
|
|
if openaptx_dep.found()
|
|
|
|
gstopenaptx = library('gstopenaptx',
|
|
|
|
openaptx_sources,
|
|
|
|
c_args : gst_plugins_bad_args,
|
|
|
|
include_directories : [configinc],
|
|
|
|
dependencies : [gstaudio_dep, openaptx_dep],
|
|
|
|
install : true,
|
|
|
|
install_dir : plugins_install_dir,
|
|
|
|
)
|
|
|
|
pkgconfig.generate(gstopenaptx, install_dir : plugins_pkgconfig_install_dir)
|
|
|
|
plugins += [gstopenaptx]
|
|
|
|
endif
|