commit:     5b3bd8ff50ff76c0c29c9b922658ef7c74aeffe7
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Apr  1 22:49:56 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Apr  1 23:03:57 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b3bd8ff

media-libs/libsdl: fix (parallel) build with slibtool

Patch is upstream for libsdl2 and will be for libsdl soon.

Thanks-to: orbea <orbea <AT> riseup.net>
Closes: https://bugs.gentoo.org/779445
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../libsdl/files/libsdl-1.2.15-slibtool.patch      | 56 ++++++++++++++++++++++
 media-libs/libsdl/libsdl-1.2.15_p20210224.ebuild   |  1 +
 2 files changed, 57 insertions(+)

diff --git a/media-libs/libsdl/files/libsdl-1.2.15-slibtool.patch 
b/media-libs/libsdl/files/libsdl-1.2.15-slibtool.patch
new file mode 100644
index 00000000000..3066e9fc8b0
--- /dev/null
+++ b/media-libs/libsdl/files/libsdl-1.2.15-slibtool.patch
@@ -0,0 +1,56 @@
+https://bugs.gentoo.org/779445
+
+commit ed1030d9b6a98e06aa293d18c49da18169918b8b
+Author: orbea <or...@riseup.net>
+Date:   Tue Mar 30 18:57:37 2021 -0700
+
+    Fix the build with parallel make and slibtool.
+    
+    There is no dependency on the $(OBJECTS) files on the 'build'
+    directory which causes slibtool to fail when the directory
+    does not yet exist. GNU libtool avoids this by being slower
+    than mkdir(1).
+
+diff --git a/Makefile.in b/Makefile.in
+index ab51035..90940d4 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -51,7 +51,7 @@ LT_RELEASE  = @LT_RELEASE@
+ LT_REVISION = @LT_REVISION@
+ LT_LDFLAGS  = -no-undefined -rpath $(DESTDIR)$(libdir) -release $(LT_RELEASE) 
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
+ 
+-all: $(srcdir)/configure Makefile $(objects) $(objects)/$(TARGET) 
$(objects)/$(SDLMAIN_TARGET)
++all: $(srcdir)/configure Makefile $(objects)/$(TARGET) 
$(objects)/$(SDLMAIN_TARGET)
+ 
+ $(srcdir)/configure: $(srcdir)/configure.in
+       @echo "Warning, configure.in is out of date"
+@@ -61,8 +61,9 @@ $(srcdir)/configure: $(srcdir)/configure.in
+ Makefile: $(srcdir)/Makefile.in
+       $(SHELL) config.status $@
+ 
+-$(objects):
+-      $(SHELL) $(auxdir)/mkinstalldirs $@
++$(objects)/.created:
++      $(SHELL) $(auxdir)/mkinstalldirs $(objects)
++      touch $@
+ 
+ .PHONY: all depend install install-bin install-hdrs install-lib install-data 
install-man uninstall uninstall-bin uninstall-hdrs uninstall-lib uninstall-data 
uninstall-man clean distclean dist
+ depend:
+@@ -71,6 +72,8 @@ depend:
+ 
+ include $(depend)
+ 
++$(OBJECTS) $(SDLMAIN_OBJECTS): $(objects)/.created
++
+ $(objects)/$(TARGET): $(OBJECTS)
+       $(LIBTOOL) --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS) 
$(LT_LDFLAGS)
+ 
+@@ -88,7 +91,7 @@ install-hdrs:
+           $(INSTALL) -m 644 $(srcdir)/include/$$file 
$(DESTDIR)$(includedir)/SDL/$$file; \
+       done
+       $(INSTALL) -m 644 include/SDL_config.h 
$(DESTDIR)$(includedir)/SDL/SDL_config.h
+-install-lib: $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET)
++install-lib: $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET)
+       $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir)
+       $(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(TARGET) 
$(DESTDIR)$(libdir)/$(TARGET)
+       $(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(SDLMAIN_TARGET) 
$(DESTDIR)$(libdir)/$(SDLMAIN_TARGET)

diff --git a/media-libs/libsdl/libsdl-1.2.15_p20210224.ebuild 
b/media-libs/libsdl/libsdl-1.2.15_p20210224.ebuild
index 5e79c923cb0..4b61e3b581f 100644
--- a/media-libs/libsdl/libsdl-1.2.15_p20210224.ebuild
+++ b/media-libs/libsdl/libsdl-1.2.15_p20210224.ebuild
@@ -65,6 +65,7 @@ pkg_setup() {
 PATCHES=(
        "${FILESDIR}"/${PN}-$(ver_cut 1-3)-sdl-config.patch
        "${FILESDIR}"/${PN}-$(ver_cut 1-3)-gamma.patch
+       "${FILESDIR}"/${PN}-$(ver_cut 1-3)-slibtool.patch
 )
 
 DOCS=( BUGS CREDITS README-SDL.txt TODO WhatsNew )

Reply via email to