rpms/espeak/devel espeakedit-1.31-espeak_data_path.patch, NONE, 1.1 espeakedit-1.31-makefile_rpmoptflags_wxversion.patch, NONE, 1.1 .cvsignore, 1.12, 1.13 espeak.spec, 1.12, 1.13 sources, 1.12, 1.13

Francois Aucamp (faucamp) fedora-extras-commits at redhat.com
Thu Jan 24 15:18:40 UTC 2008


Author: faucamp

Update of /cvs/pkgs/rpms/espeak/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv6501

Modified Files:
	.cvsignore espeak.spec sources 
Added Files:
	espeakedit-1.31-espeak_data_path.patch 
	espeakedit-1.31-makefile_rpmoptflags_wxversion.patch 
Log Message:
- Update to version 1.31
- Compile phoneme tables and voice dictionaries from source instead of
  packaging pre-compiled binary data
- Added espeakedit as Source1
- Added BuildRequires: wxGTK-devel for espeakedit
- Added "makefile_rpmoptflags_wxversion" espeakedit patch to enable
  RPM_OPT_FLAGS and set the correct wxWidgets version
- Added "espeak_data_path" espeakedit patch to be able to set control the
  source directory that espeakedit's compiler uses


espeakedit-1.31-espeak_data_path.patch:

--- NEW FILE espeakedit-1.31-espeak_data_path.patch ---
diff -uNr espeakedit-1.31/src/options.cpp espeakedit-1.31-mod/src/options.cpp
--- espeakedit-1.31/src/options.cpp	2008-01-19 23:51:22.000000000 +0200
+++ espeakedit-1.31-mod/src/options.cpp	2008-01-23 14:38:36.000000000 +0200
@@ -153,7 +153,16 @@
 		sprintf(path_home,"%s\\espeak-data",path_base);
 	}
 #else
-	snprintf(path_home,sizeof(path_home),"%s/espeak-data",getenv("HOME"));
+	char *env;
+	// check for environment variable
+	if((env = getenv("ESPEAK_DATA_PATH")) != NULL)
+	{
+		snprintf(path_home,sizeof(path_home),"%s/espeak-data",env);
+	}
+	else
+	{
+		snprintf(path_home,sizeof(path_home),"%s/espeak-data",getenv("HOME"));
+	}
 	path_base = path_home;
 #endif
 	mkdir(path_home,S_IRWXU);    // create if it doesn't already exist

espeakedit-1.31-makefile_rpmoptflags_wxversion.patch:

--- NEW FILE espeakedit-1.31-makefile_rpmoptflags_wxversion.patch ---
diff -uNr espeakedit-1.31/src/Makefile espeakedit-1.31-mod/src/Makefile
--- espeakedit-1.31/src/Makefile	2007-05-05 12:25:42.000000000 +0200
+++ espeakedit-1.31-mod/src/Makefile	2008-01-23 15:51:30.000000000 +0200
@@ -1,18 +1,21 @@
 SRCS=$(wildcard *.cpp)
 OBJS=$(patsubst %.cpp,%.o,$(SRCS))
 
-WX_LIBS = -pthread   -lwx_gtk2u_xrc-2.6 -lwx_gtk2u_qa-2.6 -lwx_gtk2u_html-2.6 -lwx_gtk2u_adv-2.6 -lwx_gtk2u_core-2.6 -lwx_baseu_xml-2.6 -lwx_baseu_net-2.6 -lwx_baseu-2.6 
+WX_VERSION = 2.8
 
-LIBS=-lstdc++ -lportaudio
+WX_LIBS = -pthread   -lwx_gtk2u_xrc-$(WX_VERSION) -lwx_gtk2u_qa-$(WX_VERSION) -lwx_gtk2u_html-$(WX_VERSION) -lwx_gtk2u_adv-$(WX_VERSION) -lwx_gtk2u_core-$(WX_VERSION) -lwx_baseu_xml-$(WX_VERSION) -lwx_baseu_net-$(WX_VERSION) -lwx_baseu-$(WX_VERSION) 
+WX_INCLUDES = -I/usr/lib/wx/include/gtk2-unicode-release-$(WX_VERSION) -I/usr/include/wx-$(WX_VERSION)
 
