commit:     fa245858213a0663022ff039f5ee7dbd2ec8575c
Author:     Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Mon Mar 11 02:48:36 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Mar 11 14:22:49 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fa245858

media-libs/libcdaudio: fully refresh autotools

It uses an extremely vintage 2004 edition that includes some kind of
horrible idea from the early days of the 21st century. Apparently, back
then, portability meant "autotools can convert your ANSI C code to K&R
C". This functionality has long since been removed from current
automake, so eautoreconf doesn't actually run until we remove a few
troublesome lines.

Needed to e.g. pass LTO warning flags through to the linker, and well, a
whole lot more.

Also fixes a build issue with conflicting definitions of mount?

Closes: https://bugs.gentoo.org/859910
Closes: https://bugs.gentoo.org/898236
Signed-off-by: Eli Schwartz <eschwartz93 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-libs/libcdaudio/libcdaudio-0.99.12-r5.ebuild | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/media-libs/libcdaudio/libcdaudio-0.99.12-r5.ebuild 
b/media-libs/libcdaudio/libcdaudio-0.99.12-r5.ebuild
index 173d115c8d84..d64a5a9ac226 100644
--- a/media-libs/libcdaudio/libcdaudio-0.99.12-r5.ebuild
+++ b/media-libs/libcdaudio/libcdaudio-0.99.12-r5.ebuild
@@ -3,6 +3,8 @@
 
 EAPI=8
 
+inherit autotools
+
 DESCRIPTION="Library of cd audio related routines"
 HOMEPAGE="https://libcdaudio.sourceforge.net/";
 SRC_URI="mirror://sourceforge/libcdaudio/${P}.tar.gz"
@@ -18,6 +20,16 @@ PATCHES=(
        "${FILESDIR}"/${P}-m4-testprogram-fix.patch
 )
 
+src_prepare() {
+       default
+
+       # replace vintage 2004 autotools collection complete with worrying
+       # code to "make it portable" by converting ANSI C into K&R C
+       sed -i '/AM_C_PROTOTYPES/d' configure.ac
+       sed -i '/ansi2knr/d' Makefile.am
+       eautoreconf
+}
+
 src_configure() {
        econf --enable-threads --disable-static
 }

Reply via email to