diff options
Diffstat (limited to 'meta-audio-4a-framework')
11 files changed, 474 insertions, 2 deletions
diff --git a/meta-audio-4a-framework/conf/include/agl-audio-4a-framework.inc b/meta-audio-4a-framework/conf/include/agl-audio-4a-framework.inc index 491f6d2a..da626662 100644 --- a/meta-audio-4a-framework/conf/include/agl-audio-4a-framework.inc +++ b/meta-audio-4a-framework/conf/include/agl-audio-4a-framework.inc @@ -15,3 +15,9 @@ PACKAGES_pn-alsa-state_remove = "alsa-states-dev" PACKAGES_pn-alsa-state = "alsa-state alsa-states" PREFERRED_PROVIDER_virtual/mixer ?= "4a-mixer" + +PREFERRED_VERSION_alsa-lib = "1.1.6" +PREFERRED_VERSION_alsa-plugins = "1.1.6" +PREFERRED_VERSION_alsa-tools = "1.1.6" +PREFERRED_VERSION_alsa-utils = "1.1.6" +PREFERRED_VERSION_alsa-utils-scripts = "1.1.6" diff --git a/meta-audio-4a-framework/recipes-core/af-binder/af-binder_1.0.bbappend b/meta-audio-4a-framework/recipes-core/af-binder/af-binder_1.0.bbappend new file mode 100644 index 00000000..2148f26d --- /dev/null +++ b/meta-audio-4a-framework/recipes-core/af-binder/af-binder_1.0.bbappend @@ -0,0 +1,5 @@ +# for 4A on FF-RC1, we need to enable DYNAPI mechanism at binder level +# it should be removed in final release of FF and SPEC-1546 is opened to +# track that task. + +EXTRA_OECMAKE_append_class-target += "-DINCLUDE_LEGACY_BINDING_VDYN=ON" diff --git a/meta-audio-4a-framework/recipes-multimedia/4a-hal-generic/4a-hal-generic_git.bb b/meta-audio-4a-framework/recipes-multimedia/4a-hal-generic/4a-hal-generic_git.bb index eede6956..5981261c 100644 --- a/meta-audio-4a-framework/recipes-multimedia/4a-hal-generic/4a-hal-generic_git.bb +++ b/meta-audio-4a-framework/recipes-multimedia/4a-hal-generic/4a-hal-generic_git.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "gitsm://github.com/iotbzh/4a-hal-generic;protocol=https;branch=${AGL_BRANCH}" #SRCREV = "${AGL_APP_REVISION}" -SRCREV = "8142c7ed42167dff7e526952f91909d679453251" +SRCREV = "90cae7bdb9487225d11e8daeea0202a1db5605bb" DEPENDS += "lua" diff --git a/meta-audio-4a-framework/recipes-multimedia/4a-softmixer/4a-softmixer_git.bb b/meta-audio-4a-framework/recipes-multimedia/4a-softmixer/4a-softmixer_git.bb index 2cead9a0..441d4d6c 100644 --- a/meta-audio-4a-framework/recipes-multimedia/4a-softmixer/4a-softmixer_git.bb +++ b/meta-audio-4a-framework/recipes-multimedia/4a-softmixer/4a-softmixer_git.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "gitsm://github.com/iotbzh/4a-softmixer/;protocol=https;branch=${AGL_BRANCH}" #SRCREV = "${AGL_APP_REVISION}" -SRCREV = "731c21e80ba45339b7dd9b8eae63accd3597d281" +SRCREV = "1065a98987848cd89a116c440ed476c96488ec1d" DEPENDS += "lua" diff --git a/meta-audio-4a-framework/recipes-multimedia/alsa/alsa-lib_1.1.6.bb b/meta-audio-4a-framework/recipes-multimedia/alsa/alsa-lib_1.1.6.bb new file mode 100644 index 00000000..e6961c7c --- /dev/null +++ b/meta-audio-4a-framework/recipes-multimedia/alsa/alsa-lib_1.1.6.bb @@ -0,0 +1,46 @@ +SUMMARY = "ALSA sound library" +HOMEPAGE = "http://www.alsa-project.org" +BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" +SECTION = "libs/multimedia" +LICENSE = "LGPLv2.1 & GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \ + file://src/socket.c;md5=dd1bc7f44872690224d89c1a9806e495;beginline=1;endline=26 \ + " + +MIRRORS += "\ +ftp://ftp.alsa-project.org http://www.mirrorservice.org/sites/ftp.alsa-project.org \n \ +" + +SRC_URI = "ftp://ftp.alsa-project.org/pub/lib/${BP}.tar.bz2" +SRC_URI[md5sum] = "2f981a8f7897c59ec2ddc44916d33788" +SRC_URI[sha256sum] = "5f2cd274b272cae0d0d111e8a9e363f08783329157e8dd68b3de0c096de6d724" + +inherit autotools pkgconfig + +EXTRA_OECONF += " \ + ${@bb.utils.contains('TARGET_FPU', 'soft', '--with-softfloat', '', d)} \ + --disable-python \ +" + +PACKAGES =+ "alsa-server libasound alsa-conf alsa-doc" + +FILES_libasound = "${libdir}/libasound.so.*" +FILES_alsa-server = "${bindir}/*" +FILES_alsa-conf = "${datadir}/alsa/" + +RDEPENDS_libasound = "alsa-conf" + +# alsa-lib gets automatically added to alsa-lib-dev dependencies, but the +# alsa-lib package doesn't exist. libasound is the real library package. +RDEPENDS_${PN}-dev = "libasound" + +# upgrade path +RPROVIDES_${PN}-dev = "alsa-dev" +RREPLACES_${PN}-dev = "alsa-dev" +RCONFLICTS_${PN}-dev = "alsa-dev" + +RPROVIDES_alsa-conf = "alsa-conf-base" +RREPLACES_alsa-conf = "alsa-conf-base" +RCONFLICTS_alsa-conf = "alsa-conf-base" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-audio-4a-framework/recipes-multimedia/alsa/alsa-plugins_1.1.6.bb b/meta-audio-4a-framework/recipes-multimedia/alsa/alsa-plugins_1.1.6.bb new file mode 100644 index 00000000..82d65cd1 --- /dev/null +++ b/meta-audio-4a-framework/recipes-multimedia/alsa/alsa-plugins_1.1.6.bb @@ -0,0 +1,107 @@ +SUMMARY = "ALSA Plugins" +HOMEPAGE = "http://alsa-project.org" +BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" +SECTION = "multimedia" + +# The primary license of alsa-plugins is LGPLv2.1. +# +# m4/attributes.m4 is licensed under GPLv2+. 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 GPLv2+ 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 LGPLv2.1 like the rest of the plugins. +LICENSE = "LGPLv2.1 & GPLv2+" +LIC_FILES_CHKSUM = "\ + file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \ + file://COPYING.GPL;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://m4/attributes.m4;endline=33;md5=b25958da44c02231e3641f1bccef53eb \ + file://rate/rate_samplerate.c;endline=35;md5=fd77bce85f4a338c0e8ab18430b69fae \ +" + +MIRRORS += "\ +ftp://ftp.alsa-project.org http://www.mirrorservice.org/sites/ftp.alsa-project.org \n \ +" + +SRC_URI = "ftp://ftp.alsa-project.org/pub/plugins/${BP}.tar.bz2" +SRC_URI[md5sum] = "8387279e99feeb2ecffaac5f293223d7" +SRC_URI[sha256sum] = "6f1d31ebe3b1fa1cc8dade60b7bed1cb2583ac998167002d350dc0a5e3e40c13" + +DEPENDS += "alsa-lib" + +inherit autotools pkgconfig + +PACKAGECONFIG ??= "\ + samplerate \ + speexdsp \ + ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \ +" +PACKAGECONFIG[avcodec] = "--enable-avcodec,--disable-avcodec,libav" +PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" +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. +ALLOW_EMPTY_${PN} = "1" + +do_install_append() { + rm ${D}${libdir}/alsa-lib/*.la + + # We use the example as is, so just drop the .example suffix. + if [ "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'yes', 'no', d)}" = "yes" ]; then + mv ${D}${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf.example ${D}${datadir}/alsa/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, '^libasound_module_(.*)\.so$', 'libasound-module-%s', 'Alsa plugin for %s', extra_depends='')) + d.setVar("RDEPENDS_alsa-plugins", packages) +} + +# 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-lavcrate += "${libdir}/alsa-lib/*rate_lavcrate_*.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-lavcrate = "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 \ +" + +RDEPENDS_${PN}-pulseaudio-conf += "\ + libasound-module-conf-pulse \ + libasound-module-ctl-pulse \ + libasound-module-pcm-pulse \ +" diff --git a/meta-audio-4a-framework/recipes-multimedia/alsa/alsa-tools/0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch b/meta-audio-4a-framework/recipes-multimedia/alsa/alsa-tools/0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch new file mode 100644 index 00000000..c137bc8a --- /dev/null +++ b/meta-audio-4a-framework/recipes-multimedia/alsa/alsa-tools/0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch @@ -0,0 +1,34 @@ +Upstream-Status: Backport +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +From a861bdabf02cd9bfb3ec7c0571c563c0fa14adfb Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 24 Apr 2018 12:24:32 -0700 +Subject: [PATCH] us428control: Fix clang -Wreserved-user-defined-literal + warnings + +| us428control.cc:66:18: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal] +| printf("usage: "PROGNAME" [-v verbosity_level 0..2] [-c card] [-D device] [-u usb-device] [-m mode]\n"); +| ^ + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Signed-off-by: Takashi Iwai <tiwai@suse.de> +--- + us428control/us428control.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/us428control/us428control.cc b/us428control/us428control.cc +index e839bf4..8cb3c42 100644 +--- a/us428control/us428control.cc ++++ b/us428control/us428control.cc +@@ -63,7 +63,7 @@ static void usage(void) + { + printf("Tascam US-428 Control\n"); + printf("version %s\n", VERSION); +- printf("usage: "PROGNAME" [-v verbosity_level 0..2] [-c card] [-D device] [-u usb-device] [-m mode]\n"); ++ printf("usage: " PROGNAME " [-v verbosity_level 0..2] [-c card] [-D device] [-u usb-device] [-m mode]\n"); + printf("mode is one of (us224, us428, mixxx)\n"); + } + /* +-- +1.7.11.7 diff --git a/meta-audio-4a-framework/recipes-multimedia/alsa/alsa-tools/musl.patch b/meta-audio-4a-framework/recipes-multimedia/alsa/alsa-tools/musl.patch new file mode 100644 index 00000000..9eb129c3 --- /dev/null +++ b/meta-audio-4a-framework/recipes-multimedia/alsa/alsa-tools/musl.patch @@ -0,0 +1,47 @@ +Upstream-Status: Backport +Signed-off-by: Ross Burton <ross.burton@intel.com> + +From 235d9c5e8381518b0a8661786e7e0cbdd1bbcd01 Mon Sep 17 00:00:00 2001 +From: Ross Burton <ross.burton@intel.com> +Date: Tue, 12 Jun 2018 13:24:34 +0100 +Subject: [PATCH] ld10k1: define _GNU_SOURCE and use sighandler_t + +__sighandler_t is a glibc internal type which doesn't exist in musl. By using +AC_USE_SYSTEM_EXTENSIONS to get _GNU_SOURCE defined, both glibc and musl +then expose sighandler_t. + +Signed-off-by: Ross Burton <ross.burton@intel.com> +Signed-off-by: Takashi Iwai <tiwai@suse.de> +--- + ld10k1/configure.ac | 1 + + ld10k1/src/ld10k1_fnc1.c | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/ld10k1/configure.ac b/ld10k1/configure.ac +index 276b24e..f48ca31 100644 +--- a/ld10k1/configure.ac ++++ b/ld10k1/configure.ac +@@ -4,6 +4,7 @@ AC_CONFIG_MACRO_DIR([m4]) + AM_MAINTAINER_MODE([enable]) + + AC_CONFIG_HEADERS(config.h) ++AC_USE_SYSTEM_EXTENSIONS + AC_PROG_CC + AC_PROG_LD + AC_PROG_INSTALL +diff --git a/ld10k1/src/ld10k1_fnc1.c b/ld10k1/src/ld10k1_fnc1.c +index 343584c..ddc43c6 100644 +--- a/ld10k1/src/ld10k1_fnc1.c ++++ b/ld10k1/src/ld10k1_fnc1.c +@@ -179,7 +179,7 @@ int main_loop(comm_param *param, int audigy, const char *card_id, int tram_size, + { + fd_set active_fd_set/*, read_fd_set*/; + int i, j, res = 0; +- __sighandler_t old_sig_pipe; ++ sighandler_t old_sig_pipe; + + int main_sock = 0; + int data_sock = 0; +-- +2.11.0 + diff --git a/meta-audio-4a-framework/recipes-multimedia/alsa/alsa-tools_1.1.6.bb b/meta-audio-4a-framework/recipes-multimedia/alsa/alsa-tools_1.1.6.bb new file mode 100644 index 00000000..1b8be048 --- /dev/null +++ b/meta-audio-4a-framework/recipes-multimedia/alsa/alsa-tools_1.1.6.bb @@ -0,0 +1,91 @@ +SUMMARY = "Advanced tools for certain ALSA sound card drivers" +HOMEPAGE = "http://www.alsa-project.org" +BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" +SECTION = "console/utils" +LICENSE = "GPLv2 & LGPLv2+" +DEPENDS = "alsa-lib" + +LIC_FILES_CHKSUM = "file://hdsploader/COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://ld10k1/COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7 \ + " + +MIRRORS += "\ +ftp://ftp.alsa-project.org http://www.mirrorservice.org/sites/ftp.alsa-project.org \n \ +" + +SRC_URI = "ftp://ftp.alsa-project.org/pub/tools/${BP}.tar.bz2 \ + file://0002-Fix-clang-Wreserved-user-defined-literal-warnings.patch \ + file://musl.patch \ + " + +SRC_URI[md5sum] = "5ca8c9437ae779997cd62fb2815fef19" +SRC_URI[sha256sum] = "d69c4dc2fb641a974d9903e9eb78c94cb0c7ac6c45bae664f0c9d6c0a1593227" + +inherit autotools-brokensep pkgconfig +# brokensep as as10k1 (and probably more) fail out of tree +CLEANBROKEN = "1" + +# Here we use PACKAGECONFIG options to pick which directories we configure/build. +# Remember on upgrades to check that no new tools have been added. +PACKAGECONFIG ??= "as10k1 hdajacksensetest hda-verb hdsploader ld10k1 mixartloader pcxhrloader \ + sb16_csp seq--sbiload sscape_ctl us428control usx2yloader vxloader \ + ${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK2DISTROFEATURES}', 'echomixer envy24control rmedigicontrol', '', d)} \ + ${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK3DISTROFEATURES}', 'hdajackretask', '', d)} \ + " + +PACKAGECONFIG[as10k1] = "" +PACKAGECONFIG[echomixer] = ",,gtk+" +PACKAGECONFIG[envy24control] = ",,gtk+" +PACKAGECONFIG[hda-verb] = "" +PACKAGECONFIG[hdajackretask] = ",,gtk+3" +PACKAGECONFIG[hdajacksensetest] = ",,glib-2.0" +PACKAGECONFIG[hdspconf] = ",,fltk" +PACKAGECONFIG[hdsploader] = "" +PACKAGECONFIG[hdspmixer] = ",,fltk" +PACKAGECONFIG[hwmixvolume] = ",,,python-core python-pygtk" +PACKAGECONFIG[ld10k1] = "" +PACKAGECONFIG[mixartloader] = "" +PACKAGECONFIG[pcxhrloader] = "" +PACKAGECONFIG[qlo10k1] = ",,qt-x11-free" +PACKAGECONFIG[rmedigicontrol] = ",,gtk+" +PACKAGECONFIG[sb16_csp] = "" +PACKAGECONFIG[seq--sbiload] = "" +PACKAGECONFIG[sscape_ctl] = "" +PACKAGECONFIG[us428control] = "" +PACKAGECONFIG[usx2yloader] = "" +PACKAGECONFIG[vxloader] = "" + +python do_configure() { + for subdir in d.getVar("PACKAGECONFIG").split(): + subdir = subdir.replace("--", "/") + bb.note("Configuring %s" % subdir) + dd = d.createCopy() + dd.setVar("S", os.path.join(d.getVar("S"), subdir)) + bb.build.exec_func("autotools_do_configure", dd) +} + +python do_compile() { + for subdir in d.getVar("PACKAGECONFIG").split(): + subdir = subdir.replace("--", "/") + bb.note("Compiling %s" % subdir) + dd = d.createCopy() + dd.setVar("S", os.path.join(d.getVar("S"), subdir)) + bb.build.exec_func("autotools_do_compile", dd) +} + +python do_install() { + for subdir in d.getVar("PACKAGECONFIG").split(): + subdir = subdir.replace("--", "/") + bb.note("Installing %s" % subdir) + dd = d.createCopy() + dd.setVar("S", os.path.join(d.getVar("S"), subdir)) + bb.build.exec_func("autotools_do_install", dd) + + # Just remove bash-needing init script that isn't installed as an init script + try: + os.remove(oe.path.join(d.getVar("D"), d.getVar("sbindir"), "ld10k1d")) + except: + pass +} + +FILES_${PN} += "${datadir}" diff --git a/meta-audio-4a-framework/recipes-multimedia/alsa/alsa-utils-scripts_1.1.6.bb b/meta-audio-4a-framework/recipes-multimedia/alsa/alsa-utils-scripts_1.1.6.bb new file mode 100644 index 00000000..fef79d9c --- /dev/null +++ b/meta-audio-4a-framework/recipes-multimedia/alsa/alsa-utils-scripts_1.1.6.bb @@ -0,0 +1,25 @@ +require alsa-utils_${PV}.bb + +SUMMARY = "Shell scripts that show help info and create ALSA configuration files" +PROVIDES = "alsa-utils-alsaconf" + +FILESEXTRAPATHS_prepend := "${THISDIR}/alsa-utils:" + +PACKAGES = "${PN}" +RDEPENDS_${PN} += "bash" + +FILES_${PN} = "${sbindir}/alsaconf \ + ${sbindir}/alsa-info.sh \ + ${sbindir}/alsabat-test.sh \ + " + +S = "${WORKDIR}/alsa-utils-${PV}" + +do_install() { + install -d ${D}${sbindir} + install -m 0755 ${B}/alsaconf/alsaconf ${D}${sbindir}/ + install -m 0755 ${S}/alsa-info/alsa-info.sh ${D}${sbindir}/ + if ${@bb.utils.contains('PACKAGECONFIG', 'bat', 'true', 'false', d)}; then + install -m 0755 ${S}/bat/alsabat-test.sh ${D}${sbindir}/ + fi +} diff --git a/meta-audio-4a-framework/recipes-multimedia/alsa/alsa-utils_1.1.6.bb b/meta-audio-4a-framework/recipes-multimedia/alsa/alsa-utils_1.1.6.bb new file mode 100644 index 00000000..dbc087fe --- /dev/null +++ b/meta-audio-4a-framework/recipes-multimedia/alsa/alsa-utils_1.1.6.bb @@ -0,0 +1,111 @@ +SUMMARY = "ALSA sound utilities" +HOMEPAGE = "http://www.alsa-project.org" +BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" +SECTION = "console/utils" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://alsactl/utils.c;beginline=1;endline=20;md5=2ce7f7b6739487fb72c689d46521f958" +DEPENDS = "alsa-lib ncurses libsamplerate0" + +PACKAGECONFIG ??= "udev" + +# alsabat can be built also without fftw support (with reduced functionality). +# It would be better to always enable alsabat, but provide an option for +# enabling/disabling fftw. The configure script doesn't support that, however +# (at least in any obvious way), so for now we only support alsabat with fftw +# or no alsabat at all. +PACKAGECONFIG[bat] = "--enable-bat,--disable-bat,fftwf" + +PACKAGECONFIG[udev] = "--with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d,--with-udev-rules-dir=/unwanted/rules.d,udev" +PACKAGECONFIG[manpages] = "--enable-xmlto, --disable-xmlto, xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" + +MIRRORS += "\ +ftp://ftp.alsa-project.org http://www.mirrorservice.org/sites/ftp.alsa-project.org \n \ +" + +SRC_URI = "ftp://ftp.alsa-project.org/pub/utils/alsa-utils-${PV}.tar.bz2 \ + " + +SRC_URI[md5sum] = "50ae75567459646b843bed78d916b002" +SRC_URI[sha256sum] = "155caecc40b2220f686f34ba3655a53e3bdbc0586adb1056733949feaaf7d36e" + +# On build machines with python-docutils (not python3-docutils !!) installed +# rst2man (not rst2man.py) is detected and compile fails with +# | make[1]: *** No rule to make target 'alsaucm.1', needed by 'all-am'. Stop. +# Avoid this by disabling expicitly +EXTRA_OECONF = "--disable-rst2man" + +inherit autotools gettext pkgconfig manpages + +# This are all packages that we need to make. Also, the now empty alsa-utils +# ipk depends on them. + +ALSA_UTILS_PKGS = "\ + ${@bb.utils.contains('PACKAGECONFIG', 'bat', 'alsa-utils-alsabat', '', d)} \ + alsa-utils-alsamixer \ + alsa-utils-alsatplg \ + alsa-utils-midi \ + alsa-utils-aplay \ + alsa-utils-amixer \ + alsa-utils-aconnect \ + alsa-utils-iecset \ + alsa-utils-speakertest \ + alsa-utils-aseqnet \ + alsa-utils-aseqdump \ + alsa-utils-alsactl \ + alsa-utils-alsaloop \ + alsa-utils-alsaucm \ + " + +PACKAGES += "${ALSA_UTILS_PKGS}" +RDEPENDS_${PN} += "${ALSA_UTILS_PKGS}" + +FILES_${PN} = "" +FILES_alsa-utils-alsabat = "${bindir}/alsabat" +FILES_alsa-utils-alsatplg = "${bindir}/alsatplg" +FILES_alsa-utils-aplay = "${bindir}/aplay ${bindir}/arecord" +FILES_alsa-utils-amixer = "${bindir}/amixer" +FILES_alsa-utils-alsamixer = "${bindir}/alsamixer" +FILES_alsa-utils-speakertest = "${bindir}/speaker-test ${datadir}/sounds/alsa/ ${datadir}/alsa/speaker-test/" +FILES_alsa-utils-midi = "${bindir}/aplaymidi ${bindir}/arecordmidi ${bindir}/amidi" +FILES_alsa-utils-aconnect = "${bindir}/aconnect" +FILES_alsa-utils-aseqnet = "${bindir}/aseqnet" +FILES_alsa-utils-iecset = "${bindir}/iecset" +FILES_alsa-utils-alsactl = "${sbindir}/alsactl */udev/rules.d */*/udev/rules.d ${systemd_unitdir} ${localstatedir}/lib/alsa ${datadir}/alsa/init/" +FILES_alsa-utils-aseqdump = "${bindir}/aseqdump" +FILES_alsa-utils-alsaloop = "${bindir}/alsaloop" +FILES_alsa-utils-alsaucm = "${bindir}/alsaucm" + +SUMMARY_alsa-utils-alsabat = "Command-line sound tester for ALSA sound card driver" +SUMMARY_alsa-utils-alsatplg = "Converts topology text files into binary format for kernel" +SUMMARY_alsa-utils-aplay = "Play (and record) sound files using ALSA" +SUMMARY_alsa-utils-amixer = "Command-line control for ALSA mixer and settings" +SUMMARY_alsa-utils-alsamixer = "ncurses-based control for ALSA mixer and settings" +SUMMARY_alsa-utils-speakertest = "ALSA surround speaker test utility" +SUMMARY_alsa-utils-midi = "Miscellaneous MIDI utilities for ALSA" +SUMMARY_alsa-utils-aconnect = "ALSA sequencer connection manager" +SUMMARY_alsa-utils-aseqnet = "Network client/server for ALSA sequencer" +SUMMARY_alsa-utils-iecset = "ALSA utility for setting/showing IEC958 (S/PDIF) status bits" +SUMMARY_alsa-utils-alsactl = "Saves/restores ALSA-settings in /etc/asound.state" +SUMMARY_alsa-utils-aseqdump = "Shows the events received at an ALSA sequencer port" +SUMMARY_alsa-utils-alsaloop = "ALSA PCM loopback utility" +SUMMARY_alsa-utils-alsaucm = "ALSA Use Case Manager" + +RRECOMMENDS_alsa-utils-alsactl = "alsa-states" + +ALLOW_EMPTY_alsa-utils = "1" + +do_install() { + autotools_do_install + + # We don't ship this here because it requires a dependency on bash. + # See alsa-utils-scripts_${PV}.bb + rm ${D}${sbindir}/alsaconf + rm ${D}${sbindir}/alsa-info.sh + rm -f ${D}${sbindir}/alsabat-test.sh + + # If udev is disabled, we told configure to install the rules + # in /unwanted, so we can remove them now. If udev is enabled, + # then /unwanted won't exist and this will have no effect. + rm -rf ${D}/unwanted +} |