From: Arnaud Aujon <arnaud.aujon@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v5] espeak: new package
Date: Mon, 14 Oct 2013 19:15:29 +0200 [thread overview]
Message-ID: <1381770929-13754-1-git-send-email-arnaud.aujon@gmail.com> (raw)
Signed-off-by: Arnaud Aujon <arnaud.aujon@gmail.com>
---
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-1-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-1-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..926c5f0
--- /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-1-do-not-compil-when-install.patch b/package/espeak/espeak-1-do-not-compil-when-install.patch
new file mode 100644
index 0000000..983cd1c
--- /dev/null
+++ b/package/espeak/espeak-1-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..3914850
--- /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
+endef
+
+define ESPEAK_INSTALL_TARGET_CMDS
+ $(MAKE) install DESTDIR="$(TARGET_DIR)" -C $(@D)/src
+endef
+
+$(eval $(generic-package))
--
1.8.3.1
next reply other threads:[~2013-10-14 17:15 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-14 17:15 Arnaud Aujon [this message]
2013-10-14 17:19 ` [Buildroot] [PATCH v5] espeak: new package Ryan Barnett
2013-10-14 17:40 ` Thomas Petazzoni
2013-10-14 17:49 ` arnaud aujon
2013-10-14 17:58 ` Thomas Petazzoni
2013-10-14 18:07 ` arnaud aujon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1381770929-13754-1-git-send-email-arnaud.aujon@gmail.com \
--to=arnaud.aujon@gmail.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.