media-libs/libdca: update EAPI 7 -> 8, fix musl

use getopt from glibc/musl instead of outdated bundled lib

Closes: https://bugs.gentoo.org/945000
Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/44685
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Nicolas PARLANT 2025-11-20 12:08:23 +01:00 committed by Sam James
parent 9ced2febad
commit d1e0499718
No known key found for this signature in database
GPG Key ID: 738409F520DF9190
2 changed files with 76 additions and 0 deletions

View File

@ -0,0 +1,16 @@
see https://bugs.gentoo.org/945000
use getopt from glibc/musl instead, getopt.h must be removed too
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -2,9 +2,9 @@ AM_CFLAGS = $(DCADEC_CFLAGS)
AM_CPPFLAGS = -I$(top_srcdir)/include
bin_PROGRAMS = dcadec extract_dca
-dcadec_SOURCES = dcadec.c getopt.h getopt.c gettimeofday.h gettimeofday.c
+dcadec_SOURCES = dcadec.c gettimeofday.h gettimeofday.c
dcadec_LDADD = ../libdca/libdca.la ../libao/libao.la
-extract_dca_SOURCES = extract_dca.c getopt.c
+extract_dca_SOURCES = extract_dca.c
man1_MANS = dcadec.1 extract_dca.1
EXTRA_DIST = $(man1_MANS)

View File

@ -0,0 +1,60 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools flag-o-matic multilib-minimal
DESCRIPTION="Library for decoding DTS Coherent Acoustics streams used in DVD"
HOMEPAGE="https://www.videolan.org/developers/libdca.html"
SRC_URI="https://www.videolan.org/pub/videolan/${PN}/${PV}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="debug oss"
DOCS=( AUTHORS ChangeLog NEWS README TODO doc/${PN}.txt )
PATCHES=(
"${FILESDIR}"/${PN}-0.0.5-cflags.patch
"${FILESDIR}"/${PN}-0.0.5-tests-optional.patch
"${FILESDIR}"/${PN}-0.0.7-slibtool.patch
"${FILESDIR}"/${PN}-0.0.7-rm_getopt.patch
)
src_prepare() {
default
# use getopt.h from glibc/musl, bug 945000
rm src/getopt.h || die
eautoreconf
}
multilib_src_configure() {
append-lfs-flags #328875
local myeconfargs=(
--disable-static
$(use_enable debug)
$(use_enable oss)
)
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
# Those are thrown away afterwards, don't build them in the first place
if [[ "${ABI}" != "${DEFAULT_ABI}" ]] ; then
sed -e 's/ libao src//' -i Makefile || die
fi
}
multilib_src_compile() {
emake OPT_CFLAGS=""
}
multilib_src_install() {
emake DESTDIR="${D}" install
find "${D}" -name '*.la' -type f -delete || die
rm "${D}"/usr/$(get_libdir)/libdts.a || die
}