-# NOTES:
-# - maybe espeak is better name for spec
-# - in the absence of data files in expected location (/usr/share/espeak-data or $HOME/espeak-data) program segfaults
-#
+#
+# Conditional build:
+%bcond_without static_libs # don't build static libraries
+#
Summary: eSpeak - speech synthesizer for English and other languages
Summary(pl): eSpeak - syntezator mowy dla jêzyka angielskiego i innych
Name: speak
-Version: 1.13
-Release: 0.1
+Version: 1.14
+Release: 1
License: GPL v2
Group: Applications
Source0: http://dl.sourceforge.net/espeak/%{name}-%{version}-source.zip
-# Source0-md5: 1cd76ad278fa134eced57b865b72175b
+# Source0-md5: 9a52e2a00354474334adc36fe2fdd4c6
Patch0: %{name}-ac_am.patch
URL: http://espeak.sourceforge.net/
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libstdc++-devel
+BuildRequires: libtool
BuildRequires: portaudio-devel >= 19
BuildRequires: unzip
+Requires: %{name}-libs = %{version}-%{release}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
mo¿e czytaæ na g³os tekst zaznaczony uprzednio do schowka lub
bezpo¶rednio z przegl±darki Konqueror i edytora Kate.
+%package libs
+Summary: eSpeak shared libraries
+Summary(pl): eSpeak - biblioteki
+Group: Libraries
+
+%description libs
+eSpeak shared libraries.
+
+%description libs -l pl
+eSpeak - biblioteki dzielone.
+
+%package devel
+Summary: eSpeak - development files
+Summary(pl): eSpeak - pliki dla programistów
+Group: Development/Libraries
+Requires: %{name}-libs = %{version}-%{release}
+
+%description devel
+eSpeak - development files.
+
+%description devel -l pl
+eSpeak - pliki dla programistów.
+
+%package static
+Summary: eSpeak - static libraries
+Summary(pl): eSpeak - biblioteki statyczne
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+
+%description static
+eSpeak - static libraries.
+
+%description static -l pl
+eSpeak - biblioteki statyczne.
+
%prep
%setup -q -n %{name}-%{version}-source
%patch -p1
rm -f src/portaudio{18,19,}.h
%build
+%{__libtoolize}
%{__aclocal}
%{__autoconf}
%{__autoheader}
%{__automake}
-%configure
+%configure \
+ --enable-static=%{?with_static_libs:yes}%{!?with_static_libs:no}
%{__make}
%install
%clean
rm -rf $RPM_BUILD_ROOT
+%post libs -p /sbin/ldconfig
+%postun libs -p /sbin/ldconfig
+
%files
%defattr(644,root,root,755)
%doc ChangeLog ReadMe docs
%dir %{_datadir}/e%{name}-data
%dir %{_datadir}/e%{name}-data/voices
%dir %{_datadir}/e%{name}-data/voices/en
+%{_datadir}/e%{name}-data/voices/af
+%{_datadir}/e%{name}-data/voices/cy
+%{_datadir}/e%{name}-data/voices/de
+%{_datadir}/e%{name}-data/voices/default
+%{_datadir}/e%{name}-data/voices/el
%{_datadir}/e%{name}-data/voices/en/en-rp-f
%{_datadir}/e%{name}-data/voices/en/en-wm-f
%{_datadir}/e%{name}-data/voices/en/en-n
%{_datadir}/e%{name}-data/voices/en/en-rp
%{_datadir}/e%{name}-data/voices/en/en-n-f
%{_datadir}/e%{name}-data/voices/en/en-wm
+%{_datadir}/e%{name}-data/voices/eo
%{_datadir}/e%{name}-data/voices/es
%{_datadir}/e%{name}-data/voices/it
%{_datadir}/e%{name}-data/voices/pl
-%{_datadir}/e%{name}-data/voices/af
-%{_datadir}/e%{name}-data/voices/default
-%{_datadir}/e%{name}-data/voices/eo
-%{_datadir}/e%{name}-data/voices/de
-%{_datadir}/e%{name}-data/voices/el
+%{_datadir}/e%{name}-data/voices/ru
%dir %{_datadir}/e%{name}-data/soundicons
%{_datadir}/e%{name}-data/af_dict
+%{_datadir}/e%{name}-data/config
+%{_datadir}/e%{name}-data/cy_dict
%{_datadir}/e%{name}-data/de_dict
%{_datadir}/e%{name}-data/en_dict
%{_datadir}/e%{name}-data/eo_dict
+%{_datadir}/e%{name}-data/el_dict
%{_datadir}/e%{name}-data/es_dict
%{_datadir}/e%{name}-data/it_dict
%{_datadir}/e%{name}-data/phondata
%{_datadir}/e%{name}-data/phonindex
%{_datadir}/e%{name}-data/phontab
-%{_datadir}/e%{name}-data/config
%{_datadir}/e%{name}-data/pl_dict
-%{_datadir}/e%{name}-data/el_dict
+%{_datadir}/e%{name}-data/ru_dict
+
+%files libs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/lib*.so.*.*.*
+
+%files devel
+%defattr(644,root,root,755)
+%{_includedir}/*
+%attr(755,root,root) %{_libdir}/lib*.so
+%{_libdir}/lib*.la
+
+%if %{with static_libs}
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/lib*.a
+%endif
-diff -Nurb o.speak-1.13-source/Makefile.am n.speak-1.13-source/Makefile.am
---- o.speak-1.13-source/Makefile.am 1970-01-01 01:00:00.000000000 +0100
-+++ n.speak-1.13-source/Makefile.am 2006-09-03 17:14:22.000000000 +0200
+diff -Nur o.speak-1.14-source/Makefile.am n.speak-1.14-source/Makefile.am
+--- o.speak-1.14-source/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ n.speak-1.14-source/Makefile.am 2006-09-23 20:28:28.000000000 +0200
@@ -0,0 +1,5 @@
+SUBDIRS = src
+pkgdatadir = $(datadir)/espeak-data
+install-data-local:
+ install -d $(DESTDIR)$(pkgdatadir)
+ cp -Rf espeak-data/* $(DESTDIR)$(pkgdatadir)
-diff -Nurb o.speak-1.13-source/configure.ac n.speak-1.13-source/configure.ac
---- o.speak-1.13-source/configure.ac 1970-01-01 01:00:00.000000000 +0100
-+++ n.speak-1.13-source/configure.ac 2006-09-03 17:51:34.000000000 +0200
+diff -Nur o.speak-1.14-source/configure.ac n.speak-1.14-source/configure.ac
+--- o.speak-1.14-source/configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ n.speak-1.14-source/configure.ac 2006-09-23 20:45:27.000000000 +0200
@@ -0,0 +1,43 @@
+# -*- Autoconf -*-
+# Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.59)
-+AC_INIT(speak, 1.13, )
++AC_INIT(speak, 1.14, )
+AM_INIT_AUTOMAKE
+AC_CONFIG_SRCDIR([src/speak.cpp])
+AC_CONFIG_HEADER([config.h])
+# Checks for programs.
+AC_PROG_CXX
+AC_PROG_CC
++AC_PROG_LIBTOOL
+
+# Checks for libraries.
-+# FIXME: Replace `main' with a function in `-lportaudio':
+AC_CHECK_LIB([portaudio], [main])
+
+# Checks for header files.
+if test "$datadir" = "\${prefix}/share" ; then
+ datadirectory=$ac_default_prefix/share
+else
-+ datadirectory="$datadir"
++ datadirectory="$datadir/espeak-data"
+fi
-+AC_DEFINE_UNQUOTED(DATADIRECTORY, "$datadirectory", [data directory])
++AC_DEFINE_UNQUOTED(PATH_ESPEAK_DATA, "$datadirectory", [data directory])
+AC_CONFIG_FILES([Makefile src/Makefile])
+AC_OUTPUT
-diff -Nurb o.speak-1.13-source/src/Makefile.am n.speak-1.13-source/src/Makefile.am
---- o.speak-1.13-source/src/Makefile.am 1970-01-01 01:00:00.000000000 +0100
-+++ n.speak-1.13-source/src/Makefile.am 2006-09-02 21:16:02.000000000 +0200
-@@ -0,0 +1,17 @@
-+AM_CFLAGS = -Wall -pedantic -fno-exceptions
+diff -Nur o.speak-1.14-source/src/Makefile.am n.speak-1.14-source/src/Makefile.am
+--- o.speak-1.14-source/src/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ n.speak-1.14-source/src/Makefile.am 2006-09-23 21:14:54.000000000 +0200
+@@ -0,0 +1,19 @@
++AM_CXXFLAGS = -Wall -pedantic -fno-exceptions
++
+bin_PROGRAMS = speak
-+speak_SOURCES = \
-+ compiledict.cpp \
-+ dictionary.cpp \
-+ intonation.cpp \
-+ readclause.cpp \
-+ setlengths.cpp \
-+ speak.cpp \
-+ synthdata.cpp \
-+ synthesize.cpp \
-+ tr_english.cpp \
-+ tr_languages.cpp \
-+ translate.cpp \
-+ voices.cpp \
-+ wavegen.cpp
++speak_SOURCES = speak.cpp
++speak_LDADD = libespeak.la
+
-diff -Nurb o.speak-1.13-source/src/speak.cpp n.speak-1.13-source/src/speak.cpp
---- o.speak-1.13-source/src/speak.cpp 2006-08-30 04:34:17.000000000 +0200
-+++ n.speak-1.13-source/src/speak.cpp 2006-09-03 17:31:31.000000000 +0200
-@@ -27,7 +27,7 @@
- #include <time.h>
- #include <signal.h>
- #include <locale.h>
--#include "sys/stat.h"
-+#include <sys/stat.h>
-
- #include "speech.h"
- #include "voice.h"
-@@ -36,6 +36,7 @@
- #include "translate.h"
- #include "speak_lib.h"
-
-+#include "config.h"
-
-
- char path_home[120];
-@@ -158,7 +159,7 @@
- sprintf(path_home,"%s/espeak-data",getenv("HOME"));
- if(access(path_home,R_OK) != 0)
- {
-- strcpy(path_home,"/usr/share/espeak-data");
-+ strcpy(path_home, DATADIRECTORY "/espeak-data");
- }
- #endif
- }
-diff -Nurb o.speak-1.13-source/src/voices.cpp n.speak-1.13-source/src/voices.cpp
---- o.speak-1.13-source/src/voices.cpp 2006-08-30 04:34:17.000000000 +0200
-+++ n.speak-1.13-source/src/voices.cpp 2006-09-02 19:13:45.000000000 +0200
-@@ -18,15 +18,15 @@
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
- ***************************************************************************/
-
--#include "stdio.h"
--#include "ctype.h"
--#include "wctype.h"
--#include "string.h"
--#include "stdlib.h"
--#include "speech.h"
-+#include <stdio.h>
-+#include <ctype.h>
-+#include <wctype.h>
-+#include <string.h>
-+#include <stdlib.h>
-+#include <speech.h>
-
- #ifndef PLATFORM_RISCOS
--#include "dirent.h"
-+#include <dirent.h>
++lib_LTLIBRARIES = libespeak.la
++
++libespeak_la_SOURCES = speak_lib.cpp compiledict.cpp dictionary.cpp intonation.cpp \
++ readclause.cpp setlengths.cpp \
++ synthdata.cpp synthesize.cpp translate.cpp tr_english.cpp \
++ tr_languages.cpp voices.cpp wavegen.cpp
++
++libespeak_la_LDFLAGS = -version-info 15:1:14
++
++# -fvisibility=hidden requires modern GCC which is not present in current PLD Ac
++#libespeak_la_CXXFLAGS = $(AM_CXXFLAGS) -fvisibility=hidden
++
++include_HEADERS = speak_lib.h
+diff -Nur o.speak-1.14-source/src/speech.h n.speak-1.14-source/src/speech.h
+--- o.speak-1.14-source/src/speech.h 2006-09-21 20:00:41.000000000 +0200
++++ n.speak-1.14-source/src/speech.h 2006-09-23 19:54:14.000000000 +0200
+@@ -36,7 +36,10 @@
#endif
- #include "voice.h"
-diff -Nurb o.speak-1.13-source/src/wavegen.cpp n.speak-1.13-source/src/wavegen.cpp
---- o.speak-1.13-source/src/wavegen.cpp 2006-08-30 04:34:17.000000000 +0200
-+++ n.speak-1.13-source/src/wavegen.cpp 2006-09-03 18:05:06.000000000 +0200
-@@ -33,13 +33,16 @@
- #include "synthesize.h"
-
- #ifdef USE_PORTAUDIO
--#include "portaudio.h"
-+#warning USE_PORTAUDIO IS DEFINED
-+#include <portaudio.h>
- #undef USE_PORTAUDIO
- // determine portaudio version by looking for a #define which is not in V18
- #ifdef paNeverDropInput
- #define USE_PORTAUDIO 19
-+#warning USE_PORTAUDIO IS DEFINED AS 19
- #else
- #define USE_PORTAUDIO 18
-+#warning USE_PORTAUDIO IS DEFINED AS 18
- #endif
- #endif
+ // will look for espeak_data directory here, and also in user's home directory
++#include "config.h"
++#ifndef PATH_ESPEAK_DATA
+ #define PATH_ESPEAK_DATA "/usr/share/espeak-data"
++#endif
+ typedef unsigned short USHORT;
+ typedef unsigned char UCHAR;