summaryrefslogtreecommitdiffstats
path: root/meta/recipes-multimedia/alsa
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2025-11-07 13:31:53 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-11-07 13:31:53 +0000
commit8c22ff0d8b70d9b12f0487ef696a7e915b9e3173 (patch)
treeefdc32587159d0050a69009bdf2330a531727d95 /meta/recipes-multimedia/alsa
parentd412d2747595c1cc4a5e3ca975e3adc31b2f7891 (diff)
downloadpoky-8c22ff0d8b70d9b12f0487ef696a7e915b9e3173.tar.gz
The poky repository master branch is no longer being updated.
You can either: a) switch to individual clones of bitbake, openembedded-core, meta-yocto and yocto-docs b) use the new bitbake-setup You can find information about either approach in our documentation: https://docs.yoctoproject.org/ Note that "poky" the distro setting is still available in meta-yocto as before and we continue to use and maintain that. Long live Poky! Some further information on the background of this change can be found in: https://lists.openembedded.org/g/openembedded-architecture/message/2179 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-multimedia/alsa')
-rw-r--r--meta/recipes-multimedia/alsa/alsa-lib_1.2.14.bb44
-rw-r--r--meta/recipes-multimedia/alsa/alsa-plugins_1.2.12.bb175
-rw-r--r--meta/recipes-multimedia/alsa/alsa-tools_1.2.14.bb89
-rw-r--r--meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.5.1.bb23
-rw-r--r--meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.14.bb24
-rw-r--r--meta/recipes-multimedia/alsa/alsa-utils_1.2.14.bb124
6 files changed, 0 insertions, 479 deletions
diff --git a/meta/recipes-multimedia/alsa/alsa-lib_1.2.14.bb b/meta/recipes-multimedia/alsa/alsa-lib_1.2.14.bb
deleted file mode 100644
index 41a42f9ecc..0000000000
--- a/meta/recipes-multimedia/alsa/alsa-lib_1.2.14.bb
+++ /dev/null
@@ -1,44 +0,0 @@
1SUMMARY = "ALSA sound library"
2DESCRIPTION = "(Occasionally a.k.a. libasound) is a userspace library that \
3provides a level of abstraction over the /dev interfaces provided by the kernel modules."
4HOMEPAGE = "http://www.alsa-project.org"
5BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking"
6SECTION = "libs/multimedia"
7LICENSE = "LGPL-2.1-only & GPL-2.0-or-later"
8LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \
9 file://src/socket.c;md5=285675b45e83f571c6a957fe4ab79c93;beginline=9;endline=24 \
10 "
11
12SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2"
13SRC_URI[sha256sum] = "be9c88a0b3604367dd74167a2b754a35e142f670292ae47a2fdef27a2ee97a32"
14
15inherit autotools pkgconfig
16
17EXTRA_OECONF += " \
18 ${@bb.utils.contains('TARGET_FPU', 'soft', '--with-softfloat', '', d)} \
19 --disable-python --disable-old-symbols \
20"
21
22PACKAGES =+ "alsa-server alsa-conf libatopology"
23
24FILES:alsa-server = "${bindir}/*"
25FILES:alsa-conf = "${datadir}/alsa/"
26FILES:libatopology = "${libdir}/libatopology.so.*"
27
28RDEPENDS:${PN}:class-target = "alsa-conf alsa-ucm-conf"
29RDEPENDS:libatopology:class-target = "alsa-topology-conf"
30
31# upgrade path
32RPROVIDES:${PN} = "libasound"
33RREPLACES:${PN} = "libasound"
34RCONFLICTS:${PN} = "libasound"
35
36RPROVIDES:${PN}-dev = "alsa-dev"
37RREPLACES:${PN}-dev = "alsa-dev"
38RCONFLICTS:${PN}-dev = "alsa-dev"
39
40RPROVIDES:alsa-conf = "alsa-conf-base"
41RREPLACES:alsa-conf = "alsa-conf-base"
42RCONFLICTS:alsa-conf = "alsa-conf-base"
43
44BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-multimedia/alsa/alsa-plugins_1.2.12.bb b/meta/recipes-multimedia/alsa/alsa-plugins_1.2.12.bb
deleted file mode 100644
index 7db0c4d677..0000000000
--- a/meta/recipes-multimedia/alsa/alsa-plugins_1.2.12.bb
+++ /dev/null
@@ -1,175 +0,0 @@
1SUMMARY = "ALSA Plugins"
2DESCRIPTION = "Used to create virtual devices that can be used like normal \
3hardware devices but cause extra processing of the sound stream to take place. \
4They are used while configuring ALSA in the .asoundrc file."
5HOMEPAGE = "http://alsa-project.org"
6BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking"
7SECTION = "multimedia"
8CVE_PRODUCT = "alsa"
9
10# The primary license of alsa-plugins is LGPL-2.1-only.
11#
12# m4/attributes.m4 is licensed under GPL-2.0-or-later. m4/attributes.m4 is part
13# of the build system, and doesn't affect the licensing of the build result.
14#
15# The samplerate plugin source code is licensed under GPL-2.0-or-later to be
16# consistent with the libsamplerate license. However, if the licensee has a
17# commercial license for libsamplerate, the samplerate plugin may be used under
18# the terms of LGPL-2.1-only like the rest of the plugins.
19LICENSE = "LGPL-2.1-only & GPL-2.0-or-later"
20LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \
21 file://COPYING.GPL;md5=59530bdf33659b29e73d4adb9f9f6552 \
22 file://m4/attributes.m4;endline=33;md5=bb8c6b2a67ac15156961e242fec33e50 \
23 file://rate/rate_samplerate.c;endline=35;md5=07fcfc9e83a7159ad14a7196ecdc7d48 \
24 "
25
26SRC_URI = "https://www.alsa-project.org/files/pub/plugins/${BP}.tar.bz2"
27SRC_URI[sha256sum] = "7bd8a83d304e8e2d86a25895d8dcb0ef0245a8df32e271959cdbdc6af39b66f2"
28
29DEPENDS += "alsa-lib"
30
31inherit autotools pkgconfig
32
33PACKAGECONFIG ??= "\
34 samplerate \
35 speexdsp \
36 ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \
37"
38PACKAGECONFIG[aaf] = "--enable-aaf,--disable-aaf,libavtp"
39PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
40PACKAGECONFIG[libav] = "--enable-libav,--disable-libav,libav"
41PACKAGECONFIG[maemo-plugin] = "--enable-maemo-plugin,--disable-maemo-plugin"
42PACKAGECONFIG[maemo-resource-manager] = "--enable-maemo-resource-manager,--disable-maemo-resource-manager,dbus"
43PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio"
44PACKAGECONFIG[samplerate] = "--enable-samplerate,--disable-samplerate,libsamplerate0"
45PACKAGECONFIG[speexdsp] = "--with-speex=lib,--with-speex=no,speexdsp"
46
47PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'alsa-plugins-pulseaudio-conf', '', d)}"
48
49PACKAGES_DYNAMIC = "^libasound-module-.*"
50
51# The alsa-plugins package doesn't itself contain anything, it just depends on
52# all built plugins.
53FILES:${PN} = ""
54ALLOW_EMPTY:${PN} = "1"
55
56do_install:append() {
57 rm -f ${D}${libdir}/alsa-lib/*.la
58
59 if [ "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'yes', 'no', d)}" = "yes" ]; then
60 # We use the example as is. Upstream installs the file under
61 # /etc, but we move it under /usr/share and add a symlink under
62 # /etc to be consistent with other installed configuration
63 # files.
64 mv ${D}${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf.example ${D}${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf
65 ln -s ${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf ${D}${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf
66 fi
67}
68
69python populate_packages:prepend() {
70 plugindir = d.expand('${libdir}/alsa-lib/')
71 packages = " ".join(do_split_packages(d, plugindir, r'^libasound_module_(.*)\.so$', 'libasound-module-%s', 'Alsa plugin for %s', extra_depends=''))
72 d.setVar("RDEPENDS:alsa-plugins", packages)
73}
74
75# Many plugins have a configuration file (plus a symlink in /etc) associated
76# with them. We put the plugin and it's configuration usually in the same
77# package, but that's problematic when the configuration file is related to
78# multiple plugins, as is the case with the pulse, oss and maemo plugins. In
79# case of the pulse plugins, we have a separate alsa-plugins-pulseaudio-conf
80# package that depends on all the pulse plugins, which ensures that all plugins
81# that the configuration references are installed. The oss and maemo
82# configuration files, on the other hand, are in the respective pcm plugin
83# packages. Therefore it's possible to install the configuration file without
84# the ctl plugin that the configuration file references. This is unlikely to
85# cause big problems, but some kind of improvement to the packaging could
86# probably be done here (at least it would be good to handle the different
87# plugins in a consistent way).
88FILES:${MLPREFIX}libasound-module-ctl-arcam-av += "\
89 ${datadir}/alsa/alsa.conf.d/50-arcam-av-ctl.conf \
90 ${sysconfdir}/alsa/conf.d/50-arcam-av-ctl.conf \
91"
92FILES:${MLPREFIX}libasound-module-pcm-a52 += "\
93 ${datadir}/alsa/alsa.conf.d/60-a52-encoder.conf \
94 ${sysconfdir}/alsa/conf.d/60-a52-encoder.conf \
95"
96FILES:${MLPREFIX}libasound-module-pcm-alsa-dsp += "\
97 ${datadir}/alsa/alsa.conf.d/98-maemo.conf \
98 ${sysconfdir}/alsa/conf.d/98-maemo.conf \
99"
100FILES:${MLPREFIX}libasound-module-pcm-jack += "\
101 ${datadir}/alsa/alsa.conf.d/50-jack.conf \
102 ${sysconfdir}/alsa/conf.d/50-jack.conf \
103"
104FILES:${MLPREFIX}libasound-module-pcm-oss += "\
105 ${datadir}/alsa/alsa.conf.d/50-oss.conf \
106 ${sysconfdir}/alsa/conf.d/50-oss.conf \
107"
108FILES:${MLPREFIX}libasound-module-pcm-speex += "\
109 ${datadir}/alsa/alsa.conf.d/60-speex.conf \
110 ${sysconfdir}/alsa/conf.d/60-speex.conf \
111"
112FILES:${MLPREFIX}libasound-module-pcm-upmix += "\
113 ${datadir}/alsa/alsa.conf.d/60-upmix.conf \
114 ${sysconfdir}/alsa/conf.d/60-upmix.conf \
115"
116FILES:${MLPREFIX}libasound-module-pcm-usb-stream += "\
117 ${datadir}/alsa/alsa.conf.d/98-usb-stream.conf \
118 ${sysconfdir}/alsa/conf.d/98-usb-stream.conf \
119"
120FILES:${MLPREFIX}libasound-module-pcm-vdownmix += "\
121 ${datadir}/alsa/alsa.conf.d/60-vdownmix.conf \
122 ${sysconfdir}/alsa/conf.d/60-vdownmix.conf \
123"
124FILES:${MLPREFIX}libasound-module-rate-lavrate += "\
125 ${datadir}/alsa/alsa.conf.d/10-rate-lav.conf \
126 ${sysconfdir}/alsa/conf.d/10-rate-lav.conf \
127"
128FILES:${MLPREFIX}libasound-module-rate-samplerate += "\
129 ${datadir}/alsa/alsa.conf.d/10-samplerate.conf \
130 ${sysconfdir}/alsa/conf.d/10-samplerate.conf \
131"
132FILES:${MLPREFIX}libasound-module-rate-speexrate += "\
133 ${datadir}/alsa/alsa.conf.d/10-speexrate.conf \
134 ${sysconfdir}/alsa/conf.d/10-speexrate.conf \
135"
136
137# The rate plugins create some symlinks. For example, the samplerate plugin
138# creates these links to the main plugin file:
139#
140# libasound_module_rate_samplerate_best.so
141# libasound_module_rate_samplerate_linear.so
142# libasound_module_rate_samplerate_medium.so
143# libasound_module_rate_samplerate_order.so
144#
145# The other rate plugins create similar links. We have to add the links to
146# FILES manually, because do_split_packages() skips the links (which is good,
147# because we wouldn't want do_split_packages() to create separate packages for
148# the symlinks).
149#
150# The symlinks cause QA errors, because usually it's a bug if a non
151# -dev/-dbg/-nativesdk package contains links to .so files, but in this case
152# the errors are false positives, so we disable the QA checks.
153FILES:${MLPREFIX}libasound-module-rate-lavrate += "${libdir}/alsa-lib/*rate_lavrate_*.so"
154FILES:${MLPREFIX}libasound-module-rate-samplerate += "${libdir}/alsa-lib/*rate_samplerate_*.so"
155FILES:${MLPREFIX}libasound-module-rate-speexrate += "${libdir}/alsa-lib/*rate_speexrate_*.so"
156INSANE_SKIP:${MLPREFIX}libasound-module-rate-lavrate = "dev-so"
157INSANE_SKIP:${MLPREFIX}libasound-module-rate-samplerate = "dev-so"
158INSANE_SKIP:${MLPREFIX}libasound-module-rate-speexrate = "dev-so"
159
160# 50-pulseaudio.conf defines a device named "pulse" that applications can use
161# if they explicitly want to use the PulseAudio plugin.
162# 99-pulseaudio-default.conf configures the "default" device to use the
163# PulseAudio plugin.
164FILES:${PN}-pulseaudio-conf += "\
165 ${datadir}/alsa/alsa.conf.d/50-pulseaudio.conf \
166 ${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf \
167 ${sysconfdir}/alsa/conf.d/50-pulseaudio.conf \
168 ${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf \
169"
170
171RDEPENDS:${PN}-pulseaudio-conf += "\
172 ${MLPREFIX}libasound-module-conf-pulse \
173 ${MLPREFIX}libasound-module-ctl-pulse \
174 ${MLPREFIX}libasound-module-pcm-pulse \
175"
diff --git a/meta/recipes-multimedia/alsa/alsa-tools_1.2.14.bb b/meta/recipes-multimedia/alsa/alsa-tools_1.2.14.bb
deleted file mode 100644
index 751d9e8a76..0000000000
--- a/meta/recipes-multimedia/alsa/alsa-tools_1.2.14.bb
+++ /dev/null
@@ -1,89 +0,0 @@
1SUMMARY = "Advanced tools for certain ALSA sound card drivers"
2DESCRIPTION = "Package containing a number of tools ranging from envy24control \
3which provides complete control over all devices with an envy24 chip, to \
4firmware loaders for pcmcia, USB and the hdsp devices."
5HOMEPAGE = "http://www.alsa-project.org"
6BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking"
7SECTION = "console/utils"
8LICENSE = "GPL-2.0-only & LGPL-2.0-or-later"
9DEPENDS = "alsa-lib"
10
11LIC_FILES_CHKSUM = "file://hdsploader/COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
12 file://ld10k1/COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7 \
13 "
14
15SRC_URI = "https://www.alsa-project.org/files/pub/tools/${BP}.tar.bz2"
16
17SRC_URI[sha256sum] = "faef6fdd39ec79c9a5473dc63aa1b6331bf7664a9d452a0a8198cec7016cbc6f"
18
19inherit autotools-brokensep pkgconfig
20# brokensep as as10k1 (and probably more) fail out of tree
21CLEANBROKEN = "1"
22
23# Here we use PACKAGECONFIG options to pick which directories we configure/build.
24# Remember on upgrades to check that no new tools have been added.
25PACKAGECONFIG ??= "as10k1 hdajacksensetest hda-verb hdsploader ld10k1 mixartloader pcxhrloader \
26 sb16_csp seq--sbiload sscape_ctl us428control usx2yloader vxloader \
27 ${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK3DISTROFEATURES}', 'hdajackretask', '', d)} \
28 "
29
30PACKAGECONFIG[as10k1] = ""
31PACKAGECONFIG[echomixer] = ",,gtk+"
32PACKAGECONFIG[envy24control] = ",,gtk+"
33PACKAGECONFIG[hda-verb] = ""
34PACKAGECONFIG[hdajackretask] = ",,gtk+3"
35PACKAGECONFIG[hdajacksensetest] = ",,glib-2.0"
36PACKAGECONFIG[hdspconf] = ",,fltk"
37PACKAGECONFIG[hdsploader] = ""
38PACKAGECONFIG[hdspmixer] = ",,fltk"
39PACKAGECONFIG[ld10k1] = ""
40PACKAGECONFIG[mixartloader] = ""
41PACKAGECONFIG[pcxhrloader] = ""
42PACKAGECONFIG[qlo10k1] = ",,qt-x11-free"
43PACKAGECONFIG[rmedigicontrol] = ",,gtk+"
44PACKAGECONFIG[sb16_csp] = ""
45PACKAGECONFIG[seq--sbiload] = ""
46PACKAGECONFIG[sscape_ctl] = ""
47PACKAGECONFIG[us428control] = ""
48PACKAGECONFIG[usx2yloader] = ""
49PACKAGECONFIG[vxloader] = ""
50
51# At the time of writing pyalsa is not packaged for OE, so this is not expected
52# to work.
53PACKAGECONFIG[hwmixvolume] = ",,,python-core python-pygobject pyalsa"
54
55python do_configure() {
56 for subdir in d.getVar("PACKAGECONFIG").split():
57 subdir = subdir.replace("--", "/")
58 bb.note("Configuring %s" % subdir)
59 dd = d.createCopy()
60 dd.setVar("S", os.path.join(d.getVar("S"), subdir))
61 bb.build.exec_func("autotools_do_configure", dd)
62}
63
64python do_compile() {
65 for subdir in d.getVar("PACKAGECONFIG").split():
66 subdir = subdir.replace("--", "/")
67 bb.note("Compiling %s" % subdir)
68 dd = d.createCopy()
69 dd.setVar("S", os.path.join(d.getVar("S"), subdir))
70 bb.build.exec_func("autotools_do_compile", dd)
71}
72
73python do_install() {
74 d.delVarFlag("autotools_do_install", "cleandirs")
75 for subdir in d.getVar("PACKAGECONFIG").split():
76 subdir = subdir.replace("--", "/")
77 bb.note("Installing %s" % subdir)
78 dd = d.createCopy()
79 dd.setVar("S", os.path.join(d.getVar("S"), subdir))
80 bb.build.exec_func("autotools_do_install", dd)
81
82 # Just remove bash-needing init script that isn't installed as an init script
83 try:
84 os.remove(oe.path.join(d.getVar("D"), d.getVar("sbindir"), "ld10k1d"))
85 except:
86 pass
87}
88
89FILES:${PN} += "${datadir}"
diff --git a/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.5.1.bb b/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.5.1.bb
deleted file mode 100644
index 4374a6bb6d..0000000000
--- a/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.5.1.bb
+++ /dev/null
@@ -1,23 +0,0 @@
1SUMMARY = "ALSA topology configuration files"
2DESCRIPTION = "Provides a method for audio drivers to load their mixers, \
3routing, PCMs and capabilities from user space at runtime without changing \
4any driver source code."
5HOMEPAGE = "https://alsa-project.org"
6BUGTRACKER = "https://alsa-project.org/wiki/Bug_Tracking"
7LICENSE = "BSD-3-Clause"
8LIC_FILES_CHKSUM = "file://LICENSE;md5=20d74d74db9741697903372ad001d3b4"
9
10SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2"
11SRC_URI[sha256sum] = "f7c5bae1545abcd73824bc97f4e72c340e11abea188ba0f1c06f5e0ad776b179"
12# Something went wrong at upstream tarballing
13
14inherit allarch
15
16do_install() {
17 install -d "${D}${datadir}/alsa"
18 cp -r "${S}/topology" "${D}${datadir}/alsa"
19}
20
21PACKAGES = "${PN}"
22
23FILES:${PN} = "*"
diff --git a/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.14.bb b/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.14.bb
deleted file mode 100644
index d9ef831937..0000000000
--- a/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.14.bb
+++ /dev/null
@@ -1,24 +0,0 @@
1SUMMARY = "ALSA Use Case Manager configuration"
2DESCRIPTION = "This package contains ALSA Use Case Manager configuration \
3of audio input/output names and routing for specific audio hardware. \
4They can be used with the alsaucm tool. "
5HOMEPAGE = "https://alsa-project.org"
6BUGTRACKER = "https://alsa-project.org/wiki/Bug_Tracking"
7LICENSE = "BSD-3-Clause"
8LIC_FILES_CHKSUM = "file://LICENSE;md5=20d74d74db9741697903372ad001d3b4"
9
10SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2"
11SRC_URI[sha256sum] = "32e9809f592d92b978aa1032e35293c33b8d0f1ec475f937022c3ee9a3069c21"
12# Something went wrong at upstream tarballing
13
14inherit allarch
15
16do_install() {
17 install -d "${D}${datadir}/alsa"
18 cp -r "${S}/ucm" "${D}${datadir}/alsa"
19 cp -r "${S}/ucm2" "${D}${datadir}/alsa"
20}
21
22PACKAGES = "${PN}"
23
24FILES:${PN} = "*"
diff --git a/meta/recipes-multimedia/alsa/alsa-utils_1.2.14.bb b/meta/recipes-multimedia/alsa/alsa-utils_1.2.14.bb
deleted file mode 100644
index 3cbb9b464b..0000000000
--- a/meta/recipes-multimedia/alsa/alsa-utils_1.2.14.bb
+++ /dev/null
@@ -1,124 +0,0 @@
1SUMMARY = "ALSA sound utilities"
2DESCRIPTION = "collection of small and often extremely powerful applications \
3designed to allow users to control the various parts of the ALSA system."
4HOMEPAGE = "http://www.alsa-project.org"
5BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking"
6SECTION = "console/utils"
7# Some parts are GPL-2.0-or-later, some are GPL-2.0-only (e.g. axfer, alsactl)
8# so result is GPL-2.0-only
9LICENSE = "GPL-2.0-only"
10LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
11 file://alsactl/utils.c;beginline=3;endline=18;md5=96cc06a4cebe5eb7975688ffb0e65642"
12DEPENDS = "alsa-lib ncurses libsamplerate0"
13
14PACKAGECONFIG ??= "udev"
15
16# alsabat can be built also without fftw support (with reduced functionality).
17# It would be better to always enable alsabat, but provide an option for
18# enabling/disabling fftw. The configure script doesn't support that, however
19# (at least in any obvious way), so for now we only support alsabat with fftw
20# or no alsabat at all.
21PACKAGECONFIG[bat] = "--enable-bat,--disable-bat,fftwf"
22
23PACKAGECONFIG[udev] = "--with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d,--with-udev-rules-dir=/unwanted/rules.d,udev"
24PACKAGECONFIG[manpages] = "--enable-xmlto, --disable-xmlto, xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
25
26# alsa-utils specified in SRC_URI due to alsa-utils-scripts recipe
27SRC_URI = "https://www.alsa-project.org/files/pub/utils/alsa-utils-${PV}.tar.bz2"
28SRC_URI[sha256sum] = "0794c74d33fed943e7c50609c13089e409312b6c403d6ae8984fc429c0960741"
29
30# On build machines with python-docutils (not python3-docutils !!) installed
31# rst2man (not rst2man.py) is detected and compile fails with
32# | make[1]: *** No rule to make target 'alsaucm.1', needed by 'all-am'. Stop.
33# Avoid this by disabling expicitly
34EXTRA_OECONF = "--disable-rst2man"
35
36inherit autotools gettext pkgconfig manpages
37
38# This are all packages that we need to make. Also, the now empty alsa-utils
39# ipk depends on them.
40
41ALSA_UTILS_PKGS = "\
42 ${@bb.utils.contains('PACKAGECONFIG', 'bat', 'alsa-utils-alsabat', '', d)} \
43 alsa-utils-alsamixer \
44 alsa-utils-alsatplg \
45 alsa-utils-midi \
46 alsa-utils-aplay \
47 alsa-utils-amixer \
48 alsa-utils-aconnect \
49 alsa-utils-iecset \
50 alsa-utils-speakertest \
51 alsa-utils-aseqnet \
52 alsa-utils-aseqdump \
53 alsa-utils-aseqsend \
54 alsa-utils-alsactl \
55 alsa-utils-alsaloop \
56 alsa-utils-alsaucm \
57 alsa-utils-scripts \
58 alsa-utils-nhltdmicinfo \
59 "
60
61PACKAGES += "${ALSA_UTILS_PKGS}"
62RDEPENDS:${PN} += "${ALSA_UTILS_PKGS}"
63
64FILES:${PN} = ""
65ALLOW_EMPTY:alsa-utils = "1"
66FILES:alsa-utils-alsabat = "${bindir}/alsabat"
67FILES:alsa-utils-alsatplg = "${bindir}/alsatplg ${libdir}/alsa-topology"
68FILES:alsa-utils-aplay = "${bindir}/aplay ${bindir}/arecord ${bindir}/axfer"
69FILES:alsa-utils-amixer = "${bindir}/amixer"
70FILES:alsa-utils-alsamixer = "${bindir}/alsamixer"
71FILES:alsa-utils-speakertest = "${bindir}/speaker-test ${datadir}/sounds/alsa/ ${datadir}/alsa/speaker-test/"
72FILES:alsa-utils-midi = "${bindir}/aplaymidi* ${bindir}/arecordmidi* ${bindir}/amidi"
73FILES:alsa-utils-aconnect = "${bindir}/aconnect"
74FILES:alsa-utils-aseqnet = "${bindir}/aseqnet"
75FILES:alsa-utils-aseqsend = "${bindir}/aseqsend"
76FILES:alsa-utils-iecset = "${bindir}/iecset"
77FILES:alsa-utils-alsactl = "${sbindir}/alsactl */udev/rules.d/90-alsa-restore.rules */*/udev/rules.d/90-alsa-restore.rules ${systemd_unitdir} ${localstatedir}/lib/alsa ${datadir}/alsa/init/"
78FILES:alsa-utils-aseqdump = "${bindir}/aseqdump"
79FILES:alsa-utils-alsaloop = "${bindir}/alsaloop"
80FILES:alsa-utils-alsaucm = "${bindir}/alsaucm */udev/rules.d/89-alsa-ucm.rules */*/udev/rules.d/89-alsa-ucm.rules"
81FILES:alsa-utils-scripts = "${sbindir}/alsaconf \
82 ${sbindir}/alsa-info.sh \
83 ${sbindir}/alsabat-test.sh \
84 "
85FILES:alsa-utils-nhltdmicinfo = "${bindir}/nhlt-dmic-info"
86
87SUMMARY:alsa-utils-alsabat = "Command-line sound tester for ALSA sound card driver"
88SUMMARY:alsa-utils-alsatplg = "Converts topology text files into binary format for kernel"
89SUMMARY:alsa-utils-aplay = "Play (and record) sound files using ALSA"
90SUMMARY:alsa-utils-amixer = "Command-line control for ALSA mixer and settings"
91SUMMARY:alsa-utils-alsamixer = "ncurses-based control for ALSA mixer and settings"
92SUMMARY:alsa-utils-speakertest = "ALSA surround speaker test utility"
93SUMMARY:alsa-utils-midi = "Miscellaneous MIDI utilities for ALSA"
94SUMMARY:alsa-utils-aconnect = "ALSA sequencer connection manager"
95SUMMARY:alsa-utils-aseqnet = "Network client/server for ALSA sequencer"
96SUMMARY:alsa-utils-iecset = "ALSA utility for setting/showing IEC958 (S/PDIF) status bits"
97SUMMARY:alsa-utils-alsactl = "Saves/restores ALSA-settings in /etc/asound.state"
98SUMMARY:alsa-utils-aseqdump = "Shows the events received at an ALSA sequencer port"
99SUMMARY:alsa-utils-alsaloop = "ALSA PCM loopback utility"
100SUMMARY:alsa-utils-alsaucm = "ALSA Use Case Manager"
101SUMMARY:alsa-utils-scripts = "Shell scripts that show help info and create ALSA configuration files"
102SUMMARY:alsa-utils-nhltdmicinfo = "Dumps microphone array information from ACPI NHLT table"
103
104RRECOMMENDS:alsa-utils-alsactl = "alsa-states"
105
106do_install() {
107 autotools_do_install
108
109 install -d ${D}${sbindir}
110 install -m 0755 ${B}/alsaconf/alsaconf ${D}${sbindir}/
111 install -m 0755 ${S}/alsa-info/alsa-info.sh ${D}${sbindir}/
112 if ${@bb.utils.contains('PACKAGECONFIG', 'bat', 'true', 'false', d)}; then
113 install -m 0755 ${S}/bat/alsabat-test.sh ${D}${sbindir}/
114 fi
115
116 # If udev is disabled, we told configure to install the rules
117 # in /unwanted, so we can remove them now. If udev is enabled,
118 # then /unwanted won't exist and this will have no effect.
119 rm -rf ${D}/unwanted
120}
121
122PROVIDES = "alsa-utils-alsaconf alsa-utils-scripts"
123
124RDEPENDS:${PN}-scripts += "bash"