diff mbox

[v6] espeak: new package

Message ID 1381773933-16975-1-git-send-email-arnaud.aujon@gmail.com
State Superseded
Headers show

Commit Message

Arnaud Aujon Oct. 14, 2013, 6:05 p.m. UTC
Signed-off-by: Arnaud Aujon <arnaud.aujon@gmail.com>
---
Changes v5 -> v6:
	- fix indent
	- rename patch
	- fix licence to GPLv3+
Changes v4 -> v5:
	- remove useless comment line
Changes v3 -> v4:
	- remove extre new lines
	- remove useless help
	- remove -source from ESPEAK_VERSION
	- update extract command to remove -source
---
 package/Config.in                                  |  1 +
 package/espeak/Config.in                           | 41 ++++++++++++++++++++
 .../espeak-01-do-not-compil-when-install.patch     | 15 ++++++++
 package/espeak/espeak.mk                           | 44 ++++++++++++++++++++++
 4 files changed, 101 insertions(+)
 create mode 100644 package/espeak/Config.in
 create mode 100644 package/espeak/espeak-01-do-not-compil-when-install.patch
 create mode 100644 package/espeak/espeak.mk

Comments

Ryan Barnett Oct. 14, 2013, 6:51 p.m. UTC | #1
Arnaud,

Looks like the change you made in v5 crept back into v6 here...

Arnaud Aujon <arnaud.aujon@gmail.com> wrote on 10/14/2013 01:05:33 PM:

