From 3b20aaad5ac239d4df282a5541d0858851e64da5 Mon Sep 17 00:00:00 2001 From: Michael Opdenacker Date: Thu, 1 Jun 2023 11:16:34 +0200 Subject: alsa-utils: upgrade 1.2.8 -> 1.2.9 (From OE-Core rev: 919079de918b6608fb9fa976eea0fe8b5b1359f6) Signed-off-by: Michael Opdenacker Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- ...fix-compilation-when-building-in-a-subdir.patch | 35 +++ ...01-aplay-axfer-Replace-off64_t-with-off_t.patch | 272 --------------------- meta/recipes-multimedia/alsa/alsa-utils_1.2.8.bb | 122 --------- meta/recipes-multimedia/alsa/alsa-utils_1.2.9.bb | 122 +++++++++ 4 files changed, 157 insertions(+), 394 deletions(-) create mode 100644 meta/recipes-multimedia/alsa/alsa-utils/0001-alsactl-fix-compilation-when-building-in-a-subdir.patch delete mode 100644 meta/recipes-multimedia/alsa/alsa-utils/0001-aplay-axfer-Replace-off64_t-with-off_t.patch delete mode 100644 meta/recipes-multimedia/alsa/alsa-utils_1.2.8.bb create mode 100644 meta/recipes-multimedia/alsa/alsa-utils_1.2.9.bb (limited to 'meta/recipes-multimedia/alsa') diff --git a/meta/recipes-multimedia/alsa/alsa-utils/0001-alsactl-fix-compilation-when-building-in-a-subdir.patch b/meta/recipes-multimedia/alsa/alsa-utils/0001-alsactl-fix-compilation-when-building-in-a-subdir.patch new file mode 100644 index 0000000000..3b3fe5345a --- /dev/null +++ b/meta/recipes-multimedia/alsa/alsa-utils/0001-alsactl-fix-compilation-when-building-in-a-subdir.patch @@ -0,0 +1,35 @@ +From 44636a7c5862538def0d2fac074772cc39a22a15 Mon Sep 17 00:00:00 2001 +From: Rudi Heitbaum +Date: Tue, 16 May 2023 02:27:59 +1000 +Subject: [PATCH] alsactl: fix compilation when building in a subdir + +Fixes: 613372d +Fixes: cff2d1c + +Compile errors when building in a subdir: +alsactl/alsactl.c:33:10: fatal error: os_compat.h: No such file or directory + 33 | #include "os_compat.h" + | ^~~~~~~~~~~~~ +alsactl/lock.c:34:10: fatal error: os_compat.h: No such file or directory + 34 | #include "os_compat.h" + | ^~~~~~~~~~~~~ + +Signed-off-by: Rudi Heitbaum +Upstream-Status: Submitted [https://github.com/alsa-project/alsa-utils/pull/213] +--- + alsactl/Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/alsactl/Makefile.am b/alsactl/Makefile.am +index 80dba69d..fb32c4f3 100644 +--- a/alsactl/Makefile.am ++++ b/alsactl/Makefile.am +@@ -9,6 +9,8 @@ EXTRA_DIST=alsactl.1 alsactl_init.xml + + AM_CFLAGS = -D_GNU_SOURCE + ++AM_CPPFLAGS = -I$(top_srcdir)/include ++ + alsactl_SOURCES=alsactl.c state.c lock.c utils.c init_parse.c init_ucm.c \ + daemon.c monitor.c clean.c info.c + diff --git a/meta/recipes-multimedia/alsa/alsa-utils/0001-aplay-axfer-Replace-off64_t-with-off_t.patch b/meta/recipes-multimedia/alsa/alsa-utils/0001-aplay-axfer-Replace-off64_t-with-off_t.patch deleted file mode 100644 index 356c5964ae..0000000000 --- a/meta/recipes-multimedia/alsa/alsa-utils/0001-aplay-axfer-Replace-off64_t-with-off_t.patch +++ /dev/null @@ -1,272 +0,0 @@ -From 03553ccc6284a437576349b5a3c2ed0d7d4265e1 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 15 Dec 2022 14:04:10 -0800 -Subject: [PATCH] aplay,axfer: Replace off64_t with off_t - -Also replace lseek64 with lseek. - -_FILE_OFFSET_BITS=64 is passed to needed platforms since configure uses -AC_SYS_LARGEFILE macro. Therefore off_t is already 64-bit and lseek is -same as lseek64. - -Additionally this fixes buils with latest musl where these lfs64 -functions are moved out from _GNU_SOURCE and under _LARGEFILE64_SOURCE -macro alone. This makes the builds fail on 32-bit platforms even though -default off_t on musl is 64-bit always. - -Upstream-Status: Submitted [https://github.com/alsa-project/alsa-utils/pull/183] -Signed-off-by: Khem Raj ---- - aplay/aplay.c | 44 ++++++++++++++++++------------------- - axfer/container-voc.c | 2 +- - axfer/container.c | 6 ++--- - axfer/container.h | 2 +- - axfer/test/container-test.c | 4 ++-- - axfer/test/mapper-test.c | 2 +- - 6 files changed, 30 insertions(+), 30 deletions(-) - -diff --git a/aplay/aplay.c b/aplay/aplay.c -index 6ce7191..bd93be3 100644 ---- a/aplay/aplay.c -+++ b/aplay/aplay.c -@@ -141,7 +141,7 @@ static long term_c_lflag = -1; - static int dump_hw_params = 0; - - static int fd = -1; --static off64_t pbrec_count = LLONG_MAX, fdcount; -+static off_t pbrec_count = LLONG_MAX, fdcount; - static int vocmajor, vocminor; - - static char *pidfile_name = NULL; -@@ -2356,7 +2356,7 @@ static void voc_play(int fd, int ofs, char *name) - u_char *data, *buf; - char was_extended = 0, output = 0; - u_short *sp, repeat = 0; -- off64_t filepos = 0; -+ off_t filepos = 0; - - #define COUNT(x) nextblock -= x; in_buffer -= x; data += x - #define COUNT1(x) in_buffer -= x; data += x -@@ -2490,7 +2490,7 @@ static void voc_play(int fd, int ofs, char *name) - d_printf("Repeat loop %d times\n", repeat); - #endif - if (filepos >= 0) { /* if < 0, one seek fails, why test another */ -- if ((filepos = lseek64(fd, 0, 1)) < 0) { -+ if ((filepos = lseek(fd, 0, 1)) < 0) { - error(_("can't play loops; %s isn't seekable\n"), name); - repeat = 0; - } else { -@@ -2512,7 +2512,7 @@ static void voc_play(int fd, int ofs, char *name) - else - d_printf("Neverending loop\n"); - #endif -- lseek64(fd, filepos, 0); -+ lseek(fd, filepos, 0); - in_buffer = 0; /* clear the buffer */ - goto Fill_the_buffer; - } -@@ -2578,9 +2578,9 @@ static void init_raw_data(void) - } - - /* calculate the data count to read from/to dsp */ --static off64_t calc_count(void) -+static off_t calc_count(void) - { -- off64_t count; -+ off_t count; - - if (timelimit == 0) - if (sampleslimit == 0) -@@ -2589,7 +2589,7 @@ static off64_t calc_count(void) - count = snd_pcm_format_size(hwparams.format, sampleslimit * hwparams.channels); - else { - count = snd_pcm_format_size(hwparams.format, hwparams.rate * hwparams.channels); -- count *= (off64_t)timelimit; -+ count *= (off_t)timelimit; - } - return count < pbrec_count ? count : pbrec_count; - } -@@ -2750,7 +2750,7 @@ static void begin_au(int fd, size_t cnt) - /* closing .VOC */ - static void end_voc(int fd) - { -- off64_t length_seek; -+ off_t length_seek; - VocBlockType bt; - size_t cnt; - char dummy = 0; /* Write a Terminator */ -@@ -2770,15 +2770,15 @@ static void end_voc(int fd) - bt.datalen = (u_char) (cnt & 0xFF); - bt.datalen_m = (u_char) ((cnt & 0xFF00) >> 8); - bt.datalen_h = (u_char) ((cnt & 0xFF0000) >> 16); -- if (lseek64(fd, length_seek, SEEK_SET) == length_seek) -+ if (lseek(fd, length_seek, SEEK_SET) == length_seek) - xwrite(fd, &bt, sizeof(VocBlockType)); - } - - static void end_wave(int fd) - { /* only close output */ - WaveChunkHeader cd; -- off64_t length_seek; -- off64_t filelen; -+ off_t length_seek; -+ off_t filelen; - u_int rifflen; - - length_seek = sizeof(WaveHeader) + -@@ -2788,20 +2788,20 @@ static void end_wave(int fd) - cd.length = fdcount > 0x7fffffff ? LE_INT(0x7fffffff) : LE_INT(fdcount); - filelen = fdcount + 2*sizeof(WaveChunkHeader) + sizeof(WaveFmtBody) + 4; - rifflen = filelen > 0x7fffffff ? LE_INT(0x7fffffff) : LE_INT(filelen); -- if (lseek64(fd, 4, SEEK_SET) == 4) -+ if (lseek(fd, 4, SEEK_SET) == 4) - xwrite(fd, &rifflen, 4); -- if (lseek64(fd, length_seek, SEEK_SET) == length_seek) -+ if (lseek(fd, length_seek, SEEK_SET) == length_seek) - xwrite(fd, &cd, sizeof(WaveChunkHeader)); - } - - static void end_au(int fd) - { /* only close output */ - AuHeader ah; -- off64_t length_seek; -+ off_t length_seek; - - length_seek = (char *)&ah.data_size - (char *)&ah; - ah.data_size = fdcount > 0xffffffff ? 0xffffffff : BE_INT(fdcount); -- if (lseek64(fd, length_seek, SEEK_SET) == length_seek) -+ if (lseek(fd, length_seek, SEEK_SET) == length_seek) - xwrite(fd, &ah.data_size, sizeof(ah.data_size)); - } - -@@ -2828,11 +2828,11 @@ static void header(int rtype, char *name) - - /* playing raw data */ - --static void playback_go(int fd, size_t loaded, off64_t count, int rtype, char *name) -+static void playback_go(int fd, size_t loaded, off_t count, int rtype, char *name) - { - int l, r; -- off64_t written = 0; -- off64_t c; -+ off_t written = 0; -+ off_t c; - - header(rtype, name); - set_params(); -@@ -3202,7 +3202,7 @@ static void capture(char *orig_name) - int filecount=0; /* number of files written */ - char *name = orig_name; /* current filename */ - char namebuf[PATH_MAX+2]; -- off64_t count, rest; /* number of bytes to capture */ -+ off_t count, rest; /* number of bytes to capture */ - struct stat statbuf; - - /* get number of bytes to capture */ -@@ -3273,7 +3273,7 @@ static void capture(char *orig_name) - /* capture */ - fdcount = 0; - while (rest > 0 && recycle_capture_file == 0 && !in_aborting) { -- size_t c = (rest <= (off64_t)chunk_bytes) ? -+ size_t c = (rest <= (off_t)chunk_bytes) ? - (size_t)rest : chunk_bytes; - size_t f = c * 8 / bits_per_frame; - size_t read = pcm_read(audiobuf, f); -@@ -3314,7 +3314,7 @@ static void capture(char *orig_name) - } while ((file_type == FORMAT_RAW && !timelimit && !sampleslimit) || count > 0); - } - --static void playbackv_go(int* fds, unsigned int channels, size_t loaded, off64_t count, int rtype, char **names) -+static void playbackv_go(int* fds, unsigned int channels, size_t loaded, off_t count, int rtype, char **names) - { - int r; - size_t vsize; -@@ -3368,7 +3368,7 @@ static void playbackv_go(int* fds, unsigned int channels, size_t loaded, off64_t - } - } - --static void capturev_go(int* fds, unsigned int channels, off64_t count, int rtype, char **names) -+static void capturev_go(int* fds, unsigned int channels, off_t count, int rtype, char **names) - { - size_t c; - ssize_t r; -diff --git a/axfer/container-voc.c b/axfer/container-voc.c -index ec0cfff..5941003 100644 ---- a/axfer/container-voc.c -+++ b/axfer/container-voc.c -@@ -775,7 +775,7 @@ static int write_block_terminator(struct container_context *cntr) - static int write_data_size(struct container_context *cntr, uint64_t byte_count) - { - struct builder_state *state = cntr->private_data; -- off64_t offset; -+ off_t offset; - uint8_t size_field[3]; - int err; - -diff --git a/axfer/container.c b/axfer/container.c -index 8c88d5c..379b72f 100644 ---- a/axfer/container.c -+++ b/axfer/container.c -@@ -113,11 +113,11 @@ enum container_format container_format_from_path(const char *path) - return CONTAINER_FORMAT_RAW; - } - --int container_seek_offset(struct container_context *cntr, off64_t offset) -+int container_seek_offset(struct container_context *cntr, off_t offset) - { -- off64_t pos; -+ off_t pos; - -- pos = lseek64(cntr->fd, offset, SEEK_SET); -+ pos = lseek(cntr->fd, offset, SEEK_SET); - if (pos < 0) - return -errno; - if (pos != offset) -diff --git a/axfer/container.h b/axfer/container.h -index 71017a6..f6ce689 100644 ---- a/axfer/container.h -+++ b/axfer/container.h -@@ -107,7 +107,7 @@ int container_recursive_read(struct container_context *cntr, void *buf, - unsigned int byte_count); - int container_recursive_write(struct container_context *cntr, void *buf, - unsigned int byte_count); --int container_seek_offset(struct container_context *cntr, off64_t offset); -+int container_seek_offset(struct container_context *cntr, off_t offset); - - extern const struct container_parser container_parser_riff_wave; - extern const struct container_builder container_builder_riff_wave; -diff --git a/axfer/test/container-test.c b/axfer/test/container-test.c -index e5b62dd..45b6c6a 100644 ---- a/axfer/test/container-test.c -+++ b/axfer/test/container-test.c -@@ -153,7 +153,7 @@ static int callback(struct test_generator *gen, snd_pcm_access_t access, - - for (i = 0; i < ARRAY_SIZE(entries); ++i) { - int fd; -- off64_t pos; -+ off_t pos; - - frames_per_second = entries[i]; - -@@ -172,7 +172,7 @@ static int callback(struct test_generator *gen, snd_pcm_access_t access, - frames_per_second, frame_buffer, frame_count, - trial->verbose); - -- pos = lseek64(fd, 0, SEEK_SET); -+ pos = lseek(fd, 0, SEEK_SET); - if (pos < 0) { - err = -errno; - break; -diff --git a/axfer/test/mapper-test.c b/axfer/test/mapper-test.c -index 477871d..6a389e9 100644 ---- a/axfer/test/mapper-test.c -+++ b/axfer/test/mapper-test.c -@@ -257,7 +257,7 @@ static int test_mapper(struct mapper_trial *trial, snd_pcm_access_t access, - goto end; - - for (i = 0; i < cntr_count; ++i) { -- off64_t pos = lseek64(cntr_fds[i], 0, SEEK_SET); -+ off_t pos = lseek(cntr_fds[i], 0, SEEK_SET); - if (pos != 0) { - err = -EIO; - goto end; diff --git a/meta/recipes-multimedia/alsa/alsa-utils_1.2.8.bb b/meta/recipes-multimedia/alsa/alsa-utils_1.2.8.bb deleted file mode 100644 index 46d39b0de8..0000000000 --- a/meta/recipes-multimedia/alsa/alsa-utils_1.2.8.bb +++ /dev/null @@ -1,122 +0,0 @@ -SUMMARY = "ALSA sound utilities" -DESCRIPTION = "collection of small and often extremely powerful applications \ -designed to allow users to control the various parts of the ALSA system." -HOMEPAGE = "http://www.alsa-project.org" -BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" -SECTION = "console/utils" -# Some parts are GPL-2.0-or-later, some are GPL-2.0-only (e.g. axfer, alsactl) -# so result is GPL-2.0-only -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ - file://alsactl/utils.c;beginline=3;endline=18;md5=96cc06a4cebe5eb7975688ffb0e65642" -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" - -# alsa-utils specified in SRC_URI due to alsa-utils-scripts recipe -SRC_URI = "https://www.alsa-project.org/files/pub/utils/alsa-utils-${PV}.tar.bz2 \ - file://0001-aplay-axfer-Replace-off64_t-with-off_t.patch \ - " -SRC_URI[sha256sum] = "e140fa604c351f36bd72167c8860c69d81b964ae6ab53992d6434dde38e9333c" - -# 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 \ - alsa-utils-scripts \ - " - -PACKAGES += "${ALSA_UTILS_PKGS}" -RDEPENDS:${PN} += "${ALSA_UTILS_PKGS}" - -FILES:${PN} = "" -ALLOW_EMPTY:alsa-utils = "1" -FILES:alsa-utils-alsabat = "${bindir}/alsabat" -FILES:alsa-utils-alsatplg = "${bindir}/alsatplg ${libdir}/alsa-topology" -FILES:alsa-utils-aplay = "${bindir}/aplay ${bindir}/arecord ${bindir}/axfer" -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/90-alsa-restore.rules */*/udev/rules.d/90-alsa-restore.rules ${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 */udev/rules.d/89-alsa-ucm.rules */*/udev/rules.d/89-alsa-ucm.rules" -FILES:alsa-utils-scripts = "${sbindir}/alsaconf \ - ${sbindir}/alsa-info.sh \ - ${sbindir}/alsabat-test.sh \ - " - -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" -SUMMARY:alsa-utils-scripts = "Shell scripts that show help info and create ALSA configuration files" - -RRECOMMENDS:alsa-utils-alsactl = "alsa-states" - -do_install() { - autotools_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 - - # 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 -} - - -PROVIDES = "alsa-utils-alsaconf alsa-utils-scripts" - -RDEPENDS:${PN}-scripts += "bash" diff --git a/meta/recipes-multimedia/alsa/alsa-utils_1.2.9.bb b/meta/recipes-multimedia/alsa/alsa-utils_1.2.9.bb new file mode 100644 index 0000000000..2f344015a9 --- /dev/null +++ b/meta/recipes-multimedia/alsa/alsa-utils_1.2.9.bb @@ -0,0 +1,122 @@ +SUMMARY = "ALSA sound utilities" +DESCRIPTION = "collection of small and often extremely powerful applications \ +designed to allow users to control the various parts of the ALSA system." +HOMEPAGE = "http://www.alsa-project.org" +BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" +SECTION = "console/utils" +# Some parts are GPL-2.0-or-later, some are GPL-2.0-only (e.g. axfer, alsactl) +# so result is GPL-2.0-only +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://alsactl/utils.c;beginline=3;endline=18;md5=96cc06a4cebe5eb7975688ffb0e65642" +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" + +# alsa-utils specified in SRC_URI due to alsa-utils-scripts recipe +SRC_URI = "https://www.alsa-project.org/files/pub/utils/alsa-utils-${PV}.tar.bz2 \ + file://0001-alsactl-fix-compilation-when-building-in-a-subdir.patch \ + " +SRC_URI[sha256sum] = "e7623d4525595f92e11ce25ee9a97f2040a14c6e4dcd027aa96e06cbce7817bd" + +# 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 \ + alsa-utils-scripts \ + " + +PACKAGES += "${ALSA_UTILS_PKGS}" +RDEPENDS:${PN} += "${ALSA_UTILS_PKGS}" + +FILES:${PN} = "" +ALLOW_EMPTY:alsa-utils = "1" +FILES:alsa-utils-alsabat = "${bindir}/alsabat" +FILES:alsa-utils-alsatplg = "${bindir}/alsatplg ${libdir}/alsa-topology" +FILES:alsa-utils-aplay = "${bindir}/aplay ${bindir}/arecord ${bindir}/axfer" +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/90-alsa-restore.rules */*/udev/rules.d/90-alsa-restore.rules ${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 */udev/rules.d/89-alsa-ucm.rules */*/udev/rules.d/89-alsa-ucm.rules" +FILES:alsa-utils-scripts = "${sbindir}/alsaconf \ + ${sbindir}/alsa-info.sh \ + ${sbindir}/alsabat-test.sh \ + " + +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" +SUMMARY:alsa-utils-scripts = "Shell scripts that show help info and create ALSA configuration files" + +RRECOMMENDS:alsa-utils-alsactl = "alsa-states" + +do_install() { + autotools_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 + + # 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 +} + + +PROVIDES = "alsa-utils-alsaconf alsa-utils-scripts" + +RDEPENDS:${PN}-scripts += "bash" -- cgit v1.2.3-54-g00ecf