rpms/flite/devel README-ALSA.txt, NONE, 1.1 flite-1.3-alsa_support.patch, NONE, 1.1 flite-1.3-doc_texinfo.patch, NONE, 1.1 flite-1.3-sharedlibs.patch, NONE, 1.1 flite.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Francois Aucamp (faucamp) fedora-extras-commits at redhat.com
Tue Nov 14 13:08:20 UTC 2006


Author: faucamp

Update of /cvs/extras/rpms/flite/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv11008/devel

Modified Files:
	.cvsignore sources 
Added Files:
	README-ALSA.txt flite-1.3-alsa_support.patch 
	flite-1.3-doc_texinfo.patch flite-1.3-sharedlibs.patch 
	flite.spec 
Log Message:
auto-import flite-1.3-8 on branch devel from flite-1.3-8.src.rpm


--- NEW FILE README-ALSA.txt ---

Native ALSA support for Flite 1.3 - patch created by
Lukas Loehrer <listaddr1 at gmx.net>


flite-1.3-alsa_support.patch:

--- NEW FILE flite-1.3-alsa_support.patch ---
diff -uNr flite-1.3-release/configure.in flite-1.3-release-mod/configure.in
--- flite-1.3-release/configure.in	2005-08-13 13:43:21.000000000 +0200
+++ flite-1.3-release-mod/configure.in	2006-11-13 21:16:27.000000000 +0200
@@ -206,10 +206,10 @@
 AC_CHECK_HEADER(sys/audioio.h,
               [AUDIODRIVER="sun"
                AUDIODEFS=-DCST_AUDIO_SUNOS])
