summaryrefslogtreecommitdiff
path: root/recipes/libtheora.recipe
blob: c2fb3874e3a8f55026d3817d66c7f262dd2594eb (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


class Recipe(recipe.Recipe):
    name = 'libtheora'
    version = '1.1.1'
    licenses = [{License.BSD: ['COPYING'], License.Misc: ['LICENSE']}]
    stype = SourceType.TARBALL
    url = 'xiph://theora/%(name)s-%(version)s.tar.bz2'
    tarball_checksum = 'b6ae1ee2fa3d42ac489287d3ec34c5885730b1296f0801ae577a35193d3affbc'
    deps = ['libogg', 'libvorbis']
    allow_parallel_build = False
    patches = ['libtheora/0001-Add-option-to-disable-doc.patch',
               'libtheora/0002-Update-makefiles.patch',
               'libtheora/0003-Fix-linking-of-theora-encoder-library.patch',
               'libtheora/0004-Use-our-automake-version-and-not-an-older-one.patch',
               'libtheora/0005-Update-Makefile.in-too-to-avoid-needing-to-call-auto.patch',
               'libtheora/0006-examples-Don-t-use-png_sizeof.patch',
               'libtheora/0001-build-allow-skipping-configure-in-autogen.sh.patch']
    configure_options = ' --disable-spec --disable-doc'

    files_libs = ['libtheora', 'libtheoradec', 'libtheoraenc']
    files_bins = ['dvconnect', 'encodedv', 'dubdv']
    files_devel = ['include/theora', 'lib/pkgconfig/theora.pc',
                   'lib/pkgconfig/theoraenc.pc', 'lib/pkgconfig/theoradec.pc']
    autoreconf = True
    autoreconf_sh = 'NOCONFIGURE=1 ./autogen.sh'

    def prepare(self):
        if self.config.target_platform == Platform.ANDROID:
            self.configure_options += ' --disable-examples'
            self.config_sh = 'sh autogen.sh'
        elif self.config.target_platform == Platform.IOS:
            self.patches += ['libtheora/0007-Don-t-use-fforce-addr.patch']
        elif self.config.target_platform == Platform.DARWIN:
            self.patches += ['libtheora/0007-Don-t-use-fforce-addr.patch']
        elif self.config.cross_compiling():
            self.configure_options += ' --disable-examples'