-CPPFLAGS =  -Wall -g -fexceptions -I/usr/lib/wx/include/gtk2-unicode-release-2.6 -I/usr/include/wx-2.6 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -DNO_GCC_PRAGMA -D_ESPEAKEDIT
+LIBS = -lstdc++ -lportaudio
 
-CXXFLAGS = -O2 -g0 -Wall -g -fexceptions -I/usr/lib/wx/include/gtk2-unicode-release-2.6 -I/usr/include/wx-2.6 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -DNO_GCC_PRAGMA -D_ESPEAKEDIT
+DEFS = -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -DNO_GCC_PRAGMA -D_ESPEAKEDIT
+
+CXXFLAGS = -O2 -g0 -Wall -g -fexceptions
 
 all: espeakedit
 
 .cpp.o:
-	$(CXX) $(CXXFLAGS) -I. -c -fno-exceptions $<
+	$(CXX) $(CXXFLAGS) $(WX_INCLUDES) $(DEFS) -I. -c -fno-exceptions $<
 
 espeakedit: $(OBJS)
 	$(CXX) -o $@ $(OBJS) $(LIBS) $(WX_LIBS)


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/espeak/devel/.cvsignore,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- .cvsignore	15 Jan 2008 13:01:50 -0000	1.12
+++ .cvsignore	24 Jan 2008 15:18:01 -0000	1.13
@@ -1 +1,2 @@
-espeak-1.30-source.zip
+espeak-1.31-source.zip
+espeakedit-1.31.zip


Index: espeak.spec
===================================================================
RCS file: /cvs/pkgs/rpms/espeak/devel/espeak.spec,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- espeak.spec	15 Jan 2008 13:01:50 -0000	1.12
+++ espeak.spec	24 Jan 2008 15:18:01 -0000	1.13
@@ -1,5 +1,5 @@
 Name:           espeak
-Version:        1.30
+Version:        1.31
 Release:        1%{?dist}
 Summary:        Software speech synthesizer (text-to-speech)
 
@@ -7,10 +7,17 @@
 License:        GPLv3+
 URL:            http://espeak.sourceforge.net
 Source0:        http://kent.dl.sourceforge.net/sourceforge/espeak/espeak-%{version}-source.zip
+# espeakedit is a GUI for creating voices for espeak.
+# However, this archive also contains the sources for the otherwise
+# binary-only phoneme tables bundled with the espeak archive, as well as the
+# compiler needed to build them.
+Source1:        http://kent.dl.sourceforge.net/sourceforge/espeak/espeakedit-%{version}.zip
 Patch0:         espeak-1.23-makefile_nostaticlibs.patch
+Patch10:        espeakedit-1.31-makefile_rpmoptflags_wxversion.patch
+Patch11:        espeakedit-1.31-espeak_data_path.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
-BuildRequires:  portaudio-devel
+BuildRequires:  portaudio-devel wxGTK-devel
 
 
 %description
@@ -48,22 +55,58 @@
     # F8 uses portaudio v19 - compile against that (see ReadMe)
     cp -f src/portaudio19.h src/portaudio.h
 %endif
