rpms/portaudio/EL-4 import.log, NONE, 1.1 portaudio-doxynodate.patch, NONE, 1.1 portaudio-non-mmap-alsa.patch, NONE, 1.1 .cvsignore, 1.2, 1.3 portaudio.spec, 1.2, 1.3 sources, 1.2, 1.3

Peter Lemenkov peter at fedoraproject.org
Sat Jun 6 06:57:14 UTC 2009


Author: peter

Update of /cvs/pkgs/rpms/portaudio/EL-4
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11705/EL-4

Modified Files:
	.cvsignore portaudio.spec sources 
Added Files:
	import.log portaudio-doxynodate.patch 
	portaudio-non-mmap-alsa.patch 
Log Message:
initial build for EL


--- NEW FILE import.log ---
portaudio-19-8_fc10:EL-4:portaudio-19-8.fc10.src.rpm:1244271354

portaudio-doxynodate.patch:

--- NEW FILE portaudio-doxynodate.patch ---
diff -Naupr portaudio.orig/Doxyfile portaudio/Doxyfile
--- portaudio.orig/Doxyfile	2006-08-23 10:15:11.000000000 +0200
+++ portaudio/Doxyfile	2008-12-22 14:11:16.558309299 +0100
@@ -124,7 +124,7 @@ GENERATE_HTML          = YES
 HTML_OUTPUT            = html
 HTML_FILE_EXTENSION    = .html
 HTML_HEADER            = 
-HTML_FOOTER            = 
+HTML_FOOTER            = no_date_footer.html
 HTML_STYLESHEET        = 
 HTML_ALIGN_MEMBERS     = YES
 GENERATE_HTMLHELP      = NO
diff -Naupr portaudio.orig/no_date_footer.html portaudio/no_date_footer.html
--- portaudio.orig/no_date_footer.html	1970-01-01 01:00:00.000000000 +0100
+++ portaudio/no_date_footer.html	2008-12-22 14:11:01.144246196 +0100
@@ -0,0 +1,5 @@
+<hr size="1"><address style="text-align: right;"><small>Generated for $projectname by 
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a>$doxygenversion</small></address>
+</body>
+</html>

portaudio-non-mmap-alsa.patch:

--- NEW FILE portaudio-non-mmap-alsa.patch ---
diff -ur portaudio/src/hostapi/alsa/pa_linux_alsa.c portaudio-pulseaudio/src/hostapi/alsa/pa_linux_alsa.c
--- portaudio/src/hostapi/alsa/pa_linux_alsa.c	2007-09-12 19:39:48.000000000 +0200
+++ portaudio-pulseaudio/src/hostapi/alsa/pa_linux_alsa.c	2008-12-08 19:30:20.000000000 +0100
@@ -6,6 +6,7 @@
  *
  * Copyright (c) 2002 Joshua Haberman <joshua at haberman.com>
  * Copyright (c) 2005-2007 Arve Knudsen <aknuds-1 at broadpark.no>
+ * Copyright (c) 2008 Kevin Kofler <kevin.kofler at chello.at>
  *
  * Based on the Open Source API proposed by Ross Bencina
  * Copyright (c) 1999-2002 Ross Bencina, Phil Burk
@@ -118,6 +119,8 @@
     unsigned long framesPerBuffer;
     int numUserChannels, numHostChannels;
     int userInterleaved, hostInterleaved;
+    int canMmap;
+    void *nonMmapBuffer;
     PaDeviceIndex device;     /* Keep the device index */
 
     snd_pcm_t *pcm;
