summaryrefslogtreecommitdiff
path: root/recipes/gstreamer.recipe
blob: feb5721c9585ef930646dcfdcc8008409ee3326d (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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python


class Recipe(recipe.Recipe):
    name = 'gstreamer'
    version = '0.10.36'
    licenses = [License.LGPLv2_1Plus]
    config_sh = 'sh ./autogen.sh --noconfigure && ./configure'
    configure_options = "--program-prefix= --disable-instrospection --disable-examples --with-package-origin='http://www.gstreamer.com' --with-package-name='GStreamer (GStreamer SDK) '"
    remotes = {'upstream': 'git://anongit.freedesktop.org/gstreamer/gstreamer'}
    deps = ['glib', 'libxml2', 'gtk-doc-lite']

    files_bins = ['gst-inspect-0.10',
                  'gst-typefind-0.10',
                  'gst-launch-0.10']

    files_libs = ['libgstbase-0.10', 'libgstcontroller-0.10',
                  'libgstdataprotocol-0.10', 'libgstnet-0.10',
                  'libgstreamer-0.10']

    platform_files_libs = {
        Platform.LINUX: ['libgstcheck-0.10'],
        Platform.ANDROID: ['libgstcheck-0.10'],
        Platform.DARWIN: ['libgstcheck-0.10'],
    }

    files_plugins_core = ['lib/gstreamer-0.10/libgstcoreelements%(mext)s',
                     'lib/gstreamer-0.10/libgstcoreindexers%(mext)s']

    files_misc = ['libexec/gstreamer-0.10/gst-plugin-scanner%(bext)s']

    files_devel = [
            'include/gstreamer-0.10/gst/*.h',
            'include/gstreamer-0.10/gst/base',
            'include/gstreamer-0.10/gst/controller',
            'include/gstreamer-0.10/gst/dataprotocol',
            'include/gstreamer-0.10/gst/net',
            'lib/pkgconfig/gstreamer-0.10.pc',
            'lib/pkgconfig/gstreamer-base-0.10.pc',
            'lib/pkgconfig/gstreamer-controller-0.10.pc',
            'lib/pkgconfig/gstreamer-dataprotocol-0.10.pc',
            'lib/pkgconfig/gstreamer-net-0.10.pc',
    ]

    platform_files_devel = {
        Platform.LINUX: ['include/gstreamer-0.10/gst/check', 'lib/pkgconfig/gstreamer-check-0.10.pc'],
        Platform.ANDROID: ['include/gstreamer-0.10/gst/check', 'lib/pkgconfig/gstreamer-check-0.10.pc'],
        Platform.DARWIN: ['include/gstreamer-0.10/gst/check', 'lib/pkgconfig/gstreamer-check-0.10.pc'],
    }

    files_lang = ['gstreamer-0.10']

    def prepare(self):
        if self.config.target_platform != Platform.LINUX:
            self.configure_options += ' --disable-gtk-doc --disable-docbook'

        if self.config.target_platform == Platform.ANDROID:
            self.make = '%s libcheckinternal_la_LIBADD=""' % self.make

        if self.config.target_platform == Platform.IOS:
            # iOS only supports static builds so plugins must be linked
            # and registered statically.
            self.configure_options += ' --disable-registry '

        if self.config.variants.nodebug:
            self.configure_options += ' --disable-gst-debug'