summaryrefslogtreecommitdiff
path: root/recipes/soundtouch.recipe
blob: 6d49c15da2b0aa3744bf03ef1f80d0fa991139b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python
from cerbero.utils import shell, fix_android_ndk16_cxx


class Recipe(recipe.Recipe):
    name = 'soundtouch'
    version = '1.9.2'
    stype = SourceType.TARBALL
    url = 'https://www.surina.net/soundtouch/soundtouch-%(version)s.tar.gz'
    tarball_dirname = 'soundtouch'
    licenses = [License.LGPLv2_1Plus]
    autoreconf_sh = './bootstrap'
    autoreconf = True

    patches = ['soundtouch/0001-Add-dummy-file-to-make-sure-config-m4-exists.patch',
               'soundtouch/0002-Use-STLPORT-on-Android.patch',
               'soundtouch/0003-Don-t-build-soundstretch.patch',
               'soundtouch/0004-Use-gnustl.patch',
               'soundtouch/0005-Fix-soundstretch-linking.patch',
               'soundtouch/0006-Fix-pkg-config-file.patch',
               'soundtouch/0007-Make-it-compile-on-IOS.patch',
               'soundtouch/0008-Fix-compilation-with-clang.patch',
               'soundtouch/0010-Try-harder-to-generate-Win32-DLLs.patch']

    files_libs = ['libSoundTouch']
    files_devel = ['include/soundtouch', 'lib/pkgconfig/soundtouch.pc']

    def prepare (self):
      self.configure_options += ' --enable-static '
      if self.config.target_platform == Platform.ANDROID:
        self.configure_options += ' --with-gnustl '
        self.append_env('CXXFLAGS', '-fexceptions')
      elif self.config.target_platform == Platform.IOS:
        self.autoreconf = True

    def configure (self):
        fix_android_ndk16_cxx (self.config, os.path.join(self.make_dir, 'source', 'SoundTouch'))
        super(recipe.Recipe, self).configure()