Compare commits

..

No commits in common. "c8" and "c9-beta" have entirely different histories.
c8 ... c9-beta

6 changed files with 1014 additions and 2504 deletions

View File

@ -1,2 +1,3 @@
4b3a804d873807f2e48ecf6278d71655651e1e9d SOURCES/alsa-lib-1.2.10.tar.bz2
5f1ed71a3e30698b6467c2572896fda146f6f74b SOURCES/alsa-ucm-conf-1.2.10.tar.bz2
ed7c9f4323392cc9715103d190b40b26aa12f9ba SOURCES/alsa-lib-1.2.13.tar.bz2
8c1d225b9fe108797349e8d0cb6161271aab0f50 SOURCES/alsa-topology-conf-1.2.5.tar.bz2
58e776ef96df0fd5cfec8039e2a71c4ef4b8f7a5 SOURCES/alsa-ucm-conf-1.2.13.tar.bz2

5
.gitignore vendored
View File

@ -1,2 +1,3 @@
SOURCES/alsa-lib-1.2.10.tar.bz2
SOURCES/alsa-ucm-conf-1.2.10.tar.bz2
SOURCES/alsa-lib-1.2.13.tar.bz2
SOURCES/alsa-topology-conf-1.2.5.tar.bz2
SOURCES/alsa-ucm-conf-1.2.13.tar.bz2

View File

