void-packages/srcpkgs/pulseaudio/patches/fix-alsa-module.patch
q66 f57bc7af6a pulseaudio: fix broken alsa module
With some recent change in alsa upstream, the build stuff changed
and pulseaudio stopped picking these up, which resulted in
successful compilation but failed load of module-alsa-card.so,
which resulted in a loss of sound.

Reference: https://lists.opensuse.org/opensuse-factory/2019-04/msg00293.html

Cherry-picking the appropriate fix from upstream fixed the module.
Unfortunately, because of changed configure.ac, it is necessary
to rebuild the autotools definitions, which made it pick up some
extra host dependencies.

[ci skip]
2019-05-23 16:27:01 +02:00

42 lines
1.4 KiB
Diff

From b89d33bb182c42db5ad3987b0e91b7bf62f421e8 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Sun, 21 Apr 2019 11:59:30 +0200
Subject: [PATCH] alsa: Fix inclusion of use-case.h
The recent change in ALSA upstream stripped -I$include/alsa path from
pkgconfig. We already fixed for this change in some places but still
the code for UCM was overlooked, and this resulted in the unresolved
symbols in alsa card module. Fix them as well.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
configure.ac | 2 +-
src/modules/alsa/alsa-ucm.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index c004bd70d..b44ed1595 100644
--- configure.ac
+++ configure.ac
@@ -826,7 +826,7 @@ AS_IF([test "x$enable_alsa" = "xyes" && test "x$HAVE_ALSA" = "x0"],
AS_IF([test "x$HAVE_ALSA" = "x1"],
[
save_CPPFLAGS="$CPPFLAGS"; CPPFLAGS="$CPPFLAGS $ASOUNDLIB_CFLAGS"
- AC_CHECK_HEADERS([use-case.h], HAVE_ALSA_UCM=1, HAVE_ALSA_UCM=0)
+ AC_CHECK_HEADERS([alsa/use-case.h], HAVE_ALSA_UCM=1, HAVE_ALSA_UCM=0)
CPPFLAGS="$save_CPPFLAGS"
],
HAVE_ALSA_UCM=0)
diff --git a/src/modules/alsa/alsa-ucm.h b/src/modules/alsa/alsa-ucm.h
index 53abf3f90..c926f3cc3 100644
--- src/modules/alsa/alsa-ucm.h
+++ src/modules/alsa/alsa-ucm.h
@@ -23,7 +23,7 @@
***/
#ifdef HAVE_ALSA_UCM
-#include <use-case.h>
+#include <alsa/use-case.h>
#else
typedef void snd_use_case_mgr_t;
#endif