commit:     cc52c5e316ca5a61f4a85e34e513480e41801360
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 13 01:18:21 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Dec 13 01:18:21 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cc52c5e3

media-libs/alsa-lib: backport lld 17 fix

Closes: https://bugs.gentoo.org/914511
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-libs/alsa-lib/alsa-lib-1.2.10-r3.ebuild      | 103 +++++++++++++++++++++
 .../alsa-lib/files/alsa-lib-1.2.10-lld-17.patch    |  35 +++++++
 2 files changed, 138 insertions(+)

diff --git a/media-libs/alsa-lib/alsa-lib-1.2.10-r3.ebuild 
b/media-libs/alsa-lib/alsa-lib-1.2.10-r3.ebuild
new file mode 100644
index 000000000000..410467070681
--- /dev/null
+++ b/media-libs/alsa-lib/alsa-lib-1.2.10-r3.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+inherit autotools multilib-minimal flag-o-matic python-single-r1
+
+DESCRIPTION="Advanced Linux Sound Architecture Library"
+HOMEPAGE="https://alsa-project.org/wiki/Main_Page";
+if [[ ${PV} == *_p* ]] ; then
+       # Please set correct commit ID for a snapshot release!
+       COMMIT="abe805ed6c7f38e48002e575535afd1f673b9bcd"
+       
SRC_URI="https://git.alsa-project.org/?p=${PN}.git;a=snapshot;h=${COMMIT};sf=tgz
 -> ${P}.tar.gz"
+       S="${WORKDIR}"/${PN}-${COMMIT:0:7}
+else
+       # TODO: Upstream does publish .sig files, so someone could implement 
verify-sig ;)
+       SRC_URI="https://www.alsa-project.org/files/pub/lib/${P}.tar.bz2";
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 
~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="alisp debug doc python"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+       media-libs/alsa-topology-conf
+       media-libs/alsa-ucm-conf
+       python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="doc? ( >=app-doc/doxygen-1.2.6 )"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-1.1.6-missing_files.patch" # bug #652422
+       "${FILESDIR}/${P}-musl-string.patch" # bug #913573, backport
+       "${FILESDIR}/${P}-ump-header-detection.patch" # bug #913573, backport
+       "${FILESDIR}/${P}-pcm-fix-segfault-32bit-libs.patch" # backport
+       "${FILESDIR}/${P}-reshuffle-included-files-config-h.patch" # backport
+       "${FILESDIR}/${P}-lld-17.patch" # bug #914511, backport
+)
+
+pkg_setup() {
+       use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+       default
+
+       find . -name Makefile.am -exec sed -i -e '/CFLAGS/s:-g -O2::' {} + || 
die
+       # bug #545950
+       sed -i -e '5s:^$:\nAM_CPPFLAGS = -I$(top_srcdir)/include:' 
test/lsb/Makefile.am || die
+
+       eautoreconf
+}
+
+multilib_src_configure() {
+       # Broken upstream. Could in theory work with -flto-partitions=none
+       # but it's a hack to workaround the real problem and not strictly safe.
+       # bug #616108, bug #669086, and 
https://github.com/alsa-project/alsa-lib/issues/6.
+       # (This bug is closed as of 1.2.9 but there's been no clear actual fix 
to it.
+       # Let us know if you can identify one.)
+       filter-lto
+
+       local myeconfargs=(
+               --disable-maintainer-mode
+               --disable-resmgr
+               --enable-aload
+               --enable-rawmidi
+               --enable-seq
+               --enable-shared
+               --enable-thread-safety
+
+               $(multilib_native_use_enable python)
+               $(use_enable alisp)
+               $(use_with debug)
+       )
+
+       ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+       emake
+
+       if multilib_is_native_abi && use doc; then
+               emake doc
+               grep -FZrl "${S}" doc/doxygen/html | \
+                       xargs -0 sed -i -e "s:${S}::" || die
+       fi
+}
+
+multilib_src_install() {
+       multilib_is_native_abi && use doc && local HTML_DOCS=( 
doc/doxygen/html/. )
+
+       default
+}
+
+multilib_src_install_all() {
+       find "${ED}" -type f -name '*.la' -delete || die
+
+       dodoc ChangeLog doc/asoundrc.txt NOTES TODO
+}

diff --git a/media-libs/alsa-lib/files/alsa-lib-1.2.10-lld-17.patch 
b/media-libs/alsa-lib/files/alsa-lib-1.2.10-lld-17.patch
new file mode 100644
index 000000000000..cba1e2e2d507
--- /dev/null
+++ b/media-libs/alsa-lib/files/alsa-lib-1.2.10-lld-17.patch
@@ -0,0 +1,35 @@
+https://bugs.gentoo.org/914511
+https://github.com/alsa-project/alsa-lib/issues/356
+https://github.com/alsa-project/alsa-lib/commit/96f60d829f2c9dc9ad9eda46410adaa41b4b0da0
+
+From 96f60d829f2c9dc9ad9eda46410adaa41b4b0da0 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <ti...@suse.de>
+Date: Tue, 10 Oct 2023 08:20:15 +0200
+Subject: [PATCH] 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 <ti...@suse.de>
+--- 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;

Reply via email to