@@ -321,7 +324,7 @@
  * and a suitable result returned. The device is closed before returning.
  */
 static PaError GropeDevice( snd_pcm_t* pcm, int isPlug, StreamDirection mode, int openBlocking,
-        PaAlsaDeviceInfo* devInfo, int* canMmap )
+        PaAlsaDeviceInfo* devInfo )
 {
     PaError result = paNoError;
     snd_pcm_hw_params_t *hwParams;
@@ -354,9 +357,6 @@
     snd_pcm_hw_params_alloca( &hwParams );
     snd_pcm_hw_params_any( pcm, hwParams );
 
-    *canMmap = snd_pcm_hw_params_test_access( pcm, hwParams, SND_PCM_ACCESS_MMAP_INTERLEAVED ) >= 0 ||
-            snd_pcm_hw_params_test_access( pcm, hwParams, SND_PCM_ACCESS_MMAP_NONINTERLEAVED ) >= 0;
-
     if( defaultSr >= 0 )
     {
         /* Could be that the device opened in one mode supports samplerates that the other mode wont have,
@@ -566,7 +566,6 @@
     PaError result = 0;
     PaDeviceInfo *baseDeviceInfo = &devInfo->baseDeviceInfo;
     snd_pcm_t *pcm;
-    int canMmap = -1;
     PaUtilHostApiRepresentation *baseApi = &alsaApi->baseHostApiRep;
 
     /* Zero fields */
@@ -580,8 +579,7 @@
             OpenPcm( &pcm, deviceName->alsaName, SND_PCM_STREAM_CAPTURE, blocking, 0 )
             >= 0 )
     {
-        if( GropeDevice( pcm, deviceName->isPlug, StreamDirection_In, blocking, devInfo,
-                    &canMmap ) != paNoError )
+        if( GropeDevice( pcm, deviceName->isPlug, StreamDirection_In, blocking, devInfo ) != paNoError )
         {
             /* Error */
             PA_DEBUG(("%s: Failed groping %s for capture\n", __FUNCTION__, deviceName->alsaName));
@@ -594,8 +592,7 @@
             OpenPcm( &pcm, deviceName->alsaName, SND_PCM_STREAM_PLAYBACK, blocking, 0 )
             >= 0 )
     {
-        if( GropeDevice( pcm, deviceName->isPlug, StreamDirection_Out, blocking, devInfo,
-                    &canMmap ) != paNoError )
+        if( GropeDevice( pcm, deviceName->isPlug, StreamDirection_Out, blocking, devInfo ) != paNoError )
         {
             /* Error */
             PA_DEBUG(("%s: Failed groping %s for playback\n", __FUNCTION__, deviceName->alsaName));
@@ -603,12 +600,6 @@
         }
     }
 
-    if( 0 == canMmap )
-    {
-        PA_DEBUG(("%s: Device %s doesn't support mmap\n", __FUNCTION__, deviceName->alsaName));
-        goto end;
-    }
-
     baseDeviceInfo->structVersion = 2;
     baseDeviceInfo->hostApi = alsaApi->hostApiIndex;
     baseDeviceInfo->name = deviceName->name;
@@ -1197,6 +1188,8 @@
     self->hostInterleaved = self->userInterleaved = !(userSampleFormat & paNonInterleaved);
     self->numUserChannels = params->channelCount;
     self->streamDir = streamDir;
+    self->canMmap = 0;
+    self->nonMmapBuffer = NULL;
 
     if( !callbackMode && !self->userInterleaved )
     {
@@ -1239,6 +1232,7 @@
 
     PaError result = paNoError;
     snd_pcm_access_t accessMode, alternateAccessMode;
+    snd_pcm_access_t rwAccessMode, alternateRwAccessMode;
     int dir = 0;
     snd_pcm_t *pcm = self->pcm;
     double sr = *sampleRate;
@@ -1258,32 +1252,40 @@
     if( self->userInterleaved )
     {
         accessMode = SND_PCM_ACCESS_MMAP_INTERLEAVED;
+        rwAccessMode = SND_PCM_ACCESS_RW_INTERLEAVED;
         alternateAccessMode = SND_PCM_ACCESS_MMAP_NONINTERLEAVED;
+        alternateRwAccessMode = SND_PCM_ACCESS_RW_NONINTERLEAVED;
     }
     else
     {
         accessMode = SND_PCM_ACCESS_MMAP_NONINTERLEAVED;
+        rwAccessMode = SND_PCM_ACCESS_RW_NONINTERLEAVED;
         alternateAccessMode = SND_PCM_ACCESS_MMAP_INTERLEAVED;
+        alternateRwAccessMode = SND_PCM_ACCESS_RW_INTERLEAVED;
     }
     /* If requested access mode fails, try alternate mode */
+    self->canMmap = 1;
     if( snd_pcm_hw_params_set_access( pcm, hwParams, accessMode ) < 0 )
     {
-        int err = 0;
-        if( (err = snd_pcm_hw_params_set_access( pcm, hwParams, alternateAccessMode )) < 0)
+        if( snd_pcm_hw_params_set_access( pcm, hwParams, rwAccessMode ) >= 0 )
+            self->canMmap = 0;
+        else
         {
-            result = paUnanticipatedHostError;
-            if( -EINVAL == err )
+            if( snd_pcm_hw_params_set_access( pcm, hwParams, alternateAccessMode ) < 0 )
             {
-                PaUtil_SetLastHostErrorInfo( paALSA, err, "PA ALSA requires that a device supports mmap access" );
-            }
-            else
-            {
-                PaUtil_SetLastHostErrorInfo( paALSA, err, snd_strerror( err ) );
+                int err = 0;
+                if( (err = snd_pcm_hw_params_set_access( pcm, hwParams, alternateRwAccessMode )) >= 0)
+                    self->canMmap = 0;
+                else
+                {
+                    result = paUnanticipatedHostError;
+                    PaUtil_SetLastHostErrorInfo( paALSA, err, snd_strerror( err ) );
+                    goto error;
+                }
             }
-            goto error;
+            /* Flip mode */
+            self->hostInterleaved = !self->userInterleaved;
         }
-        /* Flip mode */
-        self->hostInterleaved = !self->userInterleaved;
     }
 
     ENSURE_( snd_pcm_hw_params_set_format( pcm, hwParams, self->nativeFormat ), paUnanticipatedHostError );
@@ -1361,7 +1363,7 @@
         
     ENSURE_( snd_pcm_sw_params_set_avail_min( self->pcm, swParams, self->framesPerBuffer ), paUnanticipatedHostError );
     ENSURE_( snd_pcm_sw_params_set_xfer_align( self->pcm, swParams, 1 ), paUnanticipatedHostError );
-    ENSURE_( snd_pcm_sw_params_set_tstamp_mode( self->pcm, swParams, SND_PCM_TSTAMP_MMAP ), paUnanticipatedHostError );
+    ENSURE_( snd_pcm_sw_params_set_tstamp_mode( self->pcm, swParams, SND_PCM_TSTAMP_ENABLE ), paUnanticipatedHostError );
 
     /* Set the parameters! */
     ENSURE_( snd_pcm_sw_params( self->pcm, swParams ), paUnanticipatedHostError );
@@ -1589,6 +1591,10 @@
         }
     }
 
+    /* non-mmap mode needs a reasonably-sized buffer or it'll stutter */
+    if( !self->canMmap && framesPerHostBuffer < 2048 )
+        framesPerHostBuffer = 2048;
+
     assert( framesPerHostBuffer > 0 );
     {
         snd_pcm_uframes_t min = 0, max = 0;
@@ -1831,12 +1837,13 @@
     PA_UNLESS( framesPerHostBuffer != 0, paInternalError );
     self->maxFramesPerHostBuffer = framesPerHostBuffer;
 
-    if( !accurate )
+    if( !self->playback.canMmap || !accurate )
     {
         /* Don't know the exact size per host buffer */
         *hostBufferSizeMode = paUtilBoundedHostBufferSize;
         /* Raise upper bound */
-        ++self->maxFramesPerHostBuffer;
+        if( !accurate )
+            ++self->maxFramesPerHostBuffer;
     }
 
 error:
@@ -2059,9 +2066,11 @@
             {
                 /* Buffer isn't primed, so prepare and silence */
                 ENSURE_( snd_pcm_prepare( stream->playback.pcm ), paUnanticipatedHostError );
-                SilenceBuffer( stream );
+                if( stream->playback.canMmap )
+                    SilenceBuffer( stream );
             }
-            ENSURE_( snd_pcm_start( stream->playback.pcm ), paUnanticipatedHostError );
+            if( stream->playback.canMmap )
+                ENSURE_( snd_pcm_start( stream->playback.pcm ), paUnanticipatedHostError );
         }
         else
             ENSURE_( snd_pcm_prepare( stream->playback.pcm ), paUnanticipatedHostError );
@@ -2390,6 +2399,7 @@
     snd_pcm_status_t *st;
     PaTime now = PaUtil_GetTime();
     snd_timestamp_t t;
+    int errplayback = 0, errcapture = 0;
 
     snd_pcm_status_alloca( &st );
 
@@ -2400,6 +2410,7 @@
         {
             snd_pcm_status_get_trigger_tstamp( st, &t );
             self->underrun = now * 1000 - ((PaTime) t.tv_sec * 1000 + (PaTime) t.tv_usec / 1000);
+            errplayback = snd_pcm_recover( self->playback.pcm, -EPIPE, 0 );
         }
     }
     if( self->capture.pcm )
