summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-12-28 17:41:38 +0000
committerSam James <sam@gentoo.org>2024-12-28 17:41:38 +0000
commit1b76115421b5ca46bb6a888f90bd8803c7942d95 (patch)
treed203c957ce59f645f54d24d026541c5b3b2504f0
parentdev-vcs/sourcegit: Stabilize 8.40 amd64, #947134 (diff)
downloadgentoo-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>
-rw-r--r--media-sound/alsa-utils/alsa-utils-1.2.13-r1.ebuild93
-rw-r--r--media-sound/alsa-utils/files/alsa-utils-1.2.13-amdgpu-restore.patch32
-rw-r--r--media-sound/alsa-utils/files/alsa-utils-1.2.13-udev-restore.patch40
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}"
+
+