diff mbox series

[meta-multimedia] flite: update

Message ID 20250319172421.10300-1-f_l_k@t-online.de
State New
Headers show
Series [meta-multimedia] flite: update | expand

Commit Message

Markus Volk March 19, 2025, 5:24 p.m. UTC
- update to latest tip
- add a PR to fix implicit dependency on flite_voice_list.c
  [https://github.com/festvox/flite/pull/92]
- add a patch to fix parallel builds

Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
 ...s-dont-fail-in-mkdir-if-rm-rf-has-fa.patch | 30 +++++++++
 ...28529357ba13994a2bd90cfd11bfceeffcce.patch | 65 +++++++++++++++++++
 .../recipes-multimedia/flite/flite_2.2.bb     | 12 ++--
 3 files changed, 100 insertions(+), 7 deletions(-)
 create mode 100644 meta-multimedia/recipes-multimedia/flite/flite/0001-common_make_rules-dont-fail-in-mkdir-if-rm-rf-has-fa.patch
 create mode 100644 meta-multimedia/recipes-multimedia/flite/flite/14aa28529357ba13994a2bd90cfd11bfceeffcce.patch
diff mbox series

Patch

diff --git a/meta-multimedia/recipes-multimedia/flite/flite/0001-common_make_rules-dont-fail-in-mkdir-if-rm-rf-has-fa.patch b/meta-multimedia/recipes-multimedia/flite/flite/0001-common_make_rules-dont-fail-in-mkdir-if-rm-rf-has-fa.patch
new file mode 100644
index 0000000000..5f116d744c
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/flite/flite/0001-common_make_rules-dont-fail-in-mkdir-if-rm-rf-has-fa.patch
@@ -0,0 +1,30 @@ 
+From a0377147222ba7950c76a646827751cc36799682 Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Mon, 17 Mar 2025 20:08:14 +0100
+Subject: [PATCH] common_make_rules: dont fail in mkdir if rm -rf has failed
+
+rm -rf fails, probably because the directory is already in use by another process.
+
+Upstream-Status: Pending [Upstream seems to be dead]
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+---
+ config/common_make_rules | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/config/common_make_rules b/config/common_make_rules
+index 1a45b43..ae60fad 100644
+--- a/config/common_make_rules
++++ b/config/common_make_rules
+@@ -120,7 +120,7 @@ $(OBJDIR)/.build_so: $(FULLSHOBJS)
+ # Used in the lib/ directory and in building new voices
+ $(LIBDIR)/%.so: $(LIBDIR)/%.shared.a
+ 	@ echo making $@
+-	@ rm -rf shared_os && mkdir shared_os
++	@ rm -rf shared_os && mkdir -p shared_os
+ 	@ rm -f $@ $@.${PROJECT_VERSION} $@.${PROJECT_SHLIB_VERSION} 
+ 	@ (cd shared_os && $(AR) x ../$<)
+ 	@ (cd shared_os && $(CC) -shared -Wl,-soname,`basename $@`.${PROJECT_SHLIB_VERSION} -o ../$@.${PROJECT_VERSION} *.os $(LDFLAGS))
+-- 
+2.48.1
+
diff --git a/meta-multimedia/recipes-multimedia/flite/flite/14aa28529357ba13994a2bd90cfd11bfceeffcce.patch b/meta-multimedia/recipes-multimedia/flite/flite/14aa28529357ba13994a2bd90cfd11bfceeffcce.patch
new file mode 100644
index 0000000000..3eb3b1dbec
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/flite/flite/14aa28529357ba13994a2bd90cfd11bfceeffcce.patch
@@ -0,0 +1,65 @@ 
+From 14aa28529357ba13994a2bd90cfd11bfceeffcce Mon Sep 17 00:00:00 2001
+From: Moritz Barsnick <barsnick@gmx.net>
+Date: Thu, 23 Mar 2023 14:53:08 +0100
+Subject: [PATCH] fix implicit dependency on flite_voice_list.c
+
+Also make flite_lang_list a proper rule, so that it only builds once.
+
+Both C files were repeatedly being clobbered, as were their respective
+object files.
+
+Convert flite_voice_list.c is into an explicit dependency with a creation
+rule. flite_voice_list.o continues to be implicit from flite_voice_list.c.
+
+Convert flite_lang_list into a similar, proper object rule.
+
+Fixes https://github.com/festvox/flite/issues/86
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+---
+ main/Makefile | 20 ++++++--------------
+ 1 file changed, 6 insertions(+), 14 deletions(-)
+
+diff --git a/main/Makefile b/main/Makefile
+index 8166182..b9a8828 100644
+--- a/main/Makefile
++++ b/main/Makefile
+@@ -106,21 +106,16 @@ endif
+ 
+ .NOTPARALLEL: $(ALL)
+ 
+-flite_lang_list: 
+-	rm -f flite_lang_list.c
++flite_lang_list.c:
+ 	$(TOP)/tools/make_lang_list $(LANGS) $(LEXES)
+-	$(MAKE) flite_lang_list.o
+ 
+-$(BINDIR)/flite$(EXEEXT): flite_main.o flite_lang_list $(flite_LIBS_deps)
++flite_voice_list.c:
+ 	$(TOP)/tools/make_voice_list $(VOICES)
+-	rm -f flite_voice_list.o
+-	$(MAKE) flite_voice_list.o
++
++$(BINDIR)/flite$(EXEEXT): flite_main.o flite_voice_list.o flite_lang_list.o $(flite_LIBS_deps)
+ 	$(CC) $(CFLAGS) -o $@ flite_main.o flite_voice_list.o flite_lang_list.o $(flite_LIBS_flags) $(LDFLAGS)
+ 
+-$(BINDIR)/flitevox_info$(EXEEXT): flitevox_info_main.o flite_lang_list $(flite_LIBS_deps)
+-	$(TOP)/tools/make_voice_list $(VOICES)
+-	rm -f flite_voice_list.o
+-	$(MAKE) flite_voice_list.o
++$(BINDIR)/flitevox_info$(EXEEXT): flitevox_info_main.o flite_voice_list.o flite_lang_list.o $(flite_LIBS_deps)
+ 	$(CC) $(CFLAGS) -o $@ flitevox_info_main.o flite_voice_list.o flite_lang_list.o $(flite_LIBS_flags) $(LDFLAGS)
+ 
+ $(BINDIR)/world$(EXEEXT): world_main.c
+@@ -144,10 +139,7 @@ each:
+ 	   $(MAKE) VOICE=$$i $(BINDIR)/flite_$$i ; \
+ 	done
+ 
+-$(BINDIR)/flite_${VOICE}: flite_main.o flite_lang_list $(flite_LIBS_deps)
+-	$(TOP)/tools/make_voice_list $(VOICE)
+-	rm -f flite_voice_list.o
+-	$(MAKE) flite_voice_list.o
++$(BINDIR)/flite_${VOICE}: flite_main.o flite_voice_list.o flite_lang_list.o $(flite_LIBS_deps)
+ 	$(CC) $(CFLAGS) -o $@ flite_main.o flite_voice_list.o flite_lang_list.o $(flite_LIBS_flags) $(LDFLAGS)
+ 
+ install:
diff --git a/meta-multimedia/recipes-multimedia/flite/flite_2.2.bb b/meta-multimedia/recipes-multimedia/flite/flite_2.2.bb
index bb9edfd5bf..f10e5cda83 100644
--- a/meta-multimedia/recipes-multimedia/flite/flite_2.2.bb
+++ b/meta-multimedia/recipes-multimedia/flite/flite_2.2.bb
@@ -9,22 +9,20 @@  inherit autotools-brokensep
 DEPENDS += "alsa-lib chrpath-replacement-native"
 
 SRC_URI = "git://github.com/festvox/flite.git;protocol=https;branch=master"
+SRC_URI += "file://0001-common_make_rules-dont-fail-in-mkdir-if-rm-rf-has-fa.patch"
 SRC_URI += "file://0001-Remove-defining-const-as-nothing.patch"
+SRC_URI += "file://14aa28529357ba13994a2bd90cfd11bfceeffcce.patch"
 
-SRCREV = "e9e2e37c329dbe98bfeb27a1828ef9a71fa84f88"
+SRCREV = "6c9f20dc915b17f5619340069889db0aa007fcdc"
 
 S = "${WORKDIR}/git"
+PV .= "+git"
 
 EXTRA_OECONF += "--enable-shared"
-
-do_configure:append() {
-    sed -i '/$(INSTALL) -m 755 $(BINDIR)\/flite_time $(DESTDIR)$(INSTALLBINDIR)/d' ${S}/main/Makefile
-}
+LDFLAGS:append = " -lasound"
 
 do_install:append() {
     chown -R root:root ${D}${libdir}/*
 }
-# | make[1]: *** No rule to make target 'flite_voice_list.c', needed by 'all'.  Stop.
-PARALLEL_MAKE = ""
 
 CLEANBROKEN = "1"