From df98e62c734530a89f5affb3ec66c27514cb5454 Mon Sep 17 00:00:00 2001 From: Wang Mingyu Date: Fri, 21 Jun 2024 10:16:26 +0800 Subject: alsa-plugins: upgrade 1.2.7.1 -> 1.2.12 Changelog: disable -ldl check for *BSDs, find path 0001-arcam_av.c-Include-missing-string.h.patch removed since it's included in 1.2.12 License-Update: samplerate: Make LGPL-only (From OE-Core rev: 004419f3d3ee0aa9ca5c44ae760464729f4a5cd2) Signed-off-by: Wang Mingyu Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- .../0001-arcam_av.c-Include-missing-string.h.patch | 25 --- .../recipes-multimedia/alsa/alsa-plugins_1.2.12.bb | 174 ++++++++++++++++++++ .../alsa/alsa-plugins_1.2.7.1.bb | 176 --------------------- 3 files changed, 174 insertions(+), 201 deletions(-) delete mode 100644 meta/recipes-multimedia/alsa/alsa-plugins/0001-arcam_av.c-Include-missing-string.h.patch create mode 100644 meta/recipes-multimedia/alsa/alsa-plugins_1.2.12.bb delete mode 100644 meta/recipes-multimedia/alsa/alsa-plugins_1.2.7.1.bb diff --git a/meta/recipes-multimedia/alsa/alsa-plugins/0001-arcam_av.c-Include-missing-string.h.patch b/meta/recipes-multimedia/alsa/alsa-plugins/0001-arcam_av.c-Include-missing-string.h.patch deleted file mode 100644 index ff7745d637..0000000000 --- a/meta/recipes-multimedia/alsa/alsa-plugins/0001-arcam_av.c-Include-missing-string.h.patch +++ /dev/null @@ -1,25 +0,0 @@ -From b01b176a665ba65979d74922955f51dc4888a713 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 23 Aug 2022 15:21:16 -0700 -Subject: [PATCH] arcam_av.c: Include missing string.h - -bzero() function needs this header to be included - -Upstream-Status: Submitted [https://github.com/alsa-project/alsa-plugins/pull/47] -Signed-off-by: Khem Raj ---- - arcam-av/arcam_av.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arcam-av/arcam_av.c b/arcam-av/arcam_av.c -index 63f9b4e..29fc537 100644 ---- a/arcam-av/arcam_av.c -+++ b/arcam-av/arcam_av.c -@@ -27,6 +27,7 @@ - #include - #include - #include -+#include - #include - #include - diff --git a/meta/recipes-multimedia/alsa/alsa-plugins_1.2.12.bb b/meta/recipes-multimedia/alsa/alsa-plugins_1.2.12.bb new file mode 100644 index 0000000000..819cdf8e7b --- /dev/null +++ b/meta/recipes-multimedia/alsa/alsa-plugins_1.2.12.bb @@ -0,0 +1,174 @@ +SUMMARY = "ALSA Plugins" +DESCRIPTION = "Used to create virtual devices that can be used like normal \ +hardware devices but cause extra processing of the sound stream to take place. \ +They are used while configuring ALSA in the .asoundrc file." +HOMEPAGE = "http://alsa-project.org" +BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" +SECTION = "multimedia" + +# The primary license of alsa-plugins is LGPL-2.1-only. +# +# m4/attributes.m4 is licensed under GPL-2.0-or-later. m4/attributes.m4 is part +# of the build system, and doesn't affect the licensing of the build result. +# +# The samplerate plugin source code is licensed under GPL-2.0-or-later to be +# consistent with the libsamplerate license. However, if the licensee has a +# commercial license for libsamplerate, the samplerate plugin may be used under +# the terms of LGPL-2.1-only like the rest of the plugins. +LICENSE = "LGPL-2.1-only & GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \ + file://COPYING.GPL;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://m4/attributes.m4;endline=33;md5=bb8c6b2a67ac15156961e242fec33e50 \ + file://rate/rate_samplerate.c;endline=35;md5=07fcfc9e83a7159ad14a7196ecdc7d48 \ + " + +SRC_URI = "https://www.alsa-project.org/files/pub/plugins/${BP}.tar.bz2" +SRC_URI[sha256sum] = "7bd8a83d304e8e2d86a25895d8dcb0ef0245a8df32e271959cdbdc6af39b66f2" + +DEPENDS += "alsa-lib" + +inherit autotools pkgconfig + +PACKAGECONFIG ??= "\ + samplerate \ + speexdsp \ + ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \ +" +PACKAGECONFIG[aaf] = "--enable-aaf,--disable-aaf,libavtp" +PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" +PACKAGECONFIG[libav] = "--enable-libav,--disable-libav,libav" +PACKAGECONFIG[maemo-plugin] = "--enable-maemo-plugin,--disable-maemo-plugin" +PACKAGECONFIG[maemo-resource-manager] = "--enable-maemo-resource-manager,--disable-maemo-resource-manager,dbus" +PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio" +PACKAGECONFIG[samplerate] = "--enable-samplerate,--disable-samplerate,libsamplerate0" +PACKAGECONFIG[speexdsp] = "--with-speex=lib,--with-speex=no,speexdsp" + +PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'alsa-plugins-pulseaudio-conf', '', d)}" + +PACKAGES_DYNAMIC = "^libasound-module-.*" + +# The alsa-plugins package doesn't itself contain anything, it just depends on +# all built plugins. +FILES:${PN} = "" +ALLOW_EMPTY:${PN} = "1" + +do_install:append() { + rm -f ${D}${libdir}/alsa-lib/*.la + + if [ "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'yes', 'no', d)}" = "yes" ]; then + # We use the example as is. Upstream installs the file under + # /etc, but we move it under /usr/share and add a symlink under + # /etc to be consistent with other installed configuration + # files. + mv ${D}${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf.example ${D}${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf + ln -s ${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf ${D}${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf + fi +} + +python populate_packages:prepend() { + plugindir = d.expand('${libdir}/alsa-lib/') + packages = " ".join(do_split_packages(d, plugindir, r'^libasound_module_(.*)\.so$', 'libasound-module-%s', 'Alsa plugin for %s', extra_depends='')) + d.setVar("RDEPENDS:alsa-plugins", packages) +} + +# Many plugins have a configuration file (plus a symlink in /etc) associated +# with them. We put the plugin and it's configuration usually in the same +# package, but that's problematic when the configuration file is related to +# multiple plugins, as is the case with the pulse, oss and maemo plugins. In +# case of the pulse plugins, we have a separate alsa-plugins-pulseaudio-conf +# package that depends on all the pulse plugins, which ensures that all plugins +# that the configuration references are installed. The oss and maemo +# configuration files, on the other hand, are in the respective pcm plugin +# packages. Therefore it's possible to install the configuration file without +# the ctl plugin that the configuration file references. This is unlikely to +# cause big problems, but some kind of improvement to the packaging could +# probably be done here (at least it would be good to handle the different +# plugins in a consistent way). +FILES:${MLPREFIX}libasound-module-ctl-arcam-av += "\ + ${datadir}/alsa/alsa.conf.d/50-arcam-av-ctl.conf \ + ${sysconfdir}/alsa/conf.d/50-arcam-av-ctl.conf \ +" +FILES:${MLPREFIX}libasound-module-pcm-a52 += "\ + ${datadir}/alsa/alsa.conf.d/60-a52-encoder.conf \ + ${sysconfdir}/alsa/conf.d/60-a52-encoder.conf \ +" +FILES:${MLPREFIX}libasound-module-pcm-alsa-dsp += "\ + ${datadir}/alsa/alsa.conf.d/98-maemo.conf \ + ${sysconfdir}/alsa/conf.d/98-maemo.conf \ +" +FILES:${MLPREFIX}libasound-module-pcm-jack += "\ + ${datadir}/alsa/alsa.conf.d/50-jack.conf \ + ${sysconfdir}/alsa/conf.d/50-jack.conf \ +" +FILES:${MLPREFIX}libasound-module-pcm-oss += "\ + ${datadir}/alsa/alsa.conf.d/50-oss.conf \ + ${sysconfdir}/alsa/conf.d/50-oss.conf \ +" +FILES:${MLPREFIX}libasound-module-pcm-speex += "\ + ${datadir}/alsa/alsa.conf.d/60-speex.conf \ + ${sysconfdir}/alsa/conf.d/60-speex.conf \ +" +FILES:${MLPREFIX}libasound-module-pcm-upmix += "\ + ${datadir}/alsa/alsa.conf.d/60-upmix.conf \ + ${sysconfdir}/alsa/conf.d/60-upmix.conf \ +" +FILES:${MLPREFIX}libasound-module-pcm-usb-stream += "\ + ${datadir}/alsa/alsa.conf.d/98-usb-stream.conf \ + ${sysconfdir}/alsa/conf.d/98-usb-stream.conf \ +" +FILES:${MLPREFIX}libasound-module-pcm-vdownmix += "\ + ${datadir}/alsa/alsa.conf.d/60-vdownmix.conf \ + ${sysconfdir}/alsa/conf.d/60-vdownmix.conf \ +" +FILES:${MLPREFIX}libasound-module-rate-lavrate += "\ + ${datadir}/alsa/alsa.conf.d/10-rate-lav.conf \ + ${sysconfdir}/alsa/conf.d/10-rate-lav.conf \ +" +FILES:${MLPREFIX}libasound-module-rate-samplerate += "\ + ${datadir}/alsa/alsa.conf.d/10-samplerate.conf \ + ${sysconfdir}/alsa/conf.d/10-samplerate.conf \ +" +FILES:${MLPREFIX}libasound-module-rate-speexrate += "\ + ${datadir}/alsa/alsa.conf.d/10-speexrate.conf \ + ${sysconfdir}/alsa/conf.d/10-speexrate.conf \ +" + +# The rate plugins create some symlinks. For example, the samplerate plugin +# creates these links to the main plugin file: +# +# libasound_module_rate_samplerate_best.so +# libasound_module_rate_samplerate_linear.so +# libasound_module_rate_samplerate_medium.so +# libasound_module_rate_samplerate_order.so +# +# The other rate plugins create similar links. We have to add the links to +# FILES manually, because do_split_packages() skips the links (which is good, +# because we wouldn't want do_split_packages() to create separate packages for +# the symlinks). +# +# The symlinks cause QA errors, because usually it's a bug if a non +# -dev/-dbg/-nativesdk package contains links to .so files, but in this case +# the errors are false positives, so we disable the QA checks. +FILES:${MLPREFIX}libasound-module-rate-lavrate += "${libdir}/alsa-lib/*rate_lavrate_*.so" +FILES:${MLPREFIX}libasound-module-rate-samplerate += "${libdir}/alsa-lib/*rate_samplerate_*.so" +FILES:${MLPREFIX}libasound-module-rate-speexrate += "${libdir}/alsa-lib/*rate_speexrate_*.so" +INSANE_SKIP:${MLPREFIX}libasound-module-rate-lavrate = "dev-so" +INSANE_SKIP:${MLPREFIX}libasound-module-rate-samplerate = "dev-so" +INSANE_SKIP:${MLPREFIX}libasound-module-rate-speexrate = "dev-so" + +# 50-pulseaudio.conf defines a device named "pulse" that applications can use +# if they explicitly want to use the PulseAudio plugin. +# 99-pulseaudio-default.conf configures the "default" device to use the +# PulseAudio plugin. +FILES:${PN}-pulseaudio-conf += "\ + ${datadir}/alsa/alsa.conf.d/50-pulseaudio.conf \ + ${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf \ + ${sysconfdir}/alsa/conf.d/50-pulseaudio.conf \ + ${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf \ +" + +RDEPENDS:${PN}-pulseaudio-conf += "\ + ${MLPREFIX}libasound-module-conf-pulse \ + ${MLPREFIX}libasound-module-ctl-pulse \ + ${MLPREFIX}libasound-module-pcm-pulse \ +" diff --git a/meta/recipes-multimedia/alsa/alsa-plugins_1.2.7.1.bb b/meta/recipes-multimedia/alsa/alsa-plugins_1.2.7.1.bb deleted file mode 100644 index 9500462d5c..0000000000 --- a/meta/recipes-multimedia/alsa/alsa-plugins_1.2.7.1.bb +++ /dev/null @@ -1,176 +0,0 @@ -SUMMARY = "ALSA Plugins" -DESCRIPTION = "Used to create virtual devices that can be used like normal \ -hardware devices but cause extra processing of the sound stream to take place. \ -They are used while configuring ALSA in the .asoundrc file." -HOMEPAGE = "http://alsa-project.org" -BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" -SECTION = "multimedia" - -# The primary license of alsa-plugins is LGPL-2.1-only. -# -# m4/attributes.m4 is licensed under GPL-2.0-or-later. m4/attributes.m4 is part -# of the build system, and doesn't affect the licensing of the build result. -# -# The samplerate plugin source code is licensed under GPL-2.0-or-later to be -# consistent with the libsamplerate license. However, if the licensee has a -# commercial license for libsamplerate, the samplerate plugin may be used under -# the terms of LGPL-2.1-only like the rest of the plugins. -LICENSE = "LGPL-2.1-only & GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \ - file://COPYING.GPL;md5=59530bdf33659b29e73d4adb9f9f6552 \ - file://m4/attributes.m4;endline=33;md5=bb8c6b2a67ac15156961e242fec33e50 \ - file://rate/rate_samplerate.c;endline=35;md5=fd77bce85f4a338c0e8ab18430b69fae \ - " - -SRC_URI = "https://www.alsa-project.org/files/pub/plugins/${BP}.tar.bz2 \ - file://0001-arcam_av.c-Include-missing-string.h.patch \ - " -SRC_URI[sha256sum] = "8c337814954bb7c167456733a6046142a2931f12eccba3ec2a4ae618a3432511" - -DEPENDS += "alsa-lib" - -inherit autotools pkgconfig - -PACKAGECONFIG ??= "\ - samplerate \ - speexdsp \ - ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \ -" -PACKAGECONFIG[aaf] = "--enable-aaf,--disable-aaf,libavtp" -PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" -PACKAGECONFIG[libav] = "--enable-libav,--disable-libav,libav" -PACKAGECONFIG[maemo-plugin] = "--enable-maemo-plugin,--disable-maemo-plugin" -PACKAGECONFIG[maemo-resource-manager] = "--enable-maemo-resource-manager,--disable-maemo-resource-manager,dbus" -PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio" -PACKAGECONFIG[samplerate] = "--enable-samplerate,--disable-samplerate,libsamplerate0" -PACKAGECONFIG[speexdsp] = "--with-speex=lib,--with-speex=no,speexdsp" - -PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'alsa-plugins-pulseaudio-conf', '', d)}" - -PACKAGES_DYNAMIC = "^libasound-module-.*" - -# The alsa-plugins package doesn't itself contain anything, it just depends on -# all built plugins. -FILES:${PN} = "" -ALLOW_EMPTY:${PN} = "1" - -do_install:append() { - rm -f ${D}${libdir}/alsa-lib/*.la - - if [ "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'yes', 'no', d)}" = "yes" ]; then - # We use the example as is. Upstream installs the file under - # /etc, but we move it under /usr/share and add a symlink under - # /etc to be consistent with other installed configuration - # files. - mv ${D}${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf.example ${D}${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf - ln -s ${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf ${D}${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf - fi -} - -python populate_packages:prepend() { - plugindir = d.expand('${libdir}/alsa-lib/') - packages = " ".join(do_split_packages(d, plugindir, r'^libasound_module_(.*)\.so$', 'libasound-module-%s', 'Alsa plugin for %s', extra_depends='')) - d.setVar("RDEPENDS:alsa-plugins", packages) -} - -# Many plugins have a configuration file (plus a symlink in /etc) associated -# with them. We put the plugin and it's configuration usually in the same -# package, but that's problematic when the configuration file is related to -# multiple plugins, as is the case with the pulse, oss and maemo plugins. In -# case of the pulse plugins, we have a separate alsa-plugins-pulseaudio-conf -# package that depends on all the pulse plugins, which ensures that all plugins -# that the configuration references are installed. The oss and maemo -# configuration files, on the other hand, are in the respective pcm plugin -# packages. Therefore it's possible to install the configuration file without -# the ctl plugin that the configuration file references. This is unlikely to -# cause big problems, but some kind of improvement to the packaging could -# probably be done here (at least it would be good to handle the different -# plugins in a consistent way). -FILES:${MLPREFIX}libasound-module-ctl-arcam-av += "\ - ${datadir}/alsa/alsa.conf.d/50-arcam-av-ctl.conf \ - ${sysconfdir}/alsa/conf.d/50-arcam-av-ctl.conf \ -" -FILES:${MLPREFIX}libasound-module-pcm-a52 += "\ - ${datadir}/alsa/alsa.conf.d/60-a52-encoder.conf \ - ${sysconfdir}/alsa/conf.d/60-a52-encoder.conf \ -" -FILES:${MLPREFIX}libasound-module-pcm-alsa-dsp += "\ - ${datadir}/alsa/alsa.conf.d/98-maemo.conf \ - ${sysconfdir}/alsa/conf.d/98-maemo.conf \ -" -FILES:${MLPREFIX}libasound-module-pcm-jack += "\ - ${datadir}/alsa/alsa.conf.d/50-jack.conf \ - ${sysconfdir}/alsa/conf.d/50-jack.conf \ -" -FILES:${MLPREFIX}libasound-module-pcm-oss += "\ - ${datadir}/alsa/alsa.conf.d/50-oss.conf \ - ${sysconfdir}/alsa/conf.d/50-oss.conf \ -" -FILES:${MLPREFIX}libasound-module-pcm-speex += "\ - ${datadir}/alsa/alsa.conf.d/60-speex.conf \ - ${sysconfdir}/alsa/conf.d/60-speex.conf \ -" -FILES:${MLPREFIX}libasound-module-pcm-upmix += "\ - ${datadir}/alsa/alsa.conf.d/60-upmix.conf \ - ${sysconfdir}/alsa/conf.d/60-upmix.conf \ -" -FILES:${MLPREFIX}libasound-module-pcm-usb-stream += "\ - ${datadir}/alsa/alsa.conf.d/98-usb-stream.conf \ - ${sysconfdir}/alsa/conf.d/98-usb-stream.conf \ -" -FILES:${MLPREFIX}libasound-module-pcm-vdownmix += "\ - ${datadir}/alsa/alsa.conf.d/60-vdownmix.conf \ - ${sysconfdir}/alsa/conf.d/60-vdownmix.conf \ -" -FILES:${MLPREFIX}libasound-module-rate-lavrate += "\ - ${datadir}/alsa/alsa.conf.d/10-rate-lav.conf \ - ${sysconfdir}/alsa/conf.d/10-rate-lav.conf \ -" -FILES:${MLPREFIX}libasound-module-rate-samplerate += "\ - ${datadir}/alsa/alsa.conf.d/10-samplerate.conf \ - ${sysconfdir}/alsa/conf.d/10-samplerate.conf \ -" -FILES:${MLPREFIX}libasound-module-rate-speexrate += "\ - ${datadir}/alsa/alsa.conf.d/10-speexrate.conf \ - ${sysconfdir}/alsa/conf.d/10-speexrate.conf \ -" - -# The rate plugins create some symlinks. For example, the samplerate plugin -# creates these links to the main plugin file: -# -# libasound_module_rate_samplerate_best.so -# libasound_module_rate_samplerate_linear.so -# libasound_module_rate_samplerate_medium.so -# libasound_module_rate_samplerate_order.so -# -# The other rate plugins create similar links. We have to add the links to -# FILES manually, because do_split_packages() skips the links (which is good, -# because we wouldn't want do_split_packages() to create separate packages for -# the symlinks). -# -# The symlinks cause QA errors, because usually it's a bug if a non -# -dev/-dbg/-nativesdk package contains links to .so files, but in this case -# the errors are false positives, so we disable the QA checks. -FILES:${MLPREFIX}libasound-module-rate-lavrate += "${libdir}/alsa-lib/*rate_lavrate_*.so" -FILES:${MLPREFIX}libasound-module-rate-samplerate += "${libdir}/alsa-lib/*rate_samplerate_*.so" -FILES:${MLPREFIX}libasound-module-rate-speexrate += "${libdir}/alsa-lib/*rate_speexrate_*.so" -INSANE_SKIP:${MLPREFIX}libasound-module-rate-lavrate = "dev-so" -INSANE_SKIP:${MLPREFIX}libasound-module-rate-samplerate = "dev-so" -INSANE_SKIP:${MLPREFIX}libasound-module-rate-speexrate = "dev-so" - -# 50-pulseaudio.conf defines a device named "pulse" that applications can use -# if they explicitly want to use the PulseAudio plugin. -# 99-pulseaudio-default.conf configures the "default" device to use the -# PulseAudio plugin. -FILES:${PN}-pulseaudio-conf += "\ - ${datadir}/alsa/alsa.conf.d/50-pulseaudio.conf \ - ${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf \ - ${sysconfdir}/alsa/conf.d/50-pulseaudio.conf \ - ${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf \ -" - -RDEPENDS:${PN}-pulseaudio-conf += "\ - ${MLPREFIX}libasound-module-conf-pulse \ - ${MLPREFIX}libasound-module-ctl-pulse \ - ${MLPREFIX}libasound-module-pcm-pulse \ -" -- cgit v1.2.3-54-g00ecf