@ -1,533 +1,256 @@
From 9685505bf438467d9b11919b332b066d3a1c94d0 Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Mon, 4 Sep 2023 09:37:29 +0200
Subject: [PATCH 1/6] gitcompile: Add static build
From 76edab4e595bd5f3f4c636cccc8d7976d3c519d6 Mon Sep 17 00:00:00 2001
From: Nicholas Vinson <nvinson234@gmail.com>
Date: Thu, 14 Nov 2024 07:49:53 -0500
Subject: [PATCH 1/5] src/Versions.in.in: Update *_tempo_base name
Change @SYMBOL_PREFIX@snd_has_tempo_base to
@SYMBOL_PREFIX@snd_has_queue_tempo_base.
Starting with version 1.2.13, alsa-lib fails to link with ld.lld-19 due
to "version script assignment of 'ALSA_1.2.13' to symbol
'snd_seq_has_tempo_base' failed: symbol not defined".
Per commit 769d1db1b0a213a39c7e59c0d1d724e7f45b1ac3 the correct name for
the symbol is @SYMBOL_PREFIX@snd_has_queue_tempo_base; therefore, update
src/Vesions.in.in to match.
Fixes bug #420
Fixes Gentoo bug 943399 (https://bugs.gentoo.org/943399)
Closes: https://github.com/alsa-project/alsa-lib/pull/421
Signed-off-by: Nicholas Vinson <nvinson234@gmail.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
gitcompile | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/gitcompile b/gitcompile
index 0fe092ce..c70448f7 100755
--- a/gitcompile
+++ b/gitcompile
@@ -32,6 +32,10 @@ if [ $# -ne 0 ]; then
lto="-flto -flto-partition=none"
echo "Forced lto build..."
shift ;;
+ static)
+ static=yes
+ echo "Selected static build..."
+ shift ;;
*)
endloop=yes
;;
@@ -75,6 +79,12 @@ if [ "$python2" = "yes" ]; then
args="$args --enable-python2"
fi
+if [ "$static" = "yes" ]; then
+ #args="$args --enable-shared=no --enable-static=yes"
+ args="$args --disable-shared"
+fi
+
+
touch ltconfig
libtoolize --force --copy --automake
aclocal $ACLOCAL_FLAGS
--
2.41.0
From fcce13a6726c52882bd8b7131c61c4eba308792c Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Mon, 4 Sep 2023 09:38:26 +0200
Subject: [PATCH 2/6] control.h: Fix ump header file detection
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Apparently, the control.h is used from apps separately (outside
asoundlib.h). Avoid errors like:
/usr/include/alsa/control.h:417:47: error: snd_ump_endpoint_info_t has not been declared
417 | int snd_ctl_ump_endpoint_info(snd_ctl_t *ctl, snd_ump_endpoint_info_t *info);
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/alsa/control.h:418:44: error: snd_ump_block_info_t has not been declared
418 | int snd_ctl_ump_block_info(snd_ctl_t *ctl, snd_ump_block_info_t *info);
| ^~~~~~~~~~~~~~~~~~~~
Fixes: https://github.com/alsa-project/alsa-lib/issues/348
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
include/control.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/include/control.h b/include/control.h
index ab482ba4..e7541d56 100644
--- a/include/control.h
+++ b/include/control.h
@@ -413,6 +413,8 @@ int snd_ctl_pcm_prefer_subdevice(snd_ctl_t *ctl, int subdev);
int snd_ctl_rawmidi_next_device(snd_ctl_t *ctl, int * device);
int snd_ctl_rawmidi_info(snd_ctl_t *ctl, snd_rawmidi_info_t * info);
int snd_ctl_rawmidi_prefer_subdevice(snd_ctl_t *ctl, int subdev);
+#endif
+#ifdef __ALSA_UMP_H
int snd_ctl_ump_next_device(snd_ctl_t *ctl, int *device);
int snd_ctl_ump_endpoint_info(snd_ctl_t *ctl, snd_ump_endpoint_info_t *info);
int snd_ctl_ump_block_info(snd_ctl_t *ctl, snd_ump_block_info_t *info);
--
2.41.0
From 10bd599970acc71c92f85eb08943eb8d3d702a9c Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Wed, 6 Sep 2023 15:16:44 +0200
Subject: [PATCH 3/6] global.h: move __STRING() macro outside !PIC ifdef block
It solves the musl libc compilation issue.
control.c: In function 'snd_ctl_open_conf':
../../include/global.h:98:36: warning: implicit declaration of function '__STRING' [-Wimplicit-function-declaratio]
98 | #define SND_DLSYM_VERSION(version) __STRING(version)
| ^~~~~~~~
Fixes: https://github.com/alsa-project/alsa-lib/issues/350
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
include/global.h | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/include/global.h b/include/global.h
index dfe9bc2b..3ecaeee8 100644
--- a/include/global.h
+++ b/include/global.h
@@ -51,6 +51,11 @@ const char *snd_asoundlib_version(void);
#define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
#endif
+#ifndef __STRING
+/** \brief Return 'x' argument as string */
+#define __STRING(x) #x
+#endif
+
#ifdef PIC /* dynamic build */
/** \hideinitializer \brief Helper macro for #SND_DLSYM_BUILD_VERSION. */
@@ -71,11 +76,6 @@ struct snd_dlsym_link {
extern struct snd_dlsym_link *snd_dlsym_start;
-#ifndef __STRING
-/** \brief Return 'x' argument as string */
-#define __STRING(x) #x
-#endif
-
/** \hideinitializer \brief Helper macro for #SND_DLSYM_BUILD_VERSION. */
#define __SND_DLSYM_VERSION(prefix, name, version) _ ## prefix ## name ## version
/**
--
2.41.0
From 0e3dfb9f705ca78be34cd70fd59d67c431e29cc7 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Sat, 9 Sep 2023 17:42:03 +0200
Subject: [PATCH 4/6] pcm: Fix segfault with 32bit libs
The recent rearrangement of header inclusion order caused a regression
showing segfaults on 32bit Arm. The primary reason is the
inconsistent compile condition depending on the inclusion of config.h;
while most of other code include pcm_local.h (that implicitly includes
config.h) at first, pcm_direct.c doesn't do it, hence the access with
direct plugins crashes.
For fixing it, we need to include config.h at the beginning. But,
it's better to include pcm_local.h for all relevant code for
consistency. The patch does it, and also it adds the guard in
pcm_local.h for double inclusions.
Fixes: ad3a8b8b314e ("reshuffle included files to include config.h as first")
Link: https://github.com/alsa-project/alsa-lib/issues/352
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
src/pcm/pcm_direct.c | 1 +
src/pcm/pcm_dmix.c | 2 +-
src/pcm/pcm_dshare.c | 1 +
src/pcm/pcm_dsnoop.c | 1 +
src/pcm/pcm_local.h | 5 +++++
src/pcm/pcm_shm.c | 1 +
6 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/pcm/pcm_direct.c b/src/pcm/pcm_direct.c
index 040fc160..e53e5923 100644
--- a/src/pcm/pcm_direct.c
+++ b/src/pcm/pcm_direct.c
@@ -19,6 +19,7 @@
*
*/
+#include "pcm_local.h"
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
diff --git a/src/pcm/pcm_dmix.c b/src/pcm/pcm_dmix.c
index 7cd3c508..55cae3e7 100644
--- a/src/pcm/pcm_dmix.c
+++ b/src/pcm/pcm_dmix.c
@@ -26,7 +26,7 @@
*
*/
-#include "config.h"
+#include "pcm_local.h"
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
diff --git a/src/pcm/pcm_dshare.c b/src/pcm/pcm_dshare.c
index 454b39a9..c0329098 100644
--- a/src/pcm/pcm_dshare.c
+++ b/src/pcm/pcm_dshare.c
@@ -26,6 +26,7 @@
*
*/
+#include "pcm_local.h"
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
diff --git a/src/pcm/pcm_dsnoop.c b/src/pcm/pcm_dsnoop.c
index d3ce300c..bf67c68a 100644
--- a/src/pcm/pcm_dsnoop.c
+++ b/src/pcm/pcm_dsnoop.c
@@ -26,6 +26,7 @@
*
*/
+#include "pcm_local.h"
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
diff --git a/src/pcm/pcm_local.h b/src/pcm/pcm_local.h
index 6a0e71e7..152c92c3 100644
--- a/src/pcm/pcm_local.h
+++ b/src/pcm/pcm_local.h
@@ -20,6 +20,9 @@
*
*/
+#ifndef __PCM_LOCAL_H
+#define __PCM_LOCAL_H
+
#include "config.h"
#include <stdio.h>
@@ -1223,3 +1226,5 @@ static inline void snd_pcm_unlock(snd_pcm_t *pcm)
#define snd_pcm_lock(pcm) do {} while (0)
#define snd_pcm_unlock(pcm) do {} while (0)
#endif /* THREAD_SAFE_API */
+
+#endif /* __PCM_LOCAL_H */
diff --git a/src/pcm/pcm_shm.c b/src/pcm/pcm_shm.c
index f0bfd934..d9596547 100644
--- a/src/pcm/pcm_shm.c
+++ b/src/pcm/pcm_shm.c
@@ -26,6 +26,7 @@
*
*/
+#include "pcm_local.h"
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
--
2.41.0
From 81a7a93636d9472fcb0c2ff32d9bfdf6ed10763d Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Wed, 13 Sep 2023 12:27:21 +0200
Subject: [PATCH 5/6] reshuffle included files to include config.h as first -
v2
config.h may contain defines like _FILE_OFFSET_BITS which influence
the system wide include files (off_t types, open -> open64 function
usage etc.).
Fixes: ad3a8b8b ("reshuffle included files to include config.h as first")
Related: https://github.com/alsa-project/alsa-lib/pull/333
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
src/control/setup.c | 2 +-
src/rawmidi/rawmidi.c | 2 +-
src/rawmidi/rawmidi_local.h | 2 +-
src/rawmidi/rawmidi_virt.c | 4 +---
src/rawmidi/ump.c | 4 ----
src/seq/seq.c | 2 +-
src/seq/seq_hw.c | 2 +-
src/seq/seq_local.h | 2 +-
src/seq/seq_midi_event.c | 2 +-
src/seq/seqmid.c | 4 +---
src/userfile.c | 2 +-
11 files changed, 10 insertions(+), 18 deletions(-)
diff --git a/src/control/setup.c b/src/control/setup.c
index 88635e42..fb096117 100644
--- a/src/control/setup.c
+++ b/src/control/setup.c
@@ -29,13 +29,13 @@
*
*/
+#include "local.h"
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <unistd.h>
#include <string.h>
#include <ctype.h>
-#include "local.h"
#ifndef DOC_HIDDEN
typedef struct {
diff --git a/src/rawmidi/rawmidi.c b/src/rawmidi/rawmidi.c
index 316f524b..c4b45fa2 100644
--- a/src/rawmidi/rawmidi.c
+++ b/src/rawmidi/rawmidi.c
@@ -144,12 +144,12 @@ This example shows open and read/write rawmidi operations.
* Shows open and read/write rawmidi operations.
*/
+#include "rawmidi_local.h"
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <unistd.h>
#include <string.h>
-#include "rawmidi_local.h"
/**
* \brief setup the default parameters
diff --git a/src/rawmidi/rawmidi_local.h b/src/rawmidi/rawmidi_local.h
index 19dbf725..f0bb06a7 100644
--- a/src/rawmidi/rawmidi_local.h
+++ b/src/rawmidi/rawmidi_local.h
@@ -19,10 +19,10 @@
*
*/
+#include "local.h"
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
-#include "local.h"
typedef struct {
int (*close)(snd_rawmidi_t *rawmidi);
diff --git a/src/rawmidi/rawmidi_virt.c b/src/rawmidi/rawmidi_virt.c
index 884b8ff8..04c485d3 100644
--- a/src/rawmidi/rawmidi_virt.c
+++ b/src/rawmidi/rawmidi_virt.c
@@ -19,13 +19,11 @@
*
*/
-#include <stdio.h>
-#include <stdlib.h>
+#include "rawmidi_local.h"
#include <unistd.h>
#include <string.h>
#include <fcntl.h>
#include <sys/ioctl.h>
-#include "rawmidi_local.h"
#include "seq.h"
#include "seq_midi_event.h"
diff --git a/src/rawmidi/ump.c b/src/rawmidi/ump.c
index 25fbaff2..39c1c4a9 100644
--- a/src/rawmidi/ump.c
+++ b/src/rawmidi/ump.c
@@ -4,10 +4,6 @@
* \brief Universal MIDI Protocol (UMP) Interface
*/
-#include <stdio.h>
-#include <stdlib.h>
-#include <limits.h>
-#include "local.h"
#include "rawmidi_local.h"
#include "ump_local.h"
diff --git a/src/seq/seq.c b/src/seq/seq.c
index 899dfe9f..fd8ca30e 100644
--- a/src/seq/seq.c
+++ b/src/seq/seq.c
@@ -777,8 +777,8 @@ void event_filter(snd_seq_t *seq, snd_seq_event_t *ev)
*/
-#include <poll.h>
#include "seq_local.h"
+#include <poll.h>
/****************************************************************************
* *
diff --git a/src/seq/seq_hw.c b/src/seq/seq_hw.c
index a51ebfb6..b74948c8 100644
--- a/src/seq/seq_hw.c
+++ b/src/seq/seq_hw.c
@@ -20,9 +20,9 @@
*
*/
+#include "seq_local.h"
#include <fcntl.h>
#include <sys/ioctl.h>
-#include "seq_local.h"
#ifndef PIC
/* entry for static linking */
diff --git a/src/seq/seq_local.h b/src/seq/seq_local.h
index 9b4a6545..46824806 100644
--- a/src/seq/seq_local.h
+++ b/src/seq/seq_local.h
@@ -23,10 +23,10 @@
#ifndef __SEQ_LOCAL_H
#define __SEQ_LOCAL_H
+#include "local.h"
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
-#include "local.h"
#define SND_SEQ_OBUF_SIZE (16*1024) /* default size */
#define SND_SEQ_IBUF_SIZE 500 /* in event_size aligned */
diff --git a/src/seq/seq_midi_event.c b/src/seq/seq_midi_event.c
index df09bde3..95a44e9b 100644
--- a/src/seq/seq_midi_event.c
+++ b/src/seq/seq_midi_event.c
@@ -28,10 +28,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "local.h"
#if HAVE_MALLOC_H
#include <malloc.h>
#endif
-#include "local.h"
#ifndef DOC_HIDDEN
diff --git a/src/seq/seqmid.c b/src/seq/seqmid.c
index 55651f38..9ec93ee8 100644
--- a/src/seq/seqmid.c
+++ b/src/seq/seqmid.c
@@ -20,14 +20,12 @@
*
*/
-#include <stdio.h>
-#include <stdlib.h>
+#include "seq_local.h"
#include <unistd.h>
#include <string.h>
#include <fcntl.h>
#include <ctype.h>
#include <sys/ioctl.h>
-#include "seq_local.h"
/**
* \brief queue controls - start/stop/continue
diff --git a/src/userfile.c b/src/userfile.c
index 4a740834..492ea9cb 100644
--- a/src/userfile.c
+++ b/src/userfile.c
@@ -18,7 +18,7 @@
*
*/
-#include <config.h>
+#include "config.h"
#include <string.h>
#include <errno.h>
#include <assert.h>
--
2.41.0
From 96f60d829f2c9dc9ad9eda46410adaa41b4b0da0 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 10 Oct 2023 08:20:15 +0200
Subject: [PATCH 6/6] seq: Fix typos in symbol version definitions
There were obvious typos in src/Versions.in that resulted in the
undefined symbols. Correct those entries.
Fixes: 2aefb5c41cc0 ("seq: Add UMP support")
Closes: https://github.com/alsa-project/alsa-lib/issues/356
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
src/Versions.in | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/Versions.in b/src/Versions.in
index c8ac1c82..c53a99fa 100644
--- a/src/Versions.in
+++ b/src/Versions.in
@@ -158,13 +158,13 @@ ALSA_1.2.10 {
@SYMBOL_PREFIX@snd_ctl_ump_block_info;
@SYMBOL_PREFIX@snd_seq_ump_*;
@SYMBOL_PREFIX@snd_seq_client_info_get_midi_version;
- @SYMBOL_PREFIX@snd_seq_seq_client_info_get_ump_group_enabled;
+ @SYMBOL_PREFIX@snd_seq_client_info_get_ump_group_enabled;
@SYMBOL_PREFIX@snd_seq_client_info_get_ump_groupless_enabled;
- @SYMBOL_PREFIX@snd_seq_seq_client_get_ump_conversion;
+ @SYMBOL_PREFIX@snd_seq_client_info_get_ump_conversion;
@SYMBOL_PREFIX@snd_seq_client_info_set_midi_version;
- @SYMBOL_PREFIX@snd_seq_seq_client_info_set_ump_group_enabled;
+ @SYMBOL_PREFIX@snd_seq_client_info_set_ump_group_enabled;
@SYMBOL_PREFIX@snd_seq_client_info_set_ump_groupless_enabled;
- @SYMBOL_PREFIX@snd_seq_seq_client_set_ump_conversion;
+ @SYMBOL_PREFIX@snd_seq_client_info_set_ump_conversion;
@SYMBOL_PREFIX@snd_seq_get_ump_endpoint_info;
@SYMBOL_PREFIX@snd_seq_get_ump_block_info;
@SYMBOL_PREFIX@snd_seq_set_ump_endpoint_info;
--
2.41.0
From 915a71a2cdf6361f0fc77fa367a67910dc0288db Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Sat, 4 Nov 2023 10:05:39 +0100
Subject: [PATCH] seq: Fix invalid sanity-check in
snd_seq_set_input_buffer_size()
snd_seq_set_input_buffer_size() has an assert() call with packet_size,
but it's still uninitialized at that point. Fix it with the real
packet size.
Fixes: 2aefb5c41cc0 ("seq: Add UMP support")
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
src/seq/seq.c | 2 +-
src/Versions.in.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/seq/seq.c b/src/seq/seq.c
index fd8ca30e..5ec737a7 100644
--- a/src/seq/seq.c
+++ b/src/seq/seq.c
@@ -1269,9 +1269,9 @@ int snd_seq_set_input_buffer_size(snd_seq_t *seq, size_t size)
size_t packet_size;
assert(seq && seq->ibuf);
+ packet_size = get_packet_size(seq);
assert(size >= packet_size);
snd_seq_drop_input(seq);
- packet_size = get_packet_size(seq);
size = (size + packet_size - 1) / packet_size;
if (size != seq->ibufsize) {
char *newbuf;
diff --git a/src/Versions.in.in b/src/Versions.in.in
index 350ec3d8..7ad6a633 100644
--- a/src/Versions.in.in
+++ b/src/Versions.in.in
@@ -212,7 +212,7 @@ ALSA_1.2.13 {
@SYMBOL_PREFIX@snd_seq_create_ump_block;
@SYMBOL_PREFIX@snd_seq_queue_tempo_get_tempo_base;
@SYMBOL_PREFIX@snd_seq_queue_tempo_set_tempo_base;
- @SYMBOL_PREFIX@snd_seq_has_tempo_base;
+ @SYMBOL_PREFIX@snd_seq_has_queue_tempo_base;
@SYMBOL_PREFIX@snd_seq_port_info_get_ump_is_midi1;
@SYMBOL_PREFIX@snd_seq_port_info_set_ump_is_midi1;
#endif
--
2.41.0
2.47.0
From 6880219ad4ba55ae8a94a34b7a987b3369f7c96f Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Sun, 24 Nov 2024 09:32:29 +0100
Subject: [PATCH 2/5] configure: Make sequencer dependent on rawmidi
The sequencer feature requires rawmidi implicitly, and it became more
obvious with UMP support. Add the dependency check to configure
script.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
configure.ac | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/configure.ac b/configure.ac
index 1cd22a59..69aeb978 100644
--- a/configure.ac
+++ b/configure.ac
@@ -483,6 +483,12 @@ fi
AC_SUBST(PYTHON_LIBS)
AC_SUBST(PYTHON_INCLUDES)
+if test "$build_rawmidi" != "yes"; then
+ if test "$build_seq" = "yes"; then
+ AC_ERROR([Cannot enable sequencer without rawmidi])
+ fi
+fi
+
AM_CONDITIONAL([BUILD_MIXER], [test x$build_mixer = xyes])
AM_CONDITIONAL([BUILD_PCM], [test x$build_pcm = xyes])
AM_CONDITIONAL([BUILD_RAWMIDI], [test x$build_rawmidi = xyes])
--
2.47.0
From 07cee0ba05179a56764c35975d5822420d4f31f9 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Sun, 24 Nov 2024 09:33:16 +0100
Subject: [PATCH 3/5] seq: include UMP headers
Some applications seem including alsa/seqmid.h individually, and this
got broken with the update of alsa-lib because now we have
dependencies to UMP stuff. Include the necessary UMP headers
internally. Also, add the inclusion of rawmidi.h in ump.h for similar
reasons.
Link: https://bugzilla.suse.com/show_bug.cgi?id=1233682
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
include/seq.h | 2 ++
include/seq_event.h | 2 ++
include/ump.h | 2 ++
3 files changed, 6 insertions(+)
diff --git a/include/seq.h b/include/seq.h
index 2eee95a6..5082ad0a 100644
--- a/include/seq.h
+++ b/include/seq.h
@@ -29,6 +29,8 @@
#ifndef __ALSA_SEQ_H
#define __ALSA_SEQ_H
+#include "ump.h"
+
#ifdef __cplusplus
extern "C" {
#endif
diff --git a/include/seq_event.h b/include/seq_event.h
index 9ca384ee..0b59202f 100644
--- a/include/seq_event.h
+++ b/include/seq_event.h
@@ -28,6 +28,8 @@
#ifndef __ALSA_SEQ_EVENT_H
#define __ALSA_SEQ_EVENT_H
+#include "ump_msg.h"
+
/**
* \defgroup SeqEvents Sequencer Event Definitions
* Sequencer Event Definitions
diff --git a/include/ump.h b/include/ump.h
index 1043d237..06c86a5e 100644
--- a/include/ump.h
+++ b/include/ump.h
@@ -9,6 +9,8 @@
#ifndef __ALSA_UMP_H
#define __ALSA_UMP_H
+#include "rawmidi.h"
+
#ifdef __cplusplus
extern "C" {
#endif
--
2.47.0
From 76d2d285c10b1e368b4bf9494cf9270ae46197cb Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Mon, 25 Nov 2024 15:11:27 +0100
Subject: [PATCH 4/5] rawmidi: ump - fix snd_ump_block_info_get_block_id double
version
The changes for 1.2.13 in Versions.in.in file matches also old
1.2.10 function snd_ump_block_info_get_block_id:
1 Removed function:
[D] 'function void snd_ump_block_info_set_block_id(snd_ump_block_info_t*, unsigned int)' {snd_ump_block_info_set_block_id@@ALSA_1.2.10}
Add 1.2.10 symbol back, but keep 1.2.13 symbol as default.
Closes: https://github.com/alsa-project/alsa-lib/issues/422
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
src/rawmidi/ump.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/src/rawmidi/ump.c b/src/rawmidi/ump.c
index d3676afb..b1246c33 100644
--- a/src/rawmidi/ump.c
+++ b/src/rawmidi/ump.c
@@ -750,11 +750,20 @@ int snd_ump_block_info_get_device(const snd_ump_block_info_t *info)
* \param info pointer to a snd_ump_block_info_t structure
* \return ID number of the given UMP block
*/
+#ifndef DOXYGEN
+EXPORT_SYMBOL unsigned int INTERNAL(snd_ump_block_info_get_block_id)(const snd_ump_block_info_t *info)
+#else
unsigned int snd_ump_block_info_get_block_id(const snd_ump_block_info_t *info)
+#endif
{
return info->block_id;
}
+#ifndef DOC_HIDDEN
+use_symbol_version(__snd_ump_block_info_get_block_id, snd_ump_block_info_get_block_id, ALSA_1.2.10);
+use_default_symbol_version(__snd_ump_block_info_get_block_id, snd_ump_block_info_get_block_id, ALSA_1.2.13);
+#endif /* DOC_HIDDEN */
+
/**
* \brief get UMP block activeness
* \param info pointer to a snd_ump_block_info_t structure
--
2.47.0
From 352cbc5eb94a271a9c3c0ff5bf1742232a69e0d0 Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Mon, 25 Nov 2024 16:17:30 +0100
Subject: [PATCH 5/5] rawmidi: ump - fix snd_ump_block_info_set_block_id double
version
Fix mistake snd_ump_block_info_get_block_id / snd_ump_block_info_set_block_id .
Fixes: 76d2d285 ("rawmidi: ump - fix snd_ump_block_info_get_block_id double version")
Link: https://github.com/alsa-project/alsa-lib/issues/422
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
src/rawmidi/ump.c | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/src/rawmidi/ump.c b/src/rawmidi/ump.c
index b1246c33..6807e877 100644
--- a/src/rawmidi/ump.c
+++ b/src/rawmidi/ump.c
@@ -750,20 +750,11 @@ int snd_ump_block_info_get_device(const snd_ump_block_info_t *info)
* \param info pointer to a snd_ump_block_info_t structure
* \return ID number of the given UMP block
*/
-#ifndef DOXYGEN
-EXPORT_SYMBOL unsigned int INTERNAL(snd_ump_block_info_get_block_id)(const snd_ump_block_info_t *info)
-#else
unsigned int snd_ump_block_info_get_block_id(const snd_ump_block_info_t *info)
-#endif
{
return info->block_id;
}
-#ifndef DOC_HIDDEN
-use_symbol_version(__snd_ump_block_info_get_block_id, snd_ump_block_info_get_block_id, ALSA_1.2.10);
-use_default_symbol_version(__snd_ump_block_info_get_block_id, snd_ump_block_info_get_block_id, ALSA_1.2.13);
-#endif /* DOC_HIDDEN */
-
/**
* \brief get UMP block activeness
* \param info pointer to a snd_ump_block_info_t structure
@@ -881,12 +872,22 @@ void snd_ump_block_info_set_device(snd_ump_block_info_t *info, unsigned int devi
*
* This function is mostly used for setting the block ID to query.
*/
+#ifndef DOXYGEN
+EXPORT_SYMBOL void INTERNAL(snd_ump_block_info_set_block_id)(snd_ump_block_info_t *info,
+ unsigned int id)
+#else
void snd_ump_block_info_set_block_id(snd_ump_block_info_t *info,
unsigned int id)
+#endif
{
info->block_id = id;
}
+#ifndef DOC_HIDDEN
+use_symbol_version(__snd_ump_block_info_set_block_id, snd_ump_block_info_set_block_id, ALSA_1.2.10);
+use_default_symbol_version(__snd_ump_block_info_set_block_id, snd_ump_block_info_set_block_id, ALSA_1.2.13);
+#endif /* DOC_HIDDEN */
+
/**
* \brief set activeness to snd_ump_block_info_t structure
* \param info pointer to a snd_ump_block_info_t structure
--
2.47.0

File diff suppressed because it is too large Load Diff

View File

@ -2,38 +2,31 @@
#define prever_dot .rc3
#define postver a
%define version_alsa_lib 1.2.10
%define version_alsa_ucm 1.2.10
%define version_alsa_lib 1.2.13
%define version_alsa_ucm 1.2.13
%define version_alsa_tplg 1.2.5
%if 0%{?rhel}
%global _without_topology 1
%endif
Summary: The Advanced Linux Sound Architecture (ALSA) library
Name: alsa-lib
Version: %{version_alsa_lib}
Release: 2%{?prever_dot}%{?dist}
License: LGPLv2+
Group: System Environment/Libraries
License: LGPL-2.1-or-later
URL: http://www.alsa-project.org/
Source: https://www.alsa-project.org/files/pub/lib/%{name}-%{version}%{?prever}%{?postver}.tar.bz2
Source1: https://www.alsa-project.org/files/pub/lib/alsa-ucm-conf-%{version_alsa_ucm}.tar.bz2
%if 0%{!?_without_topology:1}
Source2: https://www.alsa-project.org/files/pub/lib/alsa-topology-conf-%{version_alsa_tplg}.tar.bz2
%endif
Source10: asound.conf
Source11: modprobe-dist-alsa.conf
Source12: modprobe-dist-oss.conf
Source20: alsa-ucm-conf.patch
Source40: alsa-ucm-conf.patch
Patch0: alsa-git.patch
Patch1: alsa-lib-1.2.3-config.patch
Patch1: alsa-lib-1.2.3.1-config.patch
Patch2: alsa-lib-1.2.10-glibc-open.patch
BuildRequires: doxygen
BuildRequires: autoconf automake libtool
Requires(post): /sbin/ldconfig, coreutils
BuildRequires: make
%description
The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI
@ -45,7 +38,6 @@ the older OSS API, providing binary compatibility for most OSS programs.
%package devel
Summary: Development files from the ALSA library
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: pkgconfig
@ -58,29 +50,23 @@ against the ALSA libraries and interfaces.
%package -n alsa-ucm
Summary: ALSA Use Case Manager configuration
Group: System Environment/Libraries
BuildArch: noarch
License: BSD
Requires: %{name} >= %{version_alsa_lib}
%description -n alsa-ucm
The Advanced Linux Sound Architecture (ALSA) Universal Configuration
Manager allows configuration of Audio input/output names and routing
The Advanced Linux Sound Architecture (ALSA) Use Case Manager configuration
contains alsa-lib configuration of Audio input/output names and routing
%if 0%{!?_without_topology:1}
%package -n alsa-topology
Summary: ALSA Topology configuration
Group: System Environment/Libraries
BuildArch: noarch
License: BSD
Requires: %{name} >= %{version_alsa_lib}
%endif
%if 0%{!?_without_topology:1}
%description -n alsa-topology
The Advanced Linux Sound Architecture (ALSA) topology configuration
contains alsa-lib configuration of SoC topology
%endif
%prep
%setup -q -n %{name}-%{version}%{?prever}%{?postver}
@ -89,6 +75,16 @@ contains alsa-lib configuration of SoC topology
%patch -P 2 -p1 -b .glibc-open
%build
# This package uses top level ASM constructs which are incompatible with LTO.
# Top level ASMs are often used to implement symbol versioning. gcc-10
# introduces a new mechanism for symbol versioning which works with LTO.
# Converting packages to use that mechanism instead of toplevel ASMs is
# recommended.
# Note: The v1.2.4 contains changes wich are compatible with gcc-10 LTO
# although using the old ASM constructs.
# Enable custom LTO flags
%define _lto_cflags -flto -ffat-lto-objects -flto-partition=none
autoreconf -vif
%configure --disable-aload --with-plugindir=%{_libdir}/alsa-lib --disable-alisp
@ -120,15 +116,13 @@ mkdir -p %{buildroot}/%{_datadir}/alsa/ucm2
# Unpack UCMs
tar xvjf %{SOURCE1} -C %{buildroot}/%{_datadir}/alsa --strip-components=1 "*/ucm" "*/ucm2"
patch -d %{buildroot}/%{_datadir}/alsa -p1 < %{SOURCE20}
patch -d %{buildroot}/%{_datadir}/alsa -p1 < %{SOURCE40}
# Create topology directory
mkdir -p %{buildroot}/%{_datadir}/alsa/topology
# Unpack topologies
%if 0%{!?_without_topology:1}
tar xvjf %{SOURCE2} -C %{buildroot}/%{_datadir}/alsa --strip-components=1 "*/topology"
%endif
# Remove libtool archives
find %{buildroot} -name '*.la' -delete
@ -136,9 +130,7 @@ find %{buildroot} -name '*.la' -delete
# Remove /usr/include/asoundlib.h
rm %{buildroot}/%{_includedir}/asoundlib.h
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%ldconfig_scriptlets
%files
%{!?_licensedir:%global license %%doc}
@ -170,62 +162,122 @@ rm %{buildroot}/%{_includedir}/asoundlib.h
%{_datadir}/alsa/ucm
%{_datadir}/alsa/ucm2
%if 0%{!?_without_topology:1}
%files -n alsa-topology
# BSD
%{_datadir}/alsa/topology
%endif
%changelog
* Mon Dec 16 2024 Jaroslav Kysela <perex@perex.cz> - 1.2.13-2
- update to alsa-lib 1.2.13 and alsa-ucm-conf 1.2.13
* Fri Jun 15 2024 Jaroslav Kysela <perex@perex.cz> - 1.2.12-1
- update to alsa-lib 1.2.12 and alsa-ucm-conf 1.2.12
* Thu Nov 30 2023 Jaroslav Kysela <perex@perex.cz> - 1.2.10-2
- update to alsa-lib 1.2.10 and alsa-ucm-conf 1.2.10
* Mon May 15 2023 Jaroslav Kysela <perex@perex.cz> - 1.2.9-1
- update to alsa-lib 1.2.9 and alsa-ucm-conf 1.2.9
* Mon Feb 20 2023 Jaroslav Kysela <perex@perex.cz> - 1.2.8-3
- fixes for UCM sof-soundwire boot configuration
* Thu Jan 5 2023 Jaroslav Kysela <perex@perex.cz> - 1.2.8-2
- update to alsa-lib 1.2.8 and alsa-ucm-conf 1.2.8
- remove alsa-topology package for rhel
* Fri Jul 8 2022 Jaroslav Kysela <perex@perex.cz> - 1.2.7.2-1
- Updated to 1.2.7.2
- update to alsa-lib 1.2.7.2 and alsa-ucm-conf 1.2.7.2
* Fri Feb 11 2022 Jaroslav Kysela <perex@perex.cz> - 1.2.6.1-3
* Wed Feb 9 2022 Jaroslav Kysela <perex@perex.cz> - 1.2.6.1-3
- import fixes from upstream (UCM: AMD ACP6x, HDA, sof-hda-dsp)
* Mon Dec 20 2021 Jaroslav Kysela <perex@perex.cz> - 1.2.6.1-1
- Updated to alsa-lib 1.2.6.1 and alsa-ucm-conf 1.2.6.3
- update to alsa-lib 1.2.6.1 and alsa-ucm-conf 1.2.6.3
* Mon Jun 14 2021 Jaroslav Kysela <perex@perex.cz> - 1.2.5-4
- Updated to 1.2.5
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.2.5.1-2
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Mon Feb 1 2021 Jaroslav Kysela <perex@perex.cz> - 1.2.4-5
- Apply fixes from upstream (alsa-lib, alsa-ucm-conf)
* Thu Jul 29 2021 Jaroslav Kysela <perex@perex.cz> - 1.2.5.1-1
- update to 1.2.5.1
* Mon Oct 19 2020 Jaroslav Kysela <perex@perex.cz> - 1.2.4-3
- Updated to 1.2.4
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 1.2.4-6
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Mon Jun 29 2020 Jaroslav Kysela <perex@perex.cz> - 1.2.3.2-1
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Oct 19 2020 Jaroslav Kysela <perex@perex.cz> - 1.2.4-4
- update to 1.2.4
- enable LTO
* Fri Jul 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.3.2-5
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.3.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 1 2020 Jeff Law <law@redhat.com> - 1.2.3.2-3
- Disable LTO
* Mon Jun 29 2020 Jaroslav Kysela <perex@perex.cz> - 1.2.3.2-2
- update to 1.2.3.2
* Tue Mar 17 2020 Jaroslav Kysela <perex@perex.cz> - 1.2.1.2-3
- Fix for HDA Intel dual codecs
* Thu Jun 18 2020 Jaroslav Kysela <perex@perex.cz> - 1.2.3.1-1
- update to 1.2.3.1
* Tue Dec 10 2019 Jaroslav Kysela <perex@perex.cz> - 1.2.1.2-2
* Sun Jun 7 2020 Jaroslav Kysela <perex@perex.cz> - 1.2.3-8
- update to 1.2.3
* Mon Apr 6 2020 Jaroslav Kysela <perex@perex.cz> - 1.2.2-2
- UCM2 fixes (RemoveDevice), bug#1786723
* Wed Feb 19 2020 Jaroslav Kysela <perex@perex.cz> - 1.2.2-1
- Updated to 1.2.2
* Sun Feb 9 2020 Jaroslav Kysela <perex@perex.cz> - 1.2.1.2-6
- More UCM2 related fixes
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.1.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Mon Dec 9 2019 Jaroslav Kysela <perex@perex.cz> - 1.2.1.2-4
- Fixes for sof-hda-dsp UCM2 configuration
* Tue Dec 3 2019 Jaroslav Kysela <perex@perex.cz> - 1.2.1.2-3
- Fixed more UCM2 related issues
* Fri Nov 29 2019 Jaroslav Kysela <perex@perex.cz> - 1.2.1.2-1
- Updated to 1.2.1.2
- UCM fixes
* Fri Nov 15 2019 Jaroslav Kysela <perex@perex.cz> - 1.2.1-2
* Tue Nov 19 2019 Jaroslav Kysela <perex@perex.cz> - 1.2.1.1-1
- Updated to 1.2.1.1
* Wed Nov 13 2019 Jaroslav Kysela <perex@perex.cz> - 1.2.1-3
- Updated to 1.2.1
* Mon May 27 2019 Jaroslav Kysela <perex@perex.cz> - 1.1.9-4
- Moved topology files to alsa-topology
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.9-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri May 10 2019 Jaroslav Kysela <perex@perex.cz> - 1.1.9-1
- Updated to 1.1.9
* Fri Jan 25 2019 Jaroslav Kysela <jkysela@redhat.com> - 1.1.6-3
- Sync with the RHEL 7
- Add Dell WD15/WD19 Dock to USB-Audio.conf and create UCM configs
- Resolves: rhbz#1664247
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jan 7 2019 Jaroslav Kysela <perex@perex.cz> - 1.1.8-1
- Updated to 1.1.8
* Tue Dec 25 2018 Hans de Goede <hdegoede@redhat.com> - 1.1.7-3
- Fix broken chtrt5645 UCM profile, fixing mic input on chtrt5645 devices
* Wed Oct 24 2018 Jaroslav Kysela <perex@perex.cz> - 1.1.7-2
- Moved topology files to alsa-topology
- Updated to 1.1.7
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Apr 04 2018 Jaroslav Kysela <perex@perex.cz> - 1.1.6-2
- Changed add-on directory to /etc/alsa/conf.d