blob: 03b5c8de30e2c003828b641d4d71df11cebee80c [file] [log] [blame]
Brad Bishop19323692019-04-05 15:28:33 -04001SUMMARY = "ALSA sound utilities"
2HOMEPAGE = "http://www.alsa-project.org"
3BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking"
4SECTION = "console/utils"
5LICENSE = "GPLv2+"
6LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
7 file://alsactl/utils.c;beginline=1;endline=20;md5=2ce7f7b6739487fb72c689d46521f958"
8DEPENDS = "alsa-lib ncurses libsamplerate0"
9
10PACKAGECONFIG ??= "udev"
11
12# alsabat can be built also without fftw support (with reduced functionality).
13# It would be better to always enable alsabat, but provide an option for
14# enabling/disabling fftw. The configure script doesn't support that, however
15# (at least in any obvious way), so for now we only support alsabat with fftw
16# or no alsabat at all.
17PACKAGECONFIG[bat] = "--enable-bat,--disable-bat,fftwf"
18
19PACKAGECONFIG[udev] = "--with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d,--with-udev-rules-dir=/unwanted/rules.d,udev"
20PACKAGECONFIG[manpages] = "--enable-xmlto, --disable-xmlto, xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
21
22# alsa-utils specified in SRC_URI due to alsa-utils-scripts recipe
23SRC_URI = "https://www.alsa-project.org/files/pub/utils/alsa-utils-${PV}.tar.bz2"
Brad Bishop15ae2502019-06-18 21:44:24 -040024SRC_URI[md5sum] = "5ed21c3e296c06046cc986e732f625f6"
25SRC_URI[sha256sum] = "5ddf2cbddb4bd1a4a2a6492a09c25898b08c3ad64893c3655be14194cf0a213a"
Brad Bishop19323692019-04-05 15:28:33 -040026
27# On build machines with python-docutils (not python3-docutils !!) installed
28# rst2man (not rst2man.py) is detected and compile fails with
29# | make[1]: *** No rule to make target 'alsaucm.1', needed by 'all-am'. Stop.
30# Avoid this by disabling expicitly
31EXTRA_OECONF = "--disable-rst2man"
32
33inherit autotools gettext pkgconfig manpages
34
35# This are all packages that we need to make. Also, the now empty alsa-utils
36# ipk depends on them.
37
38ALSA_UTILS_PKGS = "\
39 ${@bb.utils.contains('PACKAGECONFIG', 'bat', 'alsa-utils-alsabat', '', d)} \
40 alsa-utils-alsamixer \
41 alsa-utils-alsatplg \
42 alsa-utils-midi \
43 alsa-utils-aplay \
44 alsa-utils-amixer \
45 alsa-utils-aconnect \
46 alsa-utils-iecset \
47 alsa-utils-speakertest \
48 alsa-utils-aseqnet \
49 alsa-utils-aseqdump \
50 alsa-utils-alsactl \
51 alsa-utils-alsaloop \
52 alsa-utils-alsaucm \
53 "
54
55PACKAGES += "${ALSA_UTILS_PKGS}"
56RDEPENDS_${PN} += "${ALSA_UTILS_PKGS}"
57
58FILES_${PN} = ""
59FILES_alsa-utils-alsabat = "${bindir}/alsabat"
60FILES_alsa-utils-alsatplg = "${bindir}/alsatplg"
61FILES_alsa-utils-aplay = "${bindir}/aplay ${bindir}/arecord ${bindir}/axfer"
62FILES_alsa-utils-amixer = "${bindir}/amixer"
63FILES_alsa-utils-alsamixer = "${bindir}/alsamixer"
64FILES_alsa-utils-speakertest = "${bindir}/speaker-test ${datadir}/sounds/alsa/ ${datadir}/alsa/speaker-test/"
65FILES_alsa-utils-midi = "${bindir}/aplaymidi ${bindir}/arecordmidi ${bindir}/amidi"
66FILES_alsa-utils-aconnect = "${bindir}/aconnect"
67FILES_alsa-utils-aseqnet = "${bindir}/aseqnet"
68FILES_alsa-utils-iecset = "${bindir}/iecset"
69FILES_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/"
70FILES_alsa-utils-aseqdump = "${bindir}/aseqdump"
71FILES_alsa-utils-alsaloop = "${bindir}/alsaloop"
72FILES_alsa-utils-alsaucm = "${bindir}/alsaucm */udev/rules.d/89-alsa-ucm.rules */*/udev/rules.d/89-alsa-ucm.rules"
73
74SUMMARY_alsa-utils-alsabat = "Command-line sound tester for ALSA sound card driver"
75SUMMARY_alsa-utils-alsatplg = "Converts topology text files into binary format for kernel"
76SUMMARY_alsa-utils-aplay = "Play (and record) sound files using ALSA"
77SUMMARY_alsa-utils-amixer = "Command-line control for ALSA mixer and settings"
78SUMMARY_alsa-utils-alsamixer = "ncurses-based control for ALSA mixer and settings"
79SUMMARY_alsa-utils-speakertest = "ALSA surround speaker test utility"
80SUMMARY_alsa-utils-midi = "Miscellaneous MIDI utilities for ALSA"
81SUMMARY_alsa-utils-aconnect = "ALSA sequencer connection manager"
82SUMMARY_alsa-utils-aseqnet = "Network client/server for ALSA sequencer"
83SUMMARY_alsa-utils-iecset = "ALSA utility for setting/showing IEC958 (S/PDIF) status bits"
84SUMMARY_alsa-utils-alsactl = "Saves/restores ALSA-settings in /etc/asound.state"
85SUMMARY_alsa-utils-aseqdump = "Shows the events received at an ALSA sequencer port"
86SUMMARY_alsa-utils-alsaloop = "ALSA PCM loopback utility"
87SUMMARY_alsa-utils-alsaucm = "ALSA Use Case Manager"
88
89RRECOMMENDS_alsa-utils-alsactl = "alsa-states"
90
91ALLOW_EMPTY_alsa-utils = "1"
92
93do_install() {
94 autotools_do_install
95
96 # We don't ship this here because it requires a dependency on bash.
97 # See alsa-utils-scripts_${PV}.bb
98 rm ${D}${sbindir}/alsaconf
99 rm ${D}${sbindir}/alsa-info.sh
100 rm -f ${D}${sbindir}/alsabat-test.sh
101
102 # If udev is disabled, we told configure to install the rules
103 # in /unwanted, so we can remove them now. If udev is enabled,
104 # then /unwanted won't exist and this will have no effect.
105 rm -rf ${D}/unwanted
106}