changeset 5858:9adef27dc033

Bump portaudio to r1428 svn. May fix sound on windows.
author Jan Nieuwenhuizen <janneke@gnu.org>
date Mon, 07 Dec 2009 22:25:20 +0100
parents 8fbe4c9c1fab
children b25a304ef105
files gub/misc.py gub/repository.py gub/specs/portaudio.py
diffstat 3 files changed, 28 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/gub/misc.py	Fri Nov 27 21:57:18 2009 +0000
+++ b/gub/misc.py	Mon Dec 07 22:25:20 2009 +0100
@@ -134,6 +134,15 @@
         pass
     return default_version
 
+def version_from_pc_in (pc_in, default_version='0.0.0'):
+    try:
+        m = re.search (r'^Version: ([0-9.]+)', pc_in)
+        if m:
+            return m.group (1)
+    except:
+        pass
+    return default_version
+
 def version_to_string (t):
     if t[-1]:
         return '%s-%s' % ('.'.join (map (str, t[:-1])), t[-1])
--- a/gub/repository.py	Fri Nov 27 21:57:18 2009 +0000
+++ b/gub/repository.py	Mon Dec 07 22:25:20 2009 +0100
@@ -120,6 +120,12 @@
                                                    default_version)
         except:
             return default_version
+    def version_from_pc_in (self, file_name, default_version='0.0.0'):
+        try:
+            return misc.version_from_pc_in (self.read_file (file_name),
+                                            default_version)
+        except:
+            return default_version
     @staticmethod
     def check_dir (rety, dir):
         return os.path.isdir (os.path.join (dir, rety.vc_system))
--- a/gub/specs/portaudio.py	Fri Nov 27 21:57:18 2009 +0000
+++ b/gub/specs/portaudio.py	Mon Dec 07 22:25:20 2009 +0100
@@ -1,14 +1,26 @@
+from gub import misc
+from gub import repository
 from gub import target
 
 class Portaudio (target.AutoBuild):
     source = 'http://www.portaudio.com/archives/pa_stable_v19_20071207.tar.gz'
+    # useless, changes every night
+    # source = 'http://www.portaudio.com/archives/pa_snapshot.tgz'
+    source = 'svn:http://www.portaudio.com/repos/portaudio/trunk&revision=1428'
     dependencies = [
         'tools::automake',
         'tools::libtool',
         'tools::pkg-config',
         ]
+    def __init__ (self, settings, source):
+        target.AutoBuild.__init__ (self, settings, source)
+        if isinstance (source, repository.Subversion):
+            source.version = misc.bind_method (lambda x: repository.Repository.version_from_pc_in (x, 'portaudio-2.0.pc.in'), source)
+        if 'snapshot' in Portaudio.source:
+            # version_from_* does not work with tar ball, hardcode for now
+            source.version = misc.bind_method (lambda x: '19', source)
 
-class Portaudio__mingw (Portaudio):
+class only_for_stable_Portaudio__mingw (Portaudio):
     def patch (self):
         Portaudio.patch (self)
         for i in ['%(srcdir)s/configure.in',