summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-arch/unrar/files/unrar-5.9.3-build.patch')
-rw-r--r--app-arch/unrar/files/unrar-5.9.3-build.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/app-arch/unrar/files/unrar-5.9.3-build.patch b/app-arch/unrar/files/unrar-5.9.3-build.patch
new file mode 100644
index 000000000000..d9cbcfd8683a
--- /dev/null
+++ b/app-arch/unrar/files/unrar-5.9.3-build.patch
@@ -0,0 +1,35 @@
+Makefile: Fix parallel build issue
+
+If clean runs in parallel with $(OBJECTS), it is possible to build some
+objects first, then the clean target fires and deletes some, and then we
+try to link and fail.
+
+Gentoo-Bug: https://bugs.gentoo.org/528218
+
+--- unrar/makefile
++++ unrar/makefile
+@@ -142,21 +142,18 @@
+ @rm -f $(OBJECTS) $(UNRAR_OBJ) $(LIB_OBJ)
+ @rm -f unrar libunrar.*
+
+-unrar: clean $(OBJECTS) $(UNRAR_OBJ)
+- @rm -f unrar
++unrar: $(OBJECTS) $(UNRAR_OBJ)
+ $(LINK) -o unrar $(LDFLAGS) $(OBJECTS) $(UNRAR_OBJ) $(LIBS)
+ $(STRIP) unrar
+
+ sfx: WHAT=SFX_MODULE
+-sfx: clean $(OBJECTS)
+- @rm -f default.sfx
++sfx: $(OBJECTS)
+ $(LINK) -o default.sfx $(LDFLAGS) $(OBJECTS)
+ $(STRIP) default.sfx
+
+ lib: WHAT=RARDLL
+ lib: CXXFLAGS+=$(LIBFLAGS)
+-lib: clean $(OBJECTS) $(LIB_OBJ)
+- @rm -f libunrar.*
++lib: $(OBJECTS) $(LIB_OBJ)
+ $(LINK) -shared -o libunrar.so $(LDFLAGS) $(OBJECTS) $(LIB_OBJ)
+ $(AR) rcs libunrar.a $(OBJECTS) $(LIB_OBJ)
+