summaryrefslogtreecommitdiff
path: root/recipes/gst-plugins-good-1.0.recipe
blob: 1e19edb076ca6a7d364a488fe7f0362f6977b979 (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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python


class Recipe(recipe.Recipe):
    name = 'gst-plugins-good-1.0'
    version = '1.7'
    licenses = [License.LGPLv2Plus]
    config_sh = 'sh ./autogen.sh --noconfigure && ./configure'
    configure_options = '--disable-examples --disable-oss4 --disable-oss --disable-dv1394 --disable-aalib --disable-libcaca --disable-jack --disable-shout2 '
    remotes = {'origin': 'git://anongit.freedesktop.org/gstreamer/gst-plugins-good'}
    commit = 'origin/master'
    deps = ['gstreamer-1.0', 'gst-plugins-base-1.0', 'libjpeg-turbo', 'libpng',
            'speex', 'gdk-pixbuf', 'libsoup',
            'orc', 'wavpack', 'flac', 'taglib', 'bzip2', 'zlib',
            'libvpx', 'libdv', 'cairo']


    files_lang = ['gst-plugins-good-1.0']

    files_plugins_core = [
             'lib/gstreamer-1.0/libgstautodetect%(mext)s',
             'lib/gstreamer-1.0/libgstvideofilter%(mext)s',
    ]

    files_plugins_effects = [
             'lib/gstreamer-1.0/libgstalpha%(mext)s',
             'lib/gstreamer-1.0/libgstalphacolor%(mext)s',
             'lib/gstreamer-1.0/libgstaudiofx%(mext)s',
             'lib/gstreamer-1.0/libgstcairo%(mext)s',
             'lib/gstreamer-1.0/libgstcutter%(mext)s',
             'lib/gstreamer-1.0/libgstdebug%(mext)s',
             'lib/gstreamer-1.0/libgstdeinterlace%(mext)s',
             'lib/gstreamer-1.0/libgstdtmf%(mext)s',
             'lib/gstreamer-1.0/libgsteffectv%(mext)s',
             'lib/gstreamer-1.0/libgstequalizer%(mext)s',
             'lib/gstreamer-1.0/libgstgdkpixbuf%(mext)s',
             'lib/gstreamer-1.0/libgstimagefreeze%(mext)s',
             'lib/gstreamer-1.0/libgstinterleave%(mext)s',
             'lib/gstreamer-1.0/libgstlevel%(mext)s',
             'lib/gstreamer-1.0/libgstmultifile%(mext)s',
             'lib/gstreamer-1.0/libgstreplaygain%(mext)s',
             'lib/gstreamer-1.0/libgstshapewipe%(mext)s',
             'lib/gstreamer-1.0/libgstsmpte%(mext)s',
             'lib/gstreamer-1.0/libgstspectrum%(mext)s',
             'lib/gstreamer-1.0/libgstvideobox%(mext)s',
             'lib/gstreamer-1.0/libgstvideocrop%(mext)s',
             'lib/gstreamer-1.0/libgstvideomixer%(mext)s',
    ]

    files_plugins_codecs = [
             'lib/gstreamer-1.0/libgstalaw%(mext)s',
             'lib/gstreamer-1.0/libgstapetag%(mext)s',
             'lib/gstreamer-1.0/libgstaudioparsers%(mext)s',
             'lib/gstreamer-1.0/libgstauparse%(mext)s',
             'lib/gstreamer-1.0/libgstavi%(mext)s',
             'lib/gstreamer-1.0/libgstdv%(mext)s',
             'lib/gstreamer-1.0/libgstflac%(mext)s',
             'lib/gstreamer-1.0/libgstflv%(mext)s',
             'lib/gstreamer-1.0/libgstflxdec%(mext)s',
             'lib/gstreamer-1.0/libgsticydemux%(mext)s',
             'lib/gstreamer-1.0/libgstid3demux%(mext)s',
             'lib/gstreamer-1.0/libgstisomp4%(mext)s',
             'lib/gstreamer-1.0/libgstjpeg%(mext)s',
             'lib/gstreamer-1.0/libgstmatroska%(mext)s',
             'lib/gstreamer-1.0/libgstmulaw%(mext)s',
             'lib/gstreamer-1.0/libgstmultipart%(mext)s',
             'lib/gstreamer-1.0/libgstpng%(mext)s',
             'lib/gstreamer-1.0/libgstspeex%(mext)s',
             'lib/gstreamer-1.0/libgsttaglib%(mext)s',
             'lib/gstreamer-1.0/libgstvpx%(mext)s',
             'lib/gstreamer-1.0/libgstwavenc%(mext)s',
             'lib/gstreamer-1.0/libgstwavpack%(mext)s',
             'lib/gstreamer-1.0/libgstwavparse%(mext)s',
             'lib/gstreamer-1.0/libgsty4menc%(mext)s',
    ]

    files_plugins_net = [
             'lib/gstreamer-1.0/libgstrtsp%(mext)s',
             'lib/gstreamer-1.0/libgstrtp%(mext)s',
             'lib/gstreamer-1.0/libgstrtpmanager%(mext)s',
             'lib/gstreamer-1.0/libgstsouphttpsrc%(mext)s',
             'lib/gstreamer-1.0/libgstudp%(mext)s',
    ]

    files_plugins_vis = [
             'lib/gstreamer-1.0/libgstgoom%(mext)s',
             'lib/gstreamer-1.0/libgstgoom2k1%(mext)s',
            ]

    files_plugins_capture = []

    files_plugins_sys = []

    platform_files_plugins_sys = {
        Platform.WINDOWS: [
             'lib/gstreamer-1.0/libgstdirectsoundsink%(mext)s',
            ],
        Platform.DARWIN: [
             'lib/gstreamer-1.0/libgstosxaudio%(mext)s',
             'lib/gstreamer-1.0/libgstosxvideosink%(mext)s',
            ],
        Platform.IOS: [
             'lib/gstreamer-1.0/libgstosxaudio%(mext)s'
        ]
    }

    def prepare(self):
        # The second detail is to work around use of deprecated NSOpenGLPFAFullScreen on OS X 10.10
        self.append_env['CFLAGS'] = " -Wno-error -Wno-error=deprecated-declarations -DGSTREAMER_GLIB_COCOA_NSAPPLICATION=1 -DLIBSOUP_DOES_NOT_STEAL_OUR_CONTEXT=1 "
        self.append_env['OBJCFLAGS'] = " -Wno-error -DGSTREAMER_GLIB_COCOA_NSAPPLICATION=1 "
        self.append_env['CXXFLAGS'] = " -Wno-error -Wno-error=deprecated-declarations "
        self.append_env['CPPFLAGS'] = " -Wno-error -Wno-error=deprecated-declarations "
        if self.config.target_platform != Platform.LINUX:
            self.configure_options += ' --disable-gtk-doc '
        if self.config.target_platform == Platform.WINDOWS:
            self.configure_options += ' --disable-aalib --disable-esd '
        if self.config.target_platform == Platform.LINUX:
            self.use_system_libs = True
        if self.config.variants.v4l2:
            self.files_plugins_capture += ['lib/gstreamer-1.0/libgstvideo4linux2%(mext)s']
        else:
            self.configure_options += ' --disable-gst_v4l2'
        if self.config.variants.x11:
            self.files_plugins_capture += ['lib/gstreamer-1.0/libgstximagesrc%(mext)s']
        else:
            self.configure_options += ' --disable-x --disable-xvideo'

        if self.config.variants.pulse:
            self.files_plugins_sys += ['lib/gstreamer-1.0/libgstpulse%(mext)s']
        else:
            self.configure_options += ' --disable-pulse'

        if self.config.variants.nodebug:
            self.append_env['CFLAGS'] += ' -DGST_LEVEL_MAX=GST_LEVEL_FIXME'