Skip to content

Commit

Permalink
media-libs/alsa-lib: backport lld 17 fix
Browse files Browse the repository at this point in the history
Closes: https://bugs.gentoo.org/914511
Signed-off-by: Sam James <[email protected]>
  • Loading branch information
thesamesam committed Dec 13, 2023
1 parent 406b2f6 commit cc52c5e
Show file tree
Hide file tree
Showing 2 changed files with 138 additions and 0 deletions.
103 changes: 103 additions & 0 deletions media-libs/alsa-lib/alsa-lib-1.2.10-r3.ebuild
Original file line number Diff line number Diff line change
@@ -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
}
35 changes: 35 additions & 0 deletions media-libs/alsa-lib/files/alsa-lib-1.2.10-lld-17.patch
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>
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 <[email protected]>
--- 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;

0 comments on commit cc52c5e

Please sign in to comment.