> Signed-off-by: Arnaud Aujon <arnaud.aujon@gmail.com>
> ---
> Changes v5 -> v6:
>    - fix indent
>    - rename patch
>    - fix licence to GPLv3+
> Changes v4 -> v5:
>    - remove useless comment line
> Changes v3 -> v4:
>    - remove extre new lines
>    - remove useless help
>    - remove -source from ESPEAK_VERSION
>    - update extract command to remove -source
> ---
>  package/Config.in                                  |  1 +
>  package/espeak/Config.in                           | 41 
++++++++++++++++++++
>  .../espeak-01-do-not-compil-when-install.patch     | 15 ++++++++
>  package/espeak/espeak.mk                           | 44 
++++++++++++++++++++++
>  4 files changed, 101 insertions(+)
>  create mode 100644 package/espeak/Config.in
>  create mode 100644 
package/espeak/espeak-01-do-not-compil-when-install.patch
>  create mode 100644 package/espeak/espeak.mk
> 
> diff --git a/package/Config.in b/package/Config.in
> index 41d828a..31f6274 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -6,6 +6,7 @@ menu "Audio and video applications"
>  source "package/alsa-utils/Config.in"
>  source "package/aumix/Config.in"
>  source "package/bellagio/Config.in"
> +source "package/espeak/Config.in"
>  source "package/faad2/Config.in"
>  source "package/ffmpeg/Config.in"
>  source "package/flac/Config.in"
> diff --git a/package/espeak/Config.in b/package/espeak/Config.in
> new file mode 100644
> index 0000000..09b4920
> --- /dev/null
> +++ b/package/espeak/Config.in
> @@ -0,0 +1,41 @@
> +comment "eSpeak requires a toolchain with C++ and WCHAR support"
> +   depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR)
> +
> +config BR2_PACKAGE_ESPEAK
> +   bool "eSpeak"
> +   depends on BR2_INSTALL_LIBSTDCPP
> +   depends on BR2_USE_WCHAR
> +   help
> +     eSpeak is a speech synthesizer software for English and other 
languages.
> +
> +     http://espeak.sourceforge.net/
> +
> +if BR2_PACKAGE_ESPEAK
> +choice
> +prompt "choose audio backend"
> +default BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_NONE
> +
> +config BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_NONE
> +   bool "No sound backend, only produce wav files"
> +
> +comment "ALSA backend requires a toolchain with threads support"
> +depends on !BR2_TOOLCHAIN_HAS_THREADS
> +
> +config BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_ALSA
> +   bool "ALSA via Portaudio"
> +   select BR2_PACKAGE_PORTAUDIO
> +   select BR2_PACKAGE_PORTAUDIO_CXX
> +   depends on BR2_TOOLCHAIN_HAS_THREADS #portaudio
> +
> +comment "Pulseaudio backend requires a toolchain with WCHAR, LARGEFILE 
and threads support"
> +depends on !(BR2_TOOLCHAIN_HAS_THREADS && BR2_USE_WCHAR && 
BR2_LARGEFILE)
> +
> +config BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_PULSEAUDIO
> +   bool "pulseaudio"
> +   select BR2_PACKAGE_PULSEAUDIO
> +   depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio
> +   depends on BR2_USE_WCHAR # pulseaudio
> +   depends on BR2_LARGEFILE # pulseaudio
> +
> +endchoice
> +endif # BR2_PACKAGE_ESPEAK
> diff --git a/package/espeak/espeak-01-do-not-compil-when-install.patch 
b/package/espeak/espeak-01-do-not-compil-when-install.patch
> new file mode 100644
> index 0000000..983cd1c
> --- /dev/null
> +++ b/package/espeak/espeak-01-do-not-compil-when-install.patch
> @@ -0,0 +1,15 @@
> +Makefile: do not execute the rule "all" when executing "install"
> +
> +signed-off-by: Arnaud Aujon <arnaud.aujon@gmail.com>
> +===================================================================
> +--- espeak-1.47.11-source.orig/src/Makefile
> ++++ espeak-1.47.11-source/src/Makefile
> +@@ -131,7 +131,7 @@
> +    rm -f $(BIN2_NAME)
> +    rm -f $(LIB_NAME)*
> + 
> +-install: all
> ++install:
> +    # Create directories
> +    rm -rf $(DESTDIR)$(DATADIR)
> +    $(MKDIR) $(DESTDIR)$(BINDIR)
> diff --git a/package/espeak/espeak.mk b/package/espeak/espeak.mk
> new file mode 100644
> index 0000000..f3c963c
> --- /dev/null
> +++ b/package/espeak/espeak.mk
> @@ -0,0 +1,44 @@
> 
+###############################################################################
> +#
> +# espeak
> +#
> 
+###############################################################################
> +
> +ESPEAK_VERSION = 1.47.11
> +ESPEAK_SOURCE = espeak-$(ESPEAK_VERSION)-source.zip
> +ESPEAK_SITE = 
http://downloads.sourceforge.net/project/espeak/espeak/espeak-1.47
> +ESPEAK_LICENSE = GPLv3+
> +ESPEAK_LICENSE_FILES = Licence.txt
> +
> +ifeq ($(BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_ALSA),y)
> +ESPEAK_AUDIO_BACKEND = portaudio
> +ESPEAK_DEPENDENCIES = portaudio
> +endif
> +ifeq ($(BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_PULSEAUDIO),y)
> +ESPEAK_AUDIO_BACKEND = pulseaudio
> +ESPEAK_DEPENDENCIES = pulseaudio
> +endif
> +
> +define ESPEAK_EXTRACT_CMDS
> +   unzip -d $(@D) $(DL_DIR)/$(ESPEAK_SOURCE)
> +   mv $(@D)/espeak-$(ESPEAK_VERSION)-source/* $(@D)
> +   $(RM) -r $(@D)/espeak-$(ESPEAK_VERSION)-source
> +endef
> +
> +define ESPEAK_CONFIGURE_CMDS
> +   # Buildroot provides portaudio V19, see ReadMe file for more 
details.
> +   cp $(@D)/src/portaudio19.h $(@D)/src/portaudio.h
> +endef
> +
> +define ESPEAK_BUILD_CMDS
> +   $(MAKE) $(TARGET_CONFIGURE_OPTS) \
> +      AUDIO="$(ESPEAK_AUDIO_BACKEND)" \
> +      -C $(@D)/src all

The comment line that you removed in v5 is back here in v6...

> +#   $(MAKE) CXX="$(TARGET_CXX)" LD="$(TARGET_LD)" 
AUDIO="$(ESPEAK_AUDIO_BACKEND)" -C $(@D)/src all
> +endef
> +
> +define ESPEAK_INSTALL_TARGET_CMDS
> +   $(MAKE) install DESTDIR="$(TARGET_DIR)" -C $(@D)/src
> +endef
> +
> +$(eval $(generic-package))
> -- 
> 1.8.3.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Thomas De Schampheleire Oct. 14, 2013, 7:30 p.m. UTC | #2
Hi Arnaud,

On Mon, Oct 14, 2013 at 8:05 PM, Arnaud Aujon <arnaud.aujon@gmail.com> wrote:
> Signed-off-by: Arnaud Aujon <arnaud.aujon@gmail.com>
> ---
> Changes v5 -> v6:
>         - fix indent
>         - rename patch
>         - fix licence to GPLv3+
> Changes v4 -> v5:
>         - remove useless comment line
> Changes v3 -> v4:
>         - remove extre new lines
>         - remove useless help
>         - remove -source from ESPEAK_VERSION
>         - update extract command to remove -source
> ---
>  package/Config.in                                  |  1 +
>  package/espeak/Config.in                           | 41 ++++++++++++++++++++
>  .../espeak-01-do-not-compil-when-install.patch     | 15 ++++++++
>  package/espeak/espeak.mk                           | 44 ++++++++++++++++++++++
>  4 files changed, 101 insertions(+)
>  create mode 100644 package/espeak/Config.in
>  create mode 100644 package/espeak/espeak-01-do-not-compil-when-install.patch
>  create mode 100644 package/espeak/espeak.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 41d828a..31f6274 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -6,6 +6,7 @@ menu "Audio and video applications"
>  source "package/alsa-utils/Config.in"
>  source "package/aumix/Config.in"
>  source "package/bellagio/Config.in"
> +source "package/espeak/Config.in"
>  source "package/faad2/Config.in"
>  source "package/ffmpeg/Config.in"
>  source "package/flac/Config.in"
> diff --git a/package/espeak/Config.in b/package/espeak/Config.in
> new file mode 100644
> index 0000000..09b4920
> --- /dev/null
> +++ b/package/espeak/Config.in
> @@ -0,0 +1,41 @@
> +comment "eSpeak requires a toolchain with C++ and WCHAR support"
> +       depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR)

I have a patchset waiting to be merged that unifies these comments.
This comment should be adapted according to the new format:

eSpeak needs a toolchain w/ C++, wchar

See: http://patchwork.ozlabs.org/patch/283094/

Also: is it really needed to capitalize the S ? Most packages are
written in all-lowercase in the menuconfig, so unless there is a very
specific reason I would continue doing this (not sure if this point
has been addressed in earlier reviews)

> +
> +config BR2_PACKAGE_ESPEAK
> +       bool "eSpeak"

Same comment about capitalization.

> +       depends on BR2_INSTALL_LIBSTDCPP
> +       depends on BR2_USE_WCHAR
> +       help
> +         eSpeak is a speech synthesizer software for English and other languages.
> +
> +         http://espeak.sourceforge.net/
> +
> +if BR2_PACKAGE_ESPEAK
> +choice
> +prompt "choose audio backend"
> +default BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_NONE
> +
> +config BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_NONE
> +       bool "No sound backend, only produce wav files"
> +
> +comment "ALSA backend requires a toolchain with threads support"
> +depends on !BR2_TOOLCHAIN_HAS_THREADS

This should become:

ALSA backend needs a toolchain w/ threads

Note that my preference about capitalization in this case is also to
use all-lowercase.
Currently you use ALSA, Portaudio, and pulseaudio. But you could
equally use PulseAudio as is the actual project spelling. Same for
PortAudio. My suggestion is alsa, portaudio, pulseaudio, but note that
this is very subjective. Other inputs are certainly welcome.


> +
> +config BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_ALSA
> +       bool "ALSA via Portaudio"
> +       select BR2_PACKAGE_PORTAUDIO
> +       select BR2_PACKAGE_PORTAUDIO_CXX
> +       depends on BR2_TOOLCHAIN_HAS_THREADS #portaudio
> +
> +comment "Pulseaudio backend requires a toolchain with WCHAR, LARGEFILE and threads support"
> +depends on !(BR2_TOOLCHAIN_HAS_THREADS && BR2_USE_WCHAR && BR2_LARGEFILE)

should become:
pulseaudio backend needs a toolchain w/ wchar, largefile, threads

> +
> +config BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_PULSEAUDIO
> +       bool "pulseaudio"
> +       select BR2_PACKAGE_PULSEAUDIO
> +       depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio
> +       depends on BR2_USE_WCHAR # pulseaudio
> +       depends on BR2_LARGEFILE # pulseaudio
> +
> +endchoice
> +endif # BR2_PACKAGE_ESPEAK
> diff --git a/package/espeak/espeak-01-do-not-compil-when-install.patch b/package/espeak/espeak-01-do-not-compil-when-install.patch
> new file mode 100644
> index 0000000..983cd1c
> --- /dev/null
> +++ b/package/espeak/espeak-01-do-not-compil-when-install.patch
> @@ -0,0 +1,15 @@
> +Makefile: do not execute the rule "all" when executing "install"
> +
> +signed-off-by: Arnaud Aujon <arnaud.aujon@gmail.com>
> +===================================================================
> +--- espeak-1.47.11-source.orig/src/Makefile
> ++++ espeak-1.47.11-source/src/Makefile
> +@@ -131,7 +131,7 @@
> +       rm -f $(BIN2_NAME)
> +       rm -f $(LIB_NAME)*
> +
> +-install: all
> ++install:
> +       # Create directories
> +       rm -rf $(DESTDIR)$(DATADIR)
> +       $(MKDIR) $(DESTDIR)$(BINDIR)
> diff --git a/package/espeak/espeak.mk b/package/espeak/espeak.mk
> new file mode 100644
> index 0000000..f3c963c
> --- /dev/null
> +++ b/package/espeak/espeak.mk
> @@ -0,0 +1,44 @@
> +###############################################################################
> +#
> +# espeak
> +#
> +###############################################################################
> +
> +ESPEAK_VERSION = 1.47.11
> +ESPEAK_SOURCE = espeak-$(ESPEAK_VERSION)-source.zip
> +ESPEAK_SITE = http://downloads.sourceforge.net/project/espeak/espeak/espeak-1.47
> +ESPEAK_LICENSE = GPLv3+
> +ESPEAK_LICENSE_FILES = Licence.txt
> +
> +ifeq ($(BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_ALSA),y)
> +ESPEAK_AUDIO_BACKEND = portaudio
> +ESPEAK_DEPENDENCIES = portaudio
> +endif
> +ifeq ($(BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_PULSEAUDIO),y)
> +ESPEAK_AUDIO_BACKEND = pulseaudio
> +ESPEAK_DEPENDENCIES = pulseaudio
> +endif
> +
> +define ESPEAK_EXTRACT_CMDS
> +       unzip -d $(@D) $(DL_DIR)/$(ESPEAK_SOURCE)
> +       mv $(@D)/espeak-$(ESPEAK_VERSION)-source/* $(@D)
> +       $(RM) -r $(@D)/espeak-$(ESPEAK_VERSION)-source
> +endef
> +
> +define ESPEAK_CONFIGURE_CMDS
> +       # Buildroot provides portaudio V19, see ReadMe file for more details.
> +       cp $(@D)/src/portaudio19.h $(@D)/src/portaudio.h
> +endef
> +
> +define ESPEAK_BUILD_CMDS
> +       $(MAKE) $(TARGET_CONFIGURE_OPTS) \
> +               AUDIO="$(ESPEAK_AUDIO_BACKEND)" \
> +               -C $(@D)/src all
> +#      $(MAKE) CXX="$(TARGET_CXX)" LD="$(TARGET_LD)" AUDIO="$(ESPEAK_AUDIO_BACKEND)" -C $(@D)/src all
> +endef
> +
> +define ESPEAK_INSTALL_TARGET_CMDS
> +       $(MAKE) install DESTDIR="$(TARGET_DIR)" -C $(@D)/src
> +endef
> +
> +$(eval $(generic-package))
> --


Best regards,
Thomas
diff mbox

Patch

diff --git a/package/Config.in b/package/Config.in
index 41d828a..31f6274 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -6,6 +6,7 @@  menu "Audio and video applications"
 source "package/alsa-utils/Config.in"
 source "package/aumix/Config.in"
 source "package/bellagio/Config.in"
+source "package/espeak/Config.in"
 source "package/faad2/Config.in"
 source "package/ffmpeg/Config.in"
 source "package/flac/Config.in"
diff --git a/package/espeak/Config.in b/package/espeak/Config.in
new file mode 100644
index 0000000..09b4920
--- /dev/null
+++ b/package/espeak/Config.in
@@ -0,0 +1,41 @@ 
+comment "eSpeak requires a toolchain with C++ and WCHAR support"
+	depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR)
+
+config BR2_PACKAGE_ESPEAK
+	bool "eSpeak"
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_USE_WCHAR
+	help
+	  eSpeak is a speech synthesizer software for English and other languages.
+
+	  http://espeak.sourceforge.net/
+
+if BR2_PACKAGE_ESPEAK
+choice
+prompt "choose audio backend"
+default BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_NONE
+
+config BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_NONE
+	bool "No sound backend, only produce wav files"
+
+comment "ALSA backend requires a toolchain with threads support"
+depends on !BR2_TOOLCHAIN_HAS_THREADS
+
+config BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_ALSA
+	bool "ALSA via Portaudio"
+	select BR2_PACKAGE_PORTAUDIO
+	select BR2_PACKAGE_PORTAUDIO_CXX
+	depends on BR2_TOOLCHAIN_HAS_THREADS #portaudio
+
+comment "Pulseaudio backend requires a toolchain with WCHAR, LARGEFILE and threads support"
+depends on !(BR2_TOOLCHAIN_HAS_THREADS && BR2_USE_WCHAR && BR2_LARGEFILE)
+
+config BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_PULSEAUDIO
+	bool "pulseaudio"
+	select BR2_PACKAGE_PULSEAUDIO
+	depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio
+	depends on BR2_USE_WCHAR # pulseaudio
+	depends on BR2_LARGEFILE # pulseaudio
+
+endchoice
+endif # BR2_PACKAGE_ESPEAK
diff --git a/package/espeak/espeak-01-do-not-compil-when-install.patch b/package/espeak/espeak-01-do-not-compil-when-install.patch
new file mode 100644
index 0000000..983cd1c
--- /dev/null
+++ b/package/espeak/espeak-01-do-not-compil-when-install.patch
@@ -0,0 +1,15 @@ 
+Makefile: do not execute the rule "all" when executing "install"
+
+signed-off-by: Arnaud Aujon <arnaud.aujon@gmail.com>
+===================================================================
+--- espeak-1.47.11-source.orig/src/Makefile
++++ espeak-1.47.11-source/src/Makefile
+@@ -131,7 +131,7 @@
+ 	rm -f $(BIN2_NAME)
+ 	rm -f $(LIB_NAME)*
+ 
+-install: all
++install:
+ 	# Create directories
+ 	rm -rf $(DESTDIR)$(DATADIR)
+ 	$(MKDIR) $(DESTDIR)$(BINDIR)
diff --git a/package/espeak/espeak.mk b/package/espeak/espeak.mk
new file mode 100644
index 0000000..f3c963c
--- /dev/null
+++ b/package/espeak/espeak.mk
@@ -0,0 +1,44 @@ 
+###############################################################################
+#
+# espeak
+#
+###############################################################################
+
+ESPEAK_VERSION = 1.47.11
+ESPEAK_SOURCE = espeak-$(ESPEAK_VERSION)-source.zip
+ESPEAK_SITE = http://downloads.sourceforge.net/project/espeak/espeak/espeak-1.47
+ESPEAK_LICENSE = GPLv3+
+ESPEAK_LICENSE_FILES = Licence.txt
+
+ifeq ($(BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_ALSA),y)
+ESPEAK_AUDIO_BACKEND = portaudio
+ESPEAK_DEPENDENCIES = portaudio
+endif
+ifeq ($(BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_PULSEAUDIO),y)
+ESPEAK_AUDIO_BACKEND = pulseaudio
+ESPEAK_DEPENDENCIES = pulseaudio
+endif
+
+define ESPEAK_EXTRACT_CMDS
+	unzip -d $(@D) $(DL_DIR)/$(ESPEAK_SOURCE)
+	mv $(@D)/espeak-$(ESPEAK_VERSION)-source/* $(@D)
+	$(RM) -r $(@D)/espeak-$(ESPEAK_VERSION)-source
+endef
+
+define ESPEAK_CONFIGURE_CMDS
+	# Buildroot provides portaudio V19, see ReadMe file for more details.
+	cp $(@D)/src/portaudio19.h $(@D)/src/portaudio.h
+endef
+
+define ESPEAK_BUILD_CMDS
+	$(MAKE) $(TARGET_CONFIGURE_OPTS) \
+		AUDIO="$(ESPEAK_AUDIO_BACKEND)" \
+		-C $(@D)/src all
+#	$(MAKE) CXX="$(TARGET_CXX)" LD="$(TARGET_LD)" AUDIO="$(ESPEAK_AUDIO_BACKEND)" -C $(@D)/src all
+endef
+
+define ESPEAK_INSTALL_TARGET_CMDS
+	$(MAKE) install DESTDIR="$(TARGET_DIR)" -C $(@D)/src
+endef
+
+$(eval $(generic-package))