@@ -2409,10 +2420,12 @@
         {
             snd_pcm_status_get_trigger_tstamp( st, &t );
             self->overrun = now * 1000 - ((PaTime) t.tv_sec * 1000 + (PaTime) t.tv_usec / 1000);
+            errcapture = snd_pcm_recover( self->capture.pcm, -EPIPE, 0 );
         }
     }
 
-    PA_ENSURE( AlsaRestart( self ) );
+    if( errplayback || errcapture )
+        PA_ENSURE( AlsaRestart( self ) );
 
 end:
     return result;
@@ -2563,7 +2576,7 @@
 static PaError PaAlsaStreamComponent_EndProcessing( PaAlsaStreamComponent *self, unsigned long numFrames, int *xrun )
 {
     PaError result = paNoError;
-    int res;
+    int res = 0;
 
     /* @concern FullDuplex It is possible that only one direction is marked ready after polling, and processed
      * afterwards
@@ -2571,7 +2584,34 @@
     if( !self->ready )
         goto end;
 
-    res = snd_pcm_mmap_commit( self->pcm, self->offset, numFrames );
+    if( !self->canMmap && StreamDirection_Out == self->streamDir )
+    {
+        /* Play sound */
+        if( self->hostInterleaved )
+            res = snd_pcm_writei( self->pcm, self->nonMmapBuffer, numFrames );
+        else
+        {
+            void *bufs[self->numHostChannels];
+            int bufsize = snd_pcm_format_size( self->nativeFormat, self->framesPerBuffer + 1 );
+            unsigned char *buffer = self->nonMmapBuffer;
+            int i;
+            for( i = 0; i < self->numHostChannels; ++i )
+            {
+                bufs[i] = buffer;
+                buffer += bufsize;
+            }
+            res = snd_pcm_writen( self->pcm, bufs, numFrames );
+        }
+    }
+
+    if( self->canMmap )
+        res = snd_pcm_mmap_commit( self->pcm, self->offset, numFrames );
+    else
+    {
+        free( self->nonMmapBuffer );
+        self->nonMmapBuffer = NULL;
+    }
+
     if( res == -EPIPE || res == -ESTRPIPE )
     {
         *xrun = 1;
@@ -2611,7 +2651,7 @@
     if( self->hostInterleaved )
     {
         int swidth = snd_pcm_format_size( self->nativeFormat, 1 );
-        unsigned char *buffer = ExtractAddress( self->channelAreas, self->offset );
+        unsigned char *buffer = self->canMmap ? ExtractAddress( self->channelAreas, self->offset ) : self->nonMmapBuffer;
 
         /* Start after the last user channel */
         p = buffer + self->numUserChannels * swidth;
@@ -2991,13 +3031,23 @@
         goto end;
     }
 
-    ENSURE_( snd_pcm_mmap_begin( self->pcm, &areas, &self->offset, numFrames ), paUnanticipatedHostError );
+    if( self->canMmap )
+    {
+        ENSURE_( snd_pcm_mmap_begin( self->pcm, &areas, &self->offset, numFrames ), paUnanticipatedHostError );
+        /* @concern ChannelAdaption Buffer address is recorded so we can do some channel adaption later */
+        self->channelAreas = (snd_pcm_channel_area_t *)areas;
+    }
+    else
+    {
+        free( self->nonMmapBuffer );
+        self->nonMmapBuffer = calloc( self->numHostChannels, snd_pcm_format_size( self->nativeFormat, self->framesPerBuffer + 1 ) );
+    }
 
     if( self->hostInterleaved )
     {
         int swidth = snd_pcm_format_size( self->nativeFormat, 1 );
 
-        p = buffer = ExtractAddress( areas, self->offset );
+        p = buffer = self->canMmap ? ExtractAddress( areas, self->offset ) : self->nonMmapBuffer;
         for( i = 0; i < self->numUserChannels; ++i )
         {
             /* We're setting the channels up to userChannels, but the stride will be hostChannels samples */
@@ -3007,16 +3057,52 @@
     }
     else
     {
-        for( i = 0; i < self->numUserChannels; ++i )
+        if( self->canMmap )
+            for( i = 0; i < self->numUserChannels; ++i )
+            {
+                area = areas + i;
+                buffer = ExtractAddress( area, self->offset );
+                setChannel( bp, i, buffer, 1 );
+            }
+        else
         {
-            area = areas + i;
-            buffer = ExtractAddress( area, self->offset );
-            setChannel( bp, i, buffer, 1 );
+            int bufsize = snd_pcm_format_size( self->nativeFormat, self->framesPerBuffer + 1 );
+            buffer = self->nonMmapBuffer;
+            for( i = 0; i < self->numUserChannels; ++i )
+            {
+                setChannel( bp, i, buffer, 1 );
+                buffer += bufsize;
+            }
         }
     }
 
-    /* @concern ChannelAdaption Buffer address is recorded so we can do some channel adaption later */
-    self->channelAreas = (snd_pcm_channel_area_t *)areas;
+    if( !self->canMmap && StreamDirection_In == self->streamDir )
+    {
+        /* Read sound */
+        int res;
+        if( self->hostInterleaved )
+            res = snd_pcm_readi( self->pcm, self->nonMmapBuffer, *numFrames );
+        else
+        {
+            void *bufs[self->numHostChannels];
+            int bufsize = snd_pcm_format_size( self->nativeFormat, self->framesPerBuffer + 1 );
+            unsigned char *buffer = self->nonMmapBuffer;
+            int i;
+            for( i = 0; i < self->numHostChannels; ++i )
+            {
+                bufs[i] = buffer;
+                buffer += bufsize;
+            }
+            res = snd_pcm_readn( self->pcm, bufs, *numFrames );
+        }
+        if( res == -EPIPE || res == -ESTRPIPE )
+        {
+            *xrun = 1;
+            *numFrames = 0;
+            free( self->nonMmapBuffer );
+            self->nonMmapBuffer = NULL;
+        }
+    }
 
 end:
 error:
diff -ur portaudio/src/os/unix/pa_unix_hostapis.c portaudio-pulseaudio/src/os/unix/pa_unix_hostapis.c
--- portaudio/src/os/unix/pa_unix_hostapis.c	2006-08-26 10:27:53.000000000 +0200
+++ portaudio-pulseaudio/src/os/unix/pa_unix_hostapis.c	2008-11-09 04:51:04.000000000 +0100
@@ -75,4 +75,8 @@
         0   /* NULL terminated array */
     };
 
+#if defined(PA_USE_OSS) && defined(PA_USE_ALSA)
+int paDefaultHostApiIndex = 1;
+#else
 int paDefaultHostApiIndex = 0;
+#endif


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/portaudio/EL-4/.cvsignore,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- .cvsignore	9 Nov 2004 02:49:34 -0000	1.2
+++ .cvsignore	6 Jun 2009 06:56:44 -0000	1.3
@@ -1 +1 @@
-portaudio_v18_1.zip
+pa_stable_v19_20071207.tar.gz


Index: portaudio.spec
===================================================================
RCS file: /cvs/pkgs/rpms/portaudio/EL-4/portaudio.spec,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- portaudio.spec	16 Nov 2004 18:04:28 -0000	1.2
+++ portaudio.spec	6 Jun 2009 06:56:44 -0000	1.3
@@ -1,18 +1,19 @@
-# $Id$
-# Upstream: <portaudio$techweb,rfa,org>
-
-%define real_version v18_1
+%define real_version v19_20071207
 
 Summary: Free, cross platform, open-source, audio I/O library
 Name: portaudio
-Version: 18.1
-Release: 3
-License: BSD-like
+Version: 19
+Release: 8%{?dist}
+License: MIT
 Group: System Environment/Libraries
 URL: http://www.portaudio.com/
-Source: http://www.portaudio.com/archives/portaudio_%{real_version}.zip
+Source: http://www.portaudio.com/archives/pa_stable_%{real_version}.tar.gz
+Patch0: portaudio-non-mmap-alsa.patch
+Patch1: portaudio-doxynodate.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
-Provides: %{name}-devel = %{version}-%{release}
+BuildRequires: doxygen
+BuildRequires: alsa-lib-devel
+BuildRequires: jack-audio-connection-kit-devel
 
 %description
 PortAudio is a portable audio I/O library designed for cross-platform
@@ -21,37 +22,112 @@ Audio can be generated in various format
 and will be converted to the native format internally.
 
 
+%package devel
+Summary: Development files for the portaudio audio I/O library
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}, pkgconfig
+
+%description devel
+PortAudio is a portable audio I/O library designed for cross-platform
+support of audio. It uses a callback mechanism to request audio processing.
+Audio can be generated in various formats, including 32 bit floating point,
+and will be converted to the native format internally.
+
+This package contains files required to build applications that will use the
+portaudio library.
+
+
 %prep
