commit:     0646663bfcadb4ffe7550e2bb41097f42818ed49
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Apr  7 05:50:42 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Apr  7 06:10:46 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0646663b

media-libs/sdl-mixer: fix slibtool (parallel) build

Thanks-to: orbea <orbea <AT> riseup.net>
See: 36d63464d341868f0ba533188238c805710f16e0
Bug: https://bugs.gentoo.org/777420
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../sdl-mixer-1.2.12-parallel-build-slibtool.patch | 92 ++++++++++++++++++++++
 media-libs/sdl-mixer/sdl-mixer-1.2.12-r4.ebuild    |  8 +-
 2 files changed, 99 insertions(+), 1 deletion(-)

diff --git 
a/media-libs/sdl-mixer/files/sdl-mixer-1.2.12-parallel-build-slibtool.patch 
b/media-libs/sdl-mixer/files/sdl-mixer-1.2.12-parallel-build-slibtool.patch
new file mode 100644
index 00000000000..a9996f9b10e
--- /dev/null
+++ b/media-libs/sdl-mixer/files/sdl-mixer-1.2.12-parallel-build-slibtool.patch
@@ -0,0 +1,92 @@
+https://github.com/libsdl-org/SDL_mixer/pull/311
+
+This is the SDL 1 variant of the SDL 2 patch also in Gentoo.
+See: 36d63464d341868f0ba533188238c805710f16e0 (Gentoo)
+Bug: https://bugs.gentoo.org/777420
+
+From 0b3b8a5f886648c95ce5ed0abb3d4e9e181d7ca6 Mon Sep 17 00:00:00 2001
+From: orbea <[email protected]>
+Date: Tue, 6 Apr 2021 07:32:27 -0700
+Subject: [PATCH] build: Fix parallel make with slibtool.
+
+---
+diff --git a/Makefile.in b/Makefile.in
+index 293608d..5d27df1 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -47,7 +47,7 @@ LT_RELEASE  = @LT_RELEASE@
+ LT_REVISION = @LT_REVISION@
+ LT_LDFLAGS  = -no-undefined -rpath $(libdir) -release $(LT_RELEASE) 
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
+ 
+-all: $(srcdir)/configure Makefile $(objects) $(objects)/$(TARGET) 
$(objects)/playwave$(EXE) $(objects)/playmus$(EXE)
++all: $(srcdir)/configure Makefile $(objects)/$(TARGET) 
$(objects)/playwave$(EXE) $(objects)/playmus$(EXE)
+ 
+ $(srcdir)/configure: $(srcdir)/configure.ac
+       @echo "Warning, configure is out of date, please re-run autogen.sh"
+@@ -55,8 +55,9 @@ $(srcdir)/configure: $(srcdir)/configure.ac
+ Makefile: $(srcdir)/Makefile.in
+       $(SHELL) config.status $@
+ 
+-$(objects):
+-      $(SHELL) $(auxdir)/mkinstalldirs $@
++$(objects)/.created:
++      $(SHELL) $(auxdir)/mkinstalldirs $(objects)
++      touch $@
+ 
+ .PHONY: all install install-hdrs install-lib install-bin uninstall 
uninstall-hdrs uninstall-lib uninstall-bin clean distclean dist
+ 
+@@ -78,7 +79,7 @@ install-hdrs:
+       done
+       $(SHELL) $(auxdir)/mkinstalldirs $(libdir)/pkgconfig
+       $(INSTALL) -m 644 SDL_mixer.pc $(libdir)/pkgconfig/
+-install-lib: $(objects) $(objects)/$(TARGET)
++install-lib: $(objects)/$(TARGET)
+       $(SHELL) $(auxdir)/mkinstalldirs $(libdir)
+       $(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(TARGET) 
$(libdir)/$(TARGET)
+ install-bin:
+--- a/configure.in
++++ b/configure.in
+@@ -626,14 +626,14 @@ OBJECTS=`echo $SOURCES`
+ DEPENDS=`echo $SOURCES`
+ OBJECTS=`echo "$OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'`
+ DEPENDS=`echo "$DEPENDS" | sed 's,\([[^ ]]*\)/\([[^ ]]*\)\.c,\\
+-$(objects)/\2.lo: \1/\2.c\\
++$(objects)/\2.lo: \1/\2.c \$(objects)/.created\\
+       \$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) 
'"$DEPENDENCY_TRACKING_OPTIONS"' -c \$< -o \$@,g'`
+ 
+ OBJECTS_CXX=`echo $SOURCES_CXX`
+ DEPENDS_CXX=`echo $SOURCES_CXX`
+ OBJECTS_CXX=`echo "$OBJECTS_CXX" | sed 's,[[^ ]]*/\([[^ 
]]*\)\.cpp,$(objects)/\1.lo,g'`
+ DEPENDS_CXX=`echo "$DEPENDS_CXX" | sed 's,\([[^ ]]*\)/\([[^ ]]*\)\.cpp,\\
+-$(objects)/\2.lo: \1/\2.cpp\\
++$(objects)/\2.lo: \1/\2.cpp \$(objects)/.created\\
+       \$(LIBTOOL) --mode=compile \$(CXX) \$(CFLAGS) \$(EXTRA_CFLAGS) 
'"$DEPENDENCY_TRACKING_OPTIONS"' -c \$< -o \$@,g'`
+ OBJECTS="$OBJECTS $OBJECTS_CXX"
+ DEPENDS="$DEPENDS $DEPENDS_CXX"
+@@ -643,7 +643,7 @@ VERSION_OBJECTS=`echo $VERSION_SOURCES`
+ VERSION_DEPENDS=`echo $VERSION_SOURCES`
+ VERSION_OBJECTS=`echo "$VERSION_OBJECTS" | sed 's,[[^ ]]*/\([[^ 
]]*\)\.rc,$(objects)/\1.o,g'`
+ VERSION_DEPENDS=`echo "$VERSION_DEPENDS" | sed 's,\([[^ ]]*\)/\([[^ 
]]*\)\.rc,\\
+-$(objects)/\2.o: \1/\2.rc\\
++$(objects)/\2.o: \1/\2.rc \$(objects)/.created\\
+       \$(WINDRES) \$< \$@,g'`
+ VERSION_DEPENDS=`echo "$VERSION_DEPENDS" | sed 's,\\$,\\\\$,g'`
+ 
+@@ -652,7 +652,7 @@ PLAYWAVE_OBJECTS=`echo $PLAYWAVE_SOURCES`
+ PLAYWAVE_DEPENDS=`echo $PLAYWAVE_SOURCES`
+ PLAYWAVE_OBJECTS=`echo "$PLAYWAVE_OBJECTS" | sed 's,[[^ ]]*/\([[^ 
]]*\)\.c,$(objects)/\1.lo,g'`
+ PLAYWAVE_DEPENDS=`echo "$PLAYWAVE_DEPENDS" | sed 's,\([[^ ]]*\)/\([[^ 
]]*\)\.c,\\
+-$(objects)/\2.lo: \1/\2.c\\
++$(objects)/\2.lo: \1/\2.c \$(objects)/.created\\
+       \$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) 
'"$DEPENDENCY_TRACKING_OPTIONS"' -c \$< -o \$@,g'`
+ PLAYWAVE_DEPENDS=`echo "$PLAYWAVE_DEPENDS" | sed 's,\\$,\\\\$,g'`
+ 
+@@ -661,7 +661,7 @@ PLAYMUS_OBJECTS=`echo $PLAYMUS_SOURCES`
+ PLAYMUS_DEPENDS=`echo $PLAYMUS_SOURCES`
+ PLAYMUS_OBJECTS=`echo "$PLAYMUS_OBJECTS" | sed 's,[[^ ]]*/\([[^ 
]]*\)\.c,$(objects)/\1.lo,g'`
+ PLAYMUS_DEPENDS=`echo "$PLAYMUS_DEPENDS" | sed 's,\([[^ ]]*\)/\([[^ 
]]*\)\.c,\\
+-$(objects)/\2.lo: \1/\2.c\\
++$(objects)/\2.lo: \1/\2.c \$(objects)/.created\\
+       \$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) 
'"$DEPENDENCY_TRACKING_OPTIONS"' -c \$< -o \$@,g'`
+ PLAYMUS_DEPENDS=`echo "$PLAYMUS_DEPENDS" | sed 's,\\$,\\\\$,g'`
+ 

diff --git a/media-libs/sdl-mixer/sdl-mixer-1.2.12-r4.ebuild 
b/media-libs/sdl-mixer/sdl-mixer-1.2.12-r4.ebuild
index 7757eec8749..a5a0b15fce5 100644
--- a/media-libs/sdl-mixer/sdl-mixer-1.2.12-r4.ebuild
+++ b/media-libs/sdl-mixer/sdl-mixer-1.2.12-r4.ebuild
@@ -4,7 +4,7 @@
 EAPI=7
 
 MY_P=${P/sdl-/SDL_}
-inherit multilib-minimal
+inherit autotools multilib-minimal
 
 DESCRIPTION="Simple Direct Media Layer Mixer Library"
 HOMEPAGE="https://www.libsdl.org/projects/SDL_mixer/";
@@ -56,11 +56,17 @@ PATCHES=(
        "${FILESDIR}"/${P}-clang.patch
        "${FILESDIR}"/${P}-Fix-compiling-against-libmodplug-0.8.8.5.patch
        "${FILESDIR}"/${P}-mikmod-r58{7,8}.patch # bug 445980
+       "${FILESDIR}"/${P}-parallel-build-slibtool.patch
 )
 
 src_prepare() {
        default
        sed -e '/link.*play/s/-o/$(LDFLAGS) -o/' -i Makefile.in || die
+
+       # Hack to get eautoconf working
+       # eautoreconf dies with gettext mismatch errors for now
+       cat acinclude/* >aclocal.m4 || die
+       eautoconf
 }
 
 multilib_src_configure() {

Reply via email to