Blame SPECS/espeak.spec

948386
# package options
948386
%global with_portaudio no
948386
948386
%if "%{with_portaudio}" == "yes"
948386
%global backend runtime
948386
%else
948386
%global backend pulseaudio
948386
%endif
948386
948386
Name:           espeak
948386
Version:        1.47.11
948386
Release:        4%{?dist}
948386
Summary:        Software speech synthesizer (text-to-speech)
948386
948386
Group:          Applications/Multimedia
948386
License:        GPLv3+
948386
URL:            http://espeak.sourceforge.net
948386
Source0:        http://downloads.sourceforge.net/%{name}/%{name}-%{version}-source.zip
948386
# Upstream ticket: https://sourceforge.net/p/espeak/patches/10/
948386
Source1:        espeak.1
948386
Patch0:         espeak-1.47-makefile-nostaticlibs.patch
948386
Patch1:         espeak-1.47-ftbs-ld-libm.patch
948386
# Upstream ticket: https://sourceforge.net/p/espeak/patches/10/
948386
Patch2:         espeak-1.47-help-fix.patch
948386
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
948386
Requires(post): coreutils
948386
%if "%{with_portaudio}" == "yes"
948386
BuildRequires:  portaudio-devel
948386
%endif
948386
BuildRequires:  pulseaudio-libs-devel gcc-c++
948386
948386
948386
%description
948386
eSpeak is a software speech synthesizer for English and other languages.
948386
948386
eSpeak produces good quality English speech. It uses a different synthesis
948386
method from other open source TTS engines, and sounds quite different.
948386
It's perhaps not as natural or "smooth", but some people may find the
948386
articulation clearer and easier to listen to for long periods. eSpeak supports
948386
several languages, however in most cases these are initial drafts and need more
948386
work to improve them.
948386
948386
It can run as a command line program to speak text from a file or from stdin.
948386
948386
948386
%package devel
948386
Summary: Development files for espeak
948386
Group: Development/Libraries
948386
Requires: %{name} = %{version}-%{release}
948386
948386
948386
%description devel
948386
Development files for eSpeak, a software speech synthesizer.
948386
948386
948386
%prep
948386
%setup -q -n espeak-%{version}-source
948386
%patch0 -p1 -b .nostaticlibs
948386
%patch1 -p1 -b .ftbs-ld-libm
948386
%patch2 -p1 -b .help-fix
948386
948386
# Fix file permissions
948386
find . -type f -exec chmod 0644 {} ";"
948386
# Prepare documentation
948386
rm -rf docs/images/.svn
948386
mv docs html
948386
sed -i 's/\r//' License.txt
948386
# Compile against portaudio v19 (see ReadMe)
948386
cp -f src/portaudio19.h src/portaudio.h
948386
# Don't use the included binary voice dictionaries; we compile these from source
948386
rm -f espeak-data/*_dict
948386
948386
948386
%build
948386
# Compile espeak
948386
cd src
948386
make %{?_smp_mflags} CXXFLAGS="$RPM_OPT_FLAGS" LDFLAGS="$RPM_LD_FLAGS" AUDIO=%{backend}
948386
948386
# Compile the TTS voice dictionaries
948386
export ESPEAK_DATA_PATH=$RPM_BUILD_DIR/espeak-%{version}-source
948386
cd ../dictsource
948386
# Strange sed regex to parse ambiguous output from 'speak --voices', filled upstream BZ 3608811
948386
for voice in $(../src/speak --voices | \
948386
LANG=C sed -n '/Age\/Gender/ ! s/ *[0-9]\+ *\([^ ]\+\) *M\? *[^ ]\+ *\(\((\|[A-Z]\)[^ ]\+\)\? *\([^ ]\+\).*/\1 \4/ p' | \
948386
sort | uniq); do \
948386
    ../src/speak --compile=$voice; \