+# Don't use the binary voice dictionaries; we compile these from source
+rm -f espeak-data/*_dict
+# Don't use the binary phoneme tables; we compile these from espeakedit's source
+rm -f espeak-data/phon*
+
+%setup -q -T -b 1 -n espeakedit-%{version}
+%patch10 -p1 -b .rpmoptflags_wxversion
+%patch11 -p1 -b .espeak_data_path
+%if 0%{?fedora} >= 8
+    # F8 uses portaudio v19 - compile against that (see ReadMe)
+    cp -f src/portaudio19.h src/portaudio.h
+%endif
+# Copy TTS voice phoneme sources into espeak's espeak-data dir
+# (so we can compile the master phoneme tables with espeakedit)
+cp -rf phsource $RPM_BUILD_DIR/espeak-%{version}-source/espeak-data
 
 
 %build
-cd src
-make %{?_smp_mflags} CXXFLAGS="${RPM_OPT_FLAGS}"
+# Compile espeakedit (we need this to build the TTS voices for espeak)
+cd $RPM_BUILD_DIR/espeakedit-%{version}/src
+make %{?_smp_mflags} CXXFLAGS="$RPM_OPT_FLAGS"
+
+# Compile the phonemes sources for TTS voices for espeak
+# - for this to work, we need to set the ESPEAK_DATA_PATH environment variable
+# to our local source dir so that espeakedit can find the phoneme sources
+# as well as its destination dir
+export ESPEAK_DATA_PATH=$RPM_BUILD_DIR/espeak-%{version}-source
+export DISPLAY=:0 # Needed for GTK
+./espeakedit --compile
+# Remove the phonemes sources from espeak's dir tree
+rm -rf $RPM_BUILD_DIR/espeak-%{version}-source/espeak-data/phsource
+
+# Compile espeak
+cd $RPM_BUILD_DIR/espeak-%{version}-source/src
+make %{?_smp_mflags} CXXFLAGS="$RPM_OPT_FLAGS"
+
+# Compile the TTS voice dictionaries using the phoneme tables we built using espeakedit
+cd ../dictsource
+#for voice in $(ls *_*s* | cut -f 1 -d _ | uniq); do \
+for voice in $(../src/speak --voices | awk '{print $2}{print $5}' | egrep -v Language\|File\|/ | uniq); do \
+    ../src/speak --compile=$voice; \
+done
 
 
 %install
-rm -rf %{buildroot}
-rmdir --ignore-fail-on-non-empty espeak-data/soundicons
-cd src
-make install DESTDIR=%{buildroot} BINDIR=%{_bindir} INCDIR=%{_includedir}/espeak LIBDIR=%{_libdir}
+rm -rf $RPM_BUILD_ROOT
+cd $RPM_BUILD_DIR/espeak-%{version}-source/src
+make install DESTDIR=$RPM_BUILD_ROOT BINDIR=%{_bindir} INCDIR=%{_includedir}/espeak LIBDIR=%{_libdir}
 
 
 %clean
-rm -rf %{buildroot}
+rm -rf $RPM_BUILD_ROOT
 
 
 %post -p /sbin/ldconfig
@@ -74,7 +117,7 @@
 
 %files
 %defattr(-,root,root,-)
-%doc ReadMe ChangeLog License.txt html/
+%doc $RPM_BUILD_DIR/espeak-%{version}-source/ReadMe $RPM_BUILD_DIR/espeak-%{version}-source/ChangeLog $RPM_BUILD_DIR/espeak-%{version}-source/License.txt $RPM_BUILD_DIR/espeak-%{version}-source/html/
 %{_bindir}/espeak
 %{_datadir}/espeak-data
 %{_libdir}/libespeak.so.*
@@ -87,6 +130,17 @@
 
 
 %changelog
+* Thu Jan 24 2008 Francois Aucamp <faucamp at fedoraproject.org> - 1.31-1
+- Update to version 1.31
+- Compile phoneme tables and voice dictionaries from source instead of
+  packaging pre-compiled binary data
+- Added espeakedit as Source1
+- Added BuildRequires: wxGTK-devel for espeakedit
+- Added "makefile_rpmoptflags_wxversion" espeakedit patch to enable
+  RPM_OPT_FLAGS and set the correct wxWidgets version
+- Added "espeak_data_path" espeakedit patch to be able to set control the
+  source directory that espeakedit's compiler uses
+
 * Tue Jan 15 2008 Francois Aucamp <faucamp at fedoraproject.org> - 1.30-1
 - Update to version 1.30
 - Removed local "synthdata_strlen" patch (included upstream)
@@ -164,4 +218,3 @@
 
 * Wed Oct 04 2006 Francois Aucamp <faucamp at csir.co.za> - 1.16-1
 - Initial RPM build
-


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/espeak/devel/sources,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- sources	15 Jan 2008 13:01:50 -0000	1.12
+++ sources	24 Jan 2008 15:18:01 -0000	1.13
@@ -1 +1,2 @@
-ac0869d3bb9a6254b40ecde9a77d88df  espeak-1.30-source.zip
+e11f04354af42677729b0f22ce891d71  espeak-1.31-source.zip
+7ef9894e17db6beee48b8967a431feb4  espeakedit-1.31.zip




More information about the fedora-extras-commits mailing list