Merge branch 'tizen' into tizen_gst_1.19.2
[platform/upstream/gstreamer.git] / packaging / gst-plugins-bad.spec
1 %bcond_with wayland
2 %define gst_branch 1.0
3
4 Name:           gst-plugins-bad
5 Version:        1.19.2
6 Release:        0
7 Summary:        GStreamer Streaming-Media Framework Plug-Ins
8 License:        LGPL-2.0+
9 Group:          Multimedia/Framework
10 Url:            http://gstreamer.freedesktop.org/
11 Source:         http://gstreamer.freedesktop.org/src/gst-plugins-bad/%{name}-%{version}.tar.xz
12 Source1001:     gst-plugins-bad.manifest
13 BuildRequires:  gettext-tools
14 BuildRequires:  autoconf
15 BuildRequires:  gcc-c++
16 BuildRequires:  pkgconfig(glib-2.0) >= 2.31.14
17 BuildRequires:  gstreamer-devel >= %{version}
18 BuildRequires:  gst-plugins-base-devel >= %{version}
19 BuildRequires:  pkgconfig(orc-0.4) >= 0.4.11
20 BuildRequires:  python
21 BuildRequires:  xsltproc
22 BuildRequires:  pkgconfig(libusb-1.0)
23 BuildRequires:  pkgconfig(gio-2.0) >= 2.25.0
24 BuildRequires:  pkgconfig(libcurl) >= 7.21.0
25 BuildRequires:  pkgconfig(libexif) >= 0.6.16
26 BuildRequires:  pkgconfig(openssl1.1)
27 #BuildRequires:  pkgconfig(libcryto1.1)
28 BuildRequires:  pkgconfig(sndfile) >= 1.0.16
29 BuildRequires:  pkgconfig(openal)
30 BuildRequires:  pkgconfig(soundtouch) > 1.4
31 BuildRequires:  pkgconfig(nice)
32 BuildRequires:  pkgconfig(usrsctp)
33 BuildRequires:  pkgconfig(libsrtp2) >= 2.1.0
34 BuildRequires:  pkgconfig(opus)
35 BuildRequires:  meson >= 0.48.0
36 %if %{with wayland}
37 %if 0%{?enable_gl:1}
38 BuildRequires:  pkgconfig(gles20)
39 BuildRequires:  pkgconfig(wayland-egl) >= 9.0
40 %endif
41 BuildRequires:  pkgconfig(wayland-client) >= 1.0.0
42 BuildRequires:  pkgconfig(wayland-cursor) >= 1.0.0
43 BuildRequires:  pkgconfig(wayland-protocols)
44 BuildRequires:  pkgconfig(libxml-2.0)
45 BuildRequires:  pkgconfig(libdrm)
46 %endif
47 %if %{with x}
48 BuildRequires:  pkgconfig(x11)
49 %endif
50 Requires:       gstreamer >= %{version}
51
52 %description
53 GStreamer is a streaming media framework based on graphs of filters
54 that operate on media data. Applications using this library can do
55 anything media-related,from real-time sound processing to playing
56 videos. Its plug-in-based architecture means that new data types or
57 processing capabilities can be added simply by installing new plug-ins.
58
59
60 %package devel
61 Summary:        GStreamer Streaming-Media Framework Plug-Ins
62 Requires: %{name} = %{version}-%{release}
63 Requires: gst-plugins-base-devel
64
65 %description devel
66 GStreamer is a streaming media framework based on graphs of filters
67 that operate on media data. Applications using this library can do
68 anything media-related,from real-time sound processing to playing
69 videos. Its plug-in-based architecture means that new data types or
70 processing capabilities can be added simply by installing new plug-ins.
71
72
73 %prep
74 %setup -q -n %{name}-%{version}
75 cp %{SOURCE1001} .
76
77 %build
78 mkdir -p build
79
80 export CFLAGS+=" -Wall -g -fPIC\
81   -DTIZEN_FEATURE_ADAPTIVE_MODIFICATION\
82   -DTIZEN_FEATURE_HLSDEMUX_PROPERTY\
83   -DTIZEN_FEATURE_HLSDEMUX_EMPTY_VTT\
84   -DTIZEN_FEATURE_HLSDEMUX_UPDATE_SEGMENT\
85   -DTIZEN_FEATURE_HLSDEMUX_DISCONT_SEQUENCE\
86   -DTIZEN_FEATURE_TSDEMUX_MODIFICATION\
87   -DTIZEN_FEATURE_TSDEMUX_INVALID_PCR_PID\
88   -DTIZEN_FEATURE_TSDEMUX_LANG_TAG\
89   -DTIZEN_FEATURE_TSDEMUX_UPDATE_PMT\
90   -DTIZEN_FEATURE_TSDEMUX_UPDATE_STREAM\
91   -DTIZEN_FEATURE_HLS_WEBVTT\
92   -DTIZEN_FEATURE_OALSINK_MODIFICATION\
93   -DTIZEN_FEATURE_MPEGDEMUX_MODIFICATION\
94   -DTIZEN_FEATURE_H264PARSE_MODIFICATION\
95   -DTIZEN_FEATURE_AD\
96   -DTIZEN_FEATURE_HLSDEMUX_LANG_TAG\
97   -DTIZEN_FEATURE_HLSDEMUX_DISCONT\
98   -DTIZEN_FEATURE_IMPORT_NETSIM\
99   -D__TIZEN__\
100   -fstack-protector-strong\
101   -Wl,-z,relro\
102   -D_FORTIFY_SOURCE=2"
103 export CXXFLAGS+=" -DTIZEN_FEATURE_PITCH_AUDIO_META"
104 # export pthread for checking usrsctp_init at sctp configure
105 export LDFLAGS+=" -pthread "
106
107 meson --auto-feature=auto --prefix=/usr --libdir=%{_libdir} --datadir=%{_datadir} \
108         -D gst_play_tests=false\
109 %if "%{tizen_profile_name}" == "tv"
110         -D tv-profile=false \
111         -D autoconvert=disabled \
112         -D camerabin2=disabled \
113         -D dash=disabled \
114         -D hls=disabled \
115         -D id3tag=disabled \
116         -D jpegformat=disabled \
117         -D mpegdemux=disabled \
118         -D smoothstreaming=disabled \
119         -D rtp=disabled \
120         -D gl=disabled \
121 %endif
122         -D accurip=disabled \
123         -D adpcmdec=disabled \
124         -D adpcmenc=disabled \
125         -D aiff=disabled \
126         -D asfmux=disabled \
127         -D audiofxbad=disabled \
128         -D audiovisualizers=disabled \
129         -D bayer=disabled \
130         -D codecalpha=disabled \
131         -D dvbsubenc=disabled \
132         -D dvbsuboverlay=disabled \
133         -D dvdspu=disabled \
134         -D faceoverlay=disabled \
135         -D festival=disabled \
136         -D fieldanalysis=disabled \
137         -D freeverb=disabled \
138         -D frei0r=disabled \
139         -D geometrictransform=disabled \
140         -D inter=disabled \
141         -D interlace=disabled \
142         -D ivfparse=disabled \
143         -D ivtc=disabled \
144         -D jp2kdecimator=disabled \
145         -D librfb=disabled \
146         -D mpegpsmux=disabled \
147         -D mxf=disabled \
148         -D onvif=disabled \
149         -D pcapparse=disabled \
150         -D pnm=disabled \
151         -D rawparse=disabled \
152         -D removesilence=disabled \
153         -D rist=disabled \
154         -D rtmp2=disabled \
155         -D segmentclip=disabled \
156         -D siren=disabled \
157         -D smooth=disabled \
158         -D speed=disabled \
159         -D subenc=disabled \
160         -D switchbin=disabled \
161         -D videofilters=disabled \
162         -D videosignal=disabled \
163         -D vmnc=disabled \
164         -D y4m=disabled \
165         -D wayland=disabled \
166         -D curl=disabled \
167         -D decklink=disabled \
168         -D dtls=enabled \
169         -D dvb=disabled \
170         -D fbdev=disabled \
171 %if 0%{?enable_gl:1}
172         -D gl=enabled\
173 %endif
174         -D kms=disabled \
175         -D nvcodec=disabled \
176         -D openal=enabled \
177         -D sndfile=disabled \
178         -D transcode=disabled \
179         -D uvch264=disabled \
180         -D examples=disabled \
181         -D tests=disabled \
182         -D doc=disabled build
183
184 ninja -C build all %{?_smp_mflags}
185
186 %install
187 export DESTDIR=%{buildroot}
188 ninja -C build install
189 rm -rf %{buildroot}%{_datadir}/gstreamer-%{gst_branch}/encoding-profiles
190
191 %find_lang %{name}-%{gst_branch}
192 mv %{name}-%{gst_branch}.lang %{name}.lang
193
194 %lang_package
195
196
197 %clean
198 rm -rf $RPM_BUILD_ROOT
199
200 %post -p /sbin/ldconfig
201
202
203 %postun -p /sbin/ldconfig
204
205
206 %files
207 %manifest %{name}.manifest
208 %defattr(-, root, root)
209 %license COPYING
210 %if "%{tizen_profile_name}" != "tv"
211 %{_libdir}/gstreamer-%{gst_branch}/libgstautoconvert.so
212 %{_libdir}/gstreamer-%{gst_branch}/libgstcamerabin.so
213 %{_libdir}/gstreamer-%{gst_branch}/libgstid3tag.so
214 %{_libdir}/gstreamer-%{gst_branch}/libgstjpegformat.so
215 %{_libdir}/gstreamer-%{gst_branch}/libgstmpegpsdemux.so
216 %{_libdir}/gstreamer-%{gst_branch}/libgstsmoothstreaming.so
217 %{_libdir}/gstreamer-%{gst_branch}/libgstdash.so
218 %if 0%{?enable_gl:1}
219 %{_libdir}/gstreamer-%{gst_branch}/libgstopengl.so
220 %endif
221 %{_libdir}/gstreamer-%{gst_branch}/libgstsoundtouch.so
222 %{_libdir}/libgstinsertbin-%{gst_branch}.so.0*
223 %{_libdir}/libgstphotography-%{gst_branch}.so.0*
224 %{_libdir}/libgstbasecamerabinsrc-%{gst_branch}.so.0*
225 %{_libdir}/libgsturidownloader-%{gst_branch}.so.0*
226 %{_libdir}/libgstadaptivedemux-%{gst_branch}.so.0*
227 %if 0%{?enable_gl:1}
228 %{_libdir}/libgstgl-%{gst_branch}.so.0*
229 %endif
230 %{_libdir}/libgstisoff-%{gst_branch}.so.0*
231 %endif
232 %{_libdir}/gstreamer-%{gst_branch}/libgstaes.so
233 %{_libdir}/gstreamer-%{gst_branch}/libgstgdp.so
234 %{_libdir}/gstreamer-%{gst_branch}/libgstdebugutilsbad.so
235 %{_libdir}/gstreamer-%{gst_branch}/libgstmpegtsdemux.so
236 %{_libdir}/gstreamer-%{gst_branch}/libgstmpegtsmux.so
237 %{_libdir}/gstreamer-%{gst_branch}/libgstsdpelem.so
238 %{_libdir}/gstreamer-%{gst_branch}/libgstshm.so
239 %{_libdir}/gstreamer-%{gst_branch}/libgstvideoparsersbad.so
240 %{_libdir}/gstreamer-%{gst_branch}/libgstmidi.so
241 %{_libdir}/gstreamer-%{gst_branch}/libgstopenal.so
242 %{_libdir}/gstreamer-%{gst_branch}/libgsthls.so
243 %{_libdir}/gstreamer-%{gst_branch}/libgstnetsim.so
244 %{_libdir}/gstreamer-%{gst_branch}/libgsttimecode.so
245 %{_libdir}/gstreamer-%{gst_branch}/libgstvideoframe_audiolevel.so
246 %{_libdir}/gstreamer-%{gst_branch}/libgstaudiomixmatrix.so
247 %{_libdir}/gstreamer-%{gst_branch}/libgstaudiobuffersplit.so
248 %{_libdir}/gstreamer-%{gst_branch}/libgstaudiolatency.so
249 %{_libdir}/gstreamer-%{gst_branch}/libgstipcpipeline.so
250 %{_libdir}/gstreamer-%{gst_branch}/libgstproxy.so
251 %{_libdir}/gstreamer-%{gst_branch}/libgstwebrtc.so
252 %{_libdir}/gstreamer-%{gst_branch}/libgstdtls.so
253 %{_libdir}/gstreamer-%{gst_branch}/libgstrtpmanagerbad.so
254 %{_libdir}/gstreamer-%{gst_branch}/libgstsctp.so
255 %{_libdir}/gstreamer-%{gst_branch}/libgstsrtp.so
256 %{_libdir}/gstreamer-%{gst_branch}/libgstopusparse.so
257 %{_libdir}/gstreamer-%{gst_branch}/libgstgaudieffects.so
258 %{_libdir}/gstreamer-%{gst_branch}/libgstcoloreffects.so
259
260 %{_libdir}/libgstsctp-%{gst_branch}.so.0*
261 %{_libdir}/libgstwebrtc-%{gst_branch}.so.0*
262 %{_libdir}/libgstcodecs-%{gst_branch}.so.0*
263 %{_libdir}/libgstcodecparsers-%{gst_branch}.so.0*
264 %{_libdir}/libgstbadaudio-%{gst_branch}.so.0*
265 %{_libdir}/libgstmpegts-%{gst_branch}.so.0*
266 %{_libdir}/libgstplay-%{gst_branch}.so.0*
267 %{_libdir}/libgstplayer-%{gst_branch}.so.0*
268 %{_libdir}/libgsttranscoder-%{gst_branch}.so.0*
269
270 %exclude %{_bindir}/gst-transcoder-1.0
271
272 %files devel
273 %manifest %{name}.manifest
274 %defattr(-, root, root)
275 %{_includedir}/gstreamer-%{gst_branch}
276 %if "%{tizen_profile_name}" != "tv"
277 %if 0%{?enable_gl:1}
278 %{_libdir}/gstreamer-%{gst_branch}/include/gst/gl/gstglconfig.h
279 %endif
280 %endif
281 %{_libdir}/*.so
282 %{_libdir}/pkgconfig/gstreamer-codecparsers-%{gst_branch}.pc
283 %{_libdir}/pkgconfig/gstreamer-plugins-bad-%{gst_branch}.pc
284 %{_libdir}/pkgconfig/gstreamer-insertbin-%{gst_branch}.pc
285 %{_libdir}/pkgconfig/gstreamer-mpegts-%{gst_branch}.pc
286 %if 0%{?enable_gl:1}
287 %{_libdir}/pkgconfig/gstreamer-gl-1.0.pc
288 %endif
289 %{_libdir}/pkgconfig/gstreamer-bad-audio-1.0.pc
290 %{_libdir}/pkgconfig/gstreamer-photography-1.0.pc
291 %{_libdir}/pkgconfig/gstreamer-play-1.0.pc
292 %{_libdir}/pkgconfig/gstreamer-player-1.0.pc
293 %{_libdir}/pkgconfig/gstreamer-sctp-1.0.pc
294 %{_libdir}/pkgconfig/gstreamer-transcoder-1.0.pc
295 %{_libdir}/pkgconfig/gstreamer-webrtc-1.0.pc