948386
done
948386
948386
948386
%install
948386
rm -rf $RPM_BUILD_ROOT
948386
cd $RPM_BUILD_DIR/espeak-%{version}-source/src
948386
make install DESTDIR=$RPM_BUILD_ROOT BINDIR=%{_bindir} INCDIR=%{_includedir}/espeak LIBDIR=%{_libdir} AUDIO=%{backend}
948386
# Install manpage
948386
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
948386
cp -pf %{SOURCE1} $RPM_BUILD_ROOT%{_mandir}/man1/
948386
948386
# Hack to workaround RPM bug 924660 to allow clean update from espeak-1.46 to espeak-1.47, could be probably dropped in f21+
948386
mv %{buildroot}%{_datadir}/%{name}-data/voices/en %{buildroot}%{_datadir}/%{name}-data/voices/_en
948386
touch %{buildroot}%{_datadir}/%{name}-data/voices/en
948386
948386
%clean
948386
rm -rf $RPM_BUILD_ROOT
948386
948386
948386
%post
948386
/sbin/ldconfig
948386
# Hack to workaround RPM bug 924660 to allow clean update from espeak-1.46 to espeak-1.47, could be probably dropped in f21+
948386
if [ -d %{_datadir}/%{name}-data/voices/en ]
948386
then
948386
  rm -f %{_datadir}/%{name}-data/voices/en/*
948386
  rmdir %{_datadir}/%{name}-data/voices/en
948386
fi
948386
[ -f %{_datadir}/%{name}-data/voices/_en ] && \
948386
  cp -f %{_datadir}/%{name}-data/voices/_en %{_datadir}/%{name}-data/voices/en &> /dev/null || :
948386
exit 0
948386
948386
%postun -p /sbin/ldconfig
948386
948386
948386
%files
948386
%defattr(-,root,root,-)
948386
%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/
948386
%{_mandir}/man1/espeak.1.gz
948386
%{_bindir}/espeak
948386
%{_datadir}/espeak-data
948386
%{_libdir}/libespeak.so.*
948386
# Hack to workaround RPM bug 924660 to allow clean update from espeak-1.46 to espeak-1.47, could be probably dropped in f21+
948386
%ghost %{_datadir}/espeak-data/voices/en
948386
948386
%files devel
948386
%defattr(-,root,root)
948386
%{_libdir}/*.so
948386
%{_includedir}/espeak
948386
948386
948386
%changelog
948386
* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 1.47.11-4
948386
- Mass rebuild 2014-01-24
948386
948386
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 1.47.11-3
948386
- Mass rebuild 2013-12-27
948386
948386
* Mon Jul 15 2013 Jaroslav Å karvada <jskarvad@redhat.com> - 1.47.11-2
948386
- Fixed manual page and built-in help to be up-to-date
948386
948386
* Tue May  7 2013 Jaroslav Å karvada <jskarvad@redhat.com> - 1.47.11-1
948386
- New version
948386
  Resolves: rhbz#958146
948386
- Defuzzifed patches
948386
948386
* Mon Apr 29 2013 Jaroslav Å karvada <jskarvad@redhat.com> - 1.47.08-1
948386
- New version
948386
  Resolves: rhbz#957612
948386
948386
* Fri Apr 19 2013 Jaroslav Å karvada <jskarvad@redhat.com> - 1.47.07-1
948386
- New version
948386
  Resolves: rhbz#953772
948386
948386
* Tue Apr 16 2013 Jaroslav Å karvada <jskarvad@redhat.com> - 1.47.06-1
948386
- New version
948386
  Resolves: rhbz#952565
948386
948386
* Tue Apr  9 2013 Jaroslav Å karvada <jskarvad@redhat.com> - 1.47.05-1
948386
- New version
948386
  Resolves: rhbz#949839, rhbz#922911, rhbz#924831
948386
948386
* Wed Apr  3 2013 Jaroslav Å karvada <jskarvad@redhat.com> - 1.47.04-1
948386
- New version
948386
  Resolves: rhbz#947739
948386
948386
* Tue Mar 26 2013 Jaroslav Å karvada <jskarvad@redhat.com> - 1.47.03-4
948386
- Added coreutils as post requirement
948386
948386
* Tue Mar 26 2013 Jaroslav Å karvada <jskarvad@redhat.com> - 1.47.03-3
948386
- Workaround for RPM bug 924660 rewrote for post
948386
948386
* Sun Mar 24 2013 Jaroslav Å karvada <jskarvad@redhat.com> - 1.47.03-2
948386
- Workaround for RPM bug 924660 moved from pretrans to pre
948386
  Resolves: rhbz#926004
948386
948386
* Fri Mar 22 2013 Jaroslav Å karvada <jskarvad@redhat.com> - 1.47.03-1
948386
- New version
948386
  Resolves: rhbz#924700
948386
- Workarounded RPM bug 924660 to allow clean update from 1.46 to 1.47
948386
  Resolves: rhbz#924681
948386
- Fixed script for recompilation of voices
948386
948386
* Wed Mar 20 2013 Jaroslav Å karvada <jskarvad@redhat.com> - 1.47.01-1
948386
- New version
948386
  Resolves: rhbz#923689
948386
- Dropped add-err-check patch (upstreamed)
948386
948386
* Wed Feb 13 2013 Jaroslav Å karvada <jskarvad@redhat.com> - 1.46.02-8
948386
- Add err checking (by add-err-check patch)
948386
  Resolves: rhbz#904302
948386
948386
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.46.02-7
948386
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
948386
948386
* Thu Nov 22 2012 Jaroslav Å karvada <jskarvad@redhat.com> - 1.46.02-6
948386
- Reintroduced ftbs_ld_libm patch, it still links with libm
948386
948386
* Thu Oct  4 2012 Jaroslav Å karvada <jskarvad@redhat.com> - 1.46.02-5
948386
- Fixed sources URL
948386
948386
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.46.02-4
948386
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
948386
948386
* Tue Mar  6 2012 Jaroslav Å karvada <jskarvad@redhat.com> - 1.46.02-3
948386
- Conditional portaudio support, portaudio is disabled by default
948386
  Resolves: rhbz#799137
948386
948386
* Fri Jan 27 2012 Jaroslav Å karvada <jskarvad@redhat.com> - 1.46.02-2
948386
- Drop portaudio for RHEL
948386
948386
* Fri Jan 13 2012 Jaroslav Å karvada <jskarvad@redhat.com> - 1.46.02-1
948386
- New version
948386
  Resolves: rhbz#781355
948386
948386
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.46.01-3
948386
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
948386
948386
* Wed Dec 14 2011 Jaroslav Å karvada <jskarvad@redhat.com> - 1.46.01-2
948386
- Runtime detection is the default again
948386
  Resolves: rhbz#767434
948386
948386
* Wed Nov 23 2011 Jaroslav Å karvada <jskarvad@redhat.com> - 1.46.01-1
948386
- New version
948386
- Removed runtime-detection patch (upstreamed)
948386
948386
* Mon Sep 19 2011 Ville Skyttä <ville.skytta@iki.fi> - 1.45.05-3
948386
- Build with $RPM_OPT_FLAGS and $RPM_LD_FLAGS.
948386
948386
* Fri Sep 16 2011 Jaroslav Å karvada <jskarvad@redhat.com> - 1.45.05-2
948386
- Dropped ftbs_ld_libm patch (not needed now)
948386
948386
* Thu Sep 15 2011 Jaroslav Å karvada <jskarvad@redhat.com> - 1.45.05-1
948386
- New version
948386
- Updated runtime_detection patch
948386
- Dropped gcc_no_libstdc++ patch
948386
948386
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.43-3
948386
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
948386
948386
* Thu Feb 18 2010 Francois Aucamp <faucamp@fedoraproject.org> - 1.43-2
948386
- Added patch declaring explicit libm linking dependency (RHBZ #565186)
948386
948386
* Sat Feb 13 2010 Francois Aucamp <faucamp@fedoraproject.org> - 1.43-1
948386
- Update to version 1.43
948386
- Added patch for runtime detection of pulseaudio, contributed by Kevin Kofler (RHBZ #512190)
948386
948386
* Thu Dec 17 2009 Francois Aucamp <faucamp@fedoraproject.org> - 1.42.04-1
948386
- Update to version 1.42.04
948386
- Revert: build against PortAudio instead of native PulseAudio (RHBZ #512190, #532674)
948386
948386
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.40.02-3
948386
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
948386
948386
* Tue Jun 30 2009 Francois Aucamp <faucamp@fedoraproject.org> - 1.40.02-2
948386
- Compile against pulseaudio instead of portaudio (RHBZ #481651)
948386
948386
* Mon Jun 22 2009 Francois Aucamp <faucamp@fedoraproject.org> - 1.40.02-1
948386
- Update to version 1.40.02
948386
- Added patch to compile with GCC and not to link to libstdc++ (not needed)
948386
- Added manpage (thanks goes to Luke Yelavich from Ubuntu for writing it)
948386
948386
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.39-2
948386
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
948386
948386
* Tue Oct 21 2008 Francois Aucamp <faucamp@fedoraproject.org> - 1.39-1
948386
- Update to version 1.39
948386
948386
* Tue Feb 26 2008 Francois Aucamp <faucamp@fedoraproject.org> - 1.31-5
948386
- Export ESPEAK_DATA_PATH in %%build to allow proper compilation of voice dictionaries
948386
948386
* Tue Jan 29 2008 Francois Aucamp <faucamp@fedoraproject.org> - 1.31-4
948386
- Removed libjack patches as they are unnecessary
948386
948386
* Tue Jan 29 2008 Francois Aucamp <faucamp@fedoraproject.org> - 1.31-3
948386
- Added "makefile_libjack" patch to link to libjack
948386
- Added BuildRequires: jack-audio-connection-kit-devel
948386
948386
* Fri Jan 25 2008 Francois Aucamp <faucamp@fedoraproject.org> - 1.31-2
948386
- Removed espeakedit (and associated patches and BuildRequires) from package
948386
  until all phoneme table compilation functions can be moved into espeak (or a
948386
  separate commandline app without wxGTK dependencies)
948386
- Voices are still compiled from source, but using pre-compiled phoneme table
948386
  from upstream until the above issue is resolved
948386
948386
* Thu Jan 24 2008 Francois Aucamp <faucamp@fedoraproject.org> - 1.31-1
948386
- Update to version 1.31
948386
- Compile phoneme tables and voice dictionaries from source instead of
948386
  packaging pre-compiled binary data
948386
- Added espeakedit as Source1
948386
- Added BuildRequires: wxGTK-devel for espeakedit
948386
- Added "makefile_rpmoptflags_wxversion" espeakedit patch to enable
948386
  RPM_OPT_FLAGS and set the correct wxWidgets version
948386
- Added "espeak_data_path" espeakedit patch to be able to set control the
948386
  source directory that espeakedit's compiler uses
948386
948386
* Tue Jan 15 2008 Francois Aucamp <faucamp@fedoraproject.org> - 1.30-1
948386
- Update to version 1.30
948386
- Removed local "synthdata_strlen" patch (included upstream)
948386
948386
* Mon Aug 20 2007 Francois Aucamp <faucamp@csir.co.za> - 1.28-1
948386
- Update to version 1.28
948386
- Added "synthdata_strlen" patch to fix memory allocation issue on x86_64 (RHBZ #252712)
948386
- Modified %%prep to build against portaudio v19 for F8 and later
948386
- Upstream license changed from GPLv2+ to GPLv3+
948386
948386
* Tue Jun 19 2007 Francois Aucamp <faucamp@csir.co.za> - 1.26-1
948386
- Update to version 1.26
948386
- Modified %%prep to build against portaudio v19
948386
948386
* Tue Jun 05 2007 Francois Aucamp <faucamp@csir.co.za> - 1.25-1
948386
- Update to version 1.25
948386
948386
* Tue May 08 2007 Francois Aucamp <faucamp@csir.co.za> - 1.24-1
948386
- Update to version 1.24
948386
948386
* Tue Apr 24 2007 Francois Aucamp <faucamp@csir.co.za> - 1.23-1
948386
- Update to version 1.23
948386
- Added "makefile_nostaticlibs" patch so static libraries aren't installed
948386
948386
* Thu Feb 08 2007 Francois Aucamp <faucamp@csir.co.za> - 1.20-1
948386
- Update to version 1.20
948386
- Solves stack smash bug (RHBZ #227316)
948386
948386
* Fri Jan 26 2007 Francois Aucamp <faucamp@csir.co.za> - 1.19-1
948386
- Update to version 1.19
948386
- Removed "espeak-1.18-makefile_lpthread" patch as it has been included upstream
948386
- Removed "espeak-1.18-makefile_smp" patch as it has been included upstream
948386
- Removed "espeak-1.18-ptr_64bit" patch as it has been solved upstream
948386
- Fixed espeak-data file permissions
948386
948386
* Tue Jan 16 2007 Francois Aucamp <faucamp@csir.co.za> - 1.18-2
948386
- Created "espeak-1.18-ptr_64bit" patch to allow compilation on x86_64 (fixes 64-bit pointer issues)
948386
- Created "espeak-1.18-makefile_smp" patch to allow parallel make ("_smp_mflags")
948386
- Renamed "makefile_lpthread" patch to "espeak-1.18-makefile_lpthread"
948386
948386
* Mon Jan 15 2007 Francois Aucamp <faucamp@csir.co.za> - 1.18-1
948386
- Update to version 1.18
948386
- Dropped statically-linked "speak" executable (replaced by dynamically-linked "espeak" executable)
948386
- Removed the "espeak program name" patch as it has been included upstream
948386
- Removed "espeak program name" patch backup file cleanup from %%install
948386
- Minor modification to "makefile lpthread" patch to account for new lib/executable
948386
- Removed "BIN_NAME" variable from make in %%build (implemented upstream)
948386
948386
* Mon Nov 20 2006 Francois Aucamp <faucamp@csir.co.za> - 1.17-1
948386
- Update to version 1.17
948386
- Removed "makefile install target" patch as it has been included upstream
948386
- Removed "AMD64 sizeof(char *)" patch as it has been included upstream
948386
- Minor modification to "espeak program name" patch to allow patching current version
948386
948386
* Tue Nov 07 2006 Francois Aucamp <faucamp@csir.co.za> - 1.16-4
948386
- Modified patch steps to create backups with different suffixes
948386
- Renamed patch file extensions to .patch
948386
- Added step in %%install to remove patch backup files in documentation
948386
948386
* Sat Nov 04 2006 Francois Aucamp <faucamp@csir.co.za> - 1.16-3
948386
- Fixed source file permissions for -debuginfo package in %%prep
948386
- Added RPM_OPT_FLAGS to "make" command in %%build; removed RPM_OPT_FLAGS makefile patch
948386
- Modified makefile install target patch to include general support for setting compiler optimization flags via CXXFLAGS
948386
- Removed creation of .orig backup files during patching
948386
- Modified patch files to have different suffixes
948386
948386
* Thu Nov 02 2006 Francois Aucamp <faucamp@csir.co.za> - 1.16-2
948386
- Added "install" target to makefile (makefile_install_target.patch)
948386
- Added patch to fix AMD64 sizeof(char *) assumption bug (upstream request ID 1588938)
948386
- Changed "portaudio" BuildRequires to "portaudio-devel"
948386
- Added patch to makefile to allow RPM_OPT_FLAGS
948386
- Added patch to replace all references to "speak" binary with "espeak"
948386
- Moved header files to /usr/include/espeak
948386
- Added rmdir command to "install" to remove empty soundicons directory
948386
948386
* Wed Oct 04 2006 Francois Aucamp <faucamp@csir.co.za> - 1.16-1
948386
- Initial RPM build