summaryrefslogtreecommitdiff
path: root/recipes/gst-plugins-bad-1.0.recipe
blob: 3ad65ea6a98eed3557ffe02a5253e1f9198cfedf (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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python


class Recipe(recipe.Recipe):
    name = 'gst-plugins-bad-1.0'
    version = '0.11.x'
    licenses = [License.LGPLv2Plus]
    config_sh = 'sh ./autogen.sh --noconfigure && ./configure'
    configure_options = "--disable-introspection --disable-gsm --disable-examples --disable-camerabin --disable-festival --disable-freeze --disable-h264parse --disable-inter --disable-legacyresample --disable-mpegvideoparse --disable-videomaxrate --disable-bz2 --disable-decklink --disable-linsys --disable-fbdev --disable-apexsink --disable-celt --disable-curl --disable-dc1394 --disable-directfb --disable-dirac --disable-divx --disable-faac --disable-flite --disable-gme --disable-ladspa --disable-lv2 --disable-mimic --disable-modplug --disable-mpeg2enc --disable-mplex --disable-musepack --disable-musicbrainz --disable-mythtv --disable-nas --disable-neon --disable-ofa --disable-openal --disable-opencv --disable-pvr --disable-sdl --disable-sndfile --disable-soundtouch --disable-spandsp --disable-swfdec --disable-teletextdec --disable-timidity --disable-vdpau --disable-voaacenc --disable-voamrwbenc --disable-wildmidi --disable-xvid --disable-zbar --disable-sdi --disable-cog --with-package-origin='http://www.gstreamer.com' --with-package-name='GStreamer Bad Plugins (GStreamer SDK)' "
    remotes = {'upstream': 'git://anongit.freedesktop.org/gstreamer/gst-plugins-bad'}
    commit = 'upstream/1.0'
    deps = ['gstreamer-1.0', 'gst-plugins-base-1.0', 'bzip2', 'libass',
            'faad2', 'libkate', 'zlib', 'opus',
            'schroedinger', 'libdca', 'jasper', 'libmms', 'libdvdnav' ]

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

    files_effects = [
             'lib/gstreamer-1.0/libgstautoconvert%(mext)s',
             'lib/gstreamer-1.0/libgstbayer%(mext)s',
             'lib/gstreamer-1.0/libgstcoloreffects%(mext)s',
             'lib/gstreamer-1.0/libgstfaceoverlay%(mext)s',
             'lib/gstreamer-1.0/libgstfieldanalysis%(mext)s',
             'lib/gstreamer-1.0/libgstfreeverb%(mext)s',
             'lib/gstreamer-1.0/libgstfrei0r%(mext)s',
             'lib/gstreamer-1.0/libgstgaudieffects%(mext)s',
             'lib/gstreamer-1.0/libgstgeometrictransform%(mext)s',
             'lib/gstreamer-1.0/libgstinterlace%(mext)s',
             'lib/gstreamer-1.0/libgstjp2kdecimator%(mext)s',
             'lib/gstreamer-1.0/libgstliveadder%(mext)s',
             'lib/gstreamer-1.0/libgstrawparse%(mext)s',
             'lib/gstreamer-1.0/libgstremovesilence%(mext)s',
             'lib/gstreamer-1.0/libgstscaletempoplugin%(mext)s',
             'lib/gstreamer-1.0/libgstsegmentclip%(mext)s',
             'lib/gstreamer-1.0/libgstsmooth%(mext)s',
             'lib/gstreamer-1.0/libgstspeed%(mext)s',
             'lib/gstreamer-1.0/libgststereo%(mext)s',
             'lib/gstreamer-1.0/libgstvideofiltersbad%(mext)s',
             'lib/gstreamer-1.0/libgstvideomeasure%(mext)s',
             'lib/gstreamer-1.0/libgstvideosignal%(mext)s',
    ]

    files_codecs = [
             'lib/gstreamer-1.0/libgstadpcmdec%(mext)s',
             'lib/gstreamer-1.0/libgstadpcmenc%(mext)s',
             'lib/gstreamer-1.0/libgstaiff%(mext)s',
             'lib/gstreamer-1.0/libgstcdxaparse%(mext)s',
             'lib/gstreamer-1.0/libgstdccp%(mext)s',
             'lib/gstreamer-1.0/libgstdtmf%(mext)s',
             'lib/gstreamer-1.0/libgstdvbsuboverlay%(mext)s',
             'lib/gstreamer-1.0/libgstdvdspu%(mext)s',
             'lib/gstreamer-1.0/libgstfragmented%(mext)s',
             'lib/gstreamer-1.0/libgsthdvparse%(mext)s',
             'lib/gstreamer-1.0/libgstid3tag%(mext)s',
             'lib/gstreamer-1.0/libgstivfparse%(mext)s',
             'lib/gstreamer-1.0/libgstjp2k%(mext)s',
             'lib/gstreamer-1.0/libgstkate%(mext)s',
             'lib/gstreamer-1.0/libgstmve%(mext)s',
             'lib/gstreamer-1.0/libgstmxf%(mext)s',
             'lib/gstreamer-1.0/libgstnsf%(mext)s',
             'lib/gstreamer-1.0/libgstnuvdemux%(mext)s',
             'lib/gstreamer-1.0/libgstopus%(mext)s',
             'lib/gstreamer-1.0/libgstpcapparse%(mext)s',
             'lib/gstreamer-1.0/libgstpnm%(mext)s',
             'lib/gstreamer-1.0/libgstschro%(mext)s',
             'lib/gstreamer-1.0/libgstsiren%(mext)s',
             'lib/gstreamer-1.0/libgstsubenc%(mext)s',
             'lib/gstreamer-1.0/libgsttta%(mext)s',
             'lib/gstreamer-1.0/libgstvideoparsersbad%(mext)s',
             'lib/gstreamer-1.0/libgstvmnc%(mext)s',
             'lib/gstreamer-1.0/libgsty4mdec%(mext)s',
             '%(sdir)s/libgstcodecparsers-1.0%(sext)s',
    ]

    platform_files_codecs = {
        Platform.ANDROID: [
             'lib/gstreamer-1.0/libgstandroidmedia%(mext)s',
            ]
    }

    files_codecs_gpl = [
             'lib/gstreamer-1.0/libgstassrender%(mext)s',
    ]

    files_codecs_restricted = [
             'lib/gstreamer-1.0/libgstasfmux%(mext)s',
             'lib/gstreamer-1.0/libgstdtsdec%(mext)s',
             'lib/gstreamer-1.0/libgstfaad%(mext)s',
             'lib/gstreamer-1.0/libgstmpegpsmux%(mext)s',
             'lib/gstreamer-1.0/libgstmpegtsdemux%(mext)s',
             'lib/gstreamer-1.0/libgstmpegtsmux%(mext)s',
    ]

    files_dvd = [
             'lib/gstreamer-1.0/libgstresindvd%(mext)s',
    ]

    files_net = [
             'lib/gstreamer-1.0/libgstdataurisrc%(mext)s',
             'lib/gstreamer-1.0/libgstrtpmux%(mext)s',
             'lib/gstreamer-1.0/libgstrtpvp8%(mext)s',
             'lib/gstreamer-1.0/libgstsdpelem%(mext)s',
    ]

    files_net_restricted = [
             'lib/gstreamer-1.0/libgstmms%(mext)s',
    ]

    files_capture = [
             'lib/gstreamer-1.0/libgstcamerabin2%(mext)s',
             '%(sdir)s/libgstbasecamerabinsrc-1.0%(sext)s',
             '%(sdir)s/libgstphotography-1.0%(sext)s',
            ]


    platform_files_capture = {
        Platform.LINUX: [
             'lib/gstreamer-1.0/libgstdvb%(mext)s',
            ],
        Platform.WINDOWS: [
             'lib/gstreamer-1.0/libgstwinscreencap%(mext)s',
            ]
    }

    files_vis = [
             'lib/gstreamer-1.0/libgstaudiovisualizers%(mext)s',
            ]

    platform_files_capture = {
        Platform.LINUX: [
             'lib/gstreamer-1.0/libgstdvb%(mext)s',
            ],
    }

    platform_files_sys = {
        Platform.LINUX: [
             'lib/gstreamer-1.0/libgstvcdsrc%(mext)s',
            ],
        Platform.WINDOWS: [
             'lib/gstreamer-1.0/libgstd3dvideosink%(mext)s',
             'lib/gstreamer-1.0/libgstdirectdrawsink%(mext)s',
             'lib/gstreamer-1.0/libgstdshowdecwrapper%(mext)s',
             'lib/gstreamer-1.0/libgstdshowsrcwrapper%(mext)s',
             'lib/gstreamer-1.0/libgstdshowvideosink%(mext)s',
             'lib/gstreamer-1.0/libgstwinks%(mext)s',
            ],
        Platform.DARWIN: [
             'lib/gstreamer-1.0/libgstapplemedia%(mext)s',
            ],
        Platform.ANDROID: [
             'lib/gstreamer-1.0/libgsteglglessink%(mext)s',
             'lib/gstreamer-1.0/libgstopensles%(mext)s',
            ]
    }

    def prepare(self):
        self.append_env['CFLAGS'] = " -Wno-error "
        self.append_env['CXXFLAGS'] = " -Wno-error "
        self.append_env['CPPFLAGS'] = " -Wno-error "
        if self.config.target_platform != Platform.LINUX:
            self.configure_options += '--disable-gtk-doc '
        if self.config.target_platform == Platform.WINDOWS:
            self.configure_options += \
                ' --disable-cog --disable-sdl '\
                '--disable-cdaudio'
        if self.config.target_platform == Platform.ANDROID:
            self.configure_options += ' --disable-dccp'
            self.files_codecs.remove('lib/gstreamer-1.0/libgstdccp%(mext)s')
            for d in ['libdvdnav']:
                self.deps.remove(d)
        if self.config.variants.nodebug:
            self.configure_options += ' --disable-gst-debug'

    def post_install(self):
        if self.config.platform == Platform.WINDOWS and\
                self.config.target_platform == Platform.WINDOWS:
            from cerbero.utils.msbuild import MSBuild
            from cerbero.utils import messages as m
            solution = os.path.join(self.build_dir, 'win32', 'vs10', 'gst-plugins-bad.sln')
            root = self.config.prefix.rsplit('/', 1)[0]
            msbuild  = MSBuild(solution, self.config.target_arch,
                               GSTREAMER_SDK_ROOT=root)
            try:
                msbuild.build()
            except Exception, e:
                m.error("The Direct Show plugins will not be built.")