diff options
author | 2024-12-28 17:41:38 +0000 | |
---|---|---|
committer | 2024-12-28 17:41:38 +0000 | |
commit | 1b76115421b5ca46bb6a888f90bd8803c7942d95 (patch) | |
tree | d203c957ce59f645f54d24d026541c5b3b2504f0 | |
parent | dev-vcs/sourcegit: Stabilize 8.40 amd64, #947134 (diff) | |
download | gentoo-1b76115421b5ca46bb6a888f90bd8803c7942d95.tar.gz gentoo-1b76115421b5ca46bb6a888f90bd8803c7942d95.tar.bz2 gentoo-1b76115421b5ca46bb6a888f90bd8803c7942d95.zip |
media-sound/alsa-utils: backport 90-alsa-restore.rules fixes
Signed-off-by: Sam James <sam@gentoo.org>
3 files changed, 165 insertions, 0 deletions
diff --git a/media-sound/alsa-utils/alsa-utils-1.2.13-r1.ebuild b/media-sound/alsa-utils/alsa-utils-1.2.13-r1.ebuild new file mode 100644 index 000000000000..58f1ef8f2bbe --- /dev/null +++ b/media-sound/alsa-utils/alsa-utils-1.2.13-r1.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit systemd udev + +DESCRIPTION="Advanced Linux Sound Architecture Utils (alsactl, alsamixer, etc.)" +HOMEPAGE="https://alsa-project.org/wiki/Main_Page" +SRC_URI="https://www.alsa-project.org/files/pub/utils/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0.9" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="bat doc +libsamplerate ieee1394 +ncurses nls selinux" + +DEPEND=" + >=media-libs/alsa-lib-${PV} + libsamplerate? ( media-libs/libsamplerate ) + ieee1394? ( media-libs/libffado ) + ncurses? ( >=sys-libs/ncurses-5.7-r7:= ) + bat? ( sci-libs/fftw:= ) +" +RDEPEND=" + ${DEPEND} + selinux? ( sec-policy/selinux-alsa ) +" +BDEPEND=" + virtual/pkgconfig + doc? ( app-text/xmlto ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.1.8-missing_header.patch + "${FILESDIR}"/${P}-udev-restore.patch + "${FILESDIR}"/${P}-amdgpu-restore.patch +) + +src_configure() { + export ac_cv_lib_ffado_ffado_streaming_init=$(usex ieee1394) + + local myeconfargs=( + # --disable-alsaconf because it doesn't work with sys-apps/kmod, bug #456214 + --disable-alsaconf + --disable-maintainer-mode + --with-asound-state-dir="${EPREFIX}"/var/lib/alsa + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" + --with-udev-rules-dir="${EPREFIX}/$(get_udevdir)"/rules.d + $(use_enable bat) + $(use_enable libsamplerate alsaloop) + $(use_enable ncurses alsamixer) + $(use_enable nls) + $(usev !doc '--disable-xmlto') + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + dodoc seq/*/README.* + + newinitd "${FILESDIR}"/alsasound.initd-r8 alsasound + newconfd "${FILESDIR}"/alsasound.confd-r4 alsasound + + keepdir /var/lib/alsa + + # ALSA lib parser.c:1266:(uc_mgr_scan_master_configs) error: could not + # scan directory /usr/share/alsa/ucm: No such file or directory + # alsaucm: unable to obtain card list: No such file or directory + keepdir /usr/share/alsa/ucm + + find "${ED}" -type f -name '*.la' -delete || die +} + +pkg_postinst() { + udev_reload + + if [[ -z ${REPLACING_VERSIONS} ]] && ! systemd_is_booted ; then + elog + elog "To take advantage of the init script, and automate the process of" + elog "saving and restoring sound-card mixer levels you should" + elog "add alsasound to the boot runlevel. You can do this as" + elog "root like so:" + elog "# rc-update add alsasound boot" + ewarn + ewarn "The ALSA core should be built into the kernel or loaded through other" + ewarn "means. There is no longer any modular auto(un)loading in alsa-utils." + fi +} + +pkg_postrm() { + udev_reload +} diff --git a/media-sound/alsa-utils/files/alsa-utils-1.2.13-amdgpu-restore.patch b/media-sound/alsa-utils/files/alsa-utils-1.2.13-amdgpu-restore.patch new file mode 100644 index 000000000000..da5576267195 --- /dev/null +++ b/media-sound/alsa-utils/files/alsa-utils-1.2.13-amdgpu-restore.patch @@ -0,0 +1,32 @@ +https://github.com/alsa-project/alsa-utils/commit/6f7ce73159c02b726a6f0fe0acff961c95e337a8 + +From 6f7ce73159c02b726a6f0fe0acff961c95e337a8 Mon Sep 17 00:00:00 2001 +From: Aaron Ma <aaron.ma@canonical.com> +Date: Wed, 20 Nov 2024 15:55:02 +0800 +Subject: [PATCH] alsactl: 90-alsa-restore.rules - fix AMD acp-pdm-mach link + +The link name of AMD ACP digital microphones driver acp-pdm-mach +is acp-dmic-codec. Fix it to make UCM initialize it again. + +Closes: https://github.com/alsa-project/alsa-utils/pull/281 +Fixes: 8116639 ("alsactl: 90-alsa-restore.rules - add support for AMD ACP digital microphone") +Signed-off-by: Aaron Ma <aaron.ma@canonical.com> +Signed-off-by: Jaroslav Kysela <perex@perex.cz> +--- + alsactl/90-alsa-restore.rules.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/alsactl/90-alsa-restore.rules.in b/alsactl/90-alsa-restore.rules.in +index dae2ed8c..5db6080b 100644 +--- a/alsactl/90-alsa-restore.rules.in ++++ b/alsactl/90-alsa-restore.rules.in +@@ -14,7 +14,7 @@ DRIVERS=="snd_hda_intel", TEST=="device/pcmC$env{ALSA_CARD_NUMBER}D0p", RUN+="/b + TEST=="device/device/acp3x-dmic-capture", GOTO="alsa_hda_analog" + TEST=="device/device/acp6x-dmic-capture", GOTO="alsa_hda_analog" + TEST=="device/device/acp63-dmic-capture", GOTO="alsa_hda_analog" +-TEST=="device/device/acp-pdm-dmic", GOTO="alsa_hda_analog" ++TEST=="device/device/acp-dmic-codec", GOTO="alsa_hda_analog" + GOTO="alsa_restore_std" + + LABEL="alsa_hda_analog" + diff --git a/media-sound/alsa-utils/files/alsa-utils-1.2.13-udev-restore.patch b/media-sound/alsa-utils/files/alsa-utils-1.2.13-udev-restore.patch new file mode 100644 index 000000000000..ba306bb8d702 --- /dev/null +++ b/media-sound/alsa-utils/files/alsa-utils-1.2.13-udev-restore.patch @@ -0,0 +1,40 @@ +https://github.com/alsa-project/alsa-utils/commit/f90124c73edd050b24961197a4abcf17e53b41a8 + +From f90124c73edd050b24961197a4abcf17e53b41a8 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela <perex@perex.cz> +Date: Thu, 14 Nov 2024 09:38:49 +0100 +Subject: [PATCH] alsactl: 90-alsa-restore.rules - fix alsa_restore_go/std + +Fix the label mismatch which was introduced in the transition from the +temporary test rules. + +Closes: https://github.com/alsa-project/alsa-utils/issues/280 +Fixes: 8116639 ("alsactl: 90-alsa-restore.rules - add support for AMD ACP digital microphone") +Signed-off-by: Jaroslav Kysela <perex@perex.cz> +--- + alsactl/90-alsa-restore.rules.in | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/alsactl/90-alsa-restore.rules.in b/alsactl/90-alsa-restore.rules.in +index 85f0b15f..dae2ed8c 100644 +--- a/alsactl/90-alsa-restore.rules.in ++++ b/alsactl/90-alsa-restore.rules.in +@@ -3,6 +3,8 @@ + ACTION=="add", SUBSYSTEM=="sound", KERNEL=="controlC*", KERNELS!="card*",@extratest@ GOTO="alsa_restore_go" + GOTO="alsa_restore_end" + ++LABEL="alsa_restore_go" ++ + ENV{ALSA_CARD_NUMBER}="$attr{device/number}" + + # mark HDA analog card; HDMI/DP card does not have capture devices +@@ -21,7 +23,7 @@ TEST!="/run/udev/alsa-hda-analog-card", GOTO="alsa_restore_std" + IMPORT{program}="/usr/bin/cat /run/udev/alsa-hda-analog-card" + ENV{ALSA_CARD_HDA_ANALOG}!="", ENV{ALSA_CARD_NUMBER}="$env{ALSA_CARD_HDA_ANALOG}" + +-LABEL="alsa_restore_go" ++LABEL="alsa_restore_std" + TEST!="@daemonswitch@", RUN+="@sbindir@/alsactl@args@ restore $env{ALSA_CARD_NUMBER}" + TEST=="@daemonswitch@", RUN+="@sbindir@/alsactl@args@ nrestore $env{ALSA_CARD_NUMBER}" + + |