Message ID | 1381770929-13754-1-git-send-email-arnaud.aujon@gmail.com |
---|---|
State | Superseded |
Headers | show |
Arnaud Aujon <arnaud.aujon@gmail.com> wrote on 10/14/2013 12:15:29 PM: > Signed-off-by: Arnaud Aujon <arnaud.aujon@gmail.com> Acked-by: Ryan Barnett <rjbarnet@rockwellcollins.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 > > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot
Dear Arnaud Aujon, > +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 Throughout the Buildroot tree, I don't think we have the habit of indenting things inside a choice, so I would remove one tab from this entire block. However, the "depends on" for the comments should be intended. > + > +endchoice > +endif #BR2_PACKAGE_ESPEAK Nit pick: one space between # and BR2_... > diff --git a/package/espeak/espeak-1-do-not-compil-when-install.patch b/package/espeak/espeak-1-do-not-compil-when-install.patch Even we have agreed on the number of digits we should use, I believe 1 digit is really too short. We don't even notice it's the patch number. So if you could replace that by espeak-01-....patch it would be great. > +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 License is actually GPLv3+, as the source code states: * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 3 of the License, or * * (at your option) any later version. * > +define ESPEAK_BUILD_CMDS > + $(MAKE) $(TARGET_CONFIGURE_OPTS)\ > + AUDIO="$(ESPEAK_AUDIO_BACKEND)"\ One space before backslashes. > + -C $(@D)/src all > +endef > + > +define ESPEAK_INSTALL_TARGET_CMDS > + $(MAKE) install DESTDIR="$(TARGET_DIR)" -C $(@D)/src > +endef Other than that, looks good to me. Thanks a lot for the quick turnaround of new versions! Thomas
Thomas, I will send a new patch shortly. About the licence, the file Licence.txt say GPLv3 but you're right in the source code we can find GPLv3+, what do you do in this case ? 2013/10/14 Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > Dear Arnaud Aujon, > > > +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 > > Throughout the Buildroot tree, I don't think we have the habit of > indenting things inside a choice, so I would remove one tab from this > entire block. However, the "depends on" for the comments should be > intended. > > > + > > +endchoice > > +endif #BR2_PACKAGE_ESPEAK > > Nit pick: one space between # and BR2_... > > > diff --git a/package/espeak/espeak-1-do-not-compil-when-install.patch > b/package/espeak/espeak-1-do-not-compil-when-install.patch > > Even we have agreed on the number of digits we should use, I believe 1 > digit is really too short. We don't even notice it's the patch number. > So if you could replace that by espeak-01-....patch it would be great. > > > +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 > > License is actually GPLv3+, as the source code states: > > * This program is free software; you can redistribute it and/or modify > * > * it under the terms of the GNU General Public License as published by > * > * the Free Software Foundation; either version 3 of the License, or > * > * (at your option) any later version. > * > > > > +define ESPEAK_BUILD_CMDS > > + $(MAKE) $(TARGET_CONFIGURE_OPTS)\ > > + AUDIO="$(ESPEAK_AUDIO_BACKEND)"\ > > One space before backslashes. > > > + -C $(@D)/src all > > +endef > > + > > +define ESPEAK_INSTALL_TARGET_CMDS > > + $(MAKE) install DESTDIR="$(TARGET_DIR)" -C $(@D)/src > > +endef > > Other than that, looks good to me. Thanks a lot for the quick > turnaround of new versions! > > Thomas > -- > Thomas Petazzoni, CTO, Free Electrons > Embedded Linux, Kernel and Android engineering > http://free-electrons.com >
Dear arnaud aujon, On Mon, 14 Oct 2013 19:49:09 +0200, arnaud aujon wrote: > I will send a new patch shortly. > About the licence, the file Licence.txt say GPLv3 but you're right in the > source code we can find GPLv3+, what do you do in this case ? It's very often the case: the COPYING or License file provides the license text for a given version of the GPL license, and the code itself precises whether it's only this version, or this version or later. And since the FSF recommends using the "or later" wording, many projects do this. In this case, the <pkg>_LICENSE should really be GPLv3+, because that's what the source code says. Thomas
2013/10/14 Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > Dear arnaud aujon, > > On Mon, 14 Oct 2013 19:49:09 +0200, arnaud aujon wrote: > > > I will send a new patch shortly. > > About the licence, the file Licence.txt say GPLv3 but you're right in the > > source code we can find GPLv3+, what do you do in this case ? > > It's very often the case: the COPYING or License file provides the > license text for a given version of the GPL license, and the code > itself precises whether it's only this version, or this version or > later. And since the FSF recommends using the "or later" wording, many > projects do this. > > In this case, the <pkg>_LICENSE should really be GPLv3+, because that's > what the source code says. > > Thanks for your explanation.
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
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