-%setup -n %{name}_%{real_version} 
-%{__perl} -pi.orig -e 's|^(LIBINST) = /usr/local/lib|$1 = %{_libdir}|' \
-    Makefile.linux
+%setup -q -n %{name}
+%patch0 -p1
+%patch1 -p1
 
 
 %build
-%{__make} %{?_smp_mflags} -f Makefile.linux sharedlib \
-    CFLAGS="%{optflags} -fPIC"
+%configure --disable-static --enable-cxx
+%{__make} %{?_smp_mflags}
+# Build html devel documentation
+doxygen
 
 
 %install
 %{__rm} -rf %{buildroot}
-%{__install} -D -m0755 pa_unix_oss/libportaudio.so \
-    %{buildroot}%{_libdir}/libportaudio.so
-%{__install} -D -m0644 pa_common/portaudio.h \
-    %{buildroot}%{_includedir}/portaudio.h
+%{__make} install DESTDIR=%{buildroot}
 
 
 %clean
 %{__rm} -rf %{buildroot}
 
 
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+
 %files
-%defattr(-, root, root, 0755)
-%doc LICENSE.txt README.txt docs/
-%{_includedir}/*.h
+%defattr(-,root,root,-)
+%doc LICENSE.txt README.txt
+%{_libdir}/*.so.*
+
+%files devel
+%defattr(-,root,root,-)
+%doc doc/html/*
+%{_includedir}/portaudiocpp/
+%{_includedir}/portaudio.h
+%exclude %{_libdir}/*.la
 %{_libdir}/*.so
+%{_libdir}/pkgconfig/*.pc
 
 
 %changelog
+* Thu Feb 26 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 19-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Mon Dec 22 2008 Matthias Saou <http://freshrpms.net/> 19-7
+- Add Doxyfile patch to remove date in footer and fix multilib (#342931).
+
+* Sun Dec  7 2008 Hans de Goede <hdegoede at redhat.com> 19-6
+- Add a patch by Kevin Kofler to make non mmap alsa (and thus pulseaudio) work
+  (bz 445644)
+
+* Sun Feb  3 2008 Matthias Saou <http://freshrpms.net/> 19-5
+- Update to "stable" v19_20071207.
+- Rebuild against latest jack in rawhide (#430672).
+- Backport update to F8 too (#431266).
+
+* Mon Dec 10 2007 Matthias Saou <http://freshrpms.net/> 19-4
+- Include portaudiocpp library and headers (#413681).
+
+* Wed Aug 22 2007 Matthias Saou <http://freshrpms.net/> 19-3
+- Rebuild for new BuildID feature.
+
+* Sun Aug  5 2007 Matthias Saou <http://freshrpms.net/> 19-2
+- Update License field.
+
+* Tue Jun 19 2007 Matthias Saou <http://freshrpms.net/> 19-1
+- Update to "stable" v19_061121.
+- Switch virtual devel provide to a real sub-package.
+- Update spec to match build changes from custom Makefile to autotools.
+- Include new pkgconfig file and require pkgconfig from the devel package.
+- Add ldconfig calls now that we have a versionned shared library.
+- Rebuild against alsa-lib and jack-audio-connection-kit.
+- Build doxygen documentation and include it in the devel package.
+
+* Mon Aug 28 2006 Matthias Saou <http://freshrpms.net/> 18.1-8
+- FC6 rebuild.
+
+* Mon Mar  6 2006 Matthias Saou <http://freshrpms.net/> 18.1-7
+- FC5 rebuild.
+
+* Thu Feb  9 2006 Matthias Saou <http://freshrpms.net/> 18.1-6
+- Rebuild for new gcc/glibc.
+
+* Sun May 22 2005 Jeremy Katz <katzj at redhat.com> - 18.1-5
+- rebuild on all arches
+
+* Fri Apr  7 2005 Michael Schwendt <mschwendt[AT]users.sf.net> 18.1-4
+- rebuilt
+
 * Tue Nov 16 2004 Matthias Saou <http://freshrpms.net/> 18.1-3
 - Bump release to provide Extras upgrade path.
 


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/portaudio/EL-4/sources,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- sources	9 Nov 2004 02:49:34 -0000	1.2
+++ sources	6 Jun 2009 06:56:44 -0000	1.3
@@ -1 +1 @@
-ce66a732d263fde2b5ad2262ef37a691  portaudio_v18_1.zip
+d2943e4469834b25afe62cc51adc025f  pa_stable_v19_20071207.tar.gz




More information about the fedora-extras-commits mailing list