-dnl AC_CHECK_HEADER(sys/asoundlib.h,
-dnl              [AUDIODRIVER="alsa"
-dnl	       AUDIODEFS=-DCST_AUDIO_ALSA
-dnl               AUDIOLIBS=-lasound])
+AC_CHECK_HEADER(alsa/asoundlib.h,
+              [AUDIODRIVER="alsa"
+	       AUDIODEFS=-DCST_AUDIO_ALSA
+               AUDIOLIBS=-lasound])
 AC_CHECK_HEADER(mmsystem.h,
 	      [AUDIODRIVER="wince"
 	       AUDIODEFS=-DCST_AUDIO_WINCE
diff -uNr flite-1.3-release/src/audio/au_alsa.c flite-1.3-release-mod/src/audio/au_alsa.c
--- flite-1.3-release/src/audio/au_alsa.c	1970-01-01 02:00:00.000000000 +0200
+++ flite-1.3-release-mod/src/audio/au_alsa.c	2006-11-13 21:16:54.000000000 +0200
@@ -0,0 +1,311 @@
+/*************************************************************************/
+/*                                                                       */
+/*                  Language Technologies Institute                      */
+/*                     Carnegie Mellon University                        */
+/*                        Copyright (c) 2000                             */
+/*                        All Rights Reserved.                           */
+/*                                                                       */
+/*  Permission is hereby granted, free of charge, to use and distribute  */
+/*  this software and its documentation without restriction, including   */
+/*  without limitation the rights to use, copy, modify, merge, publish,  */
+/*  distribute, sublicense, and/or sell copies of this work, and to      */
+/*  permit persons to whom this work is furnished to do so, subject to   */
+/*  the following conditions:                                            */
+/*   1. The code must retain the above copyright notice, this list of    */
+/*      conditions and the following disclaimer.                         */
+/*   2. Any modifications must be clearly marked as such.                */
+/*   3. Original authors' names are not deleted.                         */
+/*   4. The authors' names are not used to endorse or promote products   */
+/*      derived from this software without specific prior written        */
+/*      permission.                                                      */
+/*                                                                       */
+/*  CARNEGIE MELLON UNIVERSITY AND THE CONTRIBUTORS TO THIS WORK         */
+/*  DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING      */
+/*  ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT   */
+/*  SHALL CARNEGIE MELLON UNIVERSITY NOR THE CONTRIBUTORS BE LIABLE      */
+/*  FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES    */
+/*  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN   */
+/*  AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,          */
+/*  ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF       */
+/*  THIS SOFTWARE.                                                       */
+/*                                                                       */
+/*********************************************************************** */
+/*             Author:  Lukas Loehrer (                                  */
+/*               Date:  January 2005                                     */
+/*************************************************************************/
+/*                                                                       */
+/*  Native access to alsa audio devices on Linux                         */
+/*  Tested with libasound version 1.0.10                                 */
+/*************************************************************************/
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <assert.h>
+#include <errno.h>
+
+#include "cst_string.h"
+#include "cst_wave.h"
+#include "cst_audio.h"
+
+#include <alsa/asoundlib.h>
+
+
+/*static char *pcm_dev_name = "hw:0,0"; */
+static char *pcm_dev_name ="default";
+
+static inline void print_pcm_state(snd_pcm_t *handle, char *msg)
+{
+  fprintf(stderr, "PCM state at %s = %s\n", msg,
+		  snd_pcm_state_name(snd_pcm_state(handle)));
+}
+
+cst_audiodev *audio_open_alsa(int sps, int channels, cst_audiofmt fmt)
+{
+  cst_audiodev *ad;
+  unsigned 	int real_rate;
+  int err;
+
+  /* alsa specific stuff */
+  snd_pcm_t *pcm_handle;          
+  snd_pcm_stream_t stream = SND_PCM_STREAM_PLAYBACK;
+  snd_pcm_hw_params_t *hwparams;
+  snd_pcm_format_t format;
+  snd_pcm_access_t access = SND_PCM_ACCESS_RW_INTERLEAVED;
+
+  /* Allocate the snd_pcm_hw_params_t structure on the stack. */
+  snd_pcm_hw_params_alloca(&hwparams);
+
+  /* Open pcm device */
+  err = snd_pcm_open(&pcm_handle, pcm_dev_name, stream, 0);
+  if (err < 0) 
+  {
+	cst_errmsg("audio_open_alsa: failed to open audio device %s. %s\n",
+			   pcm_dev_name, snd_strerror(err));
+	return NULL;
+  }
+
+  /* Init hwparams with full configuration space */
+  err = snd_pcm_hw_params_any(pcm_handle, hwparams);
+  if (err < 0) 
+  {
+	snd_pcm_close(pcm_handle);
+	cst_errmsg("audio_open_alsa: failed to get hardware parameters from audio device. %s\n", snd_strerror(err));
+	return NULL;
+  }
+
+  /* Set access mode */
+  err = snd_pcm_hw_params_set_access(pcm_handle, hwparams, access);
+  if (err < 0) 
+  {
+	snd_pcm_close(pcm_handle);
+	cst_errmsg("audio_open_alsa: failed to set access mode. %s.\n", snd_strerror(err));
+	return NULL;
+  }
+
+  /* Determine matching alsa sample format */
+  /* This could be implemented in a more */
+  /* flexible way (byte order conversion). */
+  switch (fmt)
+  {
+  case CST_AUDIO_LINEAR16:
+	if (CST_LITTLE_ENDIAN)
+	  format = SND_PCM_FORMAT_S16_LE;
+	else
+	  format = SND_PCM_FORMAT_S16_BE;
+	break;
+  case CST_AUDIO_LINEAR8:
+	format = SND_PCM_FORMAT_U8;
+	break;
+  case CST_AUDIO_MULAW:
+	format = SND_PCM_FORMAT_MU_LAW;
+	break;
+  default:
+	snd_pcm_close(pcm_handle);
+	cst_errmsg("audio_open_alsa: failed to find suitable format.\n");
+	return NULL;
+	break;
+  }
+
+  /* Set samble format */
+  err = snd_pcm_hw_params_set_format(pcm_handle, hwparams, format);
+  if (err <0) 
+  {
+	snd_pcm_close(pcm_handle);
+	cst_errmsg("audio_open_alsa: failed to set format. %s.\n", snd_strerror(err));
+	return NULL;
+  }
+
+  /* Set sample rate near the disired rate */
+  real_rate = sps;
+  err = snd_pcm_hw_params_set_rate_near(pcm_handle, hwparams, &real_rate, 0);
+  if (err < 0)   
+  {
+	snd_pcm_close(pcm_handle);
+	cst_errmsg("audio_open_alsa: failed to set sample rate near %d. %s.\n", sps, snd_strerror(err));
+	return NULL;
+  }
+  /*FIXME:  This is probably too strict */
+  assert(sps == real_rate);
+
+  /* Set number of channels */
+  assert(channels >0);
+  err = snd_pcm_hw_params_set_channels(pcm_handle, hwparams, channels);
+  if (err < 0) 
+  {
+	snd_pcm_close(pcm_handle);
+	cst_errmsg("audio_open_alsa: failed to set number of channels to %d. %s.\n", channels, snd_strerror(err));
+	return NULL;
+  }
+
+  /* Commit hardware parameters */
+  err = snd_pcm_hw_params(pcm_handle, hwparams);
+  if (err < 0) 
+  {
+	snd_pcm_close(pcm_handle);
+	cst_errmsg("audio_open_alsa: failed to set hw parameters. %s.\n", snd_strerror(err));
+	return NULL;
+  }
+
+  /* Make sure the device is ready to accept data */
+  assert(snd_pcm_state(pcm_handle) == SND_PCM_STATE_PREPARED);
+
+  /* Write hardware parameters to flite audio device data structure */
+  ad = cst_alloc(cst_audiodev, 1);
+  assert(ad != NULL);
+  ad->real_sps = ad->sps = sps;
+  ad->real_channels = ad->channels = channels;
+  ad->real_fmt = ad->fmt = fmt;
+  ad->platform_data = (void *) pcm_handle;
+
+  return ad;
+}
+
+int audio_close_alsa(cst_audiodev *ad)
+{
+  int result;
+  snd_pcm_t *pcm_handle;
+
+  if (ad == NULL)
+	return 0;
+
+  pcm_handle = (snd_pcm_t *) ad->platform_data;
+  result = snd_pcm_close(pcm_handle);
+  if (result < 0)
+  {
+	cst_errmsg("audio_close_alsa: Error: %s.\n", snd_strerror(result));
+  }
+  cst_free(ad);
+  return result;
+}
+
+/* Returns zero if recovery was successful. */
+static int recover_from_error(snd_pcm_t *pcm_handle, ssize_t res)
+{
+  if (res == -EPIPE) /* xrun */
+  {
+	res = snd_pcm_prepare(pcm_handle);
+	if (res < 0) 
+	{
+	  /* Failed to recover from xrun */
+	  cst_errmsg("recover_from_write_error: failed to recover from xrun. %s\n.", snd_strerror(res));
+	  return res;
+	}
+  } 
+  else if (res == -ESTRPIPE) /* Suspend */
+  {
+	while ((res = snd_pcm_resume(pcm_handle)) == -EAGAIN) 
+	{
+	  snd_pcm_wait(pcm_handle, 1000);
+	}
+	if (res < 0) 
+	{
+	  res = snd_pcm_prepare(pcm_handle);
+	  if (res <0) 
+	  {
+		/* Resume failed */
+		cst_errmsg("audio_recover_from_write_error: failed to resume after suspend. %s\n.", snd_strerror(res));
+		return res;
+	  }
+	}
+  } 
+  else if (res < 0) 
+  {
+	/* Unknown failure */
+	cst_errmsg("audio_recover_from_write_error: %s.\n", snd_strerror(res));
+	return res;
+  }
+  return 0;
+}
+
+int audio_write_alsa(cst_audiodev *ad, void *samples, int num_bytes)
+{
+  size_t frame_size;
+  ssize_t num_frames, res;
+  snd_pcm_t *pcm_handle;
+  char *buf = (char *) samples;
+
+  /* Determine frame size in bytes */
+  frame_size  = audio_bps(ad->real_fmt) * ad->real_channels;
+  /* Require that only complete frames are handed in */
+  assert((num_bytes % frame_size) == 0);
+  num_frames = num_bytes / frame_size;
+  pcm_handle = (snd_pcm_t *) ad->platform_data;
+
+  while (num_frames > 0) 
+  {
+	res = snd_pcm_writei(pcm_handle, buf, num_frames);
+	if (res != num_frames) 
+	{
+	  if (res == -EAGAIN || (res > 0 && res < num_frames)) 
+	  {
+		snd_pcm_wait(pcm_handle, 100);
+	  }
+	  else if (recover_from_error(pcm_handle, res) < 0) 
+	  {
+		return -1;
+	  }
+	}
+
+	if (res >0) 
+	{
+	  num_frames -= res;
+	  buf += res * frame_size;
+	}
+  }
+  return num_bytes;
+}
+
+int audio_flush_alsa(cst_audiodev *ad)
+{
+  int result;
+  result = snd_pcm_drain((snd_pcm_t *) ad->platform_data);
+  if (result < 0)
+  {
+	cst_errmsg("audio_flush_alsa: Error: %s.\n", snd_strerror(result));
+  }
+	/* Prepare device for more data */
+  result = snd_pcm_prepare((snd_pcm_t *) ad->platform_data);
+if (result < 0)
+  {
+	cst_errmsg("audio_flush_alsa: Error: %s.\n", snd_strerror(result));
+  }
+  return result;
+}
+
+int audio_drain_alsa(cst_audiodev *ad)
+{
+  int result;
+  result = snd_pcm_drop((snd_pcm_t *) ad->platform_data);
+  if (result < 0)
+  {
+	cst_errmsg("audio_drain_alsa: Error: %s.\n", snd_strerror(result));
+  }
+/* Prepare device for more data */
+  result = snd_pcm_prepare((snd_pcm_t *) ad->platform_data);
+if (result < 0)
+  {
+	cst_errmsg("audio_drain_alsa: Error: %s.\n", snd_strerror(result));
+  }
+  return result;
+}

flite-1.3-doc_texinfo.patch:

--- NEW FILE flite-1.3-doc_texinfo.patch ---
diff -uNr flite-1.3-release/doc/flite.texi flite-1.3-mod/doc/flite.texi
--- flite-1.3-release/doc/flite.texi	2005-08-14 21:50:02.000000000 +0200
+++ flite-1.3-mod/doc/flite.texi	2006-05-08 12:39:54.000000000 +0200
@@ -711,14 +711,14 @@
 cst_voice *register_cmu_us_kal();
 
 int main(int argc, char **argv)
-{
+@{
     cst_voice *v;
 
     if (argc != 2)
-    {
+    @{
         fprintf(stderr,"usage: flite_test FILE\n");
         exit(-1);
-    }
+    @}
 
     flite_init();
 
@@ -726,7 +726,7 @@
 
     flite_file_to_speech(argv[1],v,"play");
 
-}
+@}
 @end example
 Assuming the shell variable FLITEDIR is set to the flite directory
 the following will compile the system (with appropriate changes for
diff -uNr flite-1.3-release/doc/Makefile flite-1.3-mod/doc/Makefile
--- flite-1.3-release/doc/Makefile	2005-01-04 00:55:33.000000000 +0200
+++ flite-1.3-mod/doc/Makefile	2006-05-08 12:39:45.000000000 +0200
@@ -50,7 +50,7 @@
 flite.html: flite.texi
 	@ if [ ! -d html ] ; \
           then mkdir -p html ; fi
-	(cd html; texi2html -number -split_chapter ../flite.texi)
+	(cd html; texi2html -number -split_chapter ../flite.texi; mv flite/* .; rmdir flite)
 	@ for i in html/*.html ; \
 	  do \
 	    sed 's/<BODY>/<BODY bgcolor="#ffffff">/' $$i >ttt.html; \

flite-1.3-sharedlibs.patch:

--- NEW FILE flite-1.3-sharedlibs.patch ---
diff -uNr flite-1.3-release/config/common_make_rules flite-1.3-release-mod/config/common_make_rules
--- flite-1.3-release/config/common_make_rules	2004-12-20 00:20:43.000000000 +0200
+++ flite-1.3-release-mod/config/common_make_rules	2006-11-12 12:17:25.000000000 +0200
@@ -59,27 +59,35 @@
 endif
 OBJDIR=$(BUILDDIR)/obj/$(DIRNAME)
 BINDIR=$(BUILDDIR)/bin
+LIBDIR=$(BUILDDIR)/lib
 ifeq ($(HOST_PLATFORM),$(TARGET_PLATFORM))
 BINDIR=$(TOP)/bin
+LIBDIR=$(TOP)/lib
 endif
 
-LIBDIR=$(BUILDDIR)/lib
 BUILDDIRS=$(OBJDIR) $(BINDIR) $(LIBDIR)
 
-FLITELIBS = $(BUILDDIR)/lib/libflite.a
-LDFLAGS += -L$(BUILDDIR)/lib -lflite -lm $(AUDIOLIBS) $(OTHERLIBS)
+ifdef SHFLAGS
+FLITELIBS = $(LIBDIR)/libflite.so
+LDFLAGS += -L$(LIBDIR) -lflite $(OTHERLIBS)
+else
+FLITELIBS = $(LIBDIR)/libflite.a
+LDFLAGS += -L$(LIBDIR) -lflite -lm $(AUDIOLIBS) $(OTHERLIBS)
+endif
 
 FULLOBJS = $(OBJS:%=$(OBJDIR)/%)
 ifdef SHFLAGS
 SOOBJS = $(OBJS:.o=.os)
-FULLSHOBJS = $(SOOBJS:%=$(OBJDIR)/%)
+FULLSOOBJS = $(SOOBJS:%=$(OBJDIR)/%)
 ifdef LIBNAME
 ALL += $(OBJDIR)/.build_so
 endif
-endif
+else
 ifdef LIBNAME
 ALL += $(OBJDIR)/.build_lib
 endif
+endif
+
 # Only do some directories when you are not cross compiling
 ifeq ($(HOST_PLATFORM),$(TARGET_PLATFORM))
 OTHER_BUILD_DIRS = $(HOST_ONLY_DIRS)
@@ -117,14 +125,14 @@
 	@ touch $(OBJDIR)/.build_so
 
 # Used in the lib/ directory and in building new voices
-$(OBJDIR)/%.so: %.shared.a
+%.so: %.shared.a
 	@ echo making $@
 	@ rm -rf shared_os && mkdir shared_os
-	@ rm -f $@ $(LIBDIR)/$@.${PROJECT_VERSION} $(LIBDIR)/$@.${PROJECT_SHLIB_VERSION} 
+	@ rm -f $@ $@.${PROJECT_VERSION} $@.${PROJECT_SHLIB_VERSION} 
 	@ (cd shared_os && ar x ../$<)
-	@ (cd shared_os && $(CC) -shared -Wl,-soname,$@.${PROJECT_SHLIB_VERSION} -o ../$@.${PROJECT_VERSION} *.os)
-	@ ln -s $(LIBDIR)/$@.${PROJECT_VERSION} $(LIBDIR)/$@.${PROJECT_SHLIB_VERSION}
-	@ ln -s $(LIBDIR)/$@.${PROJECT_SHLIB_VERSION} $(LIBDIR)/$@
+	@ (cd shared_os && $(CC) -shared -Wl,-soname,$@.${PROJECT_SHLIB_VERSION} -o ../$@.${PROJECT_VERSION} *.os -L../ $($(@:%.so=%_LDLIBS)))
+	@ ln -s $@.${PROJECT_VERSION} $@.${PROJECT_SHLIB_VERSION}
+	@ ln -s $@.${PROJECT_SHLIB_VERSION} $@
 	@ rm -rf shared_os
 
 $(OBJDIR)/.make_build_dirs:
diff -uNr flite-1.3-release/lib/Makefile flite-1.3-release-mod/lib/Makefile
--- flite-1.3-release/lib/Makefile	1970-01-01 02:00:00.000000000 +0200
+++ flite-1.3-release-mod/lib/Makefile	2006-11-12 12:17:40.000000000 +0200
@@ -0,0 +1,73 @@
+###########################################################################
+##                                                                       ##
+##                  Language Technologies Institute                      ##
+##                     Carnegie Mellon University                        ##
+##                        Copyright (c) 1999                             ##
+##                        All Rights Reserved.                           ##
+##                                                                       ##
+##  Permission is hereby granted, free of charge, to use and distribute  ##
+##  this software and its documentation without restriction, including   ##
+##  without limitation the rights to use, copy, modify, merge, publish,  ##
+##  distribute, sublicense, and/or sell copies of this work, and to      ##
+##  permit persons to whom this work is furnished to do so, subject to   ##
+##  the following conditions:                                            ##
+##   1. The code must retain the above copyright notice, this list of    ##
+##      conditions and the following disclaimer.                         ##
+##   2. Any modifications must be clearly marked as such.                ##
+##   3. Original authors' names are not deleted.                         ##
+##   4. The authors' names are not used to endorse or promote products   ##
+##      derived from this software without specific prior written        ##
+##      permission.                                                      ##
+##                                                                       ##
+##  CARNEGIE MELLON UNIVERSITY AND THE CONTRIBUTORS TO THIS WORK         ##
+##  DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING      ##
+##  ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT   ##
+##  SHALL CARNEGIE MELLON UNIVERSITY NOR THE CONTRIBUTORS BE LIABLE      ##
+##  FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES    ##
+##  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN   ##
+##  AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,          ##
+##  ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF       ##
+##  THIS SOFTWARE.                                                       ##
+##                                                                       ##
+###########################################################################
+##                                                                       ##
+##    FLITE libraries                                                    ##
+##                                                                       ##
+###########################################################################
+TOP=..
+DIRNAME=lib
+BUILD_DIRS = 
+ALL_DIRS=
+FILES = Makefile
+LIBNAMES = flite flite_cmulex flite_usenglish \
+           flite_cmu_us_kal flite_cmu_us_kal16 flite_cmu_time_awb
+
+STATICLIBS= $(LIBNAMES:%=lib%.a)
+SHAREDARLIBS= $(LIBNAMES:%=lib%.shared.a)
+#SHAREDLIBS = $(LIBNAMES:%=lib%.so)
+SHAREDLIBS = $(SHAREDARLIBS:%.shared.a=%.so)
+VERSIONSHAREDLIBS = $(SHAREDLIBS:%=%.${PROJECT_VERSION}) \
+                    $(SHAREDLIBS:%=%.${PROJECT_SHLIB_VERSION})
+ALL_LIBS = $(SHAREDLIBS) $(VERSIONSHAREDLIBS)
+
+ALL = shared_libs
+
+LOCAL_CLEAN=*.a *.so *.so.${PROJECT_VERSION} *.so.${PROJECT_SHLIB_VERSION}
+
+include $(TOP)/config/common_make_rules
+
+ifdef SHFLAGS
+shared_libs: $(SHAREDLIBS)
+libflite_LDLIBS = -lm $(AUDIOLIBS)
+libflite_cmulex_LDLIBS = -lflite
+libflite_usenglish_LDLIBS = -lflite
+libflite_cmu_us_kal_LDLIBS = -lflite_cmulex -lflite_usenglish
+libflite_cmu_us_kal16_LDLIBS = -lflite_cmulex -lflite_usenglish
+libflite_cmu_time_awb_LDLIBS = -lflite -lflite_cmulex -lflite_usenglish
+else
+shared_libs: nothing
+endif
+
+install:
+	@ tar cvf - $(ALL_LIBS) | ( cd $(INSTALLLIBDIR) && tar xf -)
+
diff -uNr flite-1.3-release/main/Makefile flite-1.3-release-mod/main/Makefile
--- flite-1.3-release/main/Makefile	2005-08-08 00:38:42.000000000 +0200
+++ flite-1.3-release-mod/main/Makefile	2006-11-12 11:44:46.000000000 +0200
@@ -50,11 +50,11 @@
 
 flite_LIBS = flite_$(FL_VOX) flite_$(FL_LANG) flite_$(FL_LEX) 
 flite_LIBS_flags = -L$(LIBDIR) $(flite_LIBS:%=-l%)
-flite_LIBS_deps = $(flite_LIBS:%=$(LIBDIR)/lib%.a)
+flite_LIBS_deps = $(flite_LIBS:%=$(LIBDIR)/lib%.so)
 
 flite_time_LIBS = flite_cmu_time_awb flite_$(FL_LANG) flite_$(FL_LEX)
 flite_time_LIBS_flags = -L$(LIBDIR) $(flite_time_LIBS:%=-l%)
-flite_time_LIBS_deps = $(flite_time_LIBS:%=$(LIBDIR)/lib%.a)
+flite_time_LIBS_deps = $(flite_time_LIBS:%=$(LIBDIR)/lib%.so)
 
 include $(TOP)/config/common_make_rules
 
diff -uNr flite-1.3-release/Makefile flite-1.3-release-mod/Makefile
--- flite-1.3-release/Makefile	2005-11-01 15:40:45.000000000 +0200
+++ flite-1.3-release-mod/Makefile	2006-11-12 11:44:46.000000000 +0200
@@ -41,7 +41,7 @@
 ###########################################################################
 TOP=.
 DIRNAME=
-BUILD_DIRS = include src lang doc
+BUILD_DIRS = include src lang lib doc
 ALL_DIRS=config $(BUILD_DIRS) testsuite sapi palm tools main
 CONFIG=configure configure.in config.sub config.guess \
        missing install-sh mkinstalldirs


--- NEW FILE flite.spec ---
Name:           flite
Version:        1.3
Release:        8%{?dist}
Summary:        Small, fast speech synthesis engine (text-to-speech)

Group:          Applications/Multimedia
License:        BSD-style
URL:            http://fife.speech.cs.cmu.edu/flite/
Source0:        http://fife.speech.cs.cmu.edu/flite/packed/%{name}-%{version}/%{name}-%{version}-release.tar.gz
Source1:        README-ALSA.txt
Patch0:         flite-1.3-sharedlibs.patch
Patch1:         flite-1.3-doc_texinfo.patch
Patch2:         flite-1.3-alsa_support.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:  texi2html ed alsa-lib-devel autoconf


%description
Flite (festival-lite) is a small, fast run-time speech synthesis engine
developed at CMU and primarily designed for small embedded machines and/or
large servers. Flite is designed as an alternative synthesis engine to
Festival for voices built using the FestVox suite of voice building tools.


%package devel
Summary: Development files for flite
Group: Development/Libraries
Requires: flite = %{version}-%{release}


%description devel
Development files for Flite, a small, fast speech synthesis engine.


%prep
%setup -q -n %{name}-%{version}-release
%patch0 -p1 -b .flite-1.3-sharedlibs
%patch1 -p1 -b .flite-1.3-doc_texinfo
%patch2 -p1 -b .flite-1.3-alsa_support
cp -p %{SOURCE1} .


%build
autoconf
%configure --enable-shared --with-audio=alsa
# This package fails parallel make (thus cannot be built using "_smp_flags")
make
# Build documentation
cd doc
make flite.html


%install
rm -rf %{buildroot}
make install INSTALLBINDIR=%{buildroot}%{_bindir} INSTALLLIBDIR=%{buildroot}%{_libdir}  INSTALLINCDIR=%{buildroot}%{_includedir}/flite


%clean
rm -rf %{buildroot}


%post -p /sbin/ldconfig


%postun -p /sbin/ldconfig


%files
%defattr(-,root,root,-)
%doc ACKNOWLEDGEMENTS README COPYING doc/html README-ALSA.txt
%{_libdir}/*.so.*
%{_bindir}/*


%files devel
%defattr(-,root,root)
%{_libdir}/*.so
%{_includedir}/flite


%changelog
* Tue Nov 14 2006 Francois Aucamp <faucamp at csir.co.za> - 1.3-8
- Added comment to %%build stating why "_smp_flags" isn't used with make

* Mon Nov 13 2006 Francois Aucamp <faucamp at csir.co.za> - 1.3-7
- Modified alsa support patch file to patch "configure.in" instead of "configure"
- Added "autoconf" step to %%build
- Added BuildRequires: autoconf
- Fixed patch backup file suffixes
- Renamed patch files to a more standard format
- Moved header files from /usr/include to /usr/include/flite
- Added -p option to all cp operations (to preserve timestamps)

* Sun Nov 12 2006 Francois Aucamp <faucamp at csir.co.za> - 1.3-6
- Recreated patch to allow shared libraries to build correctly (sharedlibs.patch)
- "flite" and "flite_time" binaries now link to flite shared libraries (sharedlibs.patch)
- Simplified the documentation patch filename
- Modified patch steps in %%prep to create backup files with different suffixes
- Removed "_smp_flags" macro from %%build for all archs

* Fri Oct 20 2006 Francois Aucamp <faucamp at csir.co.za> - 1.3-5
- Modified "build" so that "_smp_flags" is only used for i386 arch

* Mon Oct 10 2006 Francois Aucamp <faucamp at csir.co.za> - 1.3-4
- Removed "_smp_flags" macro from "build" for x86_64 arch

* Tue Sep 26 2006 Francois Aucamp <faucamp at csir.co.za> - 1.3-3
- Added README-ALSA.txt (Source1)
- Removed subpackage: flite-devel-static
- Modified shared libraries patch (Patch0) to prevent building static libraries
- Renamed patch files: Patch0, Patch1

* Tue Sep 26 2006 Francois Aucamp <faucamp at csir.co.za> - 1.3-2
- Added flite 1.3 ALSA patch (Patch2) by Lukas Loehrer - thanks Anthony Green for pointing it out
- Added configure option: --with-audio=alsa
- Added BuildRequires: alsa-lib-devel

* Fri Sep 22 2006 Francois Aucamp <faucamp at csir.co.za> - 1.3-1
- Initial RPM build


Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/flite/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	14 Nov 2006 13:01:16 -0000	1.1
+++ .cvsignore	14 Nov 2006 13:07:50 -0000	1.2
@@ -0,0 +1 @@
+flite-1.3-release.tar.gz


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/flite/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	14 Nov 2006 13:01:16 -0000	1.1
+++ sources	14 Nov 2006 13:07:50 -0000	1.2
@@ -0,0 +1 @@
+ae0aca1cb7b4801f4372f3a75a9e52b5  flite-1.3-release.tar.gz




More information about the scm-commits mailing list