espeak-vl.spec 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258
  1. Name: espeak
  2. Summary: Software speech synthesizer (text-to-speech)
  3. Version: 1.48.04
  4. Release: 1%{?_dist_release}
  5. Group: Applications/Multimedia
  6. License: GPLv3+
  7. URL: http://espeak.sourceforge.net
  8. Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}-source.zip
  9. # Upstream ticket: https://sourceforge.net/p/espeak/patches/10/
  10. Source1: espeak.1
  11. Patch0: espeak-1.47-makefile-nostaticlibs.patch
  12. Patch1: espeak-1.47-ftbs-ld-libm.patch
  13. # Upstream ticket: https://sourceforge.net/p/espeak/patches/10/
  14. Patch2: espeak-1.48-help-fix.patch
  15. # Upstream ticket: https://sourceforge.net/p/espeak/bugs/105/
  16. Patch3: espeak-1.47-wav-close.patch
  17. BuildRoot: %{_tmppath}/%{name}-%{version}-root
  18. BuildRequires: portaudio-devel
  19. BuildRequires: pulseaudio-libs-devel
  20. BuildRequires: gcc-c++
  21. %description
  22. eSpeak is a software speech synthesizer for English and other languages.
  23. eSpeak produces good quality English speech. It uses a different synthesis
  24. method from other open source TTS engines, and sounds quite different.
  25. It's perhaps not as natural or "smooth", but some people may find the
  26. articulation clearer and easier to listen to for long periods. eSpeak supports
  27. several languages, however in most cases these are initial drafts and need more
  28. work to improve them.
  29. It can run as a command line program to speak text from a file or from stdin.
  30. %package devel
  31. Summary: Development files for %{name}
  32. Summary(ja): %{name} の開発用ファイル
  33. Group: Development/Libraries
  34. Requires: %{name} = %{version}-%{release}
  35. %description devel
  36. Development files for eSpeak, a software speech synthesizer.
  37. %prep
  38. %setup -q -n espeak-%{version}-source
  39. %patch0 -p1 -b .nostaticlibs
  40. %patch1 -p1 -b .ftbs-ld-libm
  41. %patch2 -p1 -b .help-fix
  42. %patch3 -p1 -b .wav-close
  43. # Fix file permissions
  44. find . -type f -exec chmod 0644 {} ";"
  45. # Prepare documentation
  46. rm -rf docs/images/.svn
  47. mv docs html
  48. sed -i 's/\r//' License.txt
  49. # Compile against portaudio v19 (see ReadMe)
  50. cp -f src/portaudio19.h src/portaudio.h
  51. # Don't use the included binary voice dictionaries; we compile these from source
  52. rm -f espeak-data/*_dict
  53. %build
  54. # Compile espeak
  55. cd src
  56. make %{?_smp_mflags} CXXFLAGS="$RPM_OPT_FLAGS" LDFLAGS="$RPM_LD_FLAGS" AUDIO=pulseaudio
  57. # Compile the TTS voice dictionaries
  58. export ESPEAK_DATA_PATH=$RPM_BUILD_DIR/espeak-%{version}-source
  59. cd ../dictsource
  60. # Strange sed regex to parse ambiguous output from 'speak --voices', filled upstream BZ 3608811
  61. for voice in $(../src/speak --voices | \
  62. LANG=C sed -n '/Age\/Gender/ ! s/ *[0-9]\+ *\([^ ]\+\) *M\? *[^ ]\+ *\(\((\|[A-Z]\)[^ ]\+\)\? *\([^ ]\+\).*/\1 \4/ p' | \
  63. sort | uniq); do \
  64. ../src/speak --compile=$voice; \
  65. done
  66. %install
  67. rm -rf $RPM_BUILD_ROOT
  68. cd $RPM_BUILD_DIR/espeak-%{version}-source/src
  69. make install DESTDIR=$RPM_BUILD_ROOT BINDIR=%{_bindir} INCDIR=%{_includedir}/espeak LIBDIR=%{_libdir}
  70. # Install manpage
  71. mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
  72. cp -pf %{SOURCE1} $RPM_BUILD_ROOT%{_mandir}/man1/
  73. %clean
  74. rm -rf $RPM_BUILD_ROOT
  75. %post -p /sbin/ldconfig
  76. %postun -p /sbin/ldconfig
  77. %files
  78. %defattr(-,root,root,-)
  79. %doc $RPM_BUILD_DIR/espeak-%{version}-source/ReadMe $RPM_BUILD_DIR/espeak-%{version}-source/ChangeLog.txt $RPM_BUILD_DIR/espeak-%{version}-source/License.txt $RPM_BUILD_DIR/espeak-%{version}-source/html/
  80. %{_mandir}/man1/espeak.1.gz
  81. %{_bindir}/espeak
  82. %{_datadir}/espeak-data
  83. %{_libdir}/libespeak.so.*
  84. %files devel
  85. %defattr(-,root,root)
  86. %{_libdir}/*.so
  87. %{_includedir}/espeak
  88. %changelog
  89. * Mon Dec 15 2014 Ryoichi INAGAKI <ryo1@toki.waseda.jp> - 1.48.04-1
  90. - updated to 1.48.04
  91. - replaced Patch0, 1, 2 and 3 based FC
  92. * Sun May 27 2012 Ryoichi INAGAKI <ryo1@bc.wakwak.com> - 1.43-4
  93. - rebuilt with rpm-4.8.1-3
  94. * Sun Mar 14 2010 Ryoichi INAGAKI <ryo1@bc.wakwak.com> - 1.43-3
  95. - Initial build for Vine Linux
  96. * Thu Feb 18 2010 Francois Aucamp <faucamp@fedoraproject.org> - 1.43-2
  97. - Added patch declaring explicit libm linking dependency (RHBZ #565186)
  98. * Sat Feb 13 2010 Francois Aucamp <faucamp@fedoraproject.org> - 1.43-1
  99. - Update to version 1.43
  100. - Added patch for runtime detection of pulseaudio, contributed by Kevin Kofler (RHBZ #512190)
  101. * Thu Dec 17 2009 Francois Aucamp <faucamp@fedoraproject.org> - 1.42.04-1
  102. - Update to version 1.42.04
  103. - Revert: build against PortAudio instead of native PulseAudio (RHBZ #512190, #532674)
  104. * Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.40.02-3
  105. - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
  106. * Tue Jun 30 2009 Francois Aucamp <faucamp@fedoraproject.org> - 1.40.02-2
  107. - Compile against pulseaudio instead of portaudio (RHBZ #481651)
  108. * Mon Jun 22 2009 Francois Aucamp <faucamp@fedoraproject.org> - 1.40.02-1
  109. - Update to version 1.40.02
  110. - Added patch to compile with GCC and not to link to libstdc++ (not needed)
  111. - Added manpage (thanks goes to Luke Yelavich from Ubuntu for writing it)
  112. * Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.39-2
  113. - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
  114. * Tue Oct 21 2008 Francois Aucamp <faucamp@fedoraproject.org> - 1.39-1
  115. - Update to version 1.39
  116. * Tue Feb 26 2008 Francois Aucamp <faucamp@fedoraproject.org> - 1.31-5
  117. - Export ESPEAK_DATA_PATH in %%build to allow proper compilation of voice dictionaries
  118. * Tue Jan 29 2008 Francois Aucamp <faucamp@fedoraproject.org> - 1.31-4
  119. - Removed libjack patches as they are unnecessary
  120. * Tue Jan 29 2008 Francois Aucamp <faucamp@fedoraproject.org> - 1.31-3
  121. - Added "makefile_libjack" patch to link to libjack
  122. - Added BuildRequires: jack-audio-connection-kit-devel
  123. * Fri Jan 25 2008 Francois Aucamp <faucamp@fedoraproject.org> - 1.31-2
  124. - Removed espeakedit (and associated patches and BuildRequires) from package
  125. until all phoneme table compilation functions can be moved into espeak (or a
  126. separate commandline app without wxGTK dependencies)
  127. - Voices are still compiled from source, but using pre-compiled phoneme table
  128. from upstream until the above issue is resolved
  129. * Thu Jan 24 2008 Francois Aucamp <faucamp@fedoraproject.org> - 1.31-1
  130. - Update to version 1.31
  131. - Compile phoneme tables and voice dictionaries from source instead of
  132. packaging pre-compiled binary data
  133. - Added espeakedit as Source1
  134. - Added BuildRequires: wxGTK-devel for espeakedit
  135. - Added "makefile_rpmoptflags_wxversion" espeakedit patch to enable
  136. RPM_OPT_FLAGS and set the correct wxWidgets version
  137. - Added "espeak_data_path" espeakedit patch to be able to set control the
  138. source directory that espeakedit's compiler uses
  139. * Tue Jan 15 2008 Francois Aucamp <faucamp@fedoraproject.org> - 1.30-1
  140. - Update to version 1.30
  141. - Removed local "synthdata_strlen" patch (included upstream)
  142. * Mon Aug 20 2007 Francois Aucamp <faucamp@csir.co.za> - 1.28-1
  143. - Update to version 1.28
  144. - Added "synthdata_strlen" patch to fix memory allocation issue on x86_64 (RHBZ #252712)
  145. - Modified %%prep to build against portaudio v19 for F8 and later
  146. - Upstream license changed from GPLv2+ to GPLv3+
  147. * Tue Jun 19 2007 Francois Aucamp <faucamp@csir.co.za> - 1.26-1
  148. - Update to version 1.26
  149. - Modified %%prep to build against portaudio v19
  150. * Tue Jun 05 2007 Francois Aucamp <faucamp@csir.co.za> - 1.25-1
  151. - Update to version 1.25
  152. * Tue May 08 2007 Francois Aucamp <faucamp@csir.co.za> - 1.24-1
  153. - Update to version 1.24
  154. * Tue Apr 24 2007 Francois Aucamp <faucamp@csir.co.za> - 1.23-1
  155. - Update to version 1.23
  156. - Added "makefile_nostaticlibs" patch so static libraries aren't installed
  157. * Thu Feb 08 2007 Francois Aucamp <faucamp@csir.co.za> - 1.20-1
  158. - Update to version 1.20
  159. - Solves stack smash bug (RHBZ #227316)
  160. * Fri Jan 26 2007 Francois Aucamp <faucamp@csir.co.za> - 1.19-1
  161. - Update to version 1.19
  162. - Removed "espeak-1.18-makefile_lpthread" patch as it has been included upstream
  163. - Removed "espeak-1.18-makefile_smp" patch as it has been included upstream
  164. - Removed "espeak-1.18-ptr_64bit" patch as it has been solved upstream
  165. - Fixed espeak-data file permissions
  166. * Tue Jan 16 2007 Francois Aucamp <faucamp@csir.co.za> - 1.18-2
  167. - Created "espeak-1.18-ptr_64bit" patch to allow compilation on x86_64 (fixes 64-bit pointer issues)
  168. - Created "espeak-1.18-makefile_smp" patch to allow parallel make ("_smp_mflags")
  169. - Renamed "makefile_lpthread" patch to "espeak-1.18-makefile_lpthread"
  170. * Mon Jan 15 2007 Francois Aucamp <faucamp@csir.co.za> - 1.18-1
  171. - Update to version 1.18
  172. - Dropped statically-linked "speak" executable (replaced by dynamically-linked "espeak" executable)
  173. - Removed the "espeak program name" patch as it has been included upstream
  174. - Removed "espeak program name" patch backup file cleanup from %%install
  175. - Minor modification to "makefile lpthread" patch to account for new lib/executable
  176. - Removed "BIN_NAME" variable from make in %%build (implemented upstream)
  177. * Mon Nov 20 2006 Francois Aucamp <faucamp@csir.co.za> - 1.17-1
  178. - Update to version 1.17
  179. - Removed "makefile install target" patch as it has been included upstream
  180. - Removed "AMD64 sizeof(char *)" patch as it has been included upstream
  181. - Minor modification to "espeak program name" patch to allow patching current version
  182. * Tue Nov 07 2006 Francois Aucamp <faucamp@csir.co.za> - 1.16-4
  183. - Modified patch steps to create backups with different suffixes
  184. - Renamed patch file extensions to .patch
  185. - Added step in %%install to remove patch backup files in documentation
  186. * Sat Nov 04 2006 Francois Aucamp <faucamp@csir.co.za> - 1.16-3
  187. - Fixed source file permissions for -debuginfo package in %%prep
  188. - Added RPM_OPT_FLAGS to "make" command in %%build; removed RPM_OPT_FLAGS makefile patch
  189. - Modified makefile install target patch to include general support for setting compiler optimization flags via CXXFLAGS
  190. - Removed creation of .orig backup files during patching
  191. - Modified patch files to have different suffixes
  192. * Thu Nov 02 2006 Francois Aucamp <faucamp@csir.co.za> - 1.16-2
  193. - Added "install" target to makefile (makefile_install_target.patch)
  194. - Added patch to fix AMD64 sizeof(char *) assumption bug (upstream request ID 1588938)
  195. - Changed "portaudio" BuildRequires to "portaudio-devel"
  196. - Added patch to makefile to allow RPM_OPT_FLAGS
  197. - Added patch to replace all references to "speak" binary with "espeak"
  198. - Moved header files to /usr/include/espeak
  199. - Added rmdir command to "install" to remove empty soundicons directory
  200. * Wed Oct 04 2006 Francois Aucamp <faucamp@csir.co.za> - 1.16-1
  201. - Initial RPM build