commit:     1b76115421b5ca46bb6a888f90bd8803c7942d95
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 28 17:41:38 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Dec 28 17:41:38 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1b761154

media-sound/alsa-utils: backport 90-alsa-restore.rules fixes

Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-sound/alsa-utils/alsa-utils-1.2.13-r1.ebuild | 93 ++++++++++++++++++++++
 .../files/alsa-utils-1.2.13-amdgpu-restore.patch   | 32 ++++++++
 .../files/alsa-utils-1.2.13-udev-restore.patch     | 40 ++++++++++
 3 files changed, 165 insertions(+)

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 <[email protected]>
+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 <[email protected]>
+Signed-off-by: Jaroslav Kysela <[email protected]>
+---
+ 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 <[email protected]>
+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 <[email protected]>
+---
+ 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}"
+ 
